@paybond/kit 0.12.4 → 0.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/agent/facade.d.ts +2 -0
  2. package/dist/agent/facade.js +10 -2
  3. package/dist/agent/guarded-agent.d.ts +3 -1
  4. package/dist/agent/guarded-agent.js +13 -2
  5. package/dist/agent/index.d.ts +2 -2
  6. package/dist/agent/index.js +1 -1
  7. package/dist/agent/instrument.d.ts +3 -0
  8. package/dist/agent/instrument.js +21 -10
  9. package/dist/agent/interceptor.js +19 -0
  10. package/dist/agent/types.d.ts +14 -0
  11. package/dist/agent-receipt-acta.d.ts +58 -0
  12. package/dist/agent-receipt-acta.js +140 -0
  13. package/dist/agent-receipt-inclusion.d.ts +40 -0
  14. package/dist/agent-receipt-inclusion.js +209 -0
  15. package/dist/agent-receipt-owner-disclosure.d.ts +71 -0
  16. package/dist/agent-receipt-owner-disclosure.js +277 -0
  17. package/dist/agent-receipt-pef.d.ts +69 -0
  18. package/dist/agent-receipt-pef.js +121 -0
  19. package/dist/agent-receipt-scitt.d.ts +50 -0
  20. package/dist/agent-receipt-scitt.js +382 -0
  21. package/dist/agent-receipt.d.ts +55 -0
  22. package/dist/agent-receipt.js +297 -4
  23. package/dist/claude-agents/config.d.ts +21 -2
  24. package/dist/claude-agents/config.js +37 -0
  25. package/dist/claude-agents/index.d.ts +1 -1
  26. package/dist/claude-agents/index.js +1 -1
  27. package/dist/cli/agent/demo-loaders.d.ts +1 -0
  28. package/dist/cli/agent/demo-loaders.js +12 -0
  29. package/dist/cli/command-spec.js +16 -1
  30. package/dist/cli/commands/agent.d.ts +4 -0
  31. package/dist/cli/commands/agent.js +107 -1
  32. package/dist/cli/help.js +4 -1
  33. package/dist/cloudflare-agents/config.d.ts +1 -1
  34. package/dist/cloudflare-agents/config.js +2 -2
  35. package/dist/google-adk/config.d.ts +36 -0
  36. package/dist/google-adk/config.js +172 -0
  37. package/dist/google-adk/index.d.ts +2 -0
  38. package/dist/google-adk/index.js +2 -0
  39. package/dist/google-adk/sandbox-demo.d.ts +32 -0
  40. package/dist/google-adk/sandbox-demo.js +104 -0
  41. package/dist/index.d.ts +10 -2
  42. package/dist/index.js +11 -3
  43. package/dist/init.js +29 -0
  44. package/dist/mcp-receipt-resource.js +3 -1
  45. package/dist/mcp-server.js +182 -10
  46. package/dist/policy/adapter-options.d.ts +9 -0
  47. package/dist/policy/adapter-options.js +11 -0
  48. package/dist/policy/index.d.ts +1 -0
  49. package/dist/policy/index.js +1 -0
  50. package/dist/policy/load.d.ts +7 -0
  51. package/dist/policy/load.js +13 -0
  52. package/dist/policy/merge.js +26 -0
  53. package/dist/policy/schema.d.ts +20 -0
  54. package/dist/policy/schema.js +34 -2
  55. package/dist/shopify/instrument.d.ts +8 -8
  56. package/dist/template-init.d.ts +2 -2
  57. package/dist/template-init.js +12 -4
  58. package/dist/vercel-ai/config.d.ts +2 -1
  59. package/dist/vercel-ai/config.js +2 -2
  60. package/dist/vercel-ai/index.d.ts +2 -1
  61. package/dist/vercel-ai/index.js +2 -1
  62. package/dist/vercel-ai/provider-executed.d.ts +7 -0
  63. package/dist/vercel-ai/provider-executed.js +20 -0
  64. package/dist/vercel-ai/tool-approval.d.ts +5 -0
  65. package/dist/vercel-ai/tool-approval.js +8 -1
  66. package/dist/vercel-ai/wrap-tools.d.ts +8 -1
  67. package/dist/vercel-ai/wrap-tools.js +17 -4
  68. package/glama.json +6 -0
  69. package/package.json +15 -5
  70. package/templates/manifest.json +57 -12
  71. package/templates/openai-shopping-agent/package-lock.json +379 -14
  72. package/templates/openai-shopping-agent/package.json +2 -2
  73. package/templates/paybond-aws-operator/package-lock.json +376 -11
  74. package/templates/paybond-aws-operator/package.json +2 -2
  75. package/templates/paybond-claude-agents-demo/package-lock.json +379 -14
  76. package/templates/paybond-claude-agents-demo/package.json +2 -2
  77. package/templates/paybond-cloudflare-shopping-agent/.env.example +3 -0
  78. package/templates/paybond-cloudflare-shopping-agent/.github/workflows/smoke.yml +20 -0
  79. package/templates/paybond-cloudflare-shopping-agent/LICENSE +201 -0
  80. package/templates/paybond-cloudflare-shopping-agent/README.md +29 -0
  81. package/templates/paybond-cloudflare-shopping-agent/package-lock.json +2671 -0
  82. package/templates/paybond-cloudflare-shopping-agent/package.json +23 -0
  83. package/templates/paybond-cloudflare-shopping-agent/paybond.policy.yaml +22 -0
  84. package/templates/paybond-cloudflare-shopping-agent/src/agent.ts +109 -0
  85. package/templates/paybond-cloudflare-shopping-agent/src/index.ts +22 -0
  86. package/templates/paybond-cloudflare-shopping-agent/src/paybond.config.ts +51 -0
  87. package/templates/paybond-cloudflare-shopping-agent/tsconfig.json +13 -0
  88. package/templates/paybond-crewai-procurement-agent/.env.example +3 -0
  89. package/templates/paybond-crewai-procurement-agent/.github/workflows/smoke.yml +19 -0
  90. package/templates/paybond-crewai-procurement-agent/LICENSE +201 -0
  91. package/templates/paybond-crewai-procurement-agent/README.md +73 -0
  92. package/templates/paybond-crewai-procurement-agent/app.py +79 -0
  93. package/templates/paybond-crewai-procurement-agent/crew.py +117 -0
  94. package/templates/paybond-crewai-procurement-agent/package.json +6 -0
  95. package/templates/paybond-crewai-procurement-agent/paybond.policy.yaml +28 -0
  96. package/templates/paybond-crewai-procurement-agent/paybond_config.py +45 -0
  97. package/templates/paybond-crewai-procurement-agent/requirements.txt +2 -0
  98. package/templates/paybond-invoice-agent/requirements.txt +1 -1
  99. package/templates/paybond-mastra-travel-agent/package-lock.json +379 -14
  100. package/templates/paybond-mastra-travel-agent/package.json +2 -2
  101. package/templates/paybond-mcp-coding-agent/package-lock.json +376 -11
  102. package/templates/paybond-mcp-coding-agent/package.json +2 -2
  103. package/templates/paybond-openai-agents-demo/package-lock.json +379 -14
  104. package/templates/paybond-openai-agents-demo/package.json +2 -2
  105. package/templates/paybond-procurement-agent/package-lock.json +376 -11
  106. package/templates/paybond-procurement-agent/package.json +2 -2
  107. package/templates/paybond-shopify-shopping-agent/package-lock.json +376 -11
  108. package/templates/paybond-shopify-shopping-agent/package.json +2 -2
  109. package/templates/paybond-stripe-agent-demo/package-lock.json +376 -11
  110. package/templates/paybond-stripe-agent-demo/package.json +2 -2
  111. package/templates/paybond-travel-agent/package-lock.json +376 -11
  112. package/templates/paybond-travel-agent/package.json +2 -2
  113. package/templates/paybond-vercel-shopping-agent/package-lock.json +376 -11
  114. package/templates/paybond-vercel-shopping-agent/package.json +2 -2
@@ -5,7 +5,7 @@ import { PaybondAutoEvidenceSubmitError, PaybondToolRegistryValidationError, Pay
5
5
  import { resolveCliGatewayErrorMessage } from "../http-error-message.js";
6
6
  import { runGenericSandboxDemo } from "../../agent/generic-sandbox-demo.js";
7
7
  import { runMcpSandboxDemo } from "../../mcp/sandbox-demo.js";
8
- import { loadRunClaudeAgentsSandboxDemo, loadRunCloudflareAgentsSandboxDemo, loadRunLangGraphSandboxDemo, loadRunMastraSandboxDemo, loadRunOpenAIAgentsSandboxDemo, loadRunVercelAiSandboxDemo, } from "../agent/demo-loaders.js";
8
+ import { loadRunClaudeAgentsSandboxDemo, loadRunCloudflareAgentsSandboxDemo, loadRunGoogleAdkSandboxDemo, loadRunLangGraphSandboxDemo, loadRunMastraSandboxDemo, loadRunOpenAIAgentsSandboxDemo, loadRunVercelAiSandboxDemo, } from "../agent/demo-loaders.js";
9
9
  import { buildSmokeRegistry, loadAgentRegistryFile, validateAgentRegistryDocument, } from "../../agent/registry-file.js";
10
10
  import { createPaybondToolRegistry } from "../../agent/registry.js";
11
11
  import { devTraceStepsFromEvents, devTraceUrl, findDevTraceEventForRun, resolveDevTraceSink, recordSmokeTraceEvent, } from "../../dev/trace-buffer.js";
@@ -1285,6 +1285,39 @@ export async function handleAgentDemoMcpSmoke(ctx, argv) {
1285
1285
  };
1286
1286
  });
1287
1287
  }
1288
+ export async function handleAgentDemoCrewaiSmoke(_ctx, argv) {
1289
+ const productionFlag = consumeBooleanFlag(argv, "--production");
1290
+ const runtimeFlag = consumeFlag(productionFlag.rest, "--runtime");
1291
+ const operationFlag = consumeFlag(runtimeFlag.rest, "--operation");
1292
+ const spendFlag = consumeFlag(operationFlag.rest, "--requested-spend-cents");
1293
+ const presetFlag = consumeFlag(spendFlag.rest, "--evidence-preset");
1294
+ if (!operationFlag.value || !spendFlag.value || !presetFlag.value) {
1295
+ throw agentCliError("agent demo crewai smoke requires --operation, --requested-spend-cents, and --evidence-preset", { code: "cli.usage.missing_args", category: "usage" });
1296
+ }
1297
+ throw agentCliError("agent demo crewai smoke is Python-only; install paybond-kit[crewai] and run: paybond agent demo crewai smoke", { code: "cli.usage.unsupported_runtime", category: "usage" });
1298
+ }
1299
+ export async function handleAgentDemoPydanticAiSmoke(_ctx, argv) {
1300
+ const productionFlag = consumeBooleanFlag(argv, "--production");
1301
+ const runtimeFlag = consumeFlag(productionFlag.rest, "--runtime");
1302
+ const operationFlag = consumeFlag(runtimeFlag.rest, "--operation");
1303
+ const spendFlag = consumeFlag(operationFlag.rest, "--requested-spend-cents");
1304
+ const presetFlag = consumeFlag(spendFlag.rest, "--evidence-preset");
1305
+ if (!operationFlag.value || !spendFlag.value || !presetFlag.value) {
1306
+ throw agentCliError("agent demo pydantic-ai smoke requires --operation, --requested-spend-cents, and --evidence-preset", { code: "cli.usage.missing_args", category: "usage" });
1307
+ }
1308
+ throw agentCliError("agent demo pydantic-ai smoke is Python-only; install paybond-kit[pydantic-ai] and run: paybond agent demo pydantic-ai smoke", { code: "cli.usage.unsupported_runtime", category: "usage" });
1309
+ }
1310
+ export async function handleAgentDemoMicrosoftAgentFrameworkSmoke(_ctx, argv) {
1311
+ const productionFlag = consumeBooleanFlag(argv, "--production");
1312
+ const runtimeFlag = consumeFlag(productionFlag.rest, "--runtime");
1313
+ const operationFlag = consumeFlag(runtimeFlag.rest, "--operation");
1314
+ const spendFlag = consumeFlag(operationFlag.rest, "--requested-spend-cents");
1315
+ const presetFlag = consumeFlag(spendFlag.rest, "--evidence-preset");
1316
+ if (!operationFlag.value || !spendFlag.value || !presetFlag.value) {
1317
+ throw agentCliError("agent demo microsoft-agent-framework smoke requires --operation, --requested-spend-cents, and --evidence-preset", { code: "cli.usage.missing_args", category: "usage" });
1318
+ }
1319
+ throw agentCliError("agent demo microsoft-agent-framework smoke is Python-only; install paybond-kit[microsoft-agent-framework] and run: paybond agent demo microsoft-agent-framework smoke", { code: "cli.usage.unsupported_runtime", category: "usage" });
1320
+ }
1288
1321
  export async function handleAgentDemoOpenAIAgentsSmoke(ctx, argv) {
1289
1322
  const productionFlag = consumeBooleanFlag(argv, "--production");
1290
1323
  const operationFlag = consumeFlag(productionFlag.rest, "--operation");
@@ -1322,6 +1355,43 @@ export async function handleAgentDemoOpenAIAgentsSmoke(ctx, argv) {
1322
1355
  };
1323
1356
  });
1324
1357
  }
1358
+ export async function handleAgentDemoGoogleAdkSmoke(ctx, argv) {
1359
+ const productionFlag = consumeBooleanFlag(argv, "--production");
1360
+ const operationFlag = consumeFlag(productionFlag.rest, "--operation");
1361
+ const spendFlag = consumeFlag(operationFlag.rest, "--requested-spend-cents");
1362
+ const presetFlag = consumeFlag(spendFlag.rest, "--evidence-preset");
1363
+ if (!operationFlag.value || !spendFlag.value || !presetFlag.value) {
1364
+ throw agentCliError("agent demo google-adk smoke requires --operation, --requested-spend-cents, and --evidence-preset", { code: "cli.usage.missing_args", category: "usage" });
1365
+ }
1366
+ const requestedSpendCents = parseRequiredNonNegativeInt(spendFlag.value, "--requested-spend-cents");
1367
+ return withPaybondAgentCli(ctx, productionFlag.present, async (session) => {
1368
+ const runGoogleAdkSandboxDemo = await loadRunGoogleAdkSandboxDemo();
1369
+ const demo = await runGoogleAdkSandboxDemo({
1370
+ paybond: session.paybond,
1371
+ operation: operationFlag.value,
1372
+ requestedSpendCents,
1373
+ evidencePreset: presetFlag.value,
1374
+ });
1375
+ if (!demo.evidence?.submitted) {
1376
+ throw agentCliError("Google ADK sandbox demo did not submit evidence", {
1377
+ code: "cli.agent.evidence_failed",
1378
+ exitCode: 5,
1379
+ category: "gateway",
1380
+ details: { tool_result: demo.tool_result },
1381
+ });
1382
+ }
1383
+ if (!demo.authorization.allow) {
1384
+ throw agentCliError("Google ADK sandbox demo authorization was denied", {
1385
+ code: "cli.agent.authorization_denied",
1386
+ details: { tool_result: demo.tool_result },
1387
+ });
1388
+ }
1389
+ return {
1390
+ data: demo,
1391
+ warnings: session.warnings,
1392
+ };
1393
+ });
1394
+ }
1325
1395
  function mapToolExecuteError(err, partial) {
1326
1396
  if (err instanceof PaybondSpendDeniedError) {
1327
1397
  return agentCliError(err.message, {
@@ -1457,6 +1527,33 @@ export async function handleAgent(ctx, group, subcommand, argv) {
1457
1527
  }
1458
1528
  return handleAgentDemoClaudeAgentsSmoke(ctx, argv.slice(1));
1459
1529
  }
1530
+ if (group === "demo" && subcommand === "crewai") {
1531
+ if (argv[0] !== "smoke") {
1532
+ throw agentCliError("agent demo crewai requires smoke subcommand", {
1533
+ code: "cli.usage.unknown_command",
1534
+ category: "usage",
1535
+ });
1536
+ }
1537
+ return handleAgentDemoCrewaiSmoke(ctx, argv.slice(1));
1538
+ }
1539
+ if (group === "demo" && subcommand === "pydantic-ai") {
1540
+ if (argv[0] !== "smoke") {
1541
+ throw agentCliError("agent demo pydantic-ai requires smoke subcommand", {
1542
+ code: "cli.usage.unknown_command",
1543
+ category: "usage",
1544
+ });
1545
+ }
1546
+ return handleAgentDemoPydanticAiSmoke(ctx, argv.slice(1));
1547
+ }
1548
+ if (group === "demo" && subcommand === "microsoft-agent-framework") {
1549
+ if (argv[0] !== "smoke") {
1550
+ throw agentCliError("agent demo microsoft-agent-framework requires smoke subcommand", {
1551
+ code: "cli.usage.unknown_command",
1552
+ category: "usage",
1553
+ });
1554
+ }
1555
+ return handleAgentDemoMicrosoftAgentFrameworkSmoke(ctx, argv.slice(1));
1556
+ }
1460
1557
  if (group === "demo" && subcommand === "openai-agents") {
1461
1558
  if (argv[0] !== "smoke") {
1462
1559
  throw agentCliError("agent demo openai-agents requires smoke subcommand", {
@@ -1466,6 +1563,15 @@ export async function handleAgent(ctx, group, subcommand, argv) {
1466
1563
  }
1467
1564
  return handleAgentDemoOpenAIAgentsSmoke(ctx, argv.slice(1));
1468
1565
  }
1566
+ if (group === "demo" && subcommand === "google-adk") {
1567
+ if (argv[0] !== "smoke") {
1568
+ throw agentCliError("agent demo google-adk requires smoke subcommand", {
1569
+ code: "cli.usage.unknown_command",
1570
+ category: "usage",
1571
+ });
1572
+ }
1573
+ return handleAgentDemoGoogleAdkSmoke(ctx, argv.slice(1));
1574
+ }
1469
1575
  if (group === "demo" && subcommand === "mcp") {
1470
1576
  if (argv[0] !== "smoke") {
1471
1577
  throw agentCliError("agent demo mcp requires smoke subcommand", {
package/dist/cli/help.js CHANGED
@@ -71,7 +71,7 @@ export const COMMAND_HELP = {
71
71
  "mandates import": "Usage: paybond mandates import --body <json-file>\n\nExamples:\n $ paybond mandates import --body mandate.json",
72
72
  "a2a card": "Usage: paybond a2a card\n\nExamples:\n $ paybond a2a card",
73
73
  "a2a contracts": "Usage: paybond a2a contracts [--contract-id <id>]\n\nExamples:\n $ paybond a2a contracts",
74
- "init agent-middleware": "Usage: paybond init agent-middleware [--framework <name>] [--out <path>] [--force]\n\nScaffolds an agent middleware integration file (PaybondAgentRun, tool registry, interceptor). Default framework is generic (agent-agnostic).\n\nTypeScript frameworks: generic|claude-agents|openai|langgraph|vercel-ai|mastra|cloudflare-agents|mcp\nPython frameworks: generic|claude-agents|crewai|openai|langgraph|vercel-ai|mcp\n\nExamples:\n $ paybond init agent-middleware\n $ paybond init agent-middleware --framework claude-agents --out paybond-claude-agents.ts\n $ paybond init agent-middleware --framework mastra --out paybond-mastra.ts\n $ paybond init agent-middleware --framework cloudflare-agents --out paybond-cloudflare-agents.ts\n $ paybond init agent-middleware --framework mcp --out paybond-mcp.ts\n $ paybond init agent-middleware --framework crewai --out paybond_crewai.py\n\nDocs: https://docs.paybond.ai/kit/agent-middleware\n\nNext: paybond agent sandbox smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --result-body '{\"status\":\"ok\",\"cost_cents\":100}'",
74
+ "init agent-middleware": "Usage: paybond init agent-middleware [--framework <name>] [--out <path>] [--force]\n\nScaffolds an agent middleware integration file (PaybondAgentRun, tool registry, interceptor). Default framework is generic (agent-agnostic).\n\nTypeScript frameworks: generic|claude-agents|openai|langgraph|vercel-ai|mastra|cloudflare-agents|google-adk|mcp\nPython frameworks: generic|claude-agents|crewai|pydantic-ai|google-adk|microsoft-agent-framework|openai|langgraph|vercel-ai|mcp\n\nExamples:\n $ paybond init agent-middleware\n $ paybond init agent-middleware --framework claude-agents --out paybond-claude-agents.ts\n $ paybond init agent-middleware --framework mastra --out paybond-mastra.ts\n $ paybond init agent-middleware --framework cloudflare-agents --out paybond-cloudflare-agents.ts\n $ paybond init agent-middleware --framework mcp --out paybond-mcp.ts\n $ paybond init agent-middleware --framework crewai --out paybond_crewai.py\n $ paybond init agent-middleware --framework pydantic-ai --out paybond_pydantic_ai.py\n $ paybond init agent-middleware --framework google-adk --out paybond_google_adk.py\n $ paybond init agent-middleware --framework microsoft-agent-framework --out paybond_microsoft_agent_framework.py\n\nDocs: https://docs.paybond.ai/kit/agent-middleware\n\nNext: paybond agent sandbox smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --result-body '{\"status\":\"ok\",\"cost_cents\":100}'",
75
75
  "agent run bind": "Usage: paybond agent run bind [--sandbox] [--production] [--policy-file <path>] [--watch] [--operation <name> --requested-spend-cents <n>] [--completion-preset <id>] [--registry-file <path>] [--run-id <id>] [--attach-intent-id <id> --capability-token <token> --payee-did <did> --payee-signing-seed-hex <hex> --agent-recognition-key-id <id> --agent-recognition-signing-seed-hex <hex>] [--write-env]\n\nBind a run-scoped middleware context via sandbox bootstrap or attach an existing funded intent. Production attach requires payee and agent-recognition signing credentials (flags or APP_PAYEE_DID, APP_PAYEE_SEED_HEX, APP_AGENT_RECOGNITION_KEY_ID, APP_AGENT_RECOGNITION_SEED_HEX). Persists context to .paybond/runs/<run_id>.json (mode 0600). Use --watch with --policy-file to record file-watcher reload config for long-lived processes.\n\nExamples:\n $ paybond agent run bind --policy-file paybond.policy.yaml --format json\n $ paybond agent run bind --sandbox --operation travel.book_hotel --requested-spend-cents 20000 --completion-preset cost_and_completion --registry-file ./paybond.agent.registry.yaml --format json\n\nDocs: https://docs.paybond.ai/kit/agent-policy\n\nNext: paybond agent tool execute --help",
76
76
  "agent run status": "Usage: paybond agent run status --run-id <id>\n\nInspect a bound run (tenant, intent, allowed tools, policy digest, reload metadata).\n\nExamples:\n $ paybond agent run status --run-id run-123 --format json\n\nDocs: https://docs.paybond.ai/kit/agent-middleware",
77
77
  "agent run trace": "Usage: paybond agent run trace --run-id <id>\n\nShow middleware trace events for a bound run (tool selection, spend authorization, evidence, settlement). Reads .paybond/runs/<run_id>.trace.json written during tool execute.\n\nExamples:\n $ paybond agent run trace --run-id run-123 --format json\n $ paybond agent run trace --run-id run-123 --format table\n\nDocs: https://docs.paybond.ai/kit/agent-middleware#trace-events-and-observability",
@@ -87,6 +87,9 @@ export const COMMAND_HELP = {
87
87
  "agent demo generic smoke": "Usage: paybond agent demo generic smoke [--production] [--runtime typescript|python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM agent-agnostic sandbox demo: createPaybondGenericAgentConfig, wrapped execute, and auto-evidence.\n\nExamples:\n $ paybond agent demo generic smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/agent-agnostic",
88
88
  "agent demo claude-agents smoke": "Usage: paybond agent demo claude-agents smoke [--production] [--runtime typescript|python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Claude Agent SDK sandbox demo: in-process MCP tool handlers, authorize, execute, and auto-evidence.\n\nExamples:\n $ paybond agent demo claude-agents smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/claude-agents",
89
89
  "agent demo crewai smoke": "Usage: paybond agent demo crewai smoke [--production] [--runtime python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM CrewAI sandbox demo: guarded @tool execution, authorize, and auto-evidence (Python-only).\n\nExamples:\n $ paybond agent demo crewai smoke --operation procurement.submit_po --requested-spend-cents 12000 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/crewai",
90
+ "agent demo pydantic-ai smoke": "Usage: paybond agent demo pydantic-ai smoke [--production] [--runtime python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Pydantic AI sandbox demo: guarded Tool execution, authorize, and auto-evidence (Python-only).\n\nExamples:\n $ paybond agent demo pydantic-ai smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/pydantic-ai",
91
+ "agent demo google-adk smoke": "Usage: paybond agent demo google-adk smoke [--production] [--runtime typescript|python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Google ADK sandbox demo: guarded FunctionTool execution, authorize, and auto-evidence.\n\nExamples:\n $ paybond agent demo google-adk smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/google-adk",
92
+ "agent demo microsoft-agent-framework smoke": "Usage: paybond agent demo microsoft-agent-framework smoke [--production] [--runtime python] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Microsoft Agent Framework sandbox demo: function middleware, authorize, and auto-evidence (Python-only).\n\nExamples:\n $ paybond agent demo microsoft-agent-framework smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/microsoft-agent-framework",
90
93
  "agent demo openai-agents smoke": "Usage: paybond agent demo openai-agents smoke [--production] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM OpenAI Agents SDK sandbox demo: input guardrail pre-check, guarded invoke, and auto-evidence.\n\nExamples:\n $ paybond agent demo openai-agents smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/openai-agents",
91
94
  "agent demo mastra smoke": "Usage: paybond agent demo mastra smoke [--production] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Mastra sandbox demo: guarded createTool execute, authorize, and auto-evidence (TypeScript-only).\n\nExamples:\n $ paybond agent demo mastra smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/mastra",
92
95
  "agent demo cloudflare-agents smoke": "Usage: paybond agent demo cloudflare-agents smoke [--production] --operation <name> --requested-spend-cents <n> --evidence-preset <id>\n\nBundled no-LLM Cloudflare Agents sandbox demo: guarded AI SDK tool execute, authorize, and auto-evidence (TypeScript-only).\n\nExamples:\n $ paybond agent demo cloudflare-agents smoke --operation paid-tool --requested-spend-cents 100 --evidence-preset cost_and_completion --format json\n\nDocs: https://docs.paybond.ai/kit/cloudflare-agents",
@@ -15,7 +15,7 @@ export type PaybondCloudflareAgentsConfig<TOOLS extends ToolSet = ToolSet> = {
15
15
  * Cloudflare Agents register tools via `getTools()` using the AI SDK `tool()`
16
16
  * helper — the same execute boundary as the Vercel AI adapter.
17
17
  */
18
- export declare function paybondCloudflareAgentsWrapTools<TOOLS extends ToolSet>(run: PaybondAgentRun, tools: TOOLS): TOOLS;
18
+ export declare function paybondCloudflareAgentsWrapTools<TOOLS extends ToolSet>(run: PaybondAgentRun, tools: TOOLS, options?: PaybondVercelAgentConfigOptions): TOOLS;
19
19
  /**
20
20
  * Framework runner helper for Cloudflare Agents `getTools()` / `streamText` wiring.
21
21
  *
@@ -6,8 +6,8 @@ import { paybondVercelWrapTools } from "../vercel-ai/wrap-tools.js";
6
6
  * Cloudflare Agents register tools via `getTools()` using the AI SDK `tool()`
7
7
  * helper — the same execute boundary as the Vercel AI adapter.
8
8
  */
9
- export function paybondCloudflareAgentsWrapTools(run, tools) {
10
- return paybondVercelWrapTools(run, tools);
9
+ export function paybondCloudflareAgentsWrapTools(run, tools, options) {
10
+ return paybondVercelWrapTools(run, tools, options);
11
11
  }
12
12
  /**
13
13
  * Framework runner helper for Cloudflare Agents `getTools()` / `streamText` wiring.
@@ -0,0 +1,36 @@
1
+ import type { PaybondAgentRun } from "../agent/run.js";
2
+ /** Minimal Google ADK FunctionTool shape used by the Paybond wrap helpers. */
3
+ export type GoogleAdkFunctionToolLike = {
4
+ name: string;
5
+ description: string;
6
+ isLongRunning?: boolean;
7
+ execute?: (input: unknown, toolContext?: unknown) => unknown | Promise<unknown>;
8
+ parameters?: unknown;
9
+ runAsync?: (req: {
10
+ args: unknown;
11
+ toolContext?: unknown;
12
+ }) => Promise<unknown>;
13
+ };
14
+ /** Google ADK runner config: guarded tools plus incremental `wrapTool`. */
15
+ export type PaybondGoogleAdkConfig = {
16
+ tools: GoogleAdkFunctionToolLike[];
17
+ wrapTool: (tool: GoogleAdkFunctionToolLike | unknown) => GoogleAdkFunctionToolLike;
18
+ };
19
+ /** Return true when the optional `@google/adk` peer is importable. */
20
+ export declare function googleAdkRuntimeAvailable(): boolean;
21
+ /**
22
+ * Wrap Google ADK `FunctionTool` instances with Paybond middleware.
23
+ *
24
+ * Returns guarded tools plus a `wrapTool` helper for incremental wiring.
25
+ * Prefer `new LlmAgent({ tools: config.tools })` with pre-wrapped tools.
26
+ *
27
+ * Tenant isolation: wrap uses only authenticated `PaybondAgentRun` context —
28
+ * never invent tenant IDs from ADK session state or agent names.
29
+ */
30
+ export declare function createPaybondGoogleAdkConfig(run: PaybondAgentRun, tools: unknown[]): PaybondGoogleAdkConfig;
31
+ /** Alias matching bilingual Kit surface. */
32
+ export declare const instrument: typeof createPaybondGoogleAdkConfig;
33
+ /** Alias matching bilingual Kit surface. */
34
+ export declare const instrumentGoogleAdk: typeof createPaybondGoogleAdkConfig;
35
+ /** Alias matching bilingual Kit surface. */
36
+ export declare const wrapTools: typeof createPaybondGoogleAdkConfig;
@@ -0,0 +1,172 @@
1
+ import { createRequire } from "node:module";
2
+ import { PaybondAutoEvidenceSubmitError, PaybondUnregisteredSideEffectingToolError, } from "../agent/types.js";
3
+ import { PaybondSpendApprovalRequiredError, PaybondSpendDeniedError, } from "../index.js";
4
+ let cachedGoogleAdk;
5
+ /**
6
+ * Lazily resolve the optional `@google/adk` peer dependency.
7
+ *
8
+ * Importing this module must not require the peer to be installed.
9
+ */
10
+ function loadGoogleAdk() {
11
+ if (cachedGoogleAdk === undefined) {
12
+ try {
13
+ const require = createRequire(import.meta.url);
14
+ cachedGoogleAdk = require("@google/adk");
15
+ }
16
+ catch (err) {
17
+ throw new Error('The Google ADK integration requires the optional peer dependency "@google/adk"; install it with: npm install @google/adk', { cause: err });
18
+ }
19
+ }
20
+ return cachedGoogleAdk;
21
+ }
22
+ /** Return true when the optional `@google/adk` peer is importable. */
23
+ export function googleAdkRuntimeAvailable() {
24
+ try {
25
+ loadGoogleAdk();
26
+ return true;
27
+ }
28
+ catch {
29
+ return false;
30
+ }
31
+ }
32
+ function isGoogleAdkFunctionTool(value) {
33
+ if (typeof value !== "object" || value === null) {
34
+ return false;
35
+ }
36
+ const record = value;
37
+ if (typeof record.name !== "string" || !record.name.trim()) {
38
+ return false;
39
+ }
40
+ if (typeof record.execute === "function") {
41
+ return true;
42
+ }
43
+ try {
44
+ const mod = loadGoogleAdk();
45
+ if (typeof mod.isFunctionTool === "function" && mod.isFunctionTool(value)) {
46
+ return true;
47
+ }
48
+ }
49
+ catch {
50
+ // Peer missing — fall through to duck-type check.
51
+ }
52
+ return typeof record.runAsync === "function";
53
+ }
54
+ function resolveToolExecute(tool) {
55
+ if (typeof tool.execute === "function") {
56
+ return tool.execute.bind(tool);
57
+ }
58
+ if (typeof tool.runAsync === "function") {
59
+ const runAsync = tool.runAsync.bind(tool);
60
+ return async (input, toolContext) => runAsync({ args: input, toolContext });
61
+ }
62
+ throw new TypeError("each Google ADK tool must expose an execute callback or runAsync method");
63
+ }
64
+ function resolveToolCallId(toolContext, fallback) {
65
+ if (typeof toolContext === "object" && toolContext !== null) {
66
+ const record = toolContext;
67
+ for (const key of ["functionCallId", "function_call_id", "toolCallId"]) {
68
+ const value = record[key];
69
+ if (typeof value === "string" && value.trim()) {
70
+ return value.trim();
71
+ }
72
+ }
73
+ }
74
+ return fallback;
75
+ }
76
+ function paybondErrorMessage(err) {
77
+ if (err instanceof PaybondUnregisteredSideEffectingToolError) {
78
+ return `Paybond capability denied: unregistered side-effecting tool (${err.message})`;
79
+ }
80
+ if (err instanceof PaybondSpendApprovalRequiredError) {
81
+ const decisionId = err.result.decisionId;
82
+ const suffix = decisionId ? ` (decision_id=${decisionId})` : "";
83
+ const msg = err.result.message ?? err.result.code ?? "approval required";
84
+ return `Paybond capability approval required: ${msg}${suffix}`;
85
+ }
86
+ if (err instanceof PaybondSpendDeniedError) {
87
+ const msg = err.result.message ?? err.result.code ?? "capability denied";
88
+ return `Paybond capability denied: ${msg}`;
89
+ }
90
+ if (err instanceof PaybondAutoEvidenceSubmitError) {
91
+ return `Paybond evidence submit failed: ${err.message}`;
92
+ }
93
+ return err instanceof Error ? err.message : String(err);
94
+ }
95
+ function rebuildFunctionTool(options) {
96
+ const { FunctionTool } = loadGoogleAdk();
97
+ return new FunctionTool(options);
98
+ }
99
+ function wrapGoogleAdkTool(run, tool) {
100
+ const toolName = tool.name.trim();
101
+ if (!run.registry.isSideEffecting(toolName)) {
102
+ return tool;
103
+ }
104
+ const originalExecute = resolveToolExecute(tool);
105
+ const guardedExecute = async (input, toolContext) => {
106
+ const toolCallId = resolveToolCallId(toolContext, globalThis.crypto.randomUUID());
107
+ try {
108
+ const wrapped = await run.interceptor.wrapExecute({
109
+ toolName,
110
+ toolCallId,
111
+ arguments: input,
112
+ approvalToken: run.getApprovalToken(toolCallId),
113
+ execute: async () => originalExecute(input, toolContext),
114
+ });
115
+ return wrapped.toolResult;
116
+ }
117
+ catch (err) {
118
+ if (err instanceof PaybondUnregisteredSideEffectingToolError) {
119
+ throw err;
120
+ }
121
+ if (err instanceof PaybondSpendApprovalRequiredError ||
122
+ err instanceof PaybondSpendDeniedError ||
123
+ err instanceof PaybondAutoEvidenceSubmitError) {
124
+ // Clear Paybond message so the ADK agent loop surfaces deny/hold/evidence failures.
125
+ throw new Error(paybondErrorMessage(err), { cause: err });
126
+ }
127
+ throw err;
128
+ }
129
+ };
130
+ return rebuildFunctionTool({
131
+ name: toolName,
132
+ description: tool.description || `Tool ${toolName}`,
133
+ parameters: tool.parameters,
134
+ execute: guardedExecute,
135
+ isLongRunning: tool.isLongRunning,
136
+ });
137
+ }
138
+ function normalizeGoogleAdkTools(tools) {
139
+ if (!Array.isArray(tools)) {
140
+ throw new TypeError("google-adk framework tools must be a sequence of FunctionTool instances");
141
+ }
142
+ return tools.map((tool) => {
143
+ if (!isGoogleAdkFunctionTool(tool)) {
144
+ throw new TypeError("each google-adk tool must be a FunctionTool instance with name and execute/runAsync");
145
+ }
146
+ return tool;
147
+ });
148
+ }
149
+ /**
150
+ * Wrap Google ADK `FunctionTool` instances with Paybond middleware.
151
+ *
152
+ * Returns guarded tools plus a `wrapTool` helper for incremental wiring.
153
+ * Prefer `new LlmAgent({ tools: config.tools })` with pre-wrapped tools.
154
+ *
155
+ * Tenant isolation: wrap uses only authenticated `PaybondAgentRun` context —
156
+ * never invent tenant IDs from ADK session state or agent names.
157
+ */
158
+ export function createPaybondGoogleAdkConfig(run, tools) {
159
+ loadGoogleAdk();
160
+ const normalized = normalizeGoogleAdkTools(tools);
161
+ const guarded = normalized.map((tool) => wrapGoogleAdkTool(run, tool));
162
+ return {
163
+ tools: guarded,
164
+ wrapTool: (tool) => wrapGoogleAdkTool(run, normalizeGoogleAdkTools([tool])[0]),
165
+ };
166
+ }
167
+ /** Alias matching bilingual Kit surface. */
168
+ export const instrument = createPaybondGoogleAdkConfig;
169
+ /** Alias matching bilingual Kit surface. */
170
+ export const instrumentGoogleAdk = createPaybondGoogleAdkConfig;
171
+ /** Alias matching bilingual Kit surface. */
172
+ export const wrapTools = createPaybondGoogleAdkConfig;
@@ -0,0 +1,2 @@
1
+ export { createPaybondGoogleAdkConfig, googleAdkRuntimeAvailable, instrument, instrumentGoogleAdk, wrapTools, type GoogleAdkFunctionToolLike, type PaybondGoogleAdkConfig, } from "./config.js";
2
+ export { runGoogleAdkSandboxDemo, type RunGoogleAdkSandboxDemoInput, type RunGoogleAdkSandboxDemoResult, } from "./sandbox-demo.js";
@@ -0,0 +1,2 @@
1
+ export { createPaybondGoogleAdkConfig, googleAdkRuntimeAvailable, instrument, instrumentGoogleAdk, wrapTools, } from "./config.js";
2
+ export { runGoogleAdkSandboxDemo, } from "./sandbox-demo.js";
@@ -0,0 +1,32 @@
1
+ import type { Paybond } from "../index.js";
2
+ export type RunGoogleAdkSandboxDemoInput = {
3
+ paybond: Paybond;
4
+ operation?: string;
5
+ requestedSpendCents?: number;
6
+ evidencePreset?: string;
7
+ toolCallId?: string;
8
+ };
9
+ export type RunGoogleAdkSandboxDemoResult = {
10
+ bind: {
11
+ run_id: string;
12
+ tenant_id: string;
13
+ intent_id: string;
14
+ capability_token: string;
15
+ operation: string;
16
+ sandbox_lifecycle_status?: string;
17
+ };
18
+ authorization: {
19
+ allow: boolean;
20
+ };
21
+ tool_result?: unknown;
22
+ evidence?: {
23
+ submitted: boolean;
24
+ sandbox_lifecycle_status?: string;
25
+ predicate_passed?: boolean | null;
26
+ };
27
+ tool_call_id: string;
28
+ };
29
+ /**
30
+ * No-LLM Google ADK sandbox demo: guarded FunctionTool execution + auto-evidence.
31
+ */
32
+ export declare function runGoogleAdkSandboxDemo(input: RunGoogleAdkSandboxDemoInput): Promise<RunGoogleAdkSandboxDemoResult>;
@@ -0,0 +1,104 @@
1
+ import { createRequire } from "node:module";
2
+ import { createPaybondToolRegistry } from "../agent/registry.js";
3
+ import { createPaybondGoogleAdkConfig } from "./config.js";
4
+ function loadFunctionTool() {
5
+ try {
6
+ const require = createRequire(import.meta.url);
7
+ const mod = require("@google/adk");
8
+ return mod.FunctionTool;
9
+ }
10
+ catch (err) {
11
+ throw new Error('The Google ADK sandbox demo requires the optional peer dependency "@google/adk"; install it with: npm install @google/adk', { cause: err });
12
+ }
13
+ }
14
+ /**
15
+ * No-LLM Google ADK sandbox demo: guarded FunctionTool execution + auto-evidence.
16
+ */
17
+ export async function runGoogleAdkSandboxDemo(input) {
18
+ const FunctionTool = loadFunctionTool();
19
+ const operation = (input.operation ?? "paid-tool").trim();
20
+ const requestedSpendCents = input.requestedSpendCents ?? 100;
21
+ const evidencePreset = (input.evidencePreset ?? "cost_and_completion").trim();
22
+ const toolCallId = (input.toolCallId ?? "google-adk-demo-1").trim();
23
+ const registry = createPaybondToolRegistry({
24
+ defaultDeny: true,
25
+ sideEffecting: {
26
+ [operation]: {
27
+ operation,
28
+ evidencePreset,
29
+ spendCents: requestedSpendCents,
30
+ evidenceMapper: (result) => {
31
+ const payload = result;
32
+ return {
33
+ status: payload.status,
34
+ cost_cents: payload.cost_cents,
35
+ };
36
+ },
37
+ },
38
+ },
39
+ });
40
+ const run = await input.paybond.agentRun.bind({
41
+ bootstrap: {
42
+ kind: "sandbox",
43
+ operation,
44
+ requestedSpendCents,
45
+ completionPreset: evidencePreset,
46
+ },
47
+ registry,
48
+ });
49
+ const paidTool = new FunctionTool({
50
+ name: operation,
51
+ description: `Paid operation ${operation}`,
52
+ execute: (args) => {
53
+ const estimated = typeof args === "object" &&
54
+ args !== null &&
55
+ "estimatedPriceCents" in args &&
56
+ typeof args.estimatedPriceCents ===
57
+ "number"
58
+ ? args.estimatedPriceCents
59
+ : requestedSpendCents;
60
+ return { status: "completed", cost_cents: estimated };
61
+ },
62
+ });
63
+ const config = createPaybondGoogleAdkConfig(run, [paidTool]);
64
+ const guarded = config.tools[0];
65
+ if (!guarded || typeof guarded.execute !== "function") {
66
+ throw new Error("google-adk sandbox demo missing guarded tool");
67
+ }
68
+ const sandboxStatus = run.binding.sandbox?.sandboxLifecycleStatus;
69
+ let allow = true;
70
+ let toolResult;
71
+ try {
72
+ toolResult = await guarded.execute({
73
+ estimatedPriceCents: requestedSpendCents,
74
+ });
75
+ }
76
+ catch (err) {
77
+ const message = err instanceof Error ? err.message : String(err);
78
+ if (message.startsWith("Paybond")) {
79
+ allow = false;
80
+ toolResult = { error: message };
81
+ }
82
+ else {
83
+ throw err;
84
+ }
85
+ }
86
+ return {
87
+ bind: {
88
+ run_id: run.runId,
89
+ tenant_id: run.tenantId,
90
+ intent_id: run.intentId,
91
+ capability_token: run.capabilityToken,
92
+ operation,
93
+ sandbox_lifecycle_status: sandboxStatus,
94
+ },
95
+ authorization: { allow },
96
+ tool_result: toolResult,
97
+ evidence: {
98
+ submitted: allow,
99
+ sandbox_lifecycle_status: sandboxStatus,
100
+ predicate_passed: allow ? true : null,
101
+ },
102
+ tool_call_id: toolCallId,
103
+ };
104
+ }
package/dist/index.d.ts CHANGED
@@ -1403,6 +1403,9 @@ export declare class Paybond {
1403
1403
  instrumentOpenAI<TTools>(input: Omit<PaybondInstrumentInput<TTools>, "framework"> & {
1404
1404
  tools: TTools;
1405
1405
  }): Promise<PaybondInstrumented<TTools> | PaybondInstrumentRuntime<TTools>>;
1406
+ instrumentGoogleAdk<TTools>(input: Omit<PaybondInstrumentInput<TTools>, "framework"> & {
1407
+ tools: TTools;
1408
+ }): Promise<PaybondInstrumented<TTools> | PaybondInstrumentRuntime<TTools>>;
1406
1409
  instrumentVercel<TTools>(input: Omit<PaybondInstrumentInput<TTools>, "framework"> & {
1407
1410
  tools: TTools;
1408
1411
  }): Promise<PaybondInstrumented<TTools> | PaybondInstrumentRuntime<TTools>>;
@@ -1439,12 +1442,17 @@ export { normalizeCommerceBinding, encodeCommerceBindingToStripeMetadata, decode
1439
1442
  export { validateCompletionEvidence, type CompletionEvidenceValidationReport, } from "./completion-validate-evidence.js";
1440
1443
  export { completionSchemaDigestHex, computeVendorContractDigests, verifyVendorContract, verifyCatalogVendorContracts, type VendorContract, type VendorContractDigests, } from "./completion-contract-digest.js";
1441
1444
  export { contractSnapshotForPreset, mapVendorEvidenceToCanonical, resolveCompletionPreset, } from "./completion-resolve.js";
1442
- export { PaybondAgentRun, PaybondAgentRunBindError, PaybondAgentRunFacade, PaybondEvidenceSubmitError, PaybondFrameworkAdapter, PaybondToolInterceptor, PaybondToolRegistry, PaybondToolRegistryValidationError, PaybondUnregisteredSideEffectingToolError, buildAutoEvidencePayload, createGenericToolExecutor, createGuardedAgent, createGuardedAgentRunner, createPaybondAgent, createPaybondGenericAgentConfig, createPaybondGenericInputGuard, createPaybondToolRegistry, createToolInputGuardAdapter, instrumentPaybondAgent, instrumentPaybondClaudeAgents, instrumentPaybondLangGraph, instrumentPaybondMCP, instrumentPaybondOpenAI, instrumentPaybondVercel, paybondGenericToolExecutorAdapter, paybondToolInputGuardAdapter, resolveAgentPolicySource, toPaybondAgentResult, wrapPaybondTools, PaybondInstrumentBuilder, PaybondInstrumented, PaybondInstrumentRuntime, PaybondLazyContextError, PaybondUnboundContextError, discoverPolicyFromAgent, discoverToolNames, discoverToolsFromAgent, inlinePolicyToDocument, isInlinePolicy, isInstrumentableAgentObject, readPaybondAgentInstrumentation, type CreateGuardedAgentInput, type CreateGuardedAgentResult, type GuardedAgentFramework, type PaybondAgentHooks, type PaybondAgentInput, type PaybondAgentResult, type PaybondAgentRunBindInput, type PaybondAuthorizeToolCallInput, type PaybondEvidenceMapper, type PaybondExternalAttestationMapper, type PaybondGenericAgentConfig, type PaybondGenericToolCall, type PaybondGenericToolDefinition, type PaybondGenericWrappedToolDefinition, type PaybondInlinePolicy, type PaybondAgentInstrumentation, type PaybondInstrumentAgentOptions, type PaybondInstrumentBinding, type PaybondInstrumentContext, type PaybondInstrumentContextInput, type PaybondInstrumentContextProvider, type PaybondInstrumentInput, type PaybondInterceptEvidenceResult, type PaybondInterceptWrapExecuteInput, type PaybondInterceptWrapExecuteResult, type PaybondRunBinding, type PaybondRunBindingAttachInput, type PaybondRunBindingSandboxBootstrapInput, type PaybondRunGuard, type PaybondSideEffectingToolEntry, type PaybondSideEffectingToolPolicy, type PaybondSpendResolver, type PaybondToolCallContext, type PaybondToolInputGuardAllowDecision, type PaybondToolInputGuardApprovalRequiredDecision, type PaybondToolInputGuardDecision, type PaybondToolInputGuardDenyDecision, type PaybondToolInputGuardAdapter, type PaybondToolRegistryConfig, type PaybondToolResolution, type PaybondWrapToolsOptions, } from "./agent/index.js";
1445
+ export { PaybondAgentRun, PaybondAgentRunBindError, PaybondAgentRunFacade, PaybondEvidenceSubmitError, PaybondFrameworkAdapter, PaybondToolInterceptor, PaybondToolRegistry, PaybondToolRegistryValidationError, PaybondUnregisteredSideEffectingToolError, buildAutoEvidencePayload, createGenericToolExecutor, createGuardedAgent, createGuardedAgentRunner, createPaybondAgent, createPaybondGenericAgentConfig, createPaybondGenericInputGuard, createPaybondToolRegistry, createToolInputGuardAdapter, instrumentPaybondAgent, instrumentPaybondClaudeAgents, instrumentPaybondLangGraph, instrumentPaybondMCP, instrumentPaybondOpenAI, instrumentPaybondGoogleAdk, instrumentPaybondVercel, paybondGenericToolExecutorAdapter, paybondToolInputGuardAdapter, resolveAgentPolicySource, toPaybondAgentResult, wrapPaybondTools, PaybondInstrumentBuilder, PaybondInstrumented, PaybondInstrumentRuntime, PaybondLazyContextError, PaybondUnboundContextError, discoverPolicyFromAgent, discoverToolNames, discoverToolsFromAgent, inlinePolicyToDocument, isInlinePolicy, isInstrumentableAgentObject, readPaybondAgentInstrumentation, type CreateGuardedAgentInput, type CreateGuardedAgentResult, type GuardedAgentFramework, type PaybondAgentHooks, type PaybondAgentInput, type PaybondAgentResult, type PaybondAgentRunBindInput, type PaybondAuthorizeToolCallInput, type PaybondEvidenceMapper, type PaybondExternalAttestationMapper, type PaybondGenericAgentConfig, type PaybondGenericToolCall, type PaybondGenericToolDefinition, type PaybondGenericWrappedToolDefinition, type PaybondInlinePolicy, type PaybondAgentInstrumentation, type PaybondInstrumentAgentOptions, type PaybondInstrumentBinding, type PaybondInstrumentContext, type PaybondInstrumentContextInput, type PaybondInstrumentContextProvider, type PaybondInstrumentInput, type PaybondInterceptEvidenceResult, type PaybondInterceptWrapExecuteInput, type PaybondInterceptWrapExecuteResult, type PaybondRunBinding, type PaybondRunBindingAttachInput, type PaybondRunBindingSandboxBootstrapInput, type PaybondRunGuard, type PaybondSideEffectingToolEntry, type PaybondSideEffectingToolPolicy, type PaybondSpendResolver, type PaybondToolCallContext, type PaybondToolInputGuardAllowDecision, type PaybondToolInputGuardApprovalRequiredDecision, type PaybondToolInputGuardDecision, type PaybondToolInputGuardDenyDecision, type PaybondToolInputGuardAdapter, type PaybondToolRegistryConfig, type PaybondToolResolution, type PaybondWrapToolsOptions, } from "./agent/index.js";
1443
1446
  export { PaybondAudit, PaybondAuditExports, GatewayAuditExportsClient, parseAuditExportList, parseAuditExportJobGet, verifyAuditManifest, verifyAuditBundleLocal, type AuditExportJobDetail, type AuditExportJobGetResponse, type AuditExportJobSummary, type AuditExportListPage, type AuditVerifyResult, type AuditExportsGateway, } from "./audit/index.js";
1444
1447
  export { PaybondPolicy, composePolicyLayers, composeBundledPresetDefault, domain, guardrails, paybondPolicyPresets, resolveComposedPresetDocument, type LayeredPolicyPresetId, type PaybondPolicyPresets, type PolicyGuardrailLayer, type PolicyPresetId, type VerticalPolicyOptions, } from "./policy/index.js";
1445
1448
  export { getSolutionSmokeDefaults, isKnownSolutionId, listSolutionIds, loadSolutionManifest, paybondSolutionPresets, type PaybondSolutionBundle, type PaybondSolutionPresets, type SolutionId, type SolutionManifest, type SolutionSmokeDefaults, } from "./solutions/index.js";
1446
1449
  export { appendDirectHarborPaymentAuthorization, formatPaymentAuthorizationValue, PAYBOND_PAYMENT_AUTHORIZATION_HEADER, PAYMENT_TRANSPORT_RESPONSE_HEADERS, paymentAuthorizationGatewayHeader, readFundPaymentTransportHeaders, type FundPaymentTransportHeaders, } from "./payment-transport.js";
1447
- export { AGENT_RECEIPT_KIND_V1, AGENT_RECEIPT_SCHEMA_VERSION, AGENT_RECEIPT_SCOPE_ACTION, AGENT_RECEIPT_SCOPE_INTENT_TERMINAL, AGENT_RECEIPT_SIGNING_ALGORITHM_ED25519, AGENT_RECEIPT_VERSION_V1, AGENT_RECEIPT_SIGNING_KEYS_WELL_KNOWN_PATH, AGENT_RECEIPT_WELL_KNOWN_PATH, PAYBOND_AGENT_RECEIPT_ATTESTATIONS_HEADER, PAYBOND_AGENT_RECEIPT_SOURCE_RUN_HEADER, actionReceiptId, attachOperatorAttestationV1, canonicalAgentReceiptBytes, configHashSha256Hex, promptHashSha256Hex, valueDigestSha256Hex, verifyAgentReceiptV1, verifyAgentReceiptV1FromJSON, type AgentReceiptAgentV1, type AgentReceiptAuthorizationV1, type AgentReceiptEvidenceV1, type AgentReceiptExecutionV1, type AgentReceiptExternalAttestationV1, type AgentReceiptMerchantV1, type AgentReceiptOperatorAttestationV1, type AgentReceiptOutcomeV1, type AgentReceiptPaymentV1, type AgentReceiptPolicyV1, type AgentReceiptReferencesV1, type AgentReceiptV1, type ConfigHashInput, type VerifyAgentReceiptV1Options, } from "./agent-receipt.js";
1450
+ export { AGENT_RECEIPT_KIND_V1, AGENT_RECEIPT_SCHEMA_VERSION, AGENT_RECEIPT_SCOPE_ACTION, AGENT_RECEIPT_SCOPE_INTENT_TERMINAL, AGENT_RECEIPT_SIGNING_ALGORITHM_ED25519, AGENT_RECEIPT_VERSION_V1, AGENT_RECEIPT_SIGNING_KEYS_WELL_KNOWN_PATH, AGENT_RECEIPT_WELL_KNOWN_PATH, AGENT_RECEIPT_VALIDITY_TIER_OPERATIONAL, AGENT_RECEIPT_VALIDITY_TIER_PRIMARY, AGENT_RECEIPT_VALIDITY_TIER_ATTESTED, EXTERNAL_ATTESTATION_KIND_AGENT_MANDATE_V1, SETTLEMENT_OUTCOME_SETTLED, SETTLEMENT_OUTCOME_PENDING_FINALITY, SETTLEMENT_OUTCOME_REVERSED, SETTLEMENT_OUTCOME_FAILED, PAYBOND_AGENT_RECEIPT_ATTESTATIONS_HEADER, PAYBOND_AGENT_RECEIPT_SOURCE_RUN_HEADER, actionReceiptId, achievedValidityTier, attachOperatorAttestationV1, canonicalAgentReceiptBytes, configHashSha256Hex, continuityFromPrior, promptHashSha256Hex, valueDigestSha256Hex, verifyAgentReceiptV1, verifyAgentReceiptV1FromJSON, verifyContinuityChain, type AgentReceiptAgentV1, type AgentReceiptAuthorizationV1, type AgentReceiptContinuityV1, type AgentReceiptEvidenceV1, type AgentReceiptExecutionV1, type AgentReceiptExternalAttestationV1, type AgentReceiptMerchantV1, type AgentReceiptOperatorAttestationV1, type AgentReceiptOutcomeV1, type AgentReceiptPaymentV1, type AgentReceiptPolicyV1, type AgentReceiptReferencesV1, type AgentReceiptSettlementOutcome, type AgentReceiptV1, type AgentReceiptValidityTier, type ConfigHashInput, type VerifyAgentReceiptV1Options, } from "./agent-receipt.js";
1451
+ export { AGENT_RECEIPT_TRANSPARENCY_INCLUSION_PROOF_KIND_V1, AGENT_RECEIPT_TRANSPARENCY_SCHEMA_VERSION, AGENT_RECEIPT_TRANSPARENCY_STH_KIND_V1, merkleLeafHashRFC6962, merkleNodeHashRFC6962, verifyAgentReceiptInclusion, verifySignedTreeHeadV1, type InclusionProofV1, type SignedTreeHeadV1, } from "./agent-receipt-inclusion.js";
1452
+ export { ACTA_AGENT_RECEIPT_TYPE, ACTA_SIGNATURE_ALG_EDDSA, projectActaDecisionFromAgentReceipt, projectAgentReceiptToActaDecisionReceipt, type ActaDecision, type ActaDecisionReceiptPayloadV1, type ActaDecisionReceiptSignatureV1, type ActaDecisionReceiptV1, } from "./agent-receipt-acta.js";
1453
+ export { PEF_CANON_VERSION_JCS_RFC8785_V1, PEF_CLAIM_TYPE_AGENT_RECEIPT_V1, PEF_RECEIPT_FORMAT_AGENT_RECEIPT_V1, PEF_VERSION_V1, agentReceiptPefFrameId, agentReceiptPefPreimage, agentReceiptPefReceiptHash, buildAgentReceiptPefFrame, jcsCanonicalBytes, verifyAgentReceiptPefFrameId, type AgentReceiptPefFrameV1, type BuildAgentReceiptPefFrameInput, } from "./agent-receipt-pef.js";
1454
+ export { AGENT_RECEIPT_SCITT_EXPORT_KIND_V1, AGENT_RECEIPT_SCITT_STATEMENT_KIND_V1, COSE_ALG_EDDSA, buildAgentReceiptScittExport, verifyAgentReceiptScittExport, type AgentReceiptScittExportV1, type AgentReceiptScittStatementV1, type BuildAgentReceiptScittExportInput, } from "./agent-receipt-scitt.js";
1455
+ export { AGENT_RECEIPT_OWNER_DISCLOSURE_HPKE_SUITE, AGENT_RECEIPT_OWNER_DISCLOSURE_INFO, AGENT_RECEIPT_OWNER_DISCLOSURE_KIND_V1, AGENT_RECEIPT_OWNER_DISCLOSURE_PLAINTEXT_KIND_V1, AGENT_RECEIPT_OWNER_DISCLOSURE_SCHEMA_VERSION, decryptOwnerDisclosurePackage, deriveOwnerDisclosurePlaintext, encryptOwnerDisclosurePackage, generateX25519KeyPairHex, openHpkeBaseX25519Aes128Gcm, sealHpkeBaseX25519Aes128Gcm, type AgentReceiptOwnerDisclosurePlaintextV1, type AgentReceiptOwnerDisclosureV1, } from "./agent-receipt-owner-disclosure.js";
1448
1456
  export { FORBIDDEN_AGENT_RECEIPT_FIELDS, parseAgentReceiptJSON, validateAgentReceiptJSON, } from "./agent-receipt-prevalidate.js";
1449
1457
  export { AGENT_RECEIPT_EXTERNAL_SOURCE_AP2, AGENT_RECEIPT_EXTERNAL_SOURCE_SEP2828, AGENT_RECEIPT_EXTERNAL_SOURCE_X402, partnerRecordDigestSha256Hex, protocolAuthorizationReceiptToExternalAttestations, protocolSettlementReceiptToExternalAttestations, resolveExternalAttestations, sep2828RecordsToExternalAttestations, signedMandateToExternalAttestations, x402ReceiptToExternalAttestations, type PaybondExternalAttestationInput, } from "./agent-receipt-external-attestations.js";
1450
1458
  export { AGENT_RECEIPT_PDF_EXPORT_DERIVED_VIEW_LABEL, AGENT_RECEIPT_PDF_EXPORT_MANIFEST_KIND, AGENT_RECEIPT_PDF_EXPORT_MANIFEST_SCHEMA_VERSION, FORBIDDEN_PDF_EXPORT_MANIFEST_FIELDS, gateAgentReceiptPDFExport, parseAgentReceiptPDFExportManifestJSON, validateAgentReceiptPDFExportManifestJSON, type AgentReceiptPDFExportFooterStamp, type AgentReceiptPDFExportManifest, type AgentReceiptPDFExportSourceKind, type GateAgentReceiptPDFExportInput, } from "./agent-receipt-pdf-export.js";