{"version":3,"sources":["../src/integration/integration.ts","../src/integration/openapi-toolset.ts"],"names":["__publicField","__name","createTool","z","client"],"mappings":"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","file":"chunk-IYB4E5SF.cjs","sourcesContent":["import type { ToolAction } from '../tools';\nimport type { Workflow } from '../workflows';\n\nexport class Integration<ToolsParams = void, ApiClient = void> {\n  name: string = 'Integration';\n  private workflows: Record<string, Workflow>;\n\n  constructor() {\n    this.workflows = {};\n  }\n\n  /**\n   * Workflows\n   */\n\n  registerWorkflow(name: string, fn: Workflow) {\n    if (this.workflows[name]) {\n      throw new Error(`Sync function \"${name}\" already registered`);\n    }\n    this.workflows[name] = fn;\n  }\n\n  public getWorkflows({ serialized }: { serialized?: boolean }): Record<string, Workflow> {\n    if (serialized) {\n      return Object.entries(this.workflows).reduce((acc, [k, v]) => {\n        return {\n          ...acc,\n          [k]: {\n            name: v.name,\n          },\n        };\n      }, {});\n    }\n    return this.workflows;\n  }\n\n  /**\n   * TOOLS\n   */\n  getStaticTools(_params?: ToolsParams): Record<string, ToolAction<any, any, any>> {\n    throw new Error('Method not implemented.');\n  }\n\n  async getTools(_params?: ToolsParams): Promise<Record<string, ToolAction<any, any, any>>> {\n    throw new Error('Method not implemented.');\n  }\n\n  async getApiClient(): Promise<ApiClient> {\n    throw new Error('Method not implemented');\n  }\n}\n","import { z } from 'zod';\n\nimport { createTool } from '../tools';\nimport type { ToolAction } from '../tools';\n\nexport abstract class OpenAPIToolset {\n  abstract readonly name: string;\n  abstract readonly tools: Record<string, ToolAction<any, any, any>>;\n\n  authType: string = 'API_KEY';\n\n  constructor() {}\n\n  protected get toolSchemas(): any {\n    return {};\n  }\n\n  protected get toolDocumentations(): Record<string, { comment: string; doc?: string }> {\n    return {};\n  }\n\n  protected get baseClient(): any {\n    return {};\n  }\n\n  async getApiClient(): Promise<any> {\n    throw new Error('API not implemented');\n  }\n\n  protected _generateIntegrationTools<T>() {\n    const { client, ...clientMethods } = this.baseClient;\n    const schemas = this.toolSchemas;\n    const documentations = this.toolDocumentations;\n\n    const tools = Object.keys(clientMethods).reduce((acc, key) => {\n      const comment = documentations[key]?.comment;\n      // const doc = documentations[key]?.doc;\n      const fallbackComment = `Execute ${key}`;\n\n      const tool = createTool({\n        id: key,\n        inputSchema: schemas[key] || z.object({}),\n        description: comment || fallbackComment,\n        // documentation: doc || fallbackComment,\n        execute: async ({ context }) => {\n          const client = await this.getApiClient();\n          const value = client[key as keyof typeof client];\n          return (value as any)({\n            ...(context as any),\n          });\n        },\n      });\n\n      return { ...acc, [key]: tool };\n    }, {});\n\n    return tools as T;\n  }\n}\n"]}