Docs Demo
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çenekAçıklama
policy / policyPathDosya yolu, ham YAML ya da nesne.
agentId, orgIdKimlik ve tenant.
auditDbPathSQLite yolu; :memory: geçici kayıt.
apiKey, baseUrlBulut yönetimli politika: AvertGate.create() ile çözümlenir.
requestApprovalOnay geri çağrısı. Varsayılan: reddet (fail-closed).
shadowModeGözlem modu.
enableHotReloadPolitika dosyası değişince sıcak yenile.
tracer, metricsRegistryOpenTelemetry 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.