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,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Responses API Integration
|
|
3
|
+
*
|
|
4
|
+
* Helper functions to convert MCP tools to OpenAI Responses API 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
|
+
* OpenAI function tool definition
|
|
11
|
+
* Compatible with OpenAI's Responses API format
|
|
12
|
+
*/
|
|
13
|
+
export interface OpenAITool {
|
|
14
|
+
type: 'function';
|
|
15
|
+
name: string;
|
|
16
|
+
description?: string;
|
|
17
|
+
parameters: {
|
|
18
|
+
type: 'object';
|
|
19
|
+
properties?: Record<string, unknown>;
|
|
20
|
+
required?: string[];
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
};
|
|
23
|
+
strict?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Options for converting MCP tools to OpenAI format
|
|
27
|
+
*/
|
|
28
|
+
export interface OpenAIToolsOptions extends AIToolsOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Whether to use strict mode for function calls
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
strict?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Convert a single MCP tool to OpenAI Responses API format
|
|
37
|
+
*
|
|
38
|
+
* @param mcpTool - The MCP tool definition
|
|
39
|
+
* @param client - The MCP client instance (used for executing the tool)
|
|
40
|
+
* @param options - Optional configuration including provider tokens and strict mode
|
|
41
|
+
* @returns OpenAI compatible tool definition
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* const openaiTool = convertMCPToolToOpenAI(mcpTool, client, { strict: true });
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare function convertMCPToolToOpenAI(mcpTool: MCPTool, _client: MCPClient<any>, options?: OpenAIToolsOptions): OpenAITool;
|
|
49
|
+
/**
|
|
50
|
+
* Convert all enabled MCP tools to OpenAI Responses API format
|
|
51
|
+
*
|
|
52
|
+
* @param client - The MCP client instance (must be connected)
|
|
53
|
+
* @param options - Optional configuration including provider tokens and strict mode
|
|
54
|
+
* @returns Array of OpenAI compatible tool definitions
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Client-side usage
|
|
59
|
+
* const tools = convertMCPToolsToOpenAI(mcpClient);
|
|
60
|
+
*
|
|
61
|
+
* // Server-side with provider tokens
|
|
62
|
+
* const tools = convertMCPToolsToOpenAI(serverClient, {
|
|
63
|
+
* providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
|
|
64
|
+
* });
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export declare function convertMCPToolsToOpenAI(client: MCPClient<any>, options?: OpenAIToolsOptions): OpenAITool[];
|
|
68
|
+
/**
|
|
69
|
+
* Execute a tool call from OpenAI's response
|
|
70
|
+
*
|
|
71
|
+
* @param client - The MCP client instance
|
|
72
|
+
* @param toolCall - The tool call from OpenAI response
|
|
73
|
+
* @param options - Optional configuration including provider tokens
|
|
74
|
+
* @returns Tool execution result as JSON string
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const result = await executeOpenAIToolCall(client, {
|
|
79
|
+
* id: 'call_123',
|
|
80
|
+
* name: 'github_create_issue',
|
|
81
|
+
* arguments: '{"owner":"user","repo":"repo","title":"Bug"}'
|
|
82
|
+
* }, { providerTokens });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function executeOpenAIToolCall(client: MCPClient<any>, toolCall: {
|
|
86
|
+
id: string;
|
|
87
|
+
name: string;
|
|
88
|
+
arguments: string;
|
|
89
|
+
}, options?: OpenAIToolsOptions): Promise<string>;
|
|
90
|
+
/**
|
|
91
|
+
* Get tools in a format compatible with OpenAI Responses API
|
|
92
|
+
*
|
|
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.
|
|
97
|
+
*
|
|
98
|
+
* @param client - The MCP client instance
|
|
99
|
+
* @param options - Optional configuration including provider tokens for server-side usage
|
|
100
|
+
* @returns Array of tools ready to pass to OpenAI's Responses API
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* // Auto-extraction (recommended)
|
|
105
|
+
* import { serverClient } from '@/lib/integrate-server';
|
|
106
|
+
* import { getOpenAITools, executeOpenAIToolCall } from 'integrate-sdk';
|
|
107
|
+
*
|
|
108
|
+
* export async function POST(req: Request) {
|
|
109
|
+
* const tools = await getOpenAITools(serverClient); // Tokens auto-extracted
|
|
110
|
+
*
|
|
111
|
+
* const response = await openai.responses.create({
|
|
112
|
+
* model: 'gpt-4o-2024-11-20',
|
|
113
|
+
* input: 'Create a GitHub issue',
|
|
114
|
+
* tools,
|
|
115
|
+
* });
|
|
116
|
+
*
|
|
117
|
+
* return Response.json(response);
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // Manual override
|
|
124
|
+
* const tools = await getOpenAITools(serverClient, {
|
|
125
|
+
* providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
export declare function getOpenAITools(client: MCPClient<any>, options?: OpenAIToolsOptions): Promise<OpenAITool[]>;
|
|
130
|
+
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/ai/openai.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,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EACvB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAcZ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CAGd;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IACR,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,EACD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAevB"}
|