Uyumluluk: Pactmark 0.2.x. Genel
defineTool cephesi şu anda
operation.kind: "read" kabul eder. Yazma etkileri çalışma-zamanı etki yüzeyi üzerinden çalıştırılır
— bkz. Sınırlar.Biçim
Beyanı doğru yapmak
Şekil 1. Soldaki her alan bir yerde zorlanır ve kayıt özetine katkı verir. Asıl iş bunları doğru doldurmaktır; fonksiyon gövdesi genellikle kolay kısımdır.id ve implementationVersion farklı eksenlerdir
id, namespace.name@version biçimiyle eşleşmelidir — oradaki sürüm sözleşmedir.
implementationVersion arkasındaki kodu tanımlar. Davranışı değiştirmeden gövdeyi değiştirirseniz
uygulama sürümünü artırırsınız; şemayı veya güvenlik duruşunu değiştirirseniz yeni bir sözleşme sürümü
gerekir.
requiredScopes bir tanım değil, bir taleptir
Bunlar, çağrının ilerlemesi için bir grantın hâlihazırda taşıması gereken kapsamlardır. Dar ve kaynak
biçimli tutun (billing:invoice:read), rol biçimli değil (admin).
egress tam bir origin izin listesidir
networkEnforcement: "required", host’un gerçek bir egress aracısı sağlaması gerektiği anlamına gelir;
izin listesini zorlayamayan bir çalışma zamanı, aracı korumasız çalıştırmak yerine reddeder.
Her zaman context.egress.fetch çağırın. Ham global fetch aracıyı atlar ve taşınabilir bir çalışma
zamanında hiç bulunmayabilir.
maxCallsPerRun ve timeoutMs tavanlardır
Bunlar sizin fonksiyonunuz tarafından değil çalışma zamanı tarafından denetlenir. Bir olay raporunda
görmekten rahatsız olmayacağınız sayıları seçin — döngüye giren bir model tavanı bulur.
Dönüş değerleri doğrulanır
execute, z.input<O> döndürür ve sonuç bir ToolCallCompleted olayına ya da model bağlamına
ulaşmadan önce çıktı şemasına göre ayrıştırılır. Beklenmeyen bir biçim döndüren bir araç, koşuyu
zehirlemek yerine KAF_SCHEMA_INVALID ile başarısız olur.
Bağlama geri akan araç sonuçları ayrıca model kaynak profilindeki
maxToolResultToContextBytes ile sınırlıdır. Bir megabayt döndüren bir araç bağlam penceresini
sessizce patlatmaz; beyan edilmiş bir sınıra çarpar.Her dış sonucu güvenilmez sayın
Bir araçtan, bir HTTP çağrısından veya bir MCP sunucusundan dönen içerik veridir, talimat değil. Açık sınırlar altında bağlama kabul edilir ve asla yetki vermez.Bir aracı test etmek
@pactmark/testing bir geliştirme bağımlılığıdır ve asla üretim dışa aktarımının parçası değildir.
Sahte saatler, deterministik kimlik üreticileri, sahte model sürücüleri, çökme enjeksiyonu ve yeniden
kullanılabilir adaptör sözleşme paketleri sağlar.
Politika ve grantlar
requiredScopes’u verilmiş, süreli ve iptal edilebilir bir granta dönüştürmek.MCP entegrasyonu
Dış araçları, dış yetkiyi benimsemeden benimsemek.