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.
- package/dist/adapters/auto-routes.d.ts +51 -0
- package/dist/adapters/auto-routes.d.ts.map +1 -0
- package/dist/adapters/auto-routes.js +2 -2
- package/dist/adapters/base-handler.d.ts +182 -0
- package/dist/adapters/base-handler.d.ts.map +1 -0
- package/dist/adapters/base-handler.js +1 -1
- package/dist/adapters/index.d.ts +13 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2173 -0
- package/dist/adapters/nextjs-oauth-redirect.d.ts +41 -0
- package/dist/adapters/nextjs-oauth-redirect.d.ts.map +1 -0
- package/dist/adapters/nextjs-oauth-redirect.js +2 -2
- package/dist/adapters/nextjs.d.ts +358 -0
- package/dist/adapters/nextjs.d.ts.map +1 -0
- package/dist/adapters/nextjs.js +3 -3
- package/dist/adapters/node.d.ts +48 -0
- package/dist/adapters/node.d.ts.map +1 -0
- package/dist/adapters/node.js +2 -2
- package/dist/adapters/solid-start.d.ts +8 -0
- package/dist/adapters/solid-start.d.ts.map +1 -0
- package/dist/adapters/solid-start.js +12 -12
- package/dist/adapters/svelte-kit.d.ts +83 -0
- package/dist/adapters/svelte-kit.d.ts.map +1 -0
- package/dist/adapters/svelte-kit.js +13 -13
- package/dist/adapters/tanstack-start.d.ts +53 -0
- package/dist/adapters/tanstack-start.d.ts.map +1 -0
- package/dist/adapters/tanstack-start.js +1 -1
- package/dist/ai/anthropic.d.ts +182 -0
- package/dist/ai/anthropic.d.ts.map +1 -0
- package/dist/ai/anthropic.js +4265 -0
- package/dist/ai/cloudflare.d.ts +158 -0
- package/dist/ai/cloudflare.d.ts.map +1 -0
- package/dist/ai/cloudflare.js +4249 -0
- package/dist/ai/google.d.ts +159 -0
- package/dist/ai/google.d.ts.map +1 -0
- package/dist/ai/google.js +4242 -0
- package/dist/ai/index.d.ts +79 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +4580 -0
- package/dist/ai/langchain.d.ts +139 -0
- package/dist/ai/langchain.d.ts.map +1 -0
- package/dist/ai/langchain.js +4237 -0
- package/dist/ai/llamaindex.d.ts +125 -0
- package/dist/ai/llamaindex.d.ts.map +1 -0
- package/dist/ai/llamaindex.js +4236 -0
- package/dist/ai/mastra.d.ts +138 -0
- package/dist/ai/mastra.d.ts.map +1 -0
- package/dist/ai/mastra.js +4240 -0
- package/dist/ai/openai-agents.d.ts +99 -0
- package/dist/ai/openai-agents.d.ts.map +1 -0
- package/dist/ai/openai-agents.js +4235 -0
- package/dist/ai/openai.d.ts +130 -0
- package/dist/ai/openai.d.ts.map +1 -0
- package/dist/ai/openai.js +4245 -0
- package/dist/ai/utils.d.ts +75 -0
- package/dist/ai/utils.d.ts.map +1 -0
- package/dist/ai/utils.js +4212 -0
- package/dist/ai/vercel-ai.d.ts +141 -0
- package/dist/ai/vercel-ai.d.ts.map +1 -0
- package/dist/ai/vercel-ai.js +4238 -0
- package/dist/src/adapters/index.d.ts +13 -0
- package/dist/src/adapters/index.d.ts.map +1 -0
- 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"}
|