{"version":3,"file":"vercel-ai.cjs","names":["schema: JsonSchema","agentTools: readonly AgentTool[]","options?: AdapterOptions","args: Record<string, unknown>"],"sources":["../../src/adapters/vercel-ai.ts"],"sourcesContent":["import type { AgentTool, JsonSchema } from '../agent-tools.js';\nimport { type AdapterOptions, safeExecute } from './catch-errors.js';\n\nexport type { AgentTool, JsonSchema };\n\n// Minimal Standard Schema v1 + JSON Schema v1 interfaces (https://standardschema.dev).\n// Vercel AI SDK's FlexibleSchema requires both StandardSchemaV1 (validate) and\n// StandardJSONSchemaV1 (jsonSchema converter) — no external deps needed.\nexport interface VercelAISchema {\n  readonly '~standard': {\n    readonly version: 1;\n    readonly vendor: string;\n    readonly validate: (value: unknown) => { readonly value: unknown; readonly issues?: undefined };\n    readonly jsonSchema: {\n      readonly input: (options: { readonly target: string }) => Record<string, unknown>;\n      readonly output: (options: { readonly target: string }) => Record<string, unknown>;\n    };\n  };\n}\n\nexport interface VercelAIToolDefinition {\n  readonly description: string;\n  readonly inputSchema: VercelAISchema;\n  readonly execute: (args: Record<string, unknown>) => Promise<string>;\n}\n\nexport type VercelAIToolMap = Record<string, VercelAIToolDefinition>;\n\nfunction wrapSchema(schema: JsonSchema): VercelAISchema {\n  return {\n    '~standard': {\n      version: 1,\n      vendor: 'ucp-client',\n      validate: (value) => ({ value }),\n      jsonSchema: {\n        input: () => schema as unknown as Record<string, unknown>,\n        output: () => schema as unknown as Record<string, unknown>,\n      },\n    },\n  };\n}\n\nexport function toVercelAITools(\n  agentTools: readonly AgentTool[],\n  options?: AdapterOptions,\n): VercelAIToolMap {\n  return Object.fromEntries(\n    agentTools.map((tool) => [\n      tool.name,\n      {\n        description: tool.description,\n        inputSchema: wrapSchema(tool.parameters),\n        execute: async (args: Record<string, unknown>): Promise<string> => {\n          const result = await safeExecute(() => tool.execute(args), options?.catchErrors ?? false);\n          return JSON.stringify(result);\n        },\n      },\n    ]),\n  );\n}\n"],"mappings":";;;;;AA4BA,SAAS,WAAWA,QAAoC;AACtD,QAAO,EACL,aAAa;EACX,SAAS;EACT,QAAQ;EACR,UAAU,CAAC,WAAW,EAAE,MAAO;EAC/B,YAAY;GACV,OAAO,MAAM;GACb,QAAQ,MAAM;EACf;CACF,EACF;AACF;AAED,SAAgB,gBACdC,YACAC,SACiB;AACjB,QAAO,OAAO,YACZ,WAAW,IAAI,CAAC,SAAS,CACvB,KAAK,MACL;EACE,aAAa,KAAK;EAClB,aAAa,WAAW,KAAK,WAAW;EACxC,SAAS,OAAOC,SAAmD;GACjE,MAAM,SAAS,MAAM,iCAAY,MAAM,KAAK,QAAQ,KAAK,EAAE,SAAS,eAAe,MAAM;AACzF,UAAO,KAAK,UAAU,OAAO;EAC9B;CACF,CACF,EAAC,CACH;AACF"}