integrate-sdk 0.7.23 → 0.7.25

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 (63) hide show
  1. package/dist/adapters/auto-routes.d.ts +51 -0
  2. package/dist/adapters/auto-routes.d.ts.map +1 -0
  3. package/dist/adapters/auto-routes.js +2 -2
  4. package/dist/adapters/base-handler.d.ts +182 -0
  5. package/dist/adapters/base-handler.d.ts.map +1 -0
  6. package/dist/adapters/base-handler.js +1 -1
  7. package/dist/adapters/index.d.ts +13 -0
  8. package/dist/adapters/index.d.ts.map +1 -0
  9. package/dist/adapters/index.js +2173 -0
  10. package/dist/adapters/nextjs-oauth-redirect.d.ts +41 -0
  11. package/dist/adapters/nextjs-oauth-redirect.d.ts.map +1 -0
  12. package/dist/adapters/nextjs-oauth-redirect.js +2 -2
  13. package/dist/adapters/nextjs.d.ts +358 -0
  14. package/dist/adapters/nextjs.d.ts.map +1 -0
  15. package/dist/adapters/nextjs.js +3 -3
  16. package/dist/adapters/node.d.ts +48 -0
  17. package/dist/adapters/node.d.ts.map +1 -0
  18. package/dist/adapters/node.js +2 -2
  19. package/dist/adapters/solid-start.d.ts +8 -0
  20. package/dist/adapters/solid-start.d.ts.map +1 -0
  21. package/dist/adapters/solid-start.js +12 -12
  22. package/dist/adapters/svelte-kit.d.ts +83 -0
  23. package/dist/adapters/svelte-kit.d.ts.map +1 -0
  24. package/dist/adapters/svelte-kit.js +13 -13
  25. package/dist/adapters/tanstack-start.d.ts +53 -0
  26. package/dist/adapters/tanstack-start.d.ts.map +1 -0
  27. package/dist/adapters/tanstack-start.js +1 -1
  28. package/dist/ai/anthropic.d.ts +182 -0
  29. package/dist/ai/anthropic.d.ts.map +1 -0
  30. package/dist/ai/anthropic.js +4265 -0
  31. package/dist/ai/cloudflare.d.ts +158 -0
  32. package/dist/ai/cloudflare.d.ts.map +1 -0
  33. package/dist/ai/cloudflare.js +4249 -0
  34. package/dist/ai/google.d.ts +159 -0
  35. package/dist/ai/google.d.ts.map +1 -0
  36. package/dist/ai/google.js +4242 -0
  37. package/dist/ai/index.d.ts +79 -0
  38. package/dist/ai/index.d.ts.map +1 -0
  39. package/dist/ai/index.js +4580 -0
  40. package/dist/ai/langchain.d.ts +139 -0
  41. package/dist/ai/langchain.d.ts.map +1 -0
  42. package/dist/ai/langchain.js +4237 -0
  43. package/dist/ai/llamaindex.d.ts +125 -0
  44. package/dist/ai/llamaindex.d.ts.map +1 -0
  45. package/dist/ai/llamaindex.js +4236 -0
  46. package/dist/ai/mastra.d.ts +138 -0
  47. package/dist/ai/mastra.d.ts.map +1 -0
  48. package/dist/ai/mastra.js +4240 -0
  49. package/dist/ai/openai-agents.d.ts +99 -0
  50. package/dist/ai/openai-agents.d.ts.map +1 -0
  51. package/dist/ai/openai-agents.js +4235 -0
  52. package/dist/ai/openai.d.ts +130 -0
  53. package/dist/ai/openai.d.ts.map +1 -0
  54. package/dist/ai/openai.js +4245 -0
  55. package/dist/ai/utils.d.ts +75 -0
  56. package/dist/ai/utils.d.ts.map +1 -0
  57. package/dist/ai/utils.js +4212 -0
  58. package/dist/ai/vercel-ai.d.ts +141 -0
  59. package/dist/ai/vercel-ai.d.ts.map +1 -0
  60. package/dist/ai/vercel-ai.js +4238 -0
  61. package/dist/src/adapters/index.d.ts +13 -0
  62. package/dist/src/adapters/index.d.ts.map +1 -0
  63. package/package.json +8 -62
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Vercel AI SDK Integration
3
+ *
4
+ * Helper functions to convert MCP tools to Vercel AI SDK v5 format
5
+ */
6
+ import { z } from "zod";
7
+ import type { MCPClient } from "../client.js";
8
+ import type { MCPTool } from "../protocol/messages.js";
9
+ import { type AIToolsOptions } from "./utils.js";
10
+ /**
11
+ * Tool definition compatible with Vercel AI SDK v5
12
+ * This matches the CoreTool interface from 'ai' package v5
13
+ */
14
+ export interface VercelAITool {
15
+ description?: string;
16
+ inputSchema: z.ZodType<any>;
17
+ execute: (args: any, options?: any) => Promise<any>;
18
+ }
19
+ /**
20
+ * Options for converting MCP tools to Vercel AI SDK format
21
+ */
22
+ export interface VercelAIToolsOptions extends AIToolsOptions {
23
+ }
24
+ /**
25
+ * Convert a single MCP tool to Vercel AI SDK format
26
+ *
27
+ * @param mcpTool - The MCP tool definition
28
+ * @param client - The MCP client instance (used for executing the tool)
29
+ * @param options - Optional configuration including provider tokens
30
+ * @returns Vercel AI SDK compatible tool definition
31
+ */
32
+ export declare function convertMCPToolToVercelAI(mcpTool: MCPTool, client: MCPClient<any>, options?: VercelAIToolsOptions): VercelAITool;
33
+ /**
34
+ * Convert all enabled MCP tools to Vercel AI SDK v5 format
35
+ *
36
+ * @param client - The MCP client instance (must be connected)
37
+ * @param options - Optional configuration including provider tokens for server-side usage
38
+ * @returns Object mapping tool names to Vercel AI SDK v5 tool definitions (compatible with CoreTool from 'ai' package v5)
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Client-side usage
43
+ * import { createMCPClient, githubIntegration } from 'integrate-sdk';
44
+ * import { convertMCPToolsToVercelAI } from 'integrate-sdk/vercel-ai';
45
+ * import { generateText } from 'ai';
46
+ *
47
+ * const mcpClient = createMCPClient({
48
+ * integrations: [githubIntegration({ clientId: '...', clientSecret: '...' })],
49
+ * });
50
+ *
51
+ * await mcpClient.connect();
52
+ *
53
+ * const tools = convertMCPToolsToVercelAI(mcpClient);
54
+ *
55
+ * const result = await generateText({
56
+ * model: openai('gpt-5'),
57
+ * prompt: 'Create a GitHub issue in my repo',
58
+ * tools,
59
+ * });
60
+ * ```
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * // Server-side usage with token passing
65
+ * import { createMCPServer, githubIntegration } from 'integrate-sdk/server';
66
+ * import { convertMCPToolsToVercelAI } from 'integrate-sdk/vercel-ai';
67
+ *
68
+ * const { client: serverClient } = createMCPServer({
69
+ * integrations: [githubIntegration({ clientId: '...', clientSecret: '...' })],
70
+ * });
71
+ *
72
+ * // In your API route handler
73
+ * export async function POST(req: Request) {
74
+ * const providerTokens = JSON.parse(req.headers.get('x-integrate-tokens') || '{}');
75
+ *
76
+ * const tools = convertMCPToolsToVercelAI(serverClient, { providerTokens });
77
+ *
78
+ * const result = await generateText({
79
+ * model: openai('gpt-4'),
80
+ * prompt: 'Create a GitHub issue',
81
+ * tools,
82
+ * });
83
+ *
84
+ * return Response.json(result);
85
+ * }
86
+ * ```
87
+ */
88
+ export declare function convertMCPToolsToVercelAI(client: MCPClient<any>, options?: VercelAIToolsOptions): Record<string, any>;
89
+ /**
90
+ * Get tools in a format compatible with Vercel AI SDK v5's tools parameter
91
+ *
92
+ * This returns the tools in the exact format expected by ai.generateText() and ai.streamText()
93
+ * Automatically connects the client if not already connected.
94
+ *
95
+ * **Auto-extraction**: Provider tokens are automatically extracted from request headers
96
+ * or environment variables if not provided in options. This works in supported frameworks
97
+ * like Next.js and Nuxt.
98
+ *
99
+ * @param client - The MCP client instance
100
+ * @param options - Optional configuration including provider tokens for server-side usage
101
+ * @returns Tools object ready to pass to generateText({ tools: ... }) or streamText({ tools: ... })
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // Auto-extraction (recommended) - tokens extracted automatically
106
+ * import { serverClient } from '@/lib/integrate-server';
107
+ * import { getVercelAITools } from 'integrate-sdk';
108
+ * import { streamText } from 'ai';
109
+ *
110
+ * export async function POST(req: Request) {
111
+ * const { messages } = await req.json();
112
+ *
113
+ * const result = streamText({
114
+ * model: "openai/gpt-4",
115
+ * messages,
116
+ * tools: await getVercelAITools(serverClient), // Tokens auto-extracted
117
+ * });
118
+ *
119
+ * return result.toUIMessageStreamResponse();
120
+ * }
121
+ * ```
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Manual override when auto-extraction isn't available
126
+ * const tools = await getVercelAITools(serverClient, {
127
+ * providerTokens: {
128
+ * github: 'ghp_...',
129
+ * gmail: 'ya29...'
130
+ * }
131
+ * });
132
+ * ```
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * // Client-side usage (no tokens needed)
137
+ * const tools = await getVercelAITools(mcpClient);
138
+ * ```
139
+ */
140
+ export declare function getVercelAITools(client: MCPClient<any>, options?: VercelAIToolsOptions): Promise<Record<string, any>>;
141
+ //# sourceMappingURL=vercel-ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/ai/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,cAAc;CAAI;AAEhE;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,YAAY,CAQd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CASrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAkB/B"}