UNPKG

@gensx/vercel-ai

Version:
31 lines (26 loc) 1.02 kB
'use strict'; /** * Check out the docs at https://www.gensx.com/docs * Find us on Github https://github.com/gensx-inc/gensx * Find us on Discord https://discord.gg/F5BSU8Kc */ var core = require('@gensx/core'); var ai = require('ai'); var zod = require('./zod.cjs'); // Utility function to convert ToolBox to Vercel AI SDK ToolSet format function asToolSet(toolBox) { return Object.entries(toolBox).reduce((acc, [name, toolDef]) => { acc[name] = { description: toolDef.description, // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any inputSchema: ai.jsonSchema(zod.toJsonSchema(toolDef.params)), execute: async (args) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-return return await core.executeExternalTool(toolBox, name, args); }, }; return acc; }, {}); } exports.asToolSet = asToolSet; //# sourceMappingURL=tools.cjs.map