integrate-sdk 0.8.54-dev.0 → 0.8.55-dev.0

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.
@@ -2205,6 +2205,69 @@ class MCPClientBase {
2205
2205
  getEnabledTools() {
2206
2206
  return Array.from(this.availableTools.values()).filter((tool) => this.enabledToolNames.has(tool.name));
2207
2207
  }
2208
+ async getEnabledToolsAsync() {
2209
+ if (this.isConnected() && this.availableTools.size > 0) {
2210
+ return this.getEnabledTools();
2211
+ }
2212
+ if (this.availableTools.size > 0) {
2213
+ return this.getEnabledTools();
2214
+ }
2215
+ const tools = [];
2216
+ const integrationIds = new Set;
2217
+ for (const integration of this.integrations) {
2218
+ integrationIds.add(integration.id);
2219
+ }
2220
+ const { parallelWithLimit: parallelWithLimit2 } = await Promise.resolve().then(() => exports_concurrency);
2221
+ const integrationToolsResults = await parallelWithLimit2(Array.from(integrationIds), async (integrationId) => {
2222
+ try {
2223
+ const response = await this.callServerToolInternal("list_tools_by_integration", {
2224
+ integration: integrationId
2225
+ });
2226
+ const integrationTools = [];
2227
+ if (response.content && Array.isArray(response.content)) {
2228
+ for (const item of response.content) {
2229
+ if (item.type === "text" && item.text) {
2230
+ try {
2231
+ const parsed = JSON.parse(item.text);
2232
+ if (Array.isArray(parsed)) {
2233
+ for (const tool of parsed) {
2234
+ if (tool.name && tool.inputSchema) {
2235
+ integrationTools.push({
2236
+ name: tool.name,
2237
+ description: tool.description,
2238
+ inputSchema: tool.inputSchema
2239
+ });
2240
+ }
2241
+ }
2242
+ } else if (parsed.tools && Array.isArray(parsed.tools)) {
2243
+ for (const tool of parsed.tools) {
2244
+ if (tool.name && tool.inputSchema) {
2245
+ integrationTools.push({
2246
+ name: tool.name,
2247
+ description: tool.description,
2248
+ inputSchema: tool.inputSchema
2249
+ });
2250
+ }
2251
+ }
2252
+ }
2253
+ } catch {}
2254
+ }
2255
+ }
2256
+ }
2257
+ return integrationTools;
2258
+ } catch (error) {
2259
+ logger5.error(`Failed to fetch tools for integration ${integrationId}:`, error);
2260
+ return [];
2261
+ }
2262
+ }, 3);
2263
+ for (const integrationTools of integrationToolsResults) {
2264
+ tools.push(...integrationTools);
2265
+ }
2266
+ for (const tool of tools) {
2267
+ this.availableTools.set(tool.name, tool);
2268
+ }
2269
+ return tools.filter((tool) => this.enabledToolNames.has(tool.name));
2270
+ }
2208
2271
  getOAuthConfig(integrationId) {
2209
2272
  const integration = this.integrations.find((p) => p.id === integrationId);
2210
2273
  return integration?.oauth;
@@ -7727,11 +7790,6 @@ async function executeToolWithToken(client, toolName, args, options) {
7727
7790
  const result = await client._callToolByName(toolName, args);
7728
7791
  return result;
7729
7792
  }
7730
- async function ensureClientConnected(client) {
7731
- if (!client.isConnected()) {
7732
- await client.connect();
7733
- }
7734
- }
7735
7793
  var init_utils = __esm(() => {
7736
7794
  init_zod();
7737
7795
  });
@@ -7974,7 +8032,6 @@ function convertMCPToolToVercelAI(mcpTool, client, options) {
7974
8032
  };
7975
8033
  }
7976
8034
  async function getVercelAITools(client, options) {
7977
- await ensureClientConnected(client);
7978
8035
  let providerTokens = options?.providerTokens;
7979
8036
  if (!providerTokens) {
7980
8037
  try {
@@ -7982,7 +8039,7 @@ async function getVercelAITools(client, options) {
7982
8039
  } catch {}
7983
8040
  }
7984
8041
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
7985
- const mcpTools = client.getEnabledTools();
8042
+ const mcpTools = await client.getEnabledToolsAsync();
7986
8043
  const vercelTools = {};
7987
8044
  for (const mcpTool of mcpTools) {
7988
8045
  vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, finalOptions);
@@ -9415,7 +9472,6 @@ function convertMCPToolToOpenAI(mcpTool, _client, options) {
9415
9472
  };
9416
9473
  }
9417
9474
  async function getOpenAITools(client, options) {
9418
- await ensureClientConnected(client);
9419
9475
  let providerTokens = options?.providerTokens;
9420
9476
  if (!providerTokens) {
9421
9477
  try {
@@ -9423,7 +9479,7 @@ async function getOpenAITools(client, options) {
9423
9479
  } catch {}
9424
9480
  }
9425
9481
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9426
- const mcpTools = client.getEnabledTools();
9482
+ const mcpTools = await client.getEnabledToolsAsync();
9427
9483
  const openaiTools = mcpTools.map((mcpTool) => convertMCPToolToOpenAI(mcpTool, client, finalOptions));
9428
9484
  const triggerConfig = client.__triggerConfig;
9429
9485
  if (triggerConfig) {
@@ -9547,7 +9603,6 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
9547
9603
  return toolResults;
9548
9604
  }
9549
9605
  async function getAnthropicTools(client, options) {
9550
- await ensureClientConnected(client);
9551
9606
  let providerTokens = options?.providerTokens;
9552
9607
  if (!providerTokens) {
9553
9608
  try {
@@ -9555,7 +9610,7 @@ async function getAnthropicTools(client, options) {
9555
9610
  } catch {}
9556
9611
  }
9557
9612
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9558
- const mcpTools = client.getEnabledTools();
9613
+ const mcpTools = await client.getEnabledToolsAsync();
9559
9614
  const anthropicTools = mcpTools.map((mcpTool) => convertMCPToolToAnthropic(mcpTool, client, finalOptions));
9560
9615
  const triggerConfig = client.__triggerConfig;
9561
9616
  if (triggerConfig) {
@@ -9702,7 +9757,6 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
9702
9757
  return results;
9703
9758
  }
9704
9759
  async function getGoogleTools(client, options) {
9705
- await ensureClientConnected(client);
9706
9760
  let providerTokens = options?.providerTokens;
9707
9761
  if (!providerTokens) {
9708
9762
  try {
@@ -9710,7 +9764,7 @@ async function getGoogleTools(client, options) {
9710
9764
  } catch {}
9711
9765
  }
9712
9766
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9713
- const mcpTools = client.getEnabledTools();
9767
+ const mcpTools = await client.getEnabledToolsAsync();
9714
9768
  const googleTools = await Promise.all(mcpTools.map((mcpTool) => convertMCPToolToGoogle(mcpTool, client, finalOptions)));
9715
9769
  const triggerConfig = client.__triggerConfig;
9716
9770
  if (triggerConfig) {
@@ -2205,6 +2205,69 @@ class MCPClientBase {
2205
2205
  getEnabledTools() {
2206
2206
  return Array.from(this.availableTools.values()).filter((tool) => this.enabledToolNames.has(tool.name));
2207
2207
  }
2208
+ async getEnabledToolsAsync() {
2209
+ if (this.isConnected() && this.availableTools.size > 0) {
2210
+ return this.getEnabledTools();
2211
+ }
2212
+ if (this.availableTools.size > 0) {
2213
+ return this.getEnabledTools();
2214
+ }
2215
+ const tools = [];
2216
+ const integrationIds = new Set;
2217
+ for (const integration of this.integrations) {
2218
+ integrationIds.add(integration.id);
2219
+ }
2220
+ const { parallelWithLimit: parallelWithLimit2 } = await Promise.resolve().then(() => exports_concurrency);
2221
+ const integrationToolsResults = await parallelWithLimit2(Array.from(integrationIds), async (integrationId) => {
2222
+ try {
2223
+ const response = await this.callServerToolInternal("list_tools_by_integration", {
2224
+ integration: integrationId
2225
+ });
2226
+ const integrationTools = [];
2227
+ if (response.content && Array.isArray(response.content)) {
2228
+ for (const item of response.content) {
2229
+ if (item.type === "text" && item.text) {
2230
+ try {
2231
+ const parsed = JSON.parse(item.text);
2232
+ if (Array.isArray(parsed)) {
2233
+ for (const tool of parsed) {
2234
+ if (tool.name && tool.inputSchema) {
2235
+ integrationTools.push({
2236
+ name: tool.name,
2237
+ description: tool.description,
2238
+ inputSchema: tool.inputSchema
2239
+ });
2240
+ }
2241
+ }
2242
+ } else if (parsed.tools && Array.isArray(parsed.tools)) {
2243
+ for (const tool of parsed.tools) {
2244
+ if (tool.name && tool.inputSchema) {
2245
+ integrationTools.push({
2246
+ name: tool.name,
2247
+ description: tool.description,
2248
+ inputSchema: tool.inputSchema
2249
+ });
2250
+ }
2251
+ }
2252
+ }
2253
+ } catch {}
2254
+ }
2255
+ }
2256
+ }
2257
+ return integrationTools;
2258
+ } catch (error) {
2259
+ logger5.error(`Failed to fetch tools for integration ${integrationId}:`, error);
2260
+ return [];
2261
+ }
2262
+ }, 3);
2263
+ for (const integrationTools of integrationToolsResults) {
2264
+ tools.push(...integrationTools);
2265
+ }
2266
+ for (const tool of tools) {
2267
+ this.availableTools.set(tool.name, tool);
2268
+ }
2269
+ return tools.filter((tool) => this.enabledToolNames.has(tool.name));
2270
+ }
2208
2271
  getOAuthConfig(integrationId) {
2209
2272
  const integration = this.integrations.find((p) => p.id === integrationId);
2210
2273
  return integration?.oauth;
@@ -7727,11 +7790,6 @@ async function executeToolWithToken(client, toolName, args, options) {
7727
7790
  const result = await client._callToolByName(toolName, args);
7728
7791
  return result;
7729
7792
  }
7730
- async function ensureClientConnected(client) {
7731
- if (!client.isConnected()) {
7732
- await client.connect();
7733
- }
7734
- }
7735
7793
  var init_utils = __esm(() => {
7736
7794
  init_zod();
7737
7795
  });
@@ -7974,7 +8032,6 @@ function convertMCPToolToVercelAI(mcpTool, client, options) {
7974
8032
  };
7975
8033
  }
7976
8034
  async function getVercelAITools(client, options) {
7977
- await ensureClientConnected(client);
7978
8035
  let providerTokens = options?.providerTokens;
7979
8036
  if (!providerTokens) {
7980
8037
  try {
@@ -7982,7 +8039,7 @@ async function getVercelAITools(client, options) {
7982
8039
  } catch {}
7983
8040
  }
7984
8041
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
7985
- const mcpTools = client.getEnabledTools();
8042
+ const mcpTools = await client.getEnabledToolsAsync();
7986
8043
  const vercelTools = {};
7987
8044
  for (const mcpTool of mcpTools) {
7988
8045
  vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, finalOptions);
@@ -9415,7 +9472,6 @@ function convertMCPToolToOpenAI(mcpTool, _client, options) {
9415
9472
  };
9416
9473
  }
9417
9474
  async function getOpenAITools(client, options) {
9418
- await ensureClientConnected(client);
9419
9475
  let providerTokens = options?.providerTokens;
9420
9476
  if (!providerTokens) {
9421
9477
  try {
@@ -9423,7 +9479,7 @@ async function getOpenAITools(client, options) {
9423
9479
  } catch {}
9424
9480
  }
9425
9481
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9426
- const mcpTools = client.getEnabledTools();
9482
+ const mcpTools = await client.getEnabledToolsAsync();
9427
9483
  const openaiTools = mcpTools.map((mcpTool) => convertMCPToolToOpenAI(mcpTool, client, finalOptions));
9428
9484
  const triggerConfig = client.__triggerConfig;
9429
9485
  if (triggerConfig) {
@@ -9547,7 +9603,6 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
9547
9603
  return toolResults;
9548
9604
  }
9549
9605
  async function getAnthropicTools(client, options) {
9550
- await ensureClientConnected(client);
9551
9606
  let providerTokens = options?.providerTokens;
9552
9607
  if (!providerTokens) {
9553
9608
  try {
@@ -9555,7 +9610,7 @@ async function getAnthropicTools(client, options) {
9555
9610
  } catch {}
9556
9611
  }
9557
9612
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9558
- const mcpTools = client.getEnabledTools();
9613
+ const mcpTools = await client.getEnabledToolsAsync();
9559
9614
  const anthropicTools = mcpTools.map((mcpTool) => convertMCPToolToAnthropic(mcpTool, client, finalOptions));
9560
9615
  const triggerConfig = client.__triggerConfig;
9561
9616
  if (triggerConfig) {
@@ -9702,7 +9757,6 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
9702
9757
  return results;
9703
9758
  }
9704
9759
  async function getGoogleTools(client, options) {
9705
- await ensureClientConnected(client);
9706
9760
  let providerTokens = options?.providerTokens;
9707
9761
  if (!providerTokens) {
9708
9762
  try {
@@ -9710,7 +9764,7 @@ async function getGoogleTools(client, options) {
9710
9764
  } catch {}
9711
9765
  }
9712
9766
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9713
- const mcpTools = client.getEnabledTools();
9767
+ const mcpTools = await client.getEnabledToolsAsync();
9714
9768
  const googleTools = await Promise.all(mcpTools.map((mcpTool) => convertMCPToolToGoogle(mcpTool, client, finalOptions)));
9715
9769
  const triggerConfig = client.__triggerConfig;
9716
9770
  if (triggerConfig) {
@@ -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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjH,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C;;;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;IAC3D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED;;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;AA2HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAwC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpG,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAkC5I"}
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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG1F,OAAO,KAAK,SAAS,MAAM,mBAAmB,CAAC;AAE/C;;;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;IAC3D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAED;;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;AA2HD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAyC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpG,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAkC5I"}
@@ -4446,7 +4446,6 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
4446
4446
  return toolResults;
4447
4447
  }
4448
4448
  async function getAnthropicTools(client, options) {
4449
- await ensureClientConnected(client);
4450
4449
  let providerTokens = options?.providerTokens;
4451
4450
  if (!providerTokens) {
4452
4451
  try {
@@ -4454,7 +4453,7 @@ async function getAnthropicTools(client, options) {
4454
4453
  } catch {}
4455
4454
  }
4456
4455
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4457
- const mcpTools = client.getEnabledTools();
4456
+ const mcpTools = await client.getEnabledToolsAsync();
4458
4457
  const anthropicTools = mcpTools.map((mcpTool) => convertMCPToolToAnthropic(mcpTool, client, finalOptions));
4459
4458
  const triggerConfig = client.__triggerConfig;
4460
4459
  if (triggerConfig) {
@@ -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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjH,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACL,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAuB7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAsGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA2CnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA8CvB"}
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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAM1F,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,YAAY,EACZ,IAAI,EACL,MAAM,eAAe,CAAC;AAGvB,MAAM,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAC9C,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAuB7B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAsGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,aAAa,EAAE,kBAAkB,EAAE,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,EAAE,CAAC,CA2CnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA+CvB"}
package/dist/ai/google.js CHANGED
@@ -4500,7 +4500,6 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
4500
4500
  return results;
4501
4501
  }
4502
4502
  async function getGoogleTools(client, options) {
4503
- await ensureClientConnected(client);
4504
4503
  let providerTokens = options?.providerTokens;
4505
4504
  if (!providerTokens) {
4506
4505
  try {
@@ -4508,7 +4507,7 @@ async function getGoogleTools(client, options) {
4508
4507
  } catch {}
4509
4508
  }
4510
4509
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4511
- const mcpTools = client.getEnabledTools();
4510
+ const mcpTools = await client.getEnabledToolsAsync();
4512
4511
  const googleTools = await Promise.all(mcpTools.map((mcpTool) => convertMCPToolToGoogle(mcpTool, client, finalOptions)));
4513
4512
  const triggerConfig = client.__triggerConfig;
4514
4513
  if (triggerConfig) {
package/dist/ai/index.js CHANGED
@@ -4446,7 +4446,6 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
4446
4446
  return toolResults;
4447
4447
  }
4448
4448
  async function getAnthropicTools(client, options) {
4449
- await ensureClientConnected(client);
4450
4449
  let providerTokens = options?.providerTokens;
4451
4450
  if (!providerTokens) {
4452
4451
  try {
@@ -4454,7 +4453,7 @@ async function getAnthropicTools(client, options) {
4454
4453
  } catch {}
4455
4454
  }
4456
4455
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4457
- const mcpTools = client.getEnabledTools();
4456
+ const mcpTools = await client.getEnabledToolsAsync();
4458
4457
  const anthropicTools = mcpTools.map((mcpTool) => convertMCPToolToAnthropic(mcpTool, client, finalOptions));
4459
4458
  const triggerConfig = client.__triggerConfig;
4460
4459
  if (triggerConfig) {
@@ -4597,7 +4596,6 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
4597
4596
  return results;
4598
4597
  }
4599
4598
  async function getGoogleTools(client, options) {
4600
- await ensureClientConnected(client);
4601
4599
  let providerTokens = options?.providerTokens;
4602
4600
  if (!providerTokens) {
4603
4601
  try {
@@ -4605,7 +4603,7 @@ async function getGoogleTools(client, options) {
4605
4603
  } catch {}
4606
4604
  }
4607
4605
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4608
- const mcpTools = client.getEnabledTools();
4606
+ const mcpTools = await client.getEnabledToolsAsync();
4609
4607
  const googleTools = await Promise.all(mcpTools.map((mcpTool) => convertMCPToolToGoogle(mcpTool, client, finalOptions)));
4610
4608
  const triggerConfig = client.__triggerConfig;
4611
4609
  if (triggerConfig) {
@@ -4696,7 +4694,6 @@ function convertMCPToolToVercelAI(mcpTool, client, options) {
4696
4694
  };
4697
4695
  }
4698
4696
  async function getVercelAITools(client, options) {
4699
- await ensureClientConnected(client);
4700
4697
  let providerTokens = options?.providerTokens;
4701
4698
  if (!providerTokens) {
4702
4699
  try {
@@ -4704,7 +4701,7 @@ async function getVercelAITools(client, options) {
4704
4701
  } catch {}
4705
4702
  }
4706
4703
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4707
- const mcpTools = client.getEnabledTools();
4704
+ const mcpTools = await client.getEnabledToolsAsync();
4708
4705
  const vercelTools = {};
4709
4706
  for (const mcpTool of mcpTools) {
4710
4707
  vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, finalOptions);
@@ -4730,7 +4727,6 @@ function convertMCPToolToOpenAI(mcpTool, _client, options) {
4730
4727
  };
4731
4728
  }
4732
4729
  async function getOpenAITools(client, options) {
4733
- await ensureClientConnected(client);
4734
4730
  let providerTokens = options?.providerTokens;
4735
4731
  if (!providerTokens) {
4736
4732
  try {
@@ -4738,7 +4734,7 @@ async function getOpenAITools(client, options) {
4738
4734
  } catch {}
4739
4735
  }
4740
4736
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4741
- const mcpTools = client.getEnabledTools();
4737
+ const mcpTools = await client.getEnabledToolsAsync();
4742
4738
  const openaiTools = mcpTools.map((mcpTool) => convertMCPToolToOpenAI(mcpTool, client, finalOptions));
4743
4739
  const triggerConfig = client.__triggerConfig;
4744
4740
  if (triggerConfig) {
@@ -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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA0CvB;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,EAChE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB3H"}
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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAG1F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GAAG,IAAI,CAAC;IACT,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA2CvB;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,QAAQ,EAAE;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,EAChE,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,GAAG;IAAE,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAA,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAyB3H"}
package/dist/ai/openai.js CHANGED
@@ -4414,7 +4414,6 @@ function convertMCPToolToOpenAI(mcpTool, _client, options) {
4414
4414
  };
4415
4415
  }
4416
4416
  async function getOpenAITools(client, options) {
4417
- await ensureClientConnected(client);
4418
4417
  let providerTokens = options?.providerTokens;
4419
4418
  if (!providerTokens) {
4420
4419
  try {
@@ -4422,7 +4421,7 @@ async function getOpenAITools(client, options) {
4422
4421
  } catch {}
4423
4422
  }
4424
4423
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4425
- const mcpTools = client.getEnabledTools();
4424
+ const mcpTools = await client.getEnabledToolsAsync();
4426
4425
  const openaiTools = mcpTools.map((mcpTool) => convertMCPToolToOpenAI(mcpTool, client, finalOptions));
4427
4426
  const triggerConfig = client.__triggerConfig;
4428
4427
  if (triggerConfig) {
@@ -61,8 +61,8 @@ export declare function createTriggerTools(config: TriggerToolsConfig, context?:
61
61
  type: "cron";
62
62
  expression: string;
63
63
  };
64
- name?: string | undefined;
65
64
  description?: string | undefined;
65
+ name?: string | undefined;
66
66
  }, {
67
67
  toolName: string;
68
68
  toolArguments: Record<string, unknown>;
@@ -73,8 +73,8 @@ export declare function createTriggerTools(config: TriggerToolsConfig, context?:
73
73
  type: "cron";
74
74
  expression: string;
75
75
  };
76
- name?: string | undefined;
77
76
  description?: string | undefined;
77
+ name?: string | undefined;
78
78
  }>;
79
79
  execute: (args: any) => Promise<import("../index.js").Trigger>;
80
80
  };
@@ -141,8 +141,8 @@ export declare function createTriggerTools(config: TriggerToolsConfig, context?:
141
141
  }>]>>;
142
142
  }, "strip", z.ZodTypeAny, {
143
143
  triggerId: string;
144
- name?: string | undefined;
145
144
  description?: string | undefined;
145
+ name?: string | undefined;
146
146
  toolArguments?: Record<string, unknown> | undefined;
147
147
  schedule?: {
148
148
  type: "once";
@@ -153,8 +153,8 @@ export declare function createTriggerTools(config: TriggerToolsConfig, context?:
153
153
  } | undefined;
154
154
  }, {
155
155
  triggerId: string;
156
- name?: string | undefined;
157
156
  description?: string | undefined;
157
+ name?: string | undefined;
158
158
  toolArguments?: Record<string, unknown> | undefined;
159
159
  schedule?: {
160
160
  type: "once";
@@ -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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAGpB;;;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;IAC1D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAiC/B"}
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;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAGpB;;;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;IAC1D,kDAAkD;IAClD,OAAO,CAAC,EAAE,UAAU,CAAC;CACtB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAiC/B"}
@@ -4415,7 +4415,6 @@ function convertMCPToolToVercelAI(mcpTool, client, options) {
4415
4415
  };
4416
4416
  }
4417
4417
  async function getVercelAITools(client, options) {
4418
- await ensureClientConnected(client);
4419
4418
  let providerTokens = options?.providerTokens;
4420
4419
  if (!providerTokens) {
4421
4420
  try {
@@ -4423,7 +4422,7 @@ async function getVercelAITools(client, options) {
4423
4422
  } catch {}
4424
4423
  }
4425
4424
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4426
- const mcpTools = client.getEnabledTools();
4425
+ const mcpTools = await client.getEnabledToolsAsync();
4427
4426
  const vercelTools = {};
4428
4427
  for (const mcpTool of mcpTools) {
4429
4428
  vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, finalOptions);
package/dist/index.js CHANGED
@@ -2233,6 +2233,69 @@ class MCPClientBase {
2233
2233
  getEnabledTools() {
2234
2234
  return Array.from(this.availableTools.values()).filter((tool) => this.enabledToolNames.has(tool.name));
2235
2235
  }
2236
+ async getEnabledToolsAsync() {
2237
+ if (this.isConnected() && this.availableTools.size > 0) {
2238
+ return this.getEnabledTools();
2239
+ }
2240
+ if (this.availableTools.size > 0) {
2241
+ return this.getEnabledTools();
2242
+ }
2243
+ const tools = [];
2244
+ const integrationIds = new Set;
2245
+ for (const integration of this.integrations) {
2246
+ integrationIds.add(integration.id);
2247
+ }
2248
+ const { parallelWithLimit: parallelWithLimit2 } = await Promise.resolve().then(() => exports_concurrency);
2249
+ const integrationToolsResults = await parallelWithLimit2(Array.from(integrationIds), async (integrationId) => {
2250
+ try {
2251
+ const response = await this.callServerToolInternal("list_tools_by_integration", {
2252
+ integration: integrationId
2253
+ });
2254
+ const integrationTools = [];
2255
+ if (response.content && Array.isArray(response.content)) {
2256
+ for (const item of response.content) {
2257
+ if (item.type === "text" && item.text) {
2258
+ try {
2259
+ const parsed = JSON.parse(item.text);
2260
+ if (Array.isArray(parsed)) {
2261
+ for (const tool of parsed) {
2262
+ if (tool.name && tool.inputSchema) {
2263
+ integrationTools.push({
2264
+ name: tool.name,
2265
+ description: tool.description,
2266
+ inputSchema: tool.inputSchema
2267
+ });
2268
+ }
2269
+ }
2270
+ } else if (parsed.tools && Array.isArray(parsed.tools)) {
2271
+ for (const tool of parsed.tools) {
2272
+ if (tool.name && tool.inputSchema) {
2273
+ integrationTools.push({
2274
+ name: tool.name,
2275
+ description: tool.description,
2276
+ inputSchema: tool.inputSchema
2277
+ });
2278
+ }
2279
+ }
2280
+ }
2281
+ } catch {}
2282
+ }
2283
+ }
2284
+ }
2285
+ return integrationTools;
2286
+ } catch (error) {
2287
+ logger5.error(`Failed to fetch tools for integration ${integrationId}:`, error);
2288
+ return [];
2289
+ }
2290
+ }, 3);
2291
+ for (const integrationTools of integrationToolsResults) {
2292
+ tools.push(...integrationTools);
2293
+ }
2294
+ for (const tool of tools) {
2295
+ this.availableTools.set(tool.name, tool);
2296
+ }
2297
+ return tools.filter((tool) => this.enabledToolNames.has(tool.name));
2298
+ }
2236
2299
  getOAuthConfig(integrationId) {
2237
2300
  const integration = this.integrations.find((p) => p.id === integrationId);
2238
2301
  return integration?.oauth;
@@ -8114,11 +8177,6 @@ async function executeToolWithToken(client, toolName, args, options) {
8114
8177
  const result = await client._callToolByName(toolName, args);
8115
8178
  return result;
8116
8179
  }
8117
- async function ensureClientConnected(client) {
8118
- if (!client.isConnected()) {
8119
- await client.connect();
8120
- }
8121
- }
8122
8180
  var init_utils = __esm(() => {
8123
8181
  init_zod();
8124
8182
  });
@@ -8349,7 +8407,6 @@ function convertMCPToolToVercelAI(mcpTool, client, options) {
8349
8407
  };
8350
8408
  }
8351
8409
  async function getVercelAITools(client, options) {
8352
- await ensureClientConnected(client);
8353
8410
  let providerTokens = options?.providerTokens;
8354
8411
  if (!providerTokens) {
8355
8412
  try {
@@ -8357,7 +8414,7 @@ async function getVercelAITools(client, options) {
8357
8414
  } catch {}
8358
8415
  }
8359
8416
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
8360
- const mcpTools = client.getEnabledTools();
8417
+ const mcpTools = await client.getEnabledToolsAsync();
8361
8418
  const vercelTools = {};
8362
8419
  for (const mcpTool of mcpTools) {
8363
8420
  vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, finalOptions);
@@ -9790,7 +9847,6 @@ function convertMCPToolToOpenAI(mcpTool, _client, options) {
9790
9847
  };
9791
9848
  }
9792
9849
  async function getOpenAITools(client, options) {
9793
- await ensureClientConnected(client);
9794
9850
  let providerTokens = options?.providerTokens;
9795
9851
  if (!providerTokens) {
9796
9852
  try {
@@ -9798,7 +9854,7 @@ async function getOpenAITools(client, options) {
9798
9854
  } catch {}
9799
9855
  }
9800
9856
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9801
- const mcpTools = client.getEnabledTools();
9857
+ const mcpTools = await client.getEnabledToolsAsync();
9802
9858
  const openaiTools = mcpTools.map((mcpTool) => convertMCPToolToOpenAI(mcpTool, client, finalOptions));
9803
9859
  const triggerConfig = client.__triggerConfig;
9804
9860
  if (triggerConfig) {
@@ -9922,7 +9978,6 @@ async function handleAnthropicToolCalls(client, messageContent, options) {
9922
9978
  return toolResults;
9923
9979
  }
9924
9980
  async function getAnthropicTools(client, options) {
9925
- await ensureClientConnected(client);
9926
9981
  let providerTokens = options?.providerTokens;
9927
9982
  if (!providerTokens) {
9928
9983
  try {
@@ -9930,7 +9985,7 @@ async function getAnthropicTools(client, options) {
9930
9985
  } catch {}
9931
9986
  }
9932
9987
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
9933
- const mcpTools = client.getEnabledTools();
9988
+ const mcpTools = await client.getEnabledToolsAsync();
9934
9989
  const anthropicTools = mcpTools.map((mcpTool) => convertMCPToolToAnthropic(mcpTool, client, finalOptions));
9935
9990
  const triggerConfig = client.__triggerConfig;
9936
9991
  if (triggerConfig) {
@@ -10077,7 +10132,6 @@ async function executeGoogleFunctionCalls(client, functionCalls, options) {
10077
10132
  return results;
10078
10133
  }
10079
10134
  async function getGoogleTools(client, options) {
10080
- await ensureClientConnected(client);
10081
10135
  let providerTokens = options?.providerTokens;
10082
10136
  if (!providerTokens) {
10083
10137
  try {
@@ -10085,7 +10139,7 @@ async function getGoogleTools(client, options) {
10085
10139
  } catch {}
10086
10140
  }
10087
10141
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10088
- const mcpTools = client.getEnabledTools();
10142
+ const mcpTools = await client.getEnabledToolsAsync();
10089
10143
  const googleTools = await Promise.all(mcpTools.map((mcpTool) => convertMCPToolToGoogle(mcpTool, client, finalOptions)));
10090
10144
  const triggerConfig = client.__triggerConfig;
10091
10145
  if (triggerConfig) {