Dvar protege el límite donde una acción de agente entra en un sistema real. En la versión 0.7, ese límite puede ser una herramienta de framework, una llamada MCP, una función ordinaria, un subproceso local o una salida devuelta por una herramienta.
Adaptador 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" }
}
});El adaptador conserva la forma de herramienta esperada por el framework y enruta la ejecución a través de Dvar. Las llamadas a los objetos de herramienta originales sin envolver omiten Dvar.
Guarda de salida
const dvar = await createDvar({
policyPath: "dvar.yaml",
outputGuard: {
policy: {
maxBytes: 64000,
allowedContentTypes: ["json", "text"],
redactBuiltInSecrets: true,
deny: [{ id: "prompt-injection", pattern: "ignore previous instructions" }]
}
}
});El filtrado de salida ocurre antes de devolver resultados de herramientas protegidas a la aplicación o al contexto del modelo. La salida denegada no se devuelve a los llamadores de herramientas protegidas.
Stdio y herramientas locales
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 crea procesos supervisados con shell: false y no hereda el entorno padre por defecto. Puede inspeccionar identidad de ejecutable, argumentos acotados, restringir cwd y rutas, limitar salida y registrar resultados.
Regla de límite
Dvar no es un sandbox, capa IAM, gestor de secretos, plataforma DLP ni SIEM. Debe combinarse con permisos de sistema operativo, aislamiento de workloads, autorización de aplicación, alcance de credenciales y política de red.