integrate-sdk 0.7.21 → 0.7.22
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/index.js +74 -1
- package/dist/oauth.js +17 -0
- package/dist/react.js +17 -0
- package/dist/server.js +17 -0
- package/dist/src/ai/anthropic.d.ts +16 -42
- package/dist/src/ai/anthropic.d.ts.map +1 -1
- package/dist/src/ai/cloudflare.d.ts.map +1 -1
- package/dist/src/ai/google.d.ts.map +1 -1
- package/dist/src/ai/langchain.d.ts.map +1 -1
- package/dist/src/ai/llamaindex.d.ts.map +1 -1
- package/dist/src/ai/mastra.d.ts.map +1 -1
- package/dist/src/ai/openai-agents.d.ts +15 -33
- package/dist/src/ai/openai-agents.d.ts.map +1 -1
- package/dist/src/ai/openai.d.ts +15 -43
- package/dist/src/ai/openai.d.ts.map +1 -1
- package/dist/src/ai/utils.d.ts +20 -1
- package/dist/src/ai/utils.d.ts.map +1 -1
- package/dist/src/ai/vercel-ai.d.ts +33 -5
- package/dist/src/ai/vercel-ai.d.ts.map +1 -1
- package/dist/src/utils/request-tokens.d.ts +77 -0
- package/dist/src/utils/request-tokens.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
1
4
|
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
2
18
|
var __export = (target, all) => {
|
|
3
19
|
for (var name in all)
|
|
4
20
|
__defProp(target, name, {
|
|
@@ -9,6 +25,7 @@ var __export = (target, all) => {
|
|
|
9
25
|
});
|
|
10
26
|
};
|
|
11
27
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
28
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
12
29
|
|
|
13
30
|
// src/errors.ts
|
|
14
31
|
var exports_errors = {};
|
|
@@ -6600,6 +6617,55 @@ var coerce = {
|
|
|
6600
6617
|
date: (arg) => ZodDate.create({ ...arg, coerce: true })
|
|
6601
6618
|
};
|
|
6602
6619
|
var NEVER = INVALID;
|
|
6620
|
+
// src/utils/request-tokens.ts
|
|
6621
|
+
async function getProviderTokens(manualTokens) {
|
|
6622
|
+
if (manualTokens) {
|
|
6623
|
+
return manualTokens;
|
|
6624
|
+
}
|
|
6625
|
+
let tokensString = null;
|
|
6626
|
+
if (!tokensString) {
|
|
6627
|
+
try {
|
|
6628
|
+
const nextHeaders = await import("next/headers").catch(() => null);
|
|
6629
|
+
if (nextHeaders && typeof nextHeaders.headers === "function") {
|
|
6630
|
+
const headersList = nextHeaders.headers();
|
|
6631
|
+
tokensString = headersList.get("x-integrate-tokens");
|
|
6632
|
+
}
|
|
6633
|
+
} catch {}
|
|
6634
|
+
}
|
|
6635
|
+
if (!tokensString) {
|
|
6636
|
+
try {
|
|
6637
|
+
const getNuxtHeaders = new Function(`
|
|
6638
|
+
try {
|
|
6639
|
+
if (typeof useRequestHeaders === 'function') {
|
|
6640
|
+
return useRequestHeaders();
|
|
6641
|
+
}
|
|
6642
|
+
} catch {}
|
|
6643
|
+
return null;
|
|
6644
|
+
`);
|
|
6645
|
+
const headers = getNuxtHeaders();
|
|
6646
|
+
if (headers && typeof headers === "object") {
|
|
6647
|
+
tokensString = headers["x-integrate-tokens"];
|
|
6648
|
+
}
|
|
6649
|
+
} catch {}
|
|
6650
|
+
}
|
|
6651
|
+
if (!tokensString) {
|
|
6652
|
+
if (typeof process !== "undefined" && process.env) {
|
|
6653
|
+
tokensString = process.env.PROVIDER_TOKENS;
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
if (tokensString) {
|
|
6657
|
+
try {
|
|
6658
|
+
const parsed = JSON.parse(tokensString);
|
|
6659
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
6660
|
+
return parsed;
|
|
6661
|
+
}
|
|
6662
|
+
} catch (error) {
|
|
6663
|
+
throw new Error(`Failed to parse provider tokens: ${error instanceof Error ? error.message : "Invalid JSON"}`);
|
|
6664
|
+
}
|
|
6665
|
+
}
|
|
6666
|
+
throw new Error("Provider tokens not found. Please pass tokens manually via options.providerTokens or set the x-integrate-tokens header in your request.");
|
|
6667
|
+
}
|
|
6668
|
+
|
|
6603
6669
|
// src/ai/utils.ts
|
|
6604
6670
|
function getProviderForTool(client, toolName) {
|
|
6605
6671
|
return client.getProviderForTool?.(toolName);
|
|
@@ -6767,7 +6833,14 @@ function convertMCPToolsToVercelAI(client, options) {
|
|
|
6767
6833
|
}
|
|
6768
6834
|
async function getVercelAITools(client, options) {
|
|
6769
6835
|
await ensureClientConnected(client);
|
|
6770
|
-
|
|
6836
|
+
let providerTokens = options?.providerTokens;
|
|
6837
|
+
if (!providerTokens) {
|
|
6838
|
+
try {
|
|
6839
|
+
providerTokens = await getProviderTokens();
|
|
6840
|
+
} catch {}
|
|
6841
|
+
}
|
|
6842
|
+
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
6843
|
+
return convertMCPToolsToVercelAI(client, finalOptions);
|
|
6771
6844
|
}
|
|
6772
6845
|
export {
|
|
6773
6846
|
toTanStackStartHandler,
|
package/dist/oauth.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
1
4
|
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
2
18
|
var __export = (target, all) => {
|
|
3
19
|
for (var name in all)
|
|
4
20
|
__defProp(target, name, {
|
|
@@ -9,6 +25,7 @@ var __export = (target, all) => {
|
|
|
9
25
|
});
|
|
10
26
|
};
|
|
11
27
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
28
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
12
29
|
|
|
13
30
|
// src/adapters/base-handler.ts
|
|
14
31
|
var exports_base_handler = {};
|
package/dist/react.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
1
4
|
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
2
18
|
var __export = (target, all) => {
|
|
3
19
|
for (var name in all)
|
|
4
20
|
__defProp(target, name, {
|
|
@@ -9,6 +25,7 @@ var __export = (target, all) => {
|
|
|
9
25
|
});
|
|
10
26
|
};
|
|
11
27
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
28
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
12
29
|
|
|
13
30
|
// src/react/hooks.ts
|
|
14
31
|
import { useState, useEffect } from "react";
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
1
4
|
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __toESM = (mod, isNodeMode, target) => {
|
|
8
|
+
target = mod != null ? __create(__getProtoOf(mod)) : {};
|
|
9
|
+
const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
|
|
10
|
+
for (let key of __getOwnPropNames(mod))
|
|
11
|
+
if (!__hasOwnProp.call(to, key))
|
|
12
|
+
__defProp(to, key, {
|
|
13
|
+
get: () => mod[key],
|
|
14
|
+
enumerable: true
|
|
15
|
+
});
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
2
18
|
var __export = (target, all) => {
|
|
3
19
|
for (var name in all)
|
|
4
20
|
__defProp(target, name, {
|
|
@@ -9,6 +25,7 @@ var __export = (target, all) => {
|
|
|
9
25
|
});
|
|
10
26
|
};
|
|
11
27
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
28
|
+
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
12
29
|
|
|
13
30
|
// src/errors.ts
|
|
14
31
|
var exports_errors = {};
|
|
@@ -141,49 +141,22 @@ export declare function handleAnthropicToolCalls(client: MCPClient<any>, message
|
|
|
141
141
|
*
|
|
142
142
|
* Automatically connects the client if not already connected.
|
|
143
143
|
*
|
|
144
|
+
* **Auto-extraction**: Provider tokens are automatically extracted from request headers
|
|
145
|
+
* or environment variables if not provided in options.
|
|
146
|
+
*
|
|
144
147
|
* @param client - The MCP client instance
|
|
145
148
|
* @param options - Optional configuration including provider tokens for server-side usage
|
|
146
149
|
* @returns Array of tools ready to pass to Claude API
|
|
147
150
|
*
|
|
148
151
|
* @example
|
|
149
152
|
* ```typescript
|
|
150
|
-
* //
|
|
151
|
-
* import {
|
|
152
|
-
* import { getAnthropicTools } from 'integrate-sdk
|
|
153
|
+
* // Auto-extraction (recommended)
|
|
154
|
+
* import { serverClient } from '@/lib/integrate-server';
|
|
155
|
+
* import { getAnthropicTools, handleAnthropicToolCalls } from 'integrate-sdk';
|
|
153
156
|
* import Anthropic from '@anthropic-ai/sdk';
|
|
154
157
|
*
|
|
155
|
-
* const client = createMCPClient({
|
|
156
|
-
* integrations: [githubIntegration({ clientId: '...' })],
|
|
157
|
-
* });
|
|
158
|
-
*
|
|
159
|
-
* const tools = await getAnthropicTools(client);
|
|
160
|
-
* const anthropic = new Anthropic({ apiKey: '...' });
|
|
161
|
-
*
|
|
162
|
-
* const message = await anthropic.messages.create({
|
|
163
|
-
* model: 'claude-3-5-sonnet-20241022',
|
|
164
|
-
* max_tokens: 1024,
|
|
165
|
-
* tools,
|
|
166
|
-
* messages: [{ role: 'user', content: 'Create a GitHub issue' }]
|
|
167
|
-
* });
|
|
168
|
-
* ```
|
|
169
|
-
*
|
|
170
|
-
* @example
|
|
171
|
-
* ```typescript
|
|
172
|
-
* // Server-side usage with tokens from client
|
|
173
|
-
* import { createMCPServer, githubIntegration } from 'integrate-sdk/server';
|
|
174
|
-
* import { getAnthropicTools, handleAnthropicToolCalls } from 'integrate-sdk/ai/anthropic';
|
|
175
|
-
*
|
|
176
|
-
* const { client: serverClient } = createMCPServer({
|
|
177
|
-
* integrations: [githubIntegration({
|
|
178
|
-
* clientId: '...',
|
|
179
|
-
* clientSecret: '...'
|
|
180
|
-
* })],
|
|
181
|
-
* });
|
|
182
|
-
*
|
|
183
|
-
* // In your API route
|
|
184
158
|
* export async function POST(req: Request) {
|
|
185
|
-
* const
|
|
186
|
-
* const tools = await getAnthropicTools(serverClient, { providerTokens });
|
|
159
|
+
* const tools = await getAnthropicTools(serverClient); // Tokens auto-extracted
|
|
187
160
|
*
|
|
188
161
|
* const anthropic = new Anthropic({ apiKey: process.env.ANTHROPIC_API_KEY });
|
|
189
162
|
* const message = await anthropic.messages.create({
|
|
@@ -193,16 +166,17 @@ export declare function handleAnthropicToolCalls(client: MCPClient<any>, message
|
|
|
193
166
|
* messages: [{ role: 'user', content: 'Create a GitHub issue' }]
|
|
194
167
|
* });
|
|
195
168
|
*
|
|
196
|
-
*
|
|
197
|
-
* const toolResults = await handleAnthropicToolCalls(
|
|
198
|
-
* serverClient,
|
|
199
|
-
* message.content,
|
|
200
|
-
* { providerTokens }
|
|
201
|
-
* );
|
|
202
|
-
*
|
|
203
|
-
* return Response.json({ message, toolResults });
|
|
169
|
+
* return Response.json(message);
|
|
204
170
|
* }
|
|
205
171
|
* ```
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* // Manual override
|
|
176
|
+
* const tools = await getAnthropicTools(serverClient, {
|
|
177
|
+
* providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
|
|
178
|
+
* });
|
|
179
|
+
* ```
|
|
206
180
|
*/
|
|
207
181
|
export declare function getAnthropicTools(client: MCPClient<any>, options?: AnthropicToolsOptions): Promise<AnthropicTool[]>;
|
|
208
182
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/ai/anthropic.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,
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/ai/anthropic.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,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE;QACZ,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;CACH;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAAI;AAEjE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EACvB,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,aAAa,CAUf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,EAAE,CAGjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,cAAc,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC,EAC1D,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAkCrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAe1B"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/ai/google.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,
|
|
1
|
+
{"version":3,"file":"google.d.ts","sourceRoot":"","sources":["../../../src/ai/google.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,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,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;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;CAAI;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,EACvB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,UAAU,CAWZ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,EAAE,CAGd;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,YAAY,EAAE,kBAAkB,EAChC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAevB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../../src/ai/langchain.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,
|
|
1
|
+
{"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../../src/ai/langchain.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,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAAI;AAEjE;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,CAYf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,aAAa,EAAE,CAGjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+EG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAe1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llamaindex.d.ts","sourceRoot":"","sources":["../../../src/ai/llamaindex.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,
|
|
1
|
+
{"version":3,"file":"llamaindex.d.ts","sourceRoot":"","sources":["../../../src/ai/llamaindex.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,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;CAAI;AAElE;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,CAUhB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,cAAc,EAAE,CAGlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC,CAe3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mastra.d.ts","sourceRoot":"","sources":["../../../src/ai/mastra.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,
|
|
1
|
+
{"version":3,"file":"mastra.d.ts","sourceRoot":"","sources":["../../../src/ai/mastra.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,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;CAAI;AAE9D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,UAAU,CAUZ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAS5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAerC"}
|
|
@@ -60,48 +60,22 @@ export declare function convertMCPToolsToOpenAIAgents(client: MCPClient<any>, op
|
|
|
60
60
|
*
|
|
61
61
|
* Automatically connects the client if not already connected.
|
|
62
62
|
*
|
|
63
|
+
* **Auto-extraction**: Provider tokens are automatically extracted from request headers
|
|
64
|
+
* or environment variables if not provided in options.
|
|
65
|
+
*
|
|
63
66
|
* @param client - The MCP client instance
|
|
64
67
|
* @param options - Optional configuration including provider tokens for server-side usage
|
|
65
68
|
* @returns Array of tools ready to use with @openai/agents
|
|
66
69
|
*
|
|
67
70
|
* @example
|
|
68
71
|
* ```typescript
|
|
69
|
-
* //
|
|
70
|
-
* import {
|
|
71
|
-
* import { getOpenAIAgentsTools } from 'integrate-sdk
|
|
72
|
+
* // Auto-extraction (recommended)
|
|
73
|
+
* import { serverClient } from '@/lib/integrate-server';
|
|
74
|
+
* import { getOpenAIAgentsTools } from 'integrate-sdk';
|
|
72
75
|
* import { Agent } from '@openai/agents';
|
|
73
76
|
*
|
|
74
|
-
* const client = createMCPClient({
|
|
75
|
-
* integrations: [githubIntegration({ clientId: '...' })],
|
|
76
|
-
* });
|
|
77
|
-
*
|
|
78
|
-
* const tools = await getOpenAIAgentsTools(client);
|
|
79
|
-
*
|
|
80
|
-
* const agent = new Agent({
|
|
81
|
-
* model: 'gpt-4o',
|
|
82
|
-
* tools,
|
|
83
|
-
* });
|
|
84
|
-
*
|
|
85
|
-
* const result = await agent.run('Create a GitHub issue');
|
|
86
|
-
* ```
|
|
87
|
-
*
|
|
88
|
-
* @example
|
|
89
|
-
* ```typescript
|
|
90
|
-
* // Server-side usage with tokens from client
|
|
91
|
-
* import { createMCPServer, githubIntegration } from 'integrate-sdk/server';
|
|
92
|
-
* import { getOpenAIAgentsTools } from 'integrate-sdk/ai/openai-agents';
|
|
93
|
-
*
|
|
94
|
-
* const { client: serverClient } = createMCPServer({
|
|
95
|
-
* integrations: [githubIntegration({
|
|
96
|
-
* clientId: '...',
|
|
97
|
-
* clientSecret: '...'
|
|
98
|
-
* })],
|
|
99
|
-
* });
|
|
100
|
-
*
|
|
101
|
-
* // In your API route
|
|
102
77
|
* export async function POST(req: Request) {
|
|
103
|
-
* const
|
|
104
|
-
* const tools = await getOpenAIAgentsTools(serverClient, { providerTokens });
|
|
78
|
+
* const tools = await getOpenAIAgentsTools(serverClient); // Tokens auto-extracted
|
|
105
79
|
*
|
|
106
80
|
* const agent = new Agent({
|
|
107
81
|
* model: 'gpt-4o',
|
|
@@ -112,6 +86,14 @@ export declare function convertMCPToolsToOpenAIAgents(client: MCPClient<any>, op
|
|
|
112
86
|
* return Response.json({ result });
|
|
113
87
|
* }
|
|
114
88
|
* ```
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* // Manual override
|
|
93
|
+
* const tools = await getOpenAIAgentsTools(serverClient, {
|
|
94
|
+
* providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
|
|
95
|
+
* });
|
|
96
|
+
* ```
|
|
115
97
|
*/
|
|
116
98
|
export declare function getOpenAIAgentsTools(client: MCPClient<any>, options?: OpenAIAgentsToolsOptions): Promise<OpenAIAgentsTool[]>;
|
|
117
99
|
//# sourceMappingURL=openai-agents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../../../src/ai/openai-agents.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,
|
|
1
|
+
{"version":3,"file":"openai-agents.d.ts","sourceRoot":"","sources":["../../../src/ai/openai-agents.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,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;CAAI;AAEpE;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,wBAAwB,GACjC,gBAAgB,CASlB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,wBAAwB,GACjC,gBAAgB,EAAE,CAGpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAe7B"}
|
package/dist/src/ai/openai.d.ts
CHANGED
|
@@ -92,47 +92,21 @@ export declare function executeOpenAIToolCall(client: MCPClient<any>, toolCall:
|
|
|
92
92
|
*
|
|
93
93
|
* Automatically connects the client if not already connected.
|
|
94
94
|
*
|
|
95
|
+
* **Auto-extraction**: Provider tokens are automatically extracted from request headers
|
|
96
|
+
* or environment variables if not provided in options.
|
|
97
|
+
*
|
|
95
98
|
* @param client - The MCP client instance
|
|
96
99
|
* @param options - Optional configuration including provider tokens for server-side usage
|
|
97
100
|
* @returns Array of tools ready to pass to OpenAI's Responses API
|
|
98
101
|
*
|
|
99
102
|
* @example
|
|
100
103
|
* ```typescript
|
|
101
|
-
* //
|
|
102
|
-
* import {
|
|
103
|
-
* import { getOpenAITools } from 'integrate-sdk
|
|
104
|
-
*
|
|
105
|
-
* const client = createMCPClient({
|
|
106
|
-
* integrations: [githubIntegration({ clientId: '...' })],
|
|
107
|
-
* });
|
|
108
|
-
*
|
|
109
|
-
* const tools = await getOpenAITools(client);
|
|
104
|
+
* // Auto-extraction (recommended)
|
|
105
|
+
* import { serverClient } from '@/lib/integrate-server';
|
|
106
|
+
* import { getOpenAITools, executeOpenAIToolCall } from 'integrate-sdk';
|
|
110
107
|
*
|
|
111
|
-
* // Use with OpenAI SDK
|
|
112
|
-
* const response = await openai.responses.create({
|
|
113
|
-
* model: 'gpt-4o-2024-11-20',
|
|
114
|
-
* input: 'Create a GitHub issue',
|
|
115
|
-
* tools,
|
|
116
|
-
* });
|
|
117
|
-
* ```
|
|
118
|
-
*
|
|
119
|
-
* @example
|
|
120
|
-
* ```typescript
|
|
121
|
-
* // Server-side usage with tokens from client
|
|
122
|
-
* import { createMCPServer, githubIntegration } from 'integrate-sdk/server';
|
|
123
|
-
* import { getOpenAITools, executeOpenAIToolCall } from 'integrate-sdk/ai/openai';
|
|
124
|
-
*
|
|
125
|
-
* const { client: serverClient } = createMCPServer({
|
|
126
|
-
* integrations: [githubIntegration({
|
|
127
|
-
* clientId: '...',
|
|
128
|
-
* clientSecret: '...'
|
|
129
|
-
* })],
|
|
130
|
-
* });
|
|
131
|
-
*
|
|
132
|
-
* // In your API route
|
|
133
108
|
* export async function POST(req: Request) {
|
|
134
|
-
* const
|
|
135
|
-
* const tools = await getOpenAITools(serverClient, { providerTokens });
|
|
109
|
+
* const tools = await getOpenAITools(serverClient); // Tokens auto-extracted
|
|
136
110
|
*
|
|
137
111
|
* const response = await openai.responses.create({
|
|
138
112
|
* model: 'gpt-4o-2024-11-20',
|
|
@@ -140,19 +114,17 @@ export declare function executeOpenAIToolCall(client: MCPClient<any>, toolCall:
|
|
|
140
114
|
* tools,
|
|
141
115
|
* });
|
|
142
116
|
*
|
|
143
|
-
* // Handle tool calls
|
|
144
|
-
* const toolCalls = response.output.filter(o => o.type === 'function_call');
|
|
145
|
-
* for (const toolCall of toolCalls) {
|
|
146
|
-
* const result = await executeOpenAIToolCall(serverClient, {
|
|
147
|
-
* id: toolCall.id,
|
|
148
|
-
* name: toolCall.name,
|
|
149
|
-
* arguments: toolCall.arguments,
|
|
150
|
-
* }, { providerTokens });
|
|
151
|
-
* }
|
|
152
|
-
*
|
|
153
117
|
* return Response.json(response);
|
|
154
118
|
* }
|
|
155
119
|
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* // Manual override
|
|
124
|
+
* const tools = await getOpenAITools(serverClient, {
|
|
125
|
+
* providerTokens: { github: 'ghp_...', gmail: 'ya29...' }
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
156
128
|
*/
|
|
157
129
|
export declare function getOpenAITools(client: MCPClient<any>, options?: OpenAIToolsOptions): Promise<OpenAITool[]>;
|
|
158
130
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +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,
|
|
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"}
|
package/dist/src/ai/utils.d.ts
CHANGED
|
@@ -13,9 +13,23 @@ export interface AIToolsOptions {
|
|
|
13
13
|
* Provider tokens for server-side usage
|
|
14
14
|
* Maps provider names (e.g., 'github', 'gmail') to their access tokens
|
|
15
15
|
*
|
|
16
|
+
* **Auto-extraction**: If not provided, tokens will be automatically extracted
|
|
17
|
+
* from the request headers (`x-integrate-tokens`) or environment variables.
|
|
18
|
+
* This works in supported frameworks like Next.js and Nuxt.
|
|
19
|
+
*
|
|
20
|
+
* **Manual override**: Pass this option to explicitly provide tokens when
|
|
21
|
+
* auto-extraction is not available or you need custom control.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Auto-extraction (tokens extracted automatically from request)
|
|
26
|
+
* const tools = await getVercelAITools(serverClient);
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
16
29
|
* @example
|
|
17
30
|
* ```typescript
|
|
18
|
-
*
|
|
31
|
+
* // Manual override
|
|
32
|
+
* const tools = await getVercelAITools(serverClient, {
|
|
19
33
|
* providerTokens: {
|
|
20
34
|
* github: 'ghp_...',
|
|
21
35
|
* gmail: 'ya29...'
|
|
@@ -53,4 +67,9 @@ export declare function executeToolWithToken(client: MCPClient<any>, toolName: s
|
|
|
53
67
|
* @internal
|
|
54
68
|
*/
|
|
55
69
|
export declare function ensureClientConnected(client: MCPClient<any>): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Re-export token extraction utilities
|
|
72
|
+
* These help extract provider tokens from request headers automatically
|
|
73
|
+
*/
|
|
74
|
+
export { getProviderTokens, tryGetProviderTokens } from "../utils/request-tokens.js";
|
|
56
75
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAqFvE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAoD7D;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,GAAG,CAAC,CAoCd;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAIjF;AAED;;;GAGG;AACH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -92,21 +92,49 @@ export declare function convertMCPToolsToVercelAI(client: MCPClient<any>, option
|
|
|
92
92
|
* This returns the tools in the exact format expected by ai.generateText() and ai.streamText()
|
|
93
93
|
* Automatically connects the client if not already connected.
|
|
94
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
|
+
*
|
|
95
99
|
* @param client - The MCP client instance
|
|
96
100
|
* @param options - Optional configuration including provider tokens for server-side usage
|
|
97
101
|
* @returns Tools object ready to pass to generateText({ tools: ... }) or streamText({ tools: ... })
|
|
98
102
|
*
|
|
99
103
|
* @example
|
|
100
104
|
* ```typescript
|
|
101
|
-
* //
|
|
102
|
-
*
|
|
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
|
+
* }
|
|
103
121
|
* ```
|
|
104
122
|
*
|
|
105
123
|
* @example
|
|
106
124
|
* ```typescript
|
|
107
|
-
* //
|
|
108
|
-
* const
|
|
109
|
-
*
|
|
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);
|
|
110
138
|
* ```
|
|
111
139
|
*/
|
|
112
140
|
export declare function getVercelAITools(client: MCPClient<any>, options?: VercelAIToolsOptions): Promise<Record<string, any>>;
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Request token extraction utility
|
|
3
|
+
* Supports automatic extraction of provider tokens from request headers across multiple frameworks
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Extract provider tokens from request headers across multiple frameworks
|
|
7
|
+
*
|
|
8
|
+
* This function attempts to automatically extract the `x-integrate-tokens` header
|
|
9
|
+
* from the current request context. It supports multiple frameworks including:
|
|
10
|
+
* - Next.js (App Router with headers() function from 'next/headers')
|
|
11
|
+
* - Nuxt (via useRequestHeaders composable)
|
|
12
|
+
* - Other frameworks via environment variables
|
|
13
|
+
*
|
|
14
|
+
* If automatic extraction fails, it falls back to the `PROVIDER_TOKENS` environment variable.
|
|
15
|
+
*
|
|
16
|
+
* **Note**: This function works best in server-side contexts where framework-specific
|
|
17
|
+
* request context is available. For client-side or contexts without request access,
|
|
18
|
+
* tokens must be passed manually via the options parameter.
|
|
19
|
+
*
|
|
20
|
+
* @param manualTokens - Optional manually provided tokens (takes precedence over auto-extraction)
|
|
21
|
+
* @returns Promise resolving to record of provider names to access tokens
|
|
22
|
+
* @throws Error if tokens cannot be extracted from any source
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* // Auto-extraction in Next.js API route
|
|
27
|
+
* import { getVercelAITools } from 'integrate-sdk';
|
|
28
|
+
*
|
|
29
|
+
* export async function POST(req: Request) {
|
|
30
|
+
* const { messages } = await req.json();
|
|
31
|
+
*
|
|
32
|
+
* // Tokens are automatically extracted from request headers
|
|
33
|
+
* const tools = await getVercelAITools(serverClient);
|
|
34
|
+
*
|
|
35
|
+
* const result = streamText({
|
|
36
|
+
* model: "openai/gpt-4",
|
|
37
|
+
* messages,
|
|
38
|
+
* tools,
|
|
39
|
+
* });
|
|
40
|
+
*
|
|
41
|
+
* return result.toUIMessageStreamResponse();
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* // Manual override when auto-extraction isn't available
|
|
48
|
+
* const tools = await getVercelAITools(serverClient, {
|
|
49
|
+
* providerTokens: {
|
|
50
|
+
* github: 'ghp_...',
|
|
51
|
+
* gmail: 'ya29...'
|
|
52
|
+
* }
|
|
53
|
+
* });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export declare function getProviderTokens(manualTokens?: Record<string, string>): Promise<Record<string, string>>;
|
|
57
|
+
/**
|
|
58
|
+
* Try to extract provider tokens without throwing an error
|
|
59
|
+
*
|
|
60
|
+
* Similar to getProviderTokens() but returns null instead of throwing when tokens cannot be found.
|
|
61
|
+
* Useful for optional token extraction scenarios.
|
|
62
|
+
*
|
|
63
|
+
* @param manualTokens - Optional manually provided tokens
|
|
64
|
+
* @returns Promise resolving to record of provider names to access tokens, or null if not found
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const tokens = await tryGetProviderTokens();
|
|
69
|
+
* if (tokens) {
|
|
70
|
+
* // Use tokens
|
|
71
|
+
* } else {
|
|
72
|
+
* // Handle missing tokens
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function tryGetProviderTokens(manualTokens?: Record<string, string>): Promise<Record<string, string> | null>;
|
|
77
|
+
//# sourceMappingURL=request-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-tokens.d.ts","sourceRoot":"","sources":["../../../src/utils/request-tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAwE9G;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,oBAAoB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,CAMxH"}
|