veto-sdk 2.9.0 → 2.9.2

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 (56) hide show
  1. package/README.md +33 -0
  2. package/dist/browser/protect.d.ts.map +1 -1
  3. package/dist/browser/protect.js +27 -7
  4. package/dist/browser/protect.js.map +1 -1
  5. package/dist/cli/install.d.ts.map +1 -1
  6. package/dist/cli/install.js +30 -14
  7. package/dist/cli/install.js.map +1 -1
  8. package/dist/core/protect.d.ts +5 -0
  9. package/dist/core/protect.d.ts.map +1 -1
  10. package/dist/core/protect.js +27 -7
  11. package/dist/core/protect.js.map +1 -1
  12. package/dist/integrations/autogen/index.d.ts +28 -0
  13. package/dist/integrations/autogen/index.d.ts.map +1 -0
  14. package/dist/integrations/autogen/index.js +38 -0
  15. package/dist/integrations/autogen/index.js.map +1 -0
  16. package/dist/integrations/claude-sdk/index.d.ts +24 -0
  17. package/dist/integrations/claude-sdk/index.d.ts.map +1 -0
  18. package/dist/integrations/claude-sdk/index.js +52 -0
  19. package/dist/integrations/claude-sdk/index.js.map +1 -0
  20. package/dist/integrations/crewai/index.d.ts +29 -0
  21. package/dist/integrations/crewai/index.d.ts.map +1 -0
  22. package/dist/integrations/crewai/index.js +38 -0
  23. package/dist/integrations/crewai/index.js.map +1 -0
  24. package/dist/integrations/google-adk/index.d.ts +31 -0
  25. package/dist/integrations/google-adk/index.d.ts.map +1 -0
  26. package/dist/integrations/google-adk/index.js +59 -0
  27. package/dist/integrations/google-adk/index.js.map +1 -0
  28. package/dist/integrations/langchain/guard.d.ts +10 -0
  29. package/dist/integrations/langchain/guard.d.ts.map +1 -0
  30. package/dist/integrations/langchain/guard.js +9 -0
  31. package/dist/integrations/langchain/guard.js.map +1 -0
  32. package/dist/integrations/langchain/index.d.ts +2 -0
  33. package/dist/integrations/langchain/index.d.ts.map +1 -1
  34. package/dist/integrations/langchain/index.js +1 -0
  35. package/dist/integrations/langchain/index.js.map +1 -1
  36. package/dist/integrations/mastra/index.d.ts +22 -0
  37. package/dist/integrations/mastra/index.d.ts.map +1 -0
  38. package/dist/integrations/mastra/index.js +41 -0
  39. package/dist/integrations/mastra/index.js.map +1 -0
  40. package/dist/integrations/openai-agents/index.d.ts +4 -0
  41. package/dist/integrations/openai-agents/index.d.ts.map +1 -1
  42. package/dist/integrations/openai-agents/index.js +11 -1
  43. package/dist/integrations/openai-agents/index.js.map +1 -1
  44. package/dist/integrations/shared.d.ts +36 -0
  45. package/dist/integrations/shared.d.ts.map +1 -0
  46. package/dist/integrations/shared.js +85 -0
  47. package/dist/integrations/shared.js.map +1 -0
  48. package/dist/integrations/vercel-ai/guard.d.ts +12 -0
  49. package/dist/integrations/vercel-ai/guard.d.ts.map +1 -0
  50. package/dist/integrations/vercel-ai/guard.js +9 -0
  51. package/dist/integrations/vercel-ai/guard.js.map +1 -0
  52. package/dist/integrations/vercel-ai/index.d.ts +2 -0
  53. package/dist/integrations/vercel-ai/index.d.ts.map +1 -1
  54. package/dist/integrations/vercel-ai/index.js +1 -0
  55. package/dist/integrations/vercel-ai/index.js.map +1 -1
  56. package/package.json +21 -1
@@ -0,0 +1,29 @@
1
+ import type { Veto } from '../../core/veto.js';
2
+ import { type GuardedRuntimeExecutionOptions, type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
3
+ export interface CrewAIToolCall {
4
+ name: string;
5
+ input?: unknown;
6
+ args?: unknown;
7
+ arguments?: unknown;
8
+ id?: string;
9
+ [key: string]: unknown;
10
+ }
11
+ export type CrewAIToolFunction<TResult = unknown, TContext = unknown> = (args: Record<string, unknown>, context?: TContext) => TResult | Promise<TResult>;
12
+ export interface CrewAITool<TResult = unknown, TContext = unknown> {
13
+ name: string;
14
+ description?: string;
15
+ argsSchema?: unknown;
16
+ func?: CrewAIToolFunction<TResult, TContext>;
17
+ run?: CrewAIToolFunction<TResult, TContext>;
18
+ execute?: CrewAIToolFunction<TResult, TContext>;
19
+ [key: string]: unknown;
20
+ }
21
+ export type VetoCrewAIToolOptions<TResult = unknown> = GuardedRuntimeExecutionOptions<TResult>;
22
+ export { VetoRuntimeAdapterError } from '../shared.js';
23
+ export type { GuardedRuntimeExecutionOptions, RuntimeGuardDecision, RuntimeGuardOptions, } from '../shared.js';
24
+ export declare function guardCrewAIToolCall(veto: Veto, call: CrewAIToolCall, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
25
+ export declare function wrapCrewAIFunction<TResult, TContext = unknown>(veto: Veto, name: string, fn: CrewAIToolFunction<TResult, TContext>, options?: VetoCrewAIToolOptions<TResult>): CrewAIToolFunction<TResult, TContext>;
26
+ export declare function wrapCrewAITool<TResult, TContext, TTool extends CrewAITool<TResult, TContext>>(veto: Veto, tool: TTool, options?: VetoCrewAIToolOptions<TResult>): TTool;
27
+ export declare function wrapCrewAITools<TTool extends CrewAITool>(veto: Veto, tools: TTool[], options?: VetoCrewAIToolOptions): TTool[];
28
+ export declare function wrapCrewAITools<TTools extends Record<string, CrewAITool>>(veto: Veto, tools: TTools, options?: VetoCrewAIToolOptions): TTools;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/crewai/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAIL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,IAAI,CACtE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,QAAQ,KACf,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,WAAW,UAAU,CAAC,OAAO,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,qBAAqB,CAAC,OAAO,GAAG,OAAO,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;AAE/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,8BAA8B,EAC9B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAQtB,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,EACpB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAM/B;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,EAC5D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,EACzC,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACvC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAOvC;AAED,wBAAgB,cAAc,CAC5B,OAAO,EACP,QAAQ,EACR,KAAK,SAAS,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAE3C,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACvC,KAAK,CAiBP;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAS,UAAU,EACtD,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EAAE,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,KAAK,EAAE,CAAC;AACX,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { executeGuardedRuntimeToolCall, guardRuntimeToolCall, parseJsonObject, } from '../shared.js';
2
+ export { VetoRuntimeAdapterError } from '../shared.js';
3
+ const CREW_AI_FUNCTION_KEYS = ['func', 'run', 'execute'];
4
+ function resolveCrewAIArgs(call) {
5
+ return parseJsonObject(call.input ?? call.args ?? call.arguments);
6
+ }
7
+ export async function guardCrewAIToolCall(veto, call, options) {
8
+ return await guardRuntimeToolCall(veto, {
9
+ id: call.id,
10
+ name: call.name,
11
+ arguments: resolveCrewAIArgs(call),
12
+ }, options);
13
+ }
14
+ export function wrapCrewAIFunction(veto, name, fn, options) {
15
+ return async (args, context) => await executeGuardedRuntimeToolCall(veto, { name, arguments: parseJsonObject(args) }, async (guardedArgs) => await fn(guardedArgs, context), options);
16
+ }
17
+ export function wrapCrewAITool(veto, tool, options) {
18
+ const wrapped = { ...tool };
19
+ const writable = wrapped;
20
+ for (const key of CREW_AI_FUNCTION_KEYS) {
21
+ const fn = tool[key];
22
+ if (typeof fn === 'function') {
23
+ writable[key] = wrapCrewAIFunction(veto, tool.name, fn, options);
24
+ }
25
+ }
26
+ return wrapped;
27
+ }
28
+ export function wrapCrewAITools(veto, tools, options) {
29
+ if (Array.isArray(tools)) {
30
+ return tools.map((tool) => wrapCrewAITool(veto, tool, options));
31
+ }
32
+ const wrapped = {};
33
+ for (const [key, tool] of Object.entries(tools)) {
34
+ wrapped[key] = wrapCrewAITool(veto, tool.name ? tool : { ...tool, name: key }, options);
35
+ }
36
+ return wrapped;
37
+ }
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/crewai/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,EAC7B,oBAAoB,EACpB,eAAe,GAIhB,MAAM,cAAc,CAAC;AA4BtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAOvD,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AAElE,SAAS,iBAAiB,CAAC,IAAoB;IAC7C,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,IAAoB,EACpB,OAA6B;IAE7B,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,iBAAiB,CAAC,IAAI,CAAC;KACnC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAU,EACV,IAAY,EACZ,EAAyC,EACzC,OAAwC;IAExC,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,6BAA6B,CACjE,IAAI,EACJ,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,EAC1C,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,EACrD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAK5B,IAAU,EACV,IAAW,EACX,OAAwC;IAExC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAW,CAAC;IACrC,MAAM,QAAQ,GAAG,OAAkC,CAAC;IAEpD,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAY,CAAC;QAChC,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAChC,IAAI,EACJ,IAAI,CAAC,IAAI,EACT,EAA2C,EAC3C,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,UAAU,eAAe,CAC7B,IAAU,EACV,KAAgD,EAChD,OAA+B;IAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { Veto } from '../../core/veto.js';
2
+ import type { ToolCall, ToolDefinition } from '../../types/tool.js';
3
+ import type { GoogleFunctionDeclaration, GoogleTool } from '../../providers/types.js';
4
+ import { type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
5
+ export type GoogleADKFunctionDeclaration = GoogleFunctionDeclaration;
6
+ export type GoogleADKTool = GoogleTool;
7
+ export interface GoogleADKFunctionCall {
8
+ name: string;
9
+ args?: Record<string, unknown>;
10
+ id?: string;
11
+ [key: string]: unknown;
12
+ }
13
+ export type GoogleADKFunctionHandler<TResult = unknown> = (args: Record<string, unknown>, functionCall: GoogleADKFunctionCall) => TResult | Promise<TResult>;
14
+ export interface GoogleADKFunctionResponse {
15
+ name: string;
16
+ response: unknown;
17
+ id?: string;
18
+ error?: boolean;
19
+ }
20
+ export interface VetoGoogleADKFunctionRunnerOptions extends RuntimeGuardOptions {
21
+ onBlocked?: (decision: RuntimeGuardDecision, functionCall: GoogleADKFunctionCall) => GoogleADKFunctionResponse | Promise<GoogleADKFunctionResponse>;
22
+ }
23
+ export { VetoRuntimeAdapterError } from '../shared.js';
24
+ export type { RuntimeGuardDecision, RuntimeGuardOptions } from '../shared.js';
25
+ export declare function toGoogleADKFunctionDeclaration(tool: ToolDefinition): GoogleADKFunctionDeclaration;
26
+ export declare function toGoogleADKFunctionDeclarations(tools: readonly ToolDefinition[]): GoogleADKFunctionDeclaration[];
27
+ export declare function toGoogleADKTool(tools: readonly ToolDefinition[]): GoogleADKTool;
28
+ export declare function fromGoogleADKFunctionCall(functionCall: GoogleADKFunctionCall): ToolCall;
29
+ export declare function guardGoogleADKFunctionCall(veto: Veto, functionCall: GoogleADKFunctionCall, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
30
+ export declare function createVetoGoogleADKFunctionRunner(veto: Veto, handlers: Record<string, GoogleADKFunctionHandler>, options?: VetoGoogleADKFunctionRunnerOptions): (functionCall: GoogleADKFunctionCall) => Promise<GoogleADKFunctionResponse>;
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/google-adk/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAsB,yBAAyB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM1G,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AACrE,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,wBAAwB,CAAC,OAAO,GAAG,OAAO,IAAI,CACxD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,qBAAqB,KAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,kCAAmC,SAAQ,mBAAmB;IAC7E,SAAS,CAAC,EAAE,CACV,QAAQ,EAAE,oBAAoB,EAC9B,YAAY,EAAE,qBAAqB,KAChC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACrE;AAED,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE9E,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,cAAc,GACnB,4BAA4B,CAE9B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,cAAc,EAAE,GAC/B,4BAA4B,EAAE,CAEhC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,aAAa,CAE/E;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,qBAAqB,GAAG,QAAQ,CAMvF;AAED,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAO/B;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAClD,OAAO,CAAC,EAAE,kCAAkC,GAC3C,CAAC,YAAY,EAAE,qBAAqB,KAAK,OAAO,CAAC,yBAAyB,CAAC,CAgC7E"}
@@ -0,0 +1,59 @@
1
+ import { fromGoogleFunctionCall, toGoogleFunctionDeclaration, toGoogleTool, } from '../../providers/adapters.js';
2
+ import { asRecord, guardRuntimeToolCall, } from '../shared.js';
3
+ export { VetoRuntimeAdapterError } from '../shared.js';
4
+ export function toGoogleADKFunctionDeclaration(tool) {
5
+ return toGoogleFunctionDeclaration(tool);
6
+ }
7
+ export function toGoogleADKFunctionDeclarations(tools) {
8
+ return tools.map(toGoogleFunctionDeclaration);
9
+ }
10
+ export function toGoogleADKTool(tools) {
11
+ return toGoogleTool(tools);
12
+ }
13
+ export function fromGoogleADKFunctionCall(functionCall) {
14
+ const call = fromGoogleFunctionCall({
15
+ name: functionCall.name,
16
+ args: asRecord(functionCall.args),
17
+ });
18
+ return functionCall.id ? { ...call, id: functionCall.id } : call;
19
+ }
20
+ export async function guardGoogleADKFunctionCall(veto, functionCall, options) {
21
+ const call = fromGoogleADKFunctionCall(functionCall);
22
+ return await guardRuntimeToolCall(veto, {
23
+ id: call.id,
24
+ name: call.name,
25
+ arguments: call.arguments,
26
+ }, options);
27
+ }
28
+ export function createVetoGoogleADKFunctionRunner(veto, handlers, options) {
29
+ return async (functionCall) => {
30
+ const args = asRecord(functionCall.args);
31
+ const decision = await guardGoogleADKFunctionCall(veto, functionCall, options);
32
+ if (!decision.allowed) {
33
+ if (options?.onBlocked) {
34
+ return await options.onBlocked(decision, functionCall);
35
+ }
36
+ return {
37
+ name: functionCall.name,
38
+ id: functionCall.id,
39
+ response: decision.reason ?? 'Tool call blocked by Veto',
40
+ error: true,
41
+ };
42
+ }
43
+ const handler = handlers[functionCall.name];
44
+ if (!handler) {
45
+ return {
46
+ name: functionCall.name,
47
+ id: functionCall.id,
48
+ response: `No handler registered for Google ADK function ${functionCall.name}`,
49
+ error: true,
50
+ };
51
+ }
52
+ return {
53
+ name: functionCall.name,
54
+ id: functionCall.id,
55
+ response: await handler(args, functionCall),
56
+ };
57
+ };
58
+ }
59
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/google-adk/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,YAAY,GACb,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,QAAQ,EACR,oBAAoB,GAGrB,MAAM,cAAc,CAAC;AA+BtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,UAAU,8BAA8B,CAC5C,IAAoB;IAEpB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,KAAgC;IAEhC,OAAO,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAgC;IAC9D,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,YAAmC;IAC3E,MAAM,IAAI,GAAG,sBAAsB,CAAC;QAClC,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;KACL,CAAC,CAAC;IAChC,OAAO,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,IAAU,EACV,YAAmC,EACnC,OAA6B;IAE7B,MAAM,IAAI,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACrD,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,IAAU,EACV,QAAkD,EAClD,OAA4C;IAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,IAAI,2BAA2B;gBACxD,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;gBACL,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,QAAQ,EAAE,iDAAiD,YAAY,CAAC,IAAI,EAAE;gBAC9E,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,EAAE,EAAE,YAAY,CAAC,EAAE;YACnB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC;SAC5C,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Veto } from '../../core/veto.js';
2
+ import { type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
3
+ export interface LangChainGuardToolCall {
4
+ name: string;
5
+ args?: Record<string, unknown>;
6
+ id?: string;
7
+ type?: string;
8
+ }
9
+ export declare function guardLangChainToolCall(veto: Veto, toolCall: LangChainGuardToolCall, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
10
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/integrations/langchain/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,sBAAsB,EAChC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
@@ -0,0 +1,9 @@
1
+ import { asRecord, guardRuntimeToolCall, } from '../shared.js';
2
+ export async function guardLangChainToolCall(veto, toolCall, options) {
3
+ return await guardRuntimeToolCall(veto, {
4
+ id: toolCall.id,
5
+ name: toolCall.name,
6
+ arguments: asRecord(toolCall.args),
7
+ }, options);
8
+ }
9
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/integrations/langchain/guard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,oBAAoB,GAGrB,MAAM,cAAc,CAAC;AAStB,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAU,EACV,QAAgC,EAChC,OAA6B;IAE7B,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;KACnC,EAAE,OAAO,CAAC,CAAC;AACd,CAAC"}
@@ -4,4 +4,6 @@ export { createVetoToolNode } from './tool-node.js';
4
4
  export type { VetoToolNodeOptions } from './tool-node.js';
5
5
  export { createVetoCallbackHandler } from './callback.js';
6
6
  export type { VetoCallbackOptions } from './callback.js';
7
+ export { guardLangChainToolCall } from './guard.js';
8
+ export type { LangChainGuardToolCall } from './guard.js';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/langchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/langchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAChE,YAAY,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createVetoLangChainMiddleware } from './middleware.js';
2
2
  export { createVetoToolNode } from './tool-node.js';
3
3
  export { createVetoCallbackHandler } from './callback.js';
4
+ export { guardLangChainToolCall } from './guard.js';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/langchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/langchain/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { Veto } from '../../core/veto.js';
2
+ import { type GuardedRuntimeExecutionOptions, type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
3
+ export interface MastraTool<TArgs = unknown, TResult = unknown, TContext = unknown> {
4
+ id?: string;
5
+ name?: string;
6
+ description?: string;
7
+ inputSchema?: unknown;
8
+ execute: (args: TArgs, context?: TContext) => TResult | Promise<TResult>;
9
+ [key: string]: unknown;
10
+ }
11
+ export type MastraToolRef = string | {
12
+ id?: string;
13
+ name?: string;
14
+ };
15
+ export type VetoMastraToolOptions<TResult = unknown> = GuardedRuntimeExecutionOptions<TResult>;
16
+ export { VetoRuntimeAdapterError } from '../shared.js';
17
+ export type { GuardedRuntimeExecutionOptions, RuntimeGuardDecision, RuntimeGuardOptions, } from '../shared.js';
18
+ export declare function guardMastraToolCall(veto: Veto, tool: MastraToolRef, args: unknown, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
19
+ export declare function wrapMastraTool<TArgs, TResult, TContext, TTool extends MastraTool<TArgs, TResult, TContext>>(veto: Veto, tool: TTool, options?: VetoMastraToolOptions<TResult>): TTool;
20
+ export declare function wrapMastraTools<TTool extends MastraTool>(veto: Veto, tools: TTool[], options?: VetoMastraToolOptions): TTool[];
21
+ export declare function wrapMastraTools<TTools extends Record<string, MastraTool>>(veto: Veto, tools: TTools, options?: VetoMastraToolOptions): TTools;
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/mastra/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAIL,KAAK,8BAA8B,EACnC,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,UAAU,CACzB,KAAK,GAAG,OAAO,EACf,OAAO,GAAG,OAAO,EACjB,QAAQ,GAAG,OAAO;IAElB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpE,MAAM,MAAM,qBAAqB,CAAC,OAAO,GAAG,OAAO,IAAI,8BAA8B,CAAC,OAAO,CAAC,CAAC;AAE/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,8BAA8B,EAC9B,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAWtB,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAK/B;AAED,wBAAgB,cAAc,CAC5B,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,SAAS,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAElD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACvC,KAAK,CAcP;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAS,UAAU,EACtD,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EAAE,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,KAAK,EAAE,CAAC;AACX,wBAAgB,eAAe,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,qBAAqB,GAC9B,MAAM,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { asRecord, executeGuardedRuntimeToolCall, guardRuntimeToolCall, } from '../shared.js';
2
+ export { VetoRuntimeAdapterError } from '../shared.js';
3
+ function resolveMastraToolName(tool) {
4
+ if (typeof tool === 'string' && tool.length > 0)
5
+ return tool;
6
+ if (typeof tool === 'object') {
7
+ if (typeof tool.name === 'string' && tool.name.length > 0)
8
+ return tool.name;
9
+ if (typeof tool.id === 'string' && tool.id.length > 0)
10
+ return tool.id;
11
+ }
12
+ throw new Error('Mastra tool must include a name or id');
13
+ }
14
+ export async function guardMastraToolCall(veto, tool, args, options) {
15
+ return await guardRuntimeToolCall(veto, {
16
+ name: resolveMastraToolName(tool),
17
+ arguments: asRecord(args),
18
+ }, options);
19
+ }
20
+ export function wrapMastraTool(veto, tool, options) {
21
+ const toolName = resolveMastraToolName(tool);
22
+ const originalExecute = tool.execute;
23
+ const wrapped = Object.create(Object.getPrototypeOf(tool));
24
+ Object.assign(wrapped, tool);
25
+ wrapped.execute = (async (args, context) => {
26
+ return await executeGuardedRuntimeToolCall(veto, { name: toolName, arguments: asRecord(args) }, async (guardedArgs) => await originalExecute.call(tool, guardedArgs, context), options);
27
+ });
28
+ return wrapped;
29
+ }
30
+ export function wrapMastraTools(veto, tools, options) {
31
+ if (Array.isArray(tools)) {
32
+ return tools.map((tool) => wrapMastraTool(veto, tool, options));
33
+ }
34
+ const wrapped = {};
35
+ for (const [key, tool] of Object.entries(tools)) {
36
+ const namedTool = tool.name || tool.id ? tool : { ...tool, name: key };
37
+ wrapped[key] = wrapMastraTool(veto, namedTool, options);
38
+ }
39
+ return wrapped;
40
+ }
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/mastra/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,6BAA6B,EAC7B,oBAAoB,GAIrB,MAAM,cAAc,CAAC;AAkBtB,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAOvD,SAAS,qBAAqB,CAAC,IAAmB;IAChD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAC5E,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAU,EACV,IAAmB,EACnB,IAAa,EACb,OAA6B;IAE7B,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,IAAI,EAAE,qBAAqB,CAAC,IAAI,CAAC;QACjC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;KAC1B,EAAE,OAAO,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAM5B,IAAU,EACV,IAAW,EACX,OAAwC;IAExC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAU,CAAC;IACpE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,IAAW,EAAE,OAAkB,EAAoB,EAAE;QAC7E,OAAO,MAAM,6BAA6B,CACxC,IAAI,EACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAC7C,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,WAAoB,EAAE,OAAO,CAAC,EACtF,OAAO,CACR,CAAC;IACJ,CAAC,CAAqB,CAAC;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC;AAYD,MAAM,UAAU,eAAe,CAC7B,IAAU,EACV,KAAgD,EAChD,OAA+B;IAE/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Veto } from '../../core/veto.js';
2
+ import { type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
2
3
  export interface GuardrailFunctionOutput {
3
4
  tripwireTriggered: boolean;
4
5
  outputInfo?: {
@@ -71,4 +72,7 @@ export declare function createVetoOutputGuardrail<TContext = unknown, TAgent = u
71
72
  * Create OpenAI Agents-compatible tool input/output guardrails backed by Veto.
72
73
  */
73
74
  export declare function createVetoToolGuardrails(veto: Veto, name?: string): [ToolInputGuardrail, ToolOutputGuardrail];
75
+ export type OpenAIAgentsToolGuardInput = ToolGuardrailContext | ToolInputGuardrailData;
76
+ export type { RuntimeGuardDecision, RuntimeGuardOptions } from '../shared.js';
77
+ export declare function guardOpenAIAgentsToolCall(veto: Veto, input: OpenAIAgentsToolGuardInput, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
74
78
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/openai-agents/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/openai-agents/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { guardRuntimeToolCall, } from '../shared.js';
1
2
  function allowToolGuardrail() {
2
3
  return {
3
4
  behavior: { type: 'allow' },
@@ -96,7 +97,7 @@ export function createVetoToolGuardrails(veto, name) {
96
97
  const toolName = resolveToolName(data.context);
97
98
  const args = parseToolArguments(resolveToolArguments(data.context));
98
99
  const result = await veto.guard(toolName, args);
99
- if (result.decision === 'deny' && result.shadow !== true) {
100
+ if (result.decision !== 'allow' && result.shadow !== true) {
100
101
  return rejectToolGuardrail(result.reason ?? 'Policy violation');
101
102
  }
102
103
  return allowToolGuardrail();
@@ -122,4 +123,13 @@ export function createVetoToolGuardrails(veto, name) {
122
123
  },
123
124
  ];
124
125
  }
126
+ export async function guardOpenAIAgentsToolCall(veto, input, options) {
127
+ const context = 'context' in input ? input.context : input;
128
+ const toolName = resolveToolName(context);
129
+ const args = parseToolArguments(resolveToolArguments(context));
130
+ return await guardRuntimeToolCall(veto, {
131
+ name: toolName,
132
+ arguments: args,
133
+ }, options);
134
+ }
125
135
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/openai-agents/index.ts"],"names":[],"mappings":"AAyEA,SAAS,kBAAkB;IACzB,OAAO;QACL,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KAC5B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc;IACzC,OAAO;QACL,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAqB;IAC/C,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAY,CAAC;QACnD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAyC;IAChE,MAAM,KAAK,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,QAAQ,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAyC;IACrE,OAAO,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,aAAa,CAAC;AAC3D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAKtC,IAAU,EACV,IAAa;IAEb,MAAM,iBAAiB,GACrB,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO;gBACL,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,EAAE,KAAK;SACzB,CAAC;IACJ,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,oBAAoB;QAClC,iBAAiB;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;KACvF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAKvC,IAAU,EACV,IAAa;IAEb,MAAM,iBAAiB,GACrB,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO;gBACL,iBAAiB,EAAE,IAAI;gBACvB,UAAU,EAAE;oBACV,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,aAAa,EAAE,MAAM,CAAC,cAAc;iBACrC;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB,EAAE,KAAK;SACzB,CAAC;IACJ,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,qBAAqB;QACnC,iBAAiB;QACjB,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC;KACzF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAU,EACV,IAAa;IAEb,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAEtE,MAAM,sBAAsB,GAA4C,KAAK,EAAE,IAAI,EAAE,EAAE;QACrF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEhD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAA6C,KAAK,EAAE,IAAI,EAAE,EAAE;QACvF,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,kBAAkB,EAAE,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO;QACL;YACE,IAAI,EAAE,SAAS;YACf,iBAAiB,EAAE,sBAAsB;YACzC,OAAO,EAAE,sBAAsB;SAChC;QACD;YACE,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,uBAAuB;YAC1C,OAAO,EAAE,uBAAuB;SACjC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/openai-agents/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { GuardContext, GuardResult, Veto } from '../core/veto.js';
2
+ export interface RuntimeToolCall {
3
+ name: string;
4
+ arguments: Record<string, unknown>;
5
+ id?: string;
6
+ }
7
+ export interface RuntimeGuardOptions {
8
+ context?: GuardContext | ((call: RuntimeToolCall) => GuardContext | undefined);
9
+ onAllow?: (toolName: string, args: Record<string, unknown>) => void | Promise<void>;
10
+ onDeny?: (toolName: string, args: Record<string, unknown>, reason: string) => void | Promise<void>;
11
+ onApprovalRequired?: (toolName: string, args: Record<string, unknown>, approvalId?: string) => void | Promise<void>;
12
+ }
13
+ export interface RuntimeGuardDecision {
14
+ decision: GuardResult['decision'];
15
+ allowed: boolean;
16
+ toolName: string;
17
+ arguments: Record<string, unknown>;
18
+ reason?: string;
19
+ approvalId?: string;
20
+ result: GuardResult;
21
+ }
22
+ export interface GuardedRuntimeExecutionOptions<TResult> extends RuntimeGuardOptions {
23
+ onBlocked?: (decision: RuntimeGuardDecision) => TResult | Promise<TResult>;
24
+ }
25
+ export declare class VetoRuntimeAdapterError extends Error {
26
+ readonly decision: GuardResult['decision'];
27
+ readonly toolName: string;
28
+ readonly reason?: string;
29
+ readonly approvalId?: string;
30
+ constructor(decision: RuntimeGuardDecision);
31
+ }
32
+ export declare function asRecord(value: unknown): Record<string, unknown>;
33
+ export declare function parseJsonObject(value: unknown): Record<string, unknown>;
34
+ export declare function guardRuntimeToolCall(veto: Veto, call: RuntimeToolCall, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
35
+ export declare function executeGuardedRuntimeToolCall<TResult>(veto: Veto, call: RuntimeToolCall, execute: (args: Record<string, unknown>) => TResult | Promise<TResult>, options?: GuardedRuntimeExecutionOptions<TResult>): Promise<TResult>;
36
+ //# sourceMappingURL=shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/integrations/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,YAAY,GAAG,SAAS,CAAC,CAAC;IAC/E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,kBAAkB,CAAC,EAAE,CACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,KAChB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,8BAA8B,CAAC,OAAO,CAAE,SAAQ,mBAAmB;IAClF,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,oBAAoB;CAW3C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKhE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBvE;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAiC/B;AAED,wBAAsB,6BAA6B,CAAC,OAAO,EACzD,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACtE,OAAO,CAAC,EAAE,8BAA8B,CAAC,OAAO,CAAC,GAChD,OAAO,CAAC,OAAO,CAAC,CAWlB"}
@@ -0,0 +1,85 @@
1
+ export class VetoRuntimeAdapterError extends Error {
2
+ decision;
3
+ toolName;
4
+ reason;
5
+ approvalId;
6
+ constructor(decision) {
7
+ const reason = decision.reason ?? (decision.decision === 'require_approval'
8
+ ? 'Approval required'
9
+ : 'Policy violation');
10
+ super(`Tool call ${decision.decision}: ${decision.toolName} - ${reason}`);
11
+ this.name = 'VetoRuntimeAdapterError';
12
+ this.decision = decision.decision;
13
+ this.toolName = decision.toolName;
14
+ this.reason = decision.reason;
15
+ this.approvalId = decision.approvalId;
16
+ }
17
+ }
18
+ export function asRecord(value) {
19
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
20
+ return value;
21
+ }
22
+ return {};
23
+ }
24
+ export function parseJsonObject(value) {
25
+ if (typeof value !== 'string') {
26
+ return asRecord(value);
27
+ }
28
+ if (value.length === 0) {
29
+ return {};
30
+ }
31
+ try {
32
+ const parsed = JSON.parse(value);
33
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
34
+ return parsed;
35
+ }
36
+ return { value: parsed };
37
+ }
38
+ catch {
39
+ return {};
40
+ }
41
+ }
42
+ export async function guardRuntimeToolCall(veto, call, options) {
43
+ const context = typeof options?.context === 'function'
44
+ ? options.context(call)
45
+ : options?.context;
46
+ const result = await veto.guard(call.name, call.arguments, context ?? {});
47
+ const allowed = result.shadow === true || result.decision === 'allow';
48
+ const reason = result.reason
49
+ ?? (result.decision === 'require_approval' ? 'Approval required' : undefined)
50
+ ?? (result.decision === 'deny' ? 'Policy violation' : undefined);
51
+ const decision = {
52
+ decision: result.decision,
53
+ allowed,
54
+ toolName: call.name,
55
+ arguments: call.arguments,
56
+ reason,
57
+ approvalId: result.approvalId,
58
+ result,
59
+ };
60
+ if (allowed) {
61
+ if (options?.onAllow)
62
+ await options.onAllow(call.name, call.arguments);
63
+ return decision;
64
+ }
65
+ if (result.decision === 'require_approval') {
66
+ if (options?.onApprovalRequired) {
67
+ await options.onApprovalRequired(call.name, call.arguments, result.approvalId);
68
+ }
69
+ return decision;
70
+ }
71
+ if (options?.onDeny)
72
+ await options.onDeny(call.name, call.arguments, reason ?? 'Policy violation');
73
+ return decision;
74
+ }
75
+ export async function executeGuardedRuntimeToolCall(veto, call, execute, options) {
76
+ const decision = await guardRuntimeToolCall(veto, call, options);
77
+ if (decision.allowed) {
78
+ return await execute(call.arguments);
79
+ }
80
+ if (options?.onBlocked) {
81
+ return await options.onBlocked(decision);
82
+ }
83
+ throw new VetoRuntimeAdapterError(decision);
84
+ }
85
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/integrations/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Veto } from '../../core/veto.js';
2
+ import { type RuntimeGuardDecision, type RuntimeGuardOptions } from '../shared.js';
3
+ export interface VercelAIToolCallPart {
4
+ type?: string;
5
+ toolCallId?: string;
6
+ toolName: string;
7
+ args?: unknown;
8
+ input?: unknown;
9
+ [key: string]: unknown;
10
+ }
11
+ export declare function guardVercelAIToolCall(veto: Veto, part: VercelAIToolCallPart, options?: RuntimeGuardOptions): Promise<RuntimeGuardDecision>;
12
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACzB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,oBAAoB,EAC1B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
@@ -0,0 +1,9 @@
1
+ import { guardRuntimeToolCall, parseJsonObject, } from '../shared.js';
2
+ export async function guardVercelAIToolCall(veto, part, options) {
3
+ return await guardRuntimeToolCall(veto, {
4
+ id: part.toolCallId,
5
+ name: part.toolName,
6
+ arguments: parseJsonObject(part.args ?? part.input),
7
+ }, options);
8
+ }
9
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/guard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,eAAe,GAGhB,MAAM,cAAc,CAAC;AAWtB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAU,EACV,IAA0B,EAC1B,OAA6B;IAE7B,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE;QACtC,EAAE,EAAE,IAAI,CAAC,UAAU;QACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,SAAS,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC;KACpD,EAAE,OAAO,CAAC,CAAC;AACd,CAAC"}
@@ -1,3 +1,5 @@
1
1
  export { createVetoMiddleware } from './middleware.js';
2
2
  export type { VetoVercelMiddleware, CreateVetoMiddlewareOptions } from './middleware.js';
3
+ export { guardVercelAIToolCall } from './guard.js';
4
+ export type { VercelAIToolCallPart } from './guard.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export { createVetoMiddleware } from './middleware.js';
2
+ export { guardVercelAIToolCall } from './guard.js';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/integrations/vercel-ai/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}