Dvar protège la frontière où une action d’agent entre dans un système réel. Dans la version 0.7, cette frontière peut être un outil de framework, un appel MCP, une fonction ordinaire, un sous-processus local ou une sortie retournée par un outil.
Adaptateur Vercel AI SDK
import { protectVercelAISDKTools } from "@rokadhq/dvar/adapters/vercel-ai-sdk";
const tools = protectVercelAISDKTools(originalTools, {
runtime: dvar,
context: {
principal: { id: "user-1", type: "user" },
agent: { id: "assistant", framework: "vercel-ai-sdk" },
environment: "production",
session: { id: "session-1" }
}
});L’adaptateur conserve la forme d’outil attendue par le framework et route l’exécution via Dvar. Les appels aux objets d’outils originaux non enveloppés contournent Dvar.
Garde de sortie
const dvar = await createDvar({
policyPath: "dvar.yaml",
outputGuard: {
policy: {
maxBytes: 64000,
allowedContentTypes: ["json", "text"],
redactBuiltInSecrets: true,
deny: [{ id: "prompt-injection", pattern: "ignore previous instructions" }]
}
}
});Le filtrage de sortie se produit avant que les résultats d’outils protégés soient retournés à l’application ou au contexte du modèle. Une sortie refusée n’est pas retournée aux appelants d’outils protégés.
Stdio et outils locaux
import { createStdioSupervisor } from "@rokadhq/dvar/stdio";
const supervisor = createStdioSupervisor({
runtime: dvar,
policy: {
requireAbsoluteCommand: true,
allowedExecutables: [{ command: "/usr/bin/git" }],
timeoutMs: 10000,
maxStdoutBytes: 32000,
env: { inherit: false }
}
});Dvar lance des processus supervisés avec shell: false et n’hérite pas de l’environnement parent par défaut. Il peut inspecter l’identité de l’exécutable, borner les arguments, restreindre le cwd et les chemins, plafonner la sortie et enregistrer les résultats.
Règle de frontière
Dvar n’est pas un sandbox, une couche IAM, un gestionnaire de secrets, une plateforme DLP ou un SIEM. Il doit être combiné avec les permissions du système d’exploitation, l’isolation des workloads, l’autorisation applicative, le périmètre des identifiants et la politique réseau.