UNPKG

@mastra/core

Version:
82 lines (81 loc) 1.92 kB
import { r as createTool } from "../tool-qGw4ZhYO.js"; import { z } from "zod/v4"; //#region src/integration/integration.ts var Integration = class { name = "Integration"; workflows; constructor() { this.workflows = {}; } /** * Workflows */ registerWorkflow(name, fn) { if (this.workflows[name]) throw new Error(`Sync function "${name}" already registered`); this.workflows[name] = fn; } listWorkflows({ serialized }) { if (serialized) return Object.entries(this.workflows).reduce((acc, [k, v]) => { return { ...acc, [k]: { name: v.name } }; }, {}); return this.workflows; } /** * TOOLS */ listStaticTools(_params) { throw new Error("Method not implemented."); } async listTools(_params) { throw new Error("Method not implemented."); } async getApiClient() { throw new Error("Method not implemented"); } }; //#endregion //#region src/integration/openapi-toolset.ts var OpenAPIToolset = class { authType = "API_KEY"; constructor() {} get toolSchemas() { return {}; } get toolDocumentations() { return {}; } get baseClient() { return {}; } async getApiClient() { throw new Error("API not implemented"); } _generateIntegrationTools() { const { client: _client, ...clientMethods } = this.baseClient; const schemas = this.toolSchemas; const documentations = this.toolDocumentations; return Object.keys(clientMethods).reduce((acc, key) => { const comment = documentations[key]?.comment; const fallbackComment = `Execute ${key}`; const tool = createTool({ id: key, inputSchema: schemas[key] || z.object({}), description: comment || fallbackComment, execute: async (input) => { const value = (await this.getApiClient())[key]; return value({ ...input }); } }); return { ...acc, [key]: tool }; }, {}); } }; //#endregion export { Integration, OpenAPIToolset }; //# sourceMappingURL=index.js.map