すべてのドキュメント
dvarドキュメント

Framework、出力、ローカルツール

framework toolをラップし、tool outputをフィルタし、Dvarでlocal subprocess executionを監督します。

リポジトリを見る
dvarドキュメント
6ページ中5ページ

Dvarは、agent actionが実システムへ入る境界を保護します。バージョン0.7では、その境界はframework tool、MCP call、通常の関数、local subprocess、または返却されたtool outputになり得ます。

Vercel AI SDK adapter

ts
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" }
  }
});

adapterはframework向けのtool shapeを維持し、実行をDvarへ通します。ラップされていない元のtool objectを呼び出すとDvarをbypassします。

Output guard

ts
const dvar = await createDvar({
  policyPath: "dvar.yaml",
  outputGuard: {
    policy: {
      maxBytes: 64000,
      allowedContentTypes: ["json", "text"],
      redactBuiltInSecrets: true,
      deny: [{ id: "prompt-injection", pattern: "ignore previous instructions" }]
    }
  }
});

output filteringは、protected-tool resultがapplicationまたはmodel contextへ返される前に行われます。denyされたoutputはprotected-tool callerへ返されません。

Stdioとlocal tools

ts
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は監督対象processをshell: falseでspawnし、標準ではparent environmentを継承しません。executable identityを検査し、argumentを拘束し、cwdとpathを制限し、outputをcapし、outcomeを記録できます。

境界ルール

Dvarはsandbox、IAM layer、secrets manager、DLP platform、SIEMではありません。OS permission、workload isolation、application authorization、credential scoping、network policyと組み合わせる必要があります。