integrate-sdk 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/adapters/index.js +33 -10
  2. package/dist/adapters/solid-start.js +33 -10
  3. package/dist/adapters/svelte-kit.js +33 -10
  4. package/dist/index.js +33 -10
  5. package/dist/server.js +33 -10
  6. package/dist/src/client.d.ts +27 -5
  7. package/dist/src/client.d.ts.map +1 -1
  8. package/dist/src/config/types.d.ts +32 -1
  9. package/dist/src/config/types.d.ts.map +1 -1
  10. package/dist/src/oauth/manager.d.ts +18 -7
  11. package/dist/src/oauth/manager.d.ts.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/ai/cloudflare.d.ts +0 -158
  14. package/dist/ai/cloudflare.d.ts.map +0 -1
  15. package/dist/ai/cloudflare.js +0 -4249
  16. package/dist/ai/langchain.d.ts +0 -139
  17. package/dist/ai/langchain.d.ts.map +0 -1
  18. package/dist/ai/langchain.js +0 -4237
  19. package/dist/ai/llamaindex.d.ts +0 -125
  20. package/dist/ai/llamaindex.d.ts.map +0 -1
  21. package/dist/ai/llamaindex.js +0 -4236
  22. package/dist/ai/mastra.d.ts +0 -138
  23. package/dist/ai/mastra.d.ts.map +0 -1
  24. package/dist/ai/mastra.js +0 -4240
  25. package/dist/src/ai/cloudflare.d.ts +0 -158
  26. package/dist/src/ai/cloudflare.d.ts.map +0 -1
  27. package/dist/src/ai/langchain.d.ts +0 -139
  28. package/dist/src/ai/langchain.d.ts.map +0 -1
  29. package/dist/src/ai/llamaindex.d.ts +0 -125
  30. package/dist/src/ai/llamaindex.d.ts.map +0 -1
  31. package/dist/src/ai/mastra.d.ts +0 -138
  32. package/dist/src/ai/mastra.d.ts.map +0 -1
  33. package/dist/src/integrations/vercel-ai.d.ts +0 -127
  34. package/dist/src/integrations/vercel-ai.d.ts.map +0 -1
  35. package/dist/src/plugins/generic.d.ts +0 -99
  36. package/dist/src/plugins/generic.d.ts.map +0 -1
  37. package/dist/src/plugins/github-client.d.ts +0 -320
  38. package/dist/src/plugins/github-client.d.ts.map +0 -1
  39. package/dist/src/plugins/github.d.ts +0 -89
  40. package/dist/src/plugins/github.d.ts.map +0 -1
  41. package/dist/src/plugins/gmail-client.d.ts +0 -106
  42. package/dist/src/plugins/gmail-client.d.ts.map +0 -1
  43. package/dist/src/plugins/gmail.d.ts +0 -87
  44. package/dist/src/plugins/gmail.d.ts.map +0 -1
  45. package/dist/src/plugins/server-client.d.ts +0 -18
  46. package/dist/src/plugins/server-client.d.ts.map +0 -1
  47. package/dist/src/plugins/types.d.ts +0 -70
  48. package/dist/src/plugins/types.d.ts.map +0 -1
@@ -179,7 +179,38 @@ export interface MCPServerConfig<TIntegrations extends readonly MCPIntegration[]
179
179
  * });
180
180
  * ```
181
181
  */
182
- setProviderToken?: (provider: string, tokenData: ProviderTokenData, context?: MCPContext) => Promise<void> | void;
182
+ setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, context?: MCPContext) => Promise<void> | void;
183
+ /**
184
+ * Custom token deletion callback (SERVER-SIDE ONLY)
185
+ * Allows deleting OAuth provider tokens from your database
186
+ *
187
+ * When provided, this callback is used for deleting tokens when disconnecting providers.
188
+ * If not provided, the SDK will fall back to calling `setProviderToken(provider, null, context)`
189
+ * for backward compatibility.
190
+ *
191
+ * @param provider - Provider name (e.g., 'github', 'gmail')
192
+ * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * import { createMCPServer } from 'integrate-sdk/server';
197
+ *
198
+ * createMCPServer({
199
+ * integrations: [...],
200
+ * removeProviderToken: async (provider, context) => {
201
+ * const userId = context?.userId;
202
+ * if (!userId) return;
203
+ *
204
+ * await db.tokens.delete({
205
+ * where: {
206
+ * provider_userId: { provider, userId }
207
+ * }
208
+ * });
209
+ * }
210
+ * });
211
+ * ```
212
+ */
213
+ removeProviderToken?: (provider: string, context?: MCPContext) => Promise<void> | void;
183
214
  }
184
215
  /**
185
216
  * Main client configuration
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEnF;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,CAAE,SAAQ,eAAe,CAAC,aAAa,CAAC;IACtH;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAEtI;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,GAAG,UAAU,GAAG,SAAS,CAAC;IAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE;IAC9E,sCAAsC;IACtC,YAAY,EAAE,aAAa,CAAC;IAE5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE7C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE;QACV,+DAA+D;QAC/D,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QAC5B,oDAAoD;QACpD,YAAY,CAAC,EAAE;YACb,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,sDAAsD;QACtD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACnF,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,0BAA0B,CAAC,EAAE;QAC3B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,IAC3E,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,IAAI;KAC7E,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CACnD,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -18,10 +18,12 @@ export declare class OAuthManager {
18
18
  private apiBaseUrl?;
19
19
  private getTokenCallback?;
20
20
  private setTokenCallback?;
21
+ private removeTokenCallback?;
21
22
  private skipLocalStorage;
22
23
  constructor(oauthApiBase: string, flowConfig?: Partial<OAuthFlowConfig>, apiBaseUrl?: string, tokenCallbacks?: {
23
24
  getProviderToken?: (provider: string, context?: MCPContext) => Promise<ProviderTokenData | undefined> | ProviderTokenData | undefined;
24
- setProviderToken?: (provider: string, tokenData: ProviderTokenData, context?: MCPContext) => Promise<void> | void;
25
+ setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, context?: MCPContext) => Promise<void> | void;
26
+ removeProviderToken?: (provider: string, context?: MCPContext) => Promise<void> | void;
25
27
  skipLocalStorage?: boolean;
26
28
  });
27
29
  /**
@@ -86,22 +88,31 @@ export declare class OAuthManager {
86
88
  checkAuthStatus(provider: string): Promise<AuthStatus>;
87
89
  /**
88
90
  * Disconnect a specific provider
89
- * Clears the local token for the provider (stateless operation)
91
+ * Clears the local token for the provider and removes it from the database if using callbacks
90
92
  *
91
- * Note: This only clears the local/in-memory token. It does not revoke the token
93
+ * This method is idempotent - it can be called safely even if the provider
94
+ * is already disconnected or has no token. If no token exists, it will
95
+ * simply ensure all state is cleared and return successfully.
96
+ *
97
+ * When using database callbacks (server-side), this will also delete the token
98
+ * from the database. It first tries to use `removeProviderToken` callback if provided,
99
+ * otherwise falls back to calling `setProviderToken` with null for backward compatibility.
100
+ *
101
+ * Note: This only clears the local/in-memory token and database token. It does not revoke the token
92
102
  * on the provider's side. For full revocation, handle that separately
93
103
  * in your application if needed.
94
104
  *
95
105
  * @param provider - OAuth provider to disconnect
106
+ * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
96
107
  * @returns Promise that resolves when disconnection is complete
97
108
  *
98
109
  * @example
99
110
  * ```typescript
100
111
  * await oauthManager.disconnectProvider('github');
101
- * // GitHub token is now cleared from cache
112
+ * // GitHub token is now cleared from cache and database
102
113
  * ```
103
114
  */
104
- disconnectProvider(provider: string): Promise<void>;
115
+ disconnectProvider(provider: string, context?: MCPContext): Promise<void>;
105
116
  /**
106
117
  * Get provider token data
107
118
  * Uses callback if provided, otherwise checks in-memory cache
@@ -127,7 +138,7 @@ export declare class OAuthManager {
127
138
  * @param tokenData - Token data to store
128
139
  * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
129
140
  */
130
- setProviderToken(provider: string, tokenData: ProviderTokenData, context?: MCPContext): Promise<void>;
141
+ setProviderToken(provider: string, tokenData: ProviderTokenData | null, context?: MCPContext): Promise<void>;
131
142
  /**
132
143
  * Clear specific provider token
133
144
  * Note: When using database callbacks, this only clears the in-memory cache.
@@ -148,7 +159,7 @@ export declare class OAuthManager {
148
159
  /**
149
160
  * Save provider token to database (via callback) or localStorage
150
161
  * @param provider - Provider name (e.g., 'github', 'gmail')
151
- * @param tokenData - Token data to store
162
+ * @param tokenData - Token data to store, or null to delete
152
163
  * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
153
164
  */
154
165
  private saveProviderToken;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EACV,eAAe,EAEf,UAAU,EAGV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAqH;IAC9I,OAAO,CAAC,gBAAgB,CAAC,CAAwG;IACjI,OAAO,CAAC,mBAAmB,CAAC,CAAmE;IAC/F,OAAO,CAAC,gBAAgB,CAAU;gBAGhC,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,EACrC,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE;QACf,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,GAAG,iBAAiB,GAAG,SAAS,CAAC;QACtI,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACzH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACvF,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC5B;IAqBH;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C5F;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAkEpG;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB5D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/E;;;;;OAKG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAoBtG;;OAEG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAItD;;;;;OAKG;IACH,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAI1E;;;;;;OAMG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlH;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAa1C;;;;OAIG;IACH,sBAAsB,IAAI,IAAI;IAgB9B;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAwB5B;;;;;OAKG;YACW,iBAAiB;IAoC/B;;;OAGG;YACW,iBAAiB;IA0B/B;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/D;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACH,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAcpD;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAgBhC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAgBpC;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IAyClC;;;OAGG;YACW,mBAAmB;IAoCjC;;;OAGG;YACW,oBAAoB;IAkClC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "integrate-sdk",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Type-safe 3rd party integration SDK for the Integrate MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,158 +0,0 @@
1
- /**
2
- * Cloudflare Workers AI Integration
3
- *
4
- * Helper functions to convert MCP tools to Cloudflare Workers AI format
5
- */
6
- import type { MCPClient } from "../client.js";
7
- import type { MCPTool } from "../protocol/messages.js";
8
- import { type AIToolsOptions } from "./utils.js";
9
- /**
10
- * Cloudflare AI tool definition
11
- * Compatible with Cloudflare Workers AI
12
- */
13
- export interface CloudflareTool {
14
- type: 'function';
15
- function: {
16
- name: string;
17
- description: string;
18
- parameters: {
19
- type: 'object';
20
- properties: Record<string, {
21
- type: string;
22
- description?: string;
23
- }>;
24
- required: string[];
25
- };
26
- };
27
- }
28
- /**
29
- * Options for converting MCP tools to Cloudflare format
30
- */
31
- export interface CloudflareToolsOptions extends AIToolsOptions {
32
- }
33
- /**
34
- * Convert a single MCP tool to Cloudflare Workers AI format
35
- *
36
- * @param mcpTool - The MCP tool definition
37
- * @param client - The MCP client instance (used for executing the tool)
38
- * @param options - Optional configuration including provider tokens
39
- * @returns Cloudflare compatible tool definition
40
- *
41
- * @example
42
- * ```typescript
43
- * const cloudflareTool = convertMCPToolToCloudflare(mcpTool, client);
44
- * ```
45
- */
46
- export declare function convertMCPToolToCloudflare(mcpTool: MCPTool, _client: MCPClient<any>, _options?: CloudflareToolsOptions): CloudflareTool;
47
- /**
48
- * Convert all enabled MCP tools to Cloudflare Workers AI format
49
- * Returns a dictionary keyed by tool name
50
- *
51
- * @param client - The MCP client instance (must be connected)
52
- * @param options - Optional configuration including provider tokens
53
- * @returns Dictionary of Cloudflare compatible tool definitions
54
- *
55
- * @example
56
- * ```typescript
57
- * // Client-side usage
58
- * const tools = convertMCPToolsToCloudflare(mcpClient);
59
- *
60
- * // Server-side with provider tokens
61
- * const tools = convertMCPToolsToCloudflare(serverClient, {
62
- * providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
63
- * });
64
- * ```
65
- */
66
- export declare function convertMCPToolsToCloudflare(client: MCPClient<any>, options?: CloudflareToolsOptions): Record<string, CloudflareTool>;
67
- /**
68
- * Execute a tool call from Cloudflare Workers AI
69
- *
70
- * @param client - The MCP client instance
71
- * @param toolCall - The tool call with name and arguments
72
- * @param options - Optional configuration including provider tokens
73
- * @returns Tool execution result as JSON string
74
- *
75
- * @example
76
- * ```typescript
77
- * const result = await executeCloudflareToolCall(client, {
78
- * name: 'github_create_issue',
79
- * arguments: { owner: 'user', repo: 'repo', title: 'Bug' }
80
- * }, { providerTokens });
81
- * ```
82
- */
83
- export declare function executeCloudflareToolCall(client: MCPClient<any>, toolCall: {
84
- name: string;
85
- arguments: Record<string, unknown> | string;
86
- }, options?: CloudflareToolsOptions): Promise<string>;
87
- /**
88
- * Get tools in a format compatible with Cloudflare Workers AI
89
- *
90
- * Automatically connects the client if not already connected.
91
- *
92
- * @param client - The MCP client instance
93
- * @param options - Optional configuration including provider tokens for server-side usage
94
- * @returns Dictionary of tools ready to use with Cloudflare Workers AI
95
- *
96
- * @example
97
- * ```typescript
98
- * // Cloudflare Worker usage
99
- * import { createMCPClient, githubIntegration } from 'integrate-sdk';
100
- * import { getCloudflareTools, executeCloudflareToolCall } from 'integrate-sdk/ai/cloudflare';
101
- *
102
- * export default {
103
- * async fetch(request: Request, env: Env): Promise<Response> {
104
- * const client = createMCPClient({
105
- * integrations: [githubIntegration({ clientId: env.GITHUB_CLIENT_ID })],
106
- * });
107
- *
108
- * const tools = await getCloudflareTools(client);
109
- * const ai = new Ai(env.AI);
110
- *
111
- * const response = await ai.run('@cf/meta/llama-3-8b-instruct', {
112
- * messages: [{ role: 'user', content: 'Create a GitHub issue' }],
113
- * tools: Object.values(tools)
114
- * });
115
- *
116
- * return Response.json(response);
117
- * }
118
- * };
119
- * ```
120
- *
121
- * @example
122
- * ```typescript
123
- * // Server-side usage with tokens from client
124
- * import { createMCPServer, githubIntegration } from 'integrate-sdk/server';
125
- * import { getCloudflareTools, executeCloudflareToolCall } from 'integrate-sdk/ai/cloudflare';
126
- *
127
- * const { client: serverClient } = createMCPServer({
128
- * integrations: [githubIntegration({
129
- * clientId: '...',
130
- * clientSecret: '...'
131
- * })],
132
- * });
133
- *
134
- * // In your API route
135
- * export async function POST(req: Request) {
136
- * const providerTokens = JSON.parse(req.headers.get('x-integrate-tokens') || '{}');
137
- * const tools = await getCloudflareTools(serverClient, { providerTokens });
138
- *
139
- * // Use with Cloudflare AI
140
- * const ai = new Ai(env.AI);
141
- * const response = await ai.run('@cf/meta/llama-3-8b-instruct', {
142
- * messages: [{ role: 'user', content: 'Create a GitHub issue' }],
143
- * tools: Object.values(tools)
144
- * });
145
- *
146
- * // Handle tool calls
147
- * if (response.tool_calls) {
148
- * for (const toolCall of response.tool_calls) {
149
- * await executeCloudflareToolCall(serverClient, toolCall, { providerTokens });
150
- * }
151
- * }
152
- *
153
- * return Response.json(response);
154
- * }
155
- * ```
156
- */
157
- export declare function getCloudflareTools(client: MCPClient<any>, options?: CloudflareToolsOptions): Promise<Record<string, CloudflareTool>>;
158
- //# sourceMappingURL=cloudflare.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../../src/ai/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE;gBACzB,IAAI,EAAE,MAAM,CAAC;gBACb,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC,CAAC;YACH,QAAQ,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;CAAI;AAElE;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EACvB,QAAQ,CAAC,EAAE,sBAAsB,GAChC,cAAc,CAahB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAShC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IACR,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;CAC7C,EACD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAezC"}