Entegrasyon
SDK
Ajanı kendiniz yazıyorsanız, araç fonksiyonlarını doğrudan kod içinde sarmalayın. Aynı politika motoru, tarayıcılar ve denetim kaydı kullanılır.
Bir aracı sarmalayın
import { createAvertGate, AvertGateSecurityError } from "@avertgate/cli/sdk";
const gate = createAvertGate({
policyPath: "./policy.yaml",
agentId: "support-agent-v1",
});
const issueRefund = gate.wrapTool("issue_refund", async ({ orderId, amount }) => {
return payments.refund(orderId, amount);
});
try {
await issueRefund({ orderId: "ORD-100123", amount: 750 });
} catch (err) {
if (err instanceof AvertGateSecurityError) {
console.log(err.decision, err.reason, err.ruleId);
}
}
Düşük seviye: guard()
const result = await gate.guard(
"send_email",
{ to: recipient, body },
() => mailer.send({ to, body }),
{ sessionId: "sess-42" },
);
Yapılandırma seçenekleri
| Seçenek | Açıklama |
|---|---|
policy / policyPath | Dosya yolu, ham YAML ya da nesne. |
agentId, orgId | Kimlik ve tenant. |
auditDbPath | SQLite yolu; :memory: geçici kayıt. |
apiKey, baseUrl | Bulut yönetimli politika: AvertGate.create() ile çözümlenir. |
requestApproval | Onay geri çağrısı. Varsayılan: reddet (fail-closed). |
shadowMode | Gözlem modu. |
enableHotReload | Politika dosyası değişince sıcak yenile. |
tracer, metricsRegistry | OpenTelemetry ve Prometheus. |
Çerçeve adaptörleri
wrapOpenAITool OpenAI araç tanımı + çalıştırıcıyı birlikte sarar; wrapLangChainTool LangChain araçları içindir. Her ikisi de catchErrors seçeneğini destekler.
Bulut yönetimli politika
const gate = await AvertGate.create({
apiKey: process.env.AVERTGATE_API_KEY, // ag_live_...
agentId: "support-agent-v1",
});
Bu form, politikayı panelden /api/gateway/resolve ile çeker ve olayları /api/events/ingest'e gönderir.