import { type AIFunctionLike, AIFunctionSet, asAgenticSchema, isZodSchema } from '@agentic/core' import { jsonSchema, tool } from 'ai' /** * Converts a set of Agentic stdlib AI functions to an object compatible with * the Vercel AI SDK's `tools` parameter. */ export function createAISDKTools(...aiFunctionLikeTools: AIFunctionLike[]) { const fns = new AIFunctionSet(aiFunctionLikeTools) return Object.fromEntries( fns.map((fn) => [ fn.spec.name, tool({ description: fn.spec.description, parameters: isZodSchema(fn.inputSchema) ? fn.inputSchema : jsonSchema(asAgenticSchema(fn.inputSchema).jsonSchema), execute: fn.execute }) ]) ) }