{"version":3,"file":"index.cjs","names":["createTool","z"],"sources":["../../src/integration/integration.ts","../../src/integration/openapi-toolset.ts"],"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 listWorkflows({ 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  listStaticTools(_params?: ToolsParams): Record<string, ToolAction<any, any, any>> {\n    throw new Error('Method not implemented.');\n  }\n\n  async listTools(_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/v4';\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: _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 input => {\n          const client = await this.getApiClient();\n          const value = client[key as keyof typeof client];\n          return (value as any)({\n            ...(input as any),\n          });\n        },\n      });\n\n      return { ...acc, [key]: tool };\n    }, {});\n\n    return tools as T;\n  }\n}\n"],"mappings":";;;;AAGA,IAAa,cAAb,MAA+D;CAC7D,OAAe;CACf;CAEA,cAAc;EACZ,KAAK,YAAY,CAAC;CACpB;;;;CAMA,iBAAiB,MAAc,IAAc;EAC3C,IAAI,KAAK,UAAU,OACjB,MAAM,IAAI,MAAM,kBAAkB,KAAK,qBAAqB;EAE9D,KAAK,UAAU,QAAQ;CACzB;CAEA,cAAqB,EAAE,cAAkE;EACvF,IAAI,YACF,OAAO,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,QAAQ,KAAK,CAAC,GAAG,OAAO;GAC5D,OAAO;IACL,GAAG;KACF,IAAI,EACH,MAAM,EAAE,KACV;GACF;EACF,GAAG,CAAC,CAAC;EAEP,OAAO,KAAK;CACd;;;;CAKA,gBAAgB,SAAkE;EAChF,MAAM,IAAI,MAAM,yBAAyB;CAC3C;CAEA,MAAM,UAAU,SAA2E;EACzF,MAAM,IAAI,MAAM,yBAAyB;CAC3C;CAEA,MAAM,eAAmC;EACvC,MAAM,IAAI,MAAM,wBAAwB;CAC1C;AACF;;;AC7CA,IAAsB,iBAAtB,MAAqC;CAInC,WAAmB;CAEnB,cAAc,CAAC;CAEf,IAAc,cAAmB;EAC/B,OAAO,CAAC;CACV;CAEA,IAAc,qBAAwE;EACpF,OAAO,CAAC;CACV;CAEA,IAAc,aAAkB;EAC9B,OAAO,CAAC;CACV;CAEA,MAAM,eAA6B;EACjC,MAAM,IAAI,MAAM,qBAAqB;CACvC;CAEA,4BAAyC;EACvC,MAAM,EAAE,QAAQ,SAAS,GAAG,kBAAkB,KAAK;EACnD,MAAM,UAAU,KAAK;EACrB,MAAM,iBAAiB,KAAK;EAwB5B,OAtBc,OAAO,KAAK,aAAa,CAAC,CAAC,QAAQ,KAAK,QAAQ;GAC5D,MAAM,UAAU,eAAe,IAAI,EAAE;GAErC,MAAM,kBAAkB,WAAW;GAEnC,MAAM,OAAOA,aAAAA,WAAW;IACtB,IAAI;IACJ,aAAa,QAAQ,QAAQC,OAAAA,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,WAAW;IAExB,SAAS,OAAM,UAAS;KAEtB,MAAM,SAAQ,MADO,KAAK,aAAa,EAAA,CAClB;KACrB,OAAQ,MAAc,EACpB,GAAI,MACN,CAAC;IACH;GACF,CAAC;GAED,OAAO;IAAE,GAAG;KAAM,MAAM;GAAK;EAC/B,GAAG,CAAC,CAEO;CACb;AACF"}