integrate-sdk 0.9.26 → 0.9.27-dev.1

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.
@@ -2737,6 +2737,34 @@ class OAuthManager {
2737
2737
 
2738
2738
  // ../client.ts
2739
2739
  var CLIENT_LOG_CONTEXT = "client";
2740
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
2741
+ "then",
2742
+ "catch",
2743
+ "finally",
2744
+ "constructor",
2745
+ "prototype",
2746
+ "toString",
2747
+ "valueOf",
2748
+ "toJSON",
2749
+ "inspect",
2750
+ "hasOwnProperty",
2751
+ "isPrototypeOf",
2752
+ "propertyIsEnumerable",
2753
+ "__proto__",
2754
+ "__defineGetter__",
2755
+ "__defineSetter__",
2756
+ "__lookupGetter__",
2757
+ "__lookupSetter__",
2758
+ "__esModule",
2759
+ Symbol.toStringTag,
2760
+ Symbol.toPrimitive,
2761
+ Symbol.iterator,
2762
+ Symbol.asyncIterator,
2763
+ Symbol.for("nodejs.util.inspect.custom")
2764
+ ]);
2765
+ function isToolProxyProperty(property) {
2766
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
2767
+ }
2740
2768
 
2741
2769
  class SimpleEventEmitter {
2742
2770
  handlers = new Map;
@@ -2959,6 +2987,8 @@ class MCPClientBase {
2959
2987
  }
2960
2988
  return new Proxy({}, {
2961
2989
  get: (_target, methodName) => {
2990
+ if (!isToolProxyProperty(methodName))
2991
+ return;
2962
2992
  return async (args, options) => {
2963
2993
  const toolName = methodToToolName(methodName, integrationId);
2964
2994
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -2972,6 +3002,8 @@ class MCPClientBase {
2972
3002
  createServerProxy() {
2973
3003
  return new Proxy({}, {
2974
3004
  get: (_target, methodName) => {
3005
+ if (!isToolProxyProperty(methodName))
3006
+ return;
2975
3007
  if (methodName === "listConfiguredIntegrations") {
2976
3008
  return async (options) => {
2977
3009
  const transportHeaders = this.transport.headers || {};
@@ -3335,6 +3367,16 @@ class MCPClientBase {
3335
3367
  getAvailableTools() {
3336
3368
  return Array.from(this.availableTools.values());
3337
3369
  }
3370
+ hydrateToolCache(tools) {
3371
+ for (const tool of tools) {
3372
+ if (tool?.name && tool.inputSchema) {
3373
+ this.availableTools.set(tool.name, tool);
3374
+ }
3375
+ }
3376
+ }
3377
+ getCachedEnabledTools() {
3378
+ return this.getEnabledTools();
3379
+ }
3338
3380
  setRequestHeader(key, value) {
3339
3381
  this.transport.setHeader(key, value);
3340
3382
  }
@@ -2737,6 +2737,34 @@ class OAuthManager {
2737
2737
 
2738
2738
  // ../client.ts
2739
2739
  var CLIENT_LOG_CONTEXT = "client";
2740
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
2741
+ "then",
2742
+ "catch",
2743
+ "finally",
2744
+ "constructor",
2745
+ "prototype",
2746
+ "toString",
2747
+ "valueOf",
2748
+ "toJSON",
2749
+ "inspect",
2750
+ "hasOwnProperty",
2751
+ "isPrototypeOf",
2752
+ "propertyIsEnumerable",
2753
+ "__proto__",
2754
+ "__defineGetter__",
2755
+ "__defineSetter__",
2756
+ "__lookupGetter__",
2757
+ "__lookupSetter__",
2758
+ "__esModule",
2759
+ Symbol.toStringTag,
2760
+ Symbol.toPrimitive,
2761
+ Symbol.iterator,
2762
+ Symbol.asyncIterator,
2763
+ Symbol.for("nodejs.util.inspect.custom")
2764
+ ]);
2765
+ function isToolProxyProperty(property) {
2766
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
2767
+ }
2740
2768
 
2741
2769
  class SimpleEventEmitter {
2742
2770
  handlers = new Map;
@@ -2959,6 +2987,8 @@ class MCPClientBase {
2959
2987
  }
2960
2988
  return new Proxy({}, {
2961
2989
  get: (_target, methodName) => {
2990
+ if (!isToolProxyProperty(methodName))
2991
+ return;
2962
2992
  return async (args, options) => {
2963
2993
  const toolName = methodToToolName(methodName, integrationId);
2964
2994
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -2972,6 +3002,8 @@ class MCPClientBase {
2972
3002
  createServerProxy() {
2973
3003
  return new Proxy({}, {
2974
3004
  get: (_target, methodName) => {
3005
+ if (!isToolProxyProperty(methodName))
3006
+ return;
2975
3007
  if (methodName === "listConfiguredIntegrations") {
2976
3008
  return async (options) => {
2977
3009
  const transportHeaders = this.transport.headers || {};
@@ -3335,6 +3367,16 @@ class MCPClientBase {
3335
3367
  getAvailableTools() {
3336
3368
  return Array.from(this.availableTools.values());
3337
3369
  }
3370
+ hydrateToolCache(tools) {
3371
+ for (const tool of tools) {
3372
+ if (tool?.name && tool.inputSchema) {
3373
+ this.availableTools.set(tool.name, tool);
3374
+ }
3375
+ }
3376
+ }
3377
+ getCachedEnabledTools() {
3378
+ return this.getEnabledTools();
3379
+ }
3338
3380
  setRequestHeader(key, value) {
3339
3381
  this.transport.setHeader(key, value);
3340
3382
  }
@@ -2737,6 +2737,34 @@ class OAuthManager {
2737
2737
 
2738
2738
  // ../client.ts
2739
2739
  var CLIENT_LOG_CONTEXT = "client";
2740
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
2741
+ "then",
2742
+ "catch",
2743
+ "finally",
2744
+ "constructor",
2745
+ "prototype",
2746
+ "toString",
2747
+ "valueOf",
2748
+ "toJSON",
2749
+ "inspect",
2750
+ "hasOwnProperty",
2751
+ "isPrototypeOf",
2752
+ "propertyIsEnumerable",
2753
+ "__proto__",
2754
+ "__defineGetter__",
2755
+ "__defineSetter__",
2756
+ "__lookupGetter__",
2757
+ "__lookupSetter__",
2758
+ "__esModule",
2759
+ Symbol.toStringTag,
2760
+ Symbol.toPrimitive,
2761
+ Symbol.iterator,
2762
+ Symbol.asyncIterator,
2763
+ Symbol.for("nodejs.util.inspect.custom")
2764
+ ]);
2765
+ function isToolProxyProperty(property) {
2766
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
2767
+ }
2740
2768
 
2741
2769
  class SimpleEventEmitter {
2742
2770
  handlers = new Map;
@@ -2959,6 +2987,8 @@ class MCPClientBase {
2959
2987
  }
2960
2988
  return new Proxy({}, {
2961
2989
  get: (_target, methodName) => {
2990
+ if (!isToolProxyProperty(methodName))
2991
+ return;
2962
2992
  return async (args, options) => {
2963
2993
  const toolName = methodToToolName(methodName, integrationId);
2964
2994
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -2972,6 +3002,8 @@ class MCPClientBase {
2972
3002
  createServerProxy() {
2973
3003
  return new Proxy({}, {
2974
3004
  get: (_target, methodName) => {
3005
+ if (!isToolProxyProperty(methodName))
3006
+ return;
2975
3007
  if (methodName === "listConfiguredIntegrations") {
2976
3008
  return async (options) => {
2977
3009
  const transportHeaders = this.transport.headers || {};
@@ -3335,6 +3367,16 @@ class MCPClientBase {
3335
3367
  getAvailableTools() {
3336
3368
  return Array.from(this.availableTools.values());
3337
3369
  }
3370
+ hydrateToolCache(tools) {
3371
+ for (const tool of tools) {
3372
+ if (tool?.name && tool.inputSchema) {
3373
+ this.availableTools.set(tool.name, tool);
3374
+ }
3375
+ }
3376
+ }
3377
+ getCachedEnabledTools() {
3378
+ return this.getEnabledTools();
3379
+ }
3338
3380
  setRequestHeader(key, value) {
3339
3381
  this.transport.setHeader(key, value);
3340
3382
  }
@@ -4681,6 +4681,32 @@ function camelToSnake(str) {
4681
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4682
4682
  }
4683
4683
 
4684
+ const NON_TOOL_PROPERTIES = new Set([
4685
+ // Promise assimilation and object inspection should not become MCP calls.
4686
+ 'then',
4687
+ 'catch',
4688
+ 'finally',
4689
+ 'constructor',
4690
+ 'prototype',
4691
+ 'toString',
4692
+ 'valueOf',
4693
+ 'toJSON',
4694
+ 'inspect',
4695
+ 'hasOwnProperty',
4696
+ 'isPrototypeOf',
4697
+ 'propertyIsEnumerable',
4698
+ '__proto__',
4699
+ '__defineGetter__',
4700
+ '__defineSetter__',
4701
+ '__lookupGetter__',
4702
+ '__lookupSetter__',
4703
+ '__esModule',
4704
+ ]);
4705
+
4706
+ function isToolProperty(property) {
4707
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
4708
+ }
4709
+
4684
4710
  async function callTool(toolName, args) {
4685
4711
  const headers = {
4686
4712
  'Content-Type': 'application/json',
@@ -4728,7 +4754,7 @@ async function callTool(toolName, args) {
4728
4754
  function createIntegrationProxy(integrationId) {
4729
4755
  return new Proxy({}, {
4730
4756
  get(_target, methodName) {
4731
- if (typeof methodName !== 'string') return undefined;
4757
+ if (!isToolProperty(methodName)) return undefined;
4732
4758
  return (args) => {
4733
4759
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
4734
4760
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
package/dist/ai/google.js CHANGED
@@ -4681,6 +4681,32 @@ function camelToSnake(str) {
4681
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4682
4682
  }
4683
4683
 
4684
+ const NON_TOOL_PROPERTIES = new Set([
4685
+ // Promise assimilation and object inspection should not become MCP calls.
4686
+ 'then',
4687
+ 'catch',
4688
+ 'finally',
4689
+ 'constructor',
4690
+ 'prototype',
4691
+ 'toString',
4692
+ 'valueOf',
4693
+ 'toJSON',
4694
+ 'inspect',
4695
+ 'hasOwnProperty',
4696
+ 'isPrototypeOf',
4697
+ 'propertyIsEnumerable',
4698
+ '__proto__',
4699
+ '__defineGetter__',
4700
+ '__defineSetter__',
4701
+ '__lookupGetter__',
4702
+ '__lookupSetter__',
4703
+ '__esModule',
4704
+ ]);
4705
+
4706
+ function isToolProperty(property) {
4707
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
4708
+ }
4709
+
4684
4710
  async function callTool(toolName, args) {
4685
4711
  const headers = {
4686
4712
  'Content-Type': 'application/json',
@@ -4728,7 +4754,7 @@ async function callTool(toolName, args) {
4728
4754
  function createIntegrationProxy(integrationId) {
4729
4755
  return new Proxy({}, {
4730
4756
  get(_target, methodName) {
4731
- if (typeof methodName !== 'string') return undefined;
4757
+ if (!isToolProperty(methodName)) return undefined;
4732
4758
  return (args) => {
4733
4759
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
4734
4760
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
package/dist/ai/index.js CHANGED
@@ -4681,6 +4681,32 @@ function camelToSnake(str) {
4681
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4682
4682
  }
4683
4683
 
4684
+ const NON_TOOL_PROPERTIES = new Set([
4685
+ // Promise assimilation and object inspection should not become MCP calls.
4686
+ 'then',
4687
+ 'catch',
4688
+ 'finally',
4689
+ 'constructor',
4690
+ 'prototype',
4691
+ 'toString',
4692
+ 'valueOf',
4693
+ 'toJSON',
4694
+ 'inspect',
4695
+ 'hasOwnProperty',
4696
+ 'isPrototypeOf',
4697
+ 'propertyIsEnumerable',
4698
+ '__proto__',
4699
+ '__defineGetter__',
4700
+ '__defineSetter__',
4701
+ '__lookupGetter__',
4702
+ '__lookupSetter__',
4703
+ '__esModule',
4704
+ ]);
4705
+
4706
+ function isToolProperty(property) {
4707
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
4708
+ }
4709
+
4684
4710
  async function callTool(toolName, args) {
4685
4711
  const headers = {
4686
4712
  'Content-Type': 'application/json',
@@ -4728,7 +4754,7 @@ async function callTool(toolName, args) {
4728
4754
  function createIntegrationProxy(integrationId) {
4729
4755
  return new Proxy({}, {
4730
4756
  get(_target, methodName) {
4731
- if (typeof methodName !== 'string') return undefined;
4757
+ if (!isToolProperty(methodName)) return undefined;
4732
4758
  return (args) => {
4733
4759
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
4734
4760
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
package/dist/ai/openai.js CHANGED
@@ -4681,6 +4681,32 @@ function camelToSnake(str) {
4681
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4682
4682
  }
4683
4683
 
4684
+ const NON_TOOL_PROPERTIES = new Set([
4685
+ // Promise assimilation and object inspection should not become MCP calls.
4686
+ 'then',
4687
+ 'catch',
4688
+ 'finally',
4689
+ 'constructor',
4690
+ 'prototype',
4691
+ 'toString',
4692
+ 'valueOf',
4693
+ 'toJSON',
4694
+ 'inspect',
4695
+ 'hasOwnProperty',
4696
+ 'isPrototypeOf',
4697
+ 'propertyIsEnumerable',
4698
+ '__proto__',
4699
+ '__defineGetter__',
4700
+ '__defineSetter__',
4701
+ '__lookupGetter__',
4702
+ '__lookupSetter__',
4703
+ '__esModule',
4704
+ ]);
4705
+
4706
+ function isToolProperty(property) {
4707
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
4708
+ }
4709
+
4684
4710
  async function callTool(toolName, args) {
4685
4711
  const headers = {
4686
4712
  'Content-Type': 'application/json',
@@ -4728,7 +4754,7 @@ async function callTool(toolName, args) {
4728
4754
  function createIntegrationProxy(integrationId) {
4729
4755
  return new Proxy({}, {
4730
4756
  get(_target, methodName) {
4731
- if (typeof methodName !== 'string') return undefined;
4757
+ if (!isToolProperty(methodName)) return undefined;
4732
4758
  return (args) => {
4733
4759
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
4734
4760
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -4681,6 +4681,32 @@ function camelToSnake(str) {
4681
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4682
4682
  }
4683
4683
 
4684
+ const NON_TOOL_PROPERTIES = new Set([
4685
+ // Promise assimilation and object inspection should not become MCP calls.
4686
+ 'then',
4687
+ 'catch',
4688
+ 'finally',
4689
+ 'constructor',
4690
+ 'prototype',
4691
+ 'toString',
4692
+ 'valueOf',
4693
+ 'toJSON',
4694
+ 'inspect',
4695
+ 'hasOwnProperty',
4696
+ 'isPrototypeOf',
4697
+ 'propertyIsEnumerable',
4698
+ '__proto__',
4699
+ '__defineGetter__',
4700
+ '__defineSetter__',
4701
+ '__lookupGetter__',
4702
+ '__lookupSetter__',
4703
+ '__esModule',
4704
+ ]);
4705
+
4706
+ function isToolProperty(property) {
4707
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
4708
+ }
4709
+
4684
4710
  async function callTool(toolName, args) {
4685
4711
  const headers = {
4686
4712
  'Content-Type': 'application/json',
@@ -4728,7 +4754,7 @@ async function callTool(toolName, args) {
4728
4754
  function createIntegrationProxy(integrationId) {
4729
4755
  return new Proxy({}, {
4730
4756
  get(_target, methodName) {
4731
- if (typeof methodName !== 'string') return undefined;
4757
+ if (!isToolProperty(methodName)) return undefined;
4732
4758
  return (args) => {
4733
4759
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
4734
4760
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -34,6 +34,32 @@ function camelToSnake(str) {
34
34
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
35
35
  }
36
36
 
37
+ const NON_TOOL_PROPERTIES = new Set([
38
+ // Promise assimilation and object inspection should not become MCP calls.
39
+ 'then',
40
+ 'catch',
41
+ 'finally',
42
+ 'constructor',
43
+ 'prototype',
44
+ 'toString',
45
+ 'valueOf',
46
+ 'toJSON',
47
+ 'inspect',
48
+ 'hasOwnProperty',
49
+ 'isPrototypeOf',
50
+ 'propertyIsEnumerable',
51
+ '__proto__',
52
+ '__defineGetter__',
53
+ '__defineSetter__',
54
+ '__lookupGetter__',
55
+ '__lookupSetter__',
56
+ '__esModule',
57
+ ]);
58
+
59
+ function isToolProperty(property) {
60
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
61
+ }
62
+
37
63
  async function callTool(toolName, args) {
38
64
  const headers = {
39
65
  'Content-Type': 'application/json',
@@ -81,7 +107,7 @@ async function callTool(toolName, args) {
81
107
  function createIntegrationProxy(integrationId) {
82
108
  return new Proxy({}, {
83
109
  get(_target, methodName) {
84
- if (typeof methodName !== 'string') return undefined;
110
+ if (!isToolProperty(methodName)) return undefined;
85
111
  return (args) => {
86
112
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
87
113
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -279,6 +279,32 @@ function camelToSnake(str) {
279
279
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
280
280
  }
281
281
 
282
+ const NON_TOOL_PROPERTIES = new Set([
283
+ // Promise assimilation and object inspection should not become MCP calls.
284
+ 'then',
285
+ 'catch',
286
+ 'finally',
287
+ 'constructor',
288
+ 'prototype',
289
+ 'toString',
290
+ 'valueOf',
291
+ 'toJSON',
292
+ 'inspect',
293
+ 'hasOwnProperty',
294
+ 'isPrototypeOf',
295
+ 'propertyIsEnumerable',
296
+ '__proto__',
297
+ '__defineGetter__',
298
+ '__defineSetter__',
299
+ '__lookupGetter__',
300
+ '__lookupSetter__',
301
+ '__esModule',
302
+ ]);
303
+
304
+ function isToolProperty(property) {
305
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
306
+ }
307
+
282
308
  async function callTool(toolName, args) {
283
309
  const headers = {
284
310
  'Content-Type': 'application/json',
@@ -326,7 +352,7 @@ async function callTool(toolName, args) {
326
352
  function createIntegrationProxy(integrationId) {
327
353
  return new Proxy({}, {
328
354
  get(_target, methodName) {
329
- if (typeof methodName !== 'string') return undefined;
355
+ if (!isToolProperty(methodName)) return undefined;
330
356
  return (args) => {
331
357
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
332
358
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -12,5 +12,5 @@
12
12
  * dependencies. It is NOT imported by the host SDK — it only ships as a
13
13
  * literal payload to the sandbox.
14
14
  */
15
- export declare const RUNTIME_STUB_SOURCE = "// runtime.mjs \u2014 generated by integrate-sdk code mode\nconst MCP_URL = process.env.INTEGRATE_MCP_URL;\nconst SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;\nconst API_KEY = process.env.INTEGRATE_API_KEY || '';\nconst PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';\nconst INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';\nconst CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';\n\nif (!MCP_URL) {\n throw new Error('INTEGRATE_MCP_URL is not set \u2014 the sandbox cannot reach the MCP route.');\n}\n\nfunction camelToSnake(str) {\n return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());\n}\n\nasync function callTool(toolName, args) {\n const headers = {\n 'Content-Type': 'application/json',\n 'x-integrate-code-mode': '1',\n };\n if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;\n if (API_KEY) headers['x-integrate-api-key'] = API_KEY;\n if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;\n if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;\n if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;\n\n const res = await fetch(MCP_URL, {\n method: 'POST',\n headers,\n body: JSON.stringify({ name: toolName, arguments: args || {} }),\n });\n\n const text = await res.text();\n\n let payload;\n try {\n payload = text ? JSON.parse(text) : null;\n } catch {\n payload = { content: [{ type: 'text', text }] };\n }\n\n if (!res.ok) {\n let message = (payload && (payload.error || payload.message)) || 'Tool call failed: HTTP ' + res.status;\n if ((res.status === 401 || res.status === 403) && typeof text === 'string' && text.indexOf('Authorization header') !== -1) {\n message =\n 'Code Mode callback was rejected by the MCP server (HTTP ' + res.status + '). ' +\n 'The SDK route could not synthesize an Authorization header. Check the host-side ' +\n 'createMCPServer config (apiKey, getProviderToken) or pass providerTokens to the ' +\n 'AI helper. Original upstream message: ' + text;\n }\n const err = new Error(message);\n err.status = res.status;\n err.toolName = toolName;\n throw err;\n }\n\n return payload;\n}\n\nfunction createIntegrationProxy(integrationId) {\n return new Proxy({}, {\n get(_target, methodName) {\n if (typeof methodName !== 'string') return undefined;\n return (args) => {\n const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');\n const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);\n return callTool(toolName, args);\n };\n },\n });\n}\n\nexport const client = new Proxy({}, {\n get(_target, integrationId) {\n if (typeof integrationId !== 'string') return undefined;\n return createIntegrationProxy(integrationId);\n },\n});\n\nexport { callTool };\n";
15
+ export declare const RUNTIME_STUB_SOURCE = "// runtime.mjs \u2014 generated by integrate-sdk code mode\nconst MCP_URL = process.env.INTEGRATE_MCP_URL;\nconst SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;\nconst API_KEY = process.env.INTEGRATE_API_KEY || '';\nconst PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';\nconst INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';\nconst CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';\n\nif (!MCP_URL) {\n throw new Error('INTEGRATE_MCP_URL is not set \u2014 the sandbox cannot reach the MCP route.');\n}\n\nfunction camelToSnake(str) {\n return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());\n}\n\nconst NON_TOOL_PROPERTIES = new Set([\n // Promise assimilation and object inspection should not become MCP calls.\n 'then',\n 'catch',\n 'finally',\n 'constructor',\n 'prototype',\n 'toString',\n 'valueOf',\n 'toJSON',\n 'inspect',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n '__proto__',\n '__defineGetter__',\n '__defineSetter__',\n '__lookupGetter__',\n '__lookupSetter__',\n '__esModule',\n]);\n\nfunction isToolProperty(property) {\n return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);\n}\n\nasync function callTool(toolName, args) {\n const headers = {\n 'Content-Type': 'application/json',\n 'x-integrate-code-mode': '1',\n };\n if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;\n if (API_KEY) headers['x-integrate-api-key'] = API_KEY;\n if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;\n if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;\n if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;\n\n const res = await fetch(MCP_URL, {\n method: 'POST',\n headers,\n body: JSON.stringify({ name: toolName, arguments: args || {} }),\n });\n\n const text = await res.text();\n\n let payload;\n try {\n payload = text ? JSON.parse(text) : null;\n } catch {\n payload = { content: [{ type: 'text', text }] };\n }\n\n if (!res.ok) {\n let message = (payload && (payload.error || payload.message)) || 'Tool call failed: HTTP ' + res.status;\n if ((res.status === 401 || res.status === 403) && typeof text === 'string' && text.indexOf('Authorization header') !== -1) {\n message =\n 'Code Mode callback was rejected by the MCP server (HTTP ' + res.status + '). ' +\n 'The SDK route could not synthesize an Authorization header. Check the host-side ' +\n 'createMCPServer config (apiKey, getProviderToken) or pass providerTokens to the ' +\n 'AI helper. Original upstream message: ' + text;\n }\n const err = new Error(message);\n err.status = res.status;\n err.toolName = toolName;\n throw err;\n }\n\n return payload;\n}\n\nfunction createIntegrationProxy(integrationId) {\n return new Proxy({}, {\n get(_target, methodName) {\n if (!isToolProperty(methodName)) return undefined;\n return (args) => {\n const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');\n const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);\n return callTool(toolName, args);\n };\n },\n });\n}\n\nexport const client = new Proxy({}, {\n get(_target, integrationId) {\n if (typeof integrationId !== 'string') return undefined;\n return createIntegrationProxy(integrationId);\n },\n});\n\nexport { callTool };\n";
16
16
  //# sourceMappingURL=runtime-stub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-stub.d.ts","sourceRoot":"","sources":["../../../src/code-mode/runtime-stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,o4FAiF/B,CAAC"}
1
+ {"version":3,"file":"runtime-stub.d.ts","sourceRoot":"","sources":["../../../src/code-mode/runtime-stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,q7GA2G/B,CAAC"}
@@ -34,6 +34,32 @@ function camelToSnake(str) {
34
34
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
35
35
  }
36
36
 
37
+ const NON_TOOL_PROPERTIES = new Set([
38
+ // Promise assimilation and object inspection should not become MCP calls.
39
+ 'then',
40
+ 'catch',
41
+ 'finally',
42
+ 'constructor',
43
+ 'prototype',
44
+ 'toString',
45
+ 'valueOf',
46
+ 'toJSON',
47
+ 'inspect',
48
+ 'hasOwnProperty',
49
+ 'isPrototypeOf',
50
+ 'propertyIsEnumerable',
51
+ '__proto__',
52
+ '__defineGetter__',
53
+ '__defineSetter__',
54
+ '__lookupGetter__',
55
+ '__lookupSetter__',
56
+ '__esModule',
57
+ ]);
58
+
59
+ function isToolProperty(property) {
60
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
61
+ }
62
+
37
63
  async function callTool(toolName, args) {
38
64
  const headers = {
39
65
  'Content-Type': 'application/json',
@@ -81,7 +107,7 @@ async function callTool(toolName, args) {
81
107
  function createIntegrationProxy(integrationId) {
82
108
  return new Proxy({}, {
83
109
  get(_target, methodName) {
84
- if (typeof methodName !== 'string') return undefined;
110
+ if (!isToolProperty(methodName)) return undefined;
85
111
  return (args) => {
86
112
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
87
113
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -279,6 +279,32 @@ function camelToSnake(str) {
279
279
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
280
280
  }
281
281
 
282
+ const NON_TOOL_PROPERTIES = new Set([
283
+ // Promise assimilation and object inspection should not become MCP calls.
284
+ 'then',
285
+ 'catch',
286
+ 'finally',
287
+ 'constructor',
288
+ 'prototype',
289
+ 'toString',
290
+ 'valueOf',
291
+ 'toJSON',
292
+ 'inspect',
293
+ 'hasOwnProperty',
294
+ 'isPrototypeOf',
295
+ 'propertyIsEnumerable',
296
+ '__proto__',
297
+ '__defineGetter__',
298
+ '__defineSetter__',
299
+ '__lookupGetter__',
300
+ '__lookupSetter__',
301
+ '__esModule',
302
+ ]);
303
+
304
+ function isToolProperty(property) {
305
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
306
+ }
307
+
282
308
  async function callTool(toolName, args) {
283
309
  const headers = {
284
310
  'Content-Type': 'application/json',
@@ -326,7 +352,7 @@ async function callTool(toolName, args) {
326
352
  function createIntegrationProxy(integrationId) {
327
353
  return new Proxy({}, {
328
354
  get(_target, methodName) {
329
- if (typeof methodName !== 'string') return undefined;
355
+ if (!isToolProperty(methodName)) return undefined;
330
356
  return (args) => {
331
357
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
332
358
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
package/dist/index.js CHANGED
@@ -1962,6 +1962,34 @@ class OAuthManager {
1962
1962
 
1963
1963
  // src/client.ts
1964
1964
  var CLIENT_LOG_CONTEXT = "client";
1965
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
1966
+ "then",
1967
+ "catch",
1968
+ "finally",
1969
+ "constructor",
1970
+ "prototype",
1971
+ "toString",
1972
+ "valueOf",
1973
+ "toJSON",
1974
+ "inspect",
1975
+ "hasOwnProperty",
1976
+ "isPrototypeOf",
1977
+ "propertyIsEnumerable",
1978
+ "__proto__",
1979
+ "__defineGetter__",
1980
+ "__defineSetter__",
1981
+ "__lookupGetter__",
1982
+ "__lookupSetter__",
1983
+ "__esModule",
1984
+ Symbol.toStringTag,
1985
+ Symbol.toPrimitive,
1986
+ Symbol.iterator,
1987
+ Symbol.asyncIterator,
1988
+ Symbol.for("nodejs.util.inspect.custom")
1989
+ ]);
1990
+ function isToolProxyProperty(property) {
1991
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
1992
+ }
1965
1993
 
1966
1994
  class SimpleEventEmitter {
1967
1995
  handlers = new Map;
@@ -2186,6 +2214,8 @@ class MCPClientBase {
2186
2214
  }
2187
2215
  return new Proxy({}, {
2188
2216
  get: (_target, methodName) => {
2217
+ if (!isToolProxyProperty(methodName))
2218
+ return;
2189
2219
  return async (args, options) => {
2190
2220
  const toolName = methodToToolName(methodName, integrationId);
2191
2221
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -2199,6 +2229,8 @@ class MCPClientBase {
2199
2229
  createServerProxy() {
2200
2230
  return new Proxy({}, {
2201
2231
  get: (_target, methodName) => {
2232
+ if (!isToolProxyProperty(methodName))
2233
+ return;
2202
2234
  if (methodName === "listConfiguredIntegrations") {
2203
2235
  return async (options) => {
2204
2236
  const transportHeaders = this.transport.headers || {};
@@ -2562,6 +2594,16 @@ class MCPClientBase {
2562
2594
  getAvailableTools() {
2563
2595
  return Array.from(this.availableTools.values());
2564
2596
  }
2597
+ hydrateToolCache(tools) {
2598
+ for (const tool of tools) {
2599
+ if (tool?.name && tool.inputSchema) {
2600
+ this.availableTools.set(tool.name, tool);
2601
+ }
2602
+ }
2603
+ }
2604
+ getCachedEnabledTools() {
2605
+ return this.getEnabledTools();
2606
+ }
2565
2607
  setRequestHeader(key, value) {
2566
2608
  this.transport.setHeader(key, value);
2567
2609
  }
package/dist/server.js CHANGED
@@ -1552,6 +1552,32 @@ function camelToSnake(str) {
1552
1552
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
1553
1553
  }
1554
1554
 
1555
+ const NON_TOOL_PROPERTIES = new Set([
1556
+ // Promise assimilation and object inspection should not become MCP calls.
1557
+ 'then',
1558
+ 'catch',
1559
+ 'finally',
1560
+ 'constructor',
1561
+ 'prototype',
1562
+ 'toString',
1563
+ 'valueOf',
1564
+ 'toJSON',
1565
+ 'inspect',
1566
+ 'hasOwnProperty',
1567
+ 'isPrototypeOf',
1568
+ 'propertyIsEnumerable',
1569
+ '__proto__',
1570
+ '__defineGetter__',
1571
+ '__defineSetter__',
1572
+ '__lookupGetter__',
1573
+ '__lookupSetter__',
1574
+ '__esModule',
1575
+ ]);
1576
+
1577
+ function isToolProperty(property) {
1578
+ return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);
1579
+ }
1580
+
1555
1581
  async function callTool(toolName, args) {
1556
1582
  const headers = {
1557
1583
  'Content-Type': 'application/json',
@@ -1599,7 +1625,7 @@ async function callTool(toolName, args) {
1599
1625
  function createIntegrationProxy(integrationId) {
1600
1626
  return new Proxy({}, {
1601
1627
  get(_target, methodName) {
1602
- if (typeof methodName !== 'string') return undefined;
1628
+ if (!isToolProperty(methodName)) return undefined;
1603
1629
  return (args) => {
1604
1630
  const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');
1605
1631
  const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);
@@ -3432,6 +3458,34 @@ class OAuthManager {
3432
3458
 
3433
3459
  // src/client.ts
3434
3460
  var CLIENT_LOG_CONTEXT = "client";
3461
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
3462
+ "then",
3463
+ "catch",
3464
+ "finally",
3465
+ "constructor",
3466
+ "prototype",
3467
+ "toString",
3468
+ "valueOf",
3469
+ "toJSON",
3470
+ "inspect",
3471
+ "hasOwnProperty",
3472
+ "isPrototypeOf",
3473
+ "propertyIsEnumerable",
3474
+ "__proto__",
3475
+ "__defineGetter__",
3476
+ "__defineSetter__",
3477
+ "__lookupGetter__",
3478
+ "__lookupSetter__",
3479
+ "__esModule",
3480
+ Symbol.toStringTag,
3481
+ Symbol.toPrimitive,
3482
+ Symbol.iterator,
3483
+ Symbol.asyncIterator,
3484
+ Symbol.for("nodejs.util.inspect.custom")
3485
+ ]);
3486
+ function isToolProxyProperty(property) {
3487
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
3488
+ }
3435
3489
 
3436
3490
  class SimpleEventEmitter {
3437
3491
  handlers = new Map;
@@ -3654,6 +3708,8 @@ class MCPClientBase {
3654
3708
  }
3655
3709
  return new Proxy({}, {
3656
3710
  get: (_target, methodName) => {
3711
+ if (!isToolProxyProperty(methodName))
3712
+ return;
3657
3713
  return async (args, options) => {
3658
3714
  const toolName = methodToToolName(methodName, integrationId);
3659
3715
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -3667,6 +3723,8 @@ class MCPClientBase {
3667
3723
  createServerProxy() {
3668
3724
  return new Proxy({}, {
3669
3725
  get: (_target, methodName) => {
3726
+ if (!isToolProxyProperty(methodName))
3727
+ return;
3670
3728
  if (methodName === "listConfiguredIntegrations") {
3671
3729
  return async (options) => {
3672
3730
  const transportHeaders = this.transport.headers || {};
@@ -4030,6 +4088,16 @@ class MCPClientBase {
4030
4088
  getAvailableTools() {
4031
4089
  return Array.from(this.availableTools.values());
4032
4090
  }
4091
+ hydrateToolCache(tools) {
4092
+ for (const tool of tools) {
4093
+ if (tool?.name && tool.inputSchema) {
4094
+ this.availableTools.set(tool.name, tool);
4095
+ }
4096
+ }
4097
+ }
4098
+ getCachedEnabledTools() {
4099
+ return this.getEnabledTools();
4100
+ }
4033
4101
  setRequestHeader(key, value) {
4034
4102
  this.transport.setHeader(key, value);
4035
4103
  }
@@ -197,6 +197,21 @@ export declare class MCPClientBase<TIntegrations extends readonly MCPIntegration
197
197
  * Get all available tools
198
198
  */
199
199
  getAvailableTools(): MCPTool[];
200
+ /**
201
+ * Seed the local tool metadata cache without connecting to the MCP server.
202
+ *
203
+ * Serverless applications can persist tool metadata from a previous discovery
204
+ * pass, then hydrate it on cold start so AI adapters can build tool schemas
205
+ * without fanning out to list_tools_by_integration.
206
+ */
207
+ hydrateToolCache(tools: readonly MCPTool[]): void;
208
+ /**
209
+ * Return enabled tools from the local cache only.
210
+ *
211
+ * This never performs network requests. Use getEnabledToolsAsync() when
212
+ * missing schemas should be fetched from the server.
213
+ */
214
+ getCachedEnabledTools(): MCPTool[];
200
215
  /**
201
216
  * Set a custom HTTP header for all requests to the MCP server
202
217
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,OAAO,EAEP,mBAAmB,EAGpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAiB,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAoG1B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,KAAK,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AACvE,KAAK,cAAc,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,IAAI,oBAAoB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAEnH;;;GAGG;AACH,KAAK,qBAAqB,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,IAAI;KAC3E,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,QAAQ,GACvD,QAAQ,GACR,CAAC,SAAS,OAAO,GACjB,OAAO,GACP,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,CAAC,SAAS,OAAO,GACjB,OAAO,GACP,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,CAAC,SAAS,MAAM,GAChB,MAAM,GACN,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,UAAU,GACpB,UAAU,GACV,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,UAAU,GACpB,UAAU,GACV,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,CAAC,SAAS,MAAM,GAChB,MAAM,GACN,CAAC,SAAS,UAAU,GACpB,UAAU,GACV,CAAC,SAAS,OAAO,GACjB,OAAO,GACP,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,OAAO,GACjB,OAAO,GACP,CAAC,SAAS,OAAO,GACjB,OAAO,GACP,CAAC,SAAS,UAAU,GACpB,UAAU,GACV,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,SAAS,GACnB,SAAS,GACT,CAAC,SAAS,QAAQ,GAClB,QAAQ,GACR,KAAK,GACP,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,OAAO,GAAG,sBAAsB,GAC1C,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,OAAO,GAAG,sBAAsB,GAC1C,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,MAAM,GAAG,qBAAqB,GACxC,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,UAAU,GAAG,yBAAyB,GAChD,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,UAAU,GAAG,yBAAyB,GAChD,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,CAAC,SAAS,MAAM,GAAG,qBAAqB,GACxC,CAAC,SAAS,UAAU,GAAG,yBAAyB,GAChD,CAAC,SAAS,OAAO,GAAG,sBAAsB,GAC1C,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,OAAO,GAAG,sBAAsB,GAC1C,CAAC,SAAS,OAAO,GAAG,sBAAsB,GAC1C,CAAC,SAAS,UAAU,GAAG,yBAAyB,GAChD,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,SAAS,GAAG,wBAAwB,GAC9C,CAAC,SAAS,QAAQ,GAAG,uBAAuB,GAC5C,KAAK;CACN,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,GAAG,SAAS,cAAc,EAAE,IAC/F,aAAa,CAAC,aAAa,CAAC,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAEtE;;;;GAIG;AACH,qBAAa,aAAa,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,GAAG,SAAS,cAAc,EAAE;IACpG,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAgB;IACzC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAuF;IACxG,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,kBAAkB,CAA8B;IAExD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAAgB;IAEhD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB,CAAU;IAEnC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAG5C,SAAgB,MAAM,EAAG,uBAAuB,CAAC;IAGjD,SAAgB,OAAO,EAAG,aAAa,CAAC;gBAE5B,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC;IAmNlD;;;;;;;;;;OAUG;IACH,OAAO,CAAC,qBAAqB;IAuB7B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2NzB;;OAEG;YACW,sBAAsB;IAiBpC;;;;OAIG;YACW,eAAe;IAY7B;;OAEG;YACW,sBAAsB;IAQpC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB9B;;OAEG;YACW,UAAU;IAkBxB;;OAEG;YACW,aAAa;IA2B3B;;;;OAIG;IACG,eAAe,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAc/B;;;OAGG;YACW,sBAAsB;IA4HpC;;OAEG;YACW,iBAAiB;IAqE/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAI1C;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAI9B;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI;IAQjD;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,EAAE;IAIlC;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlD;;;;;;;;OAQG;IACH,eAAe,IAAI,OAAO,EAAE;IAM5B;;;;;;;;;;;;;;;;;OAiBG;IACG,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IA0FhD;;OAEG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAK9D;;OAEG;IACH,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAU9C;;OAEG;IACH,SAAS,CACP,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAClC,MAAM,IAAI;IAIb;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAC7E,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAC/E,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI;IACzE,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,IAAI;IACnF,EAAE,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAC,GAAG,IAAI;IAK3E;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAC9E,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAChF,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI;IAC1E,GAAG,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,IAAI;IACpF,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,CAAC,eAAe,CAAC,GAAG,IAAI;IAM5E;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAYzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B/E;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B7F;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,kBAAkB,EAAE,WAAW,EAAE,CAAC;IAIvF;;;;;;;;;;;;;OAaG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB7B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;KAAE,GAAG,SAAS;IAIvG;;OAEG;IACH,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAyC5F;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsB9C;;;;;;OAMG;IACG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAInF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,qBAAqB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DnH;;;;;;;;;;;;;;;;;;OAkBG;IACG,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BrE;;;;;;;;OAQG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,kBAAkB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAIjJ;;;;;;;;;OASG;IACG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7J;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAW9C;;;OAGG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA2BzD;AAmED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,eAAe,CAAC,aAAa,SAAS,SAAS,cAAc,EAAE,EAC7E,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,GACrC,SAAS,CAAC,aAAa,CAAC,CAsE1B;AAkFD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAetD"}
@@ -12,5 +12,5 @@
12
12
  * dependencies. It is NOT imported by the host SDK — it only ships as a
13
13
  * literal payload to the sandbox.
14
14
  */
15
- export declare const RUNTIME_STUB_SOURCE = "// runtime.mjs \u2014 generated by integrate-sdk code mode\nconst MCP_URL = process.env.INTEGRATE_MCP_URL;\nconst SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;\nconst API_KEY = process.env.INTEGRATE_API_KEY || '';\nconst PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';\nconst INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';\nconst CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';\n\nif (!MCP_URL) {\n throw new Error('INTEGRATE_MCP_URL is not set \u2014 the sandbox cannot reach the MCP route.');\n}\n\nfunction camelToSnake(str) {\n return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());\n}\n\nasync function callTool(toolName, args) {\n const headers = {\n 'Content-Type': 'application/json',\n 'x-integrate-code-mode': '1',\n };\n if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;\n if (API_KEY) headers['x-integrate-api-key'] = API_KEY;\n if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;\n if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;\n if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;\n\n const res = await fetch(MCP_URL, {\n method: 'POST',\n headers,\n body: JSON.stringify({ name: toolName, arguments: args || {} }),\n });\n\n const text = await res.text();\n\n let payload;\n try {\n payload = text ? JSON.parse(text) : null;\n } catch {\n payload = { content: [{ type: 'text', text }] };\n }\n\n if (!res.ok) {\n let message = (payload && (payload.error || payload.message)) || 'Tool call failed: HTTP ' + res.status;\n if ((res.status === 401 || res.status === 403) && typeof text === 'string' && text.indexOf('Authorization header') !== -1) {\n message =\n 'Code Mode callback was rejected by the MCP server (HTTP ' + res.status + '). ' +\n 'The SDK route could not synthesize an Authorization header. Check the host-side ' +\n 'createMCPServer config (apiKey, getProviderToken) or pass providerTokens to the ' +\n 'AI helper. Original upstream message: ' + text;\n }\n const err = new Error(message);\n err.status = res.status;\n err.toolName = toolName;\n throw err;\n }\n\n return payload;\n}\n\nfunction createIntegrationProxy(integrationId) {\n return new Proxy({}, {\n get(_target, methodName) {\n if (typeof methodName !== 'string') return undefined;\n return (args) => {\n const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');\n const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);\n return callTool(toolName, args);\n };\n },\n });\n}\n\nexport const client = new Proxy({}, {\n get(_target, integrationId) {\n if (typeof integrationId !== 'string') return undefined;\n return createIntegrationProxy(integrationId);\n },\n});\n\nexport { callTool };\n";
15
+ export declare const RUNTIME_STUB_SOURCE = "// runtime.mjs \u2014 generated by integrate-sdk code mode\nconst MCP_URL = process.env.INTEGRATE_MCP_URL;\nconst SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;\nconst API_KEY = process.env.INTEGRATE_API_KEY || '';\nconst PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';\nconst INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';\nconst CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';\n\nif (!MCP_URL) {\n throw new Error('INTEGRATE_MCP_URL is not set \u2014 the sandbox cannot reach the MCP route.');\n}\n\nfunction camelToSnake(str) {\n return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());\n}\n\nconst NON_TOOL_PROPERTIES = new Set([\n // Promise assimilation and object inspection should not become MCP calls.\n 'then',\n 'catch',\n 'finally',\n 'constructor',\n 'prototype',\n 'toString',\n 'valueOf',\n 'toJSON',\n 'inspect',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n '__proto__',\n '__defineGetter__',\n '__defineSetter__',\n '__lookupGetter__',\n '__lookupSetter__',\n '__esModule',\n]);\n\nfunction isToolProperty(property) {\n return typeof property === 'string' && !NON_TOOL_PROPERTIES.has(property);\n}\n\nasync function callTool(toolName, args) {\n const headers = {\n 'Content-Type': 'application/json',\n 'x-integrate-code-mode': '1',\n };\n if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;\n if (API_KEY) headers['x-integrate-api-key'] = API_KEY;\n if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;\n if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;\n if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;\n\n const res = await fetch(MCP_URL, {\n method: 'POST',\n headers,\n body: JSON.stringify({ name: toolName, arguments: args || {} }),\n });\n\n const text = await res.text();\n\n let payload;\n try {\n payload = text ? JSON.parse(text) : null;\n } catch {\n payload = { content: [{ type: 'text', text }] };\n }\n\n if (!res.ok) {\n let message = (payload && (payload.error || payload.message)) || 'Tool call failed: HTTP ' + res.status;\n if ((res.status === 401 || res.status === 403) && typeof text === 'string' && text.indexOf('Authorization header') !== -1) {\n message =\n 'Code Mode callback was rejected by the MCP server (HTTP ' + res.status + '). ' +\n 'The SDK route could not synthesize an Authorization header. Check the host-side ' +\n 'createMCPServer config (apiKey, getProviderToken) or pass providerTokens to the ' +\n 'AI helper. Original upstream message: ' + text;\n }\n const err = new Error(message);\n err.status = res.status;\n err.toolName = toolName;\n throw err;\n }\n\n return payload;\n}\n\nfunction createIntegrationProxy(integrationId) {\n return new Proxy({}, {\n get(_target, methodName) {\n if (!isToolProperty(methodName)) return undefined;\n return (args) => {\n const alreadyFull = methodName.startsWith(integrationId + '_') || methodName.startsWith('___');\n const toolName = alreadyFull ? methodName : integrationId + '_' + camelToSnake(methodName);\n return callTool(toolName, args);\n };\n },\n });\n}\n\nexport const client = new Proxy({}, {\n get(_target, integrationId) {\n if (typeof integrationId !== 'string') return undefined;\n return createIntegrationProxy(integrationId);\n },\n});\n\nexport { callTool };\n";
16
16
  //# sourceMappingURL=runtime-stub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-stub.d.ts","sourceRoot":"","sources":["../../../src/code-mode/runtime-stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,o4FAiF/B,CAAC"}
1
+ {"version":3,"file":"runtime-stub.d.ts","sourceRoot":"","sources":["../../../src/code-mode/runtime-stub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,q7GA2G/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "integrate-sdk",
3
- "version": "0.9.26",
3
+ "version": "0.9.27-dev.1",
4
4
  "description": "Type-safe 3rd party integration SDK for the Integrate MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",