integrate-sdk 0.9.4-dev.0 → 0.9.8-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.
Files changed (55) hide show
  1. package/dist/adapters/auto-routes.js +76 -16
  2. package/dist/adapters/index.js +76 -16
  3. package/dist/adapters/nextjs.js +76 -16
  4. package/dist/adapters/node.js +76 -16
  5. package/dist/adapters/svelte-kit.js +76 -16
  6. package/dist/adapters/tanstack-start.js +76 -16
  7. package/dist/ai/anthropic.d.ts +2 -2
  8. package/dist/ai/anthropic.d.ts.map +1 -1
  9. package/dist/ai/anthropic.js +45 -9
  10. package/dist/ai/google.d.ts +2 -2
  11. package/dist/ai/google.d.ts.map +1 -1
  12. package/dist/ai/google.js +45 -9
  13. package/dist/ai/index.js +51 -15
  14. package/dist/ai/openai.d.ts +2 -2
  15. package/dist/ai/openai.d.ts.map +1 -1
  16. package/dist/ai/openai.js +45 -9
  17. package/dist/ai/trigger-tools.d.ts +7 -7
  18. package/dist/ai/trigger-tools.js +7 -7
  19. package/dist/ai/vercel-ai.d.ts +2 -2
  20. package/dist/ai/vercel-ai.d.ts.map +1 -1
  21. package/dist/ai/vercel-ai.js +45 -9
  22. package/dist/code-mode/executor.d.ts +5 -0
  23. package/dist/code-mode/executor.d.ts.map +1 -1
  24. package/dist/code-mode/executor.js +35 -0
  25. package/dist/code-mode/index.d.ts +1 -1
  26. package/dist/code-mode/index.d.ts.map +1 -1
  27. package/dist/code-mode/index.js +43 -0
  28. package/dist/code-mode/runtime-stub.d.ts +1 -1
  29. package/dist/code-mode/runtime-stub.d.ts.map +1 -1
  30. package/dist/code-mode/runtime-stub.js +2 -0
  31. package/dist/code-mode/tool-builder.d.ts +1 -0
  32. package/dist/code-mode/tool-builder.d.ts.map +1 -1
  33. package/dist/code-mode/tool-builder.js +43 -0
  34. package/dist/index.js +76 -16
  35. package/dist/oauth.js +76 -16
  36. package/dist/server.js +76 -16
  37. package/dist/src/ai/anthropic.d.ts +2 -2
  38. package/dist/src/ai/anthropic.d.ts.map +1 -1
  39. package/dist/src/ai/google.d.ts +2 -2
  40. package/dist/src/ai/google.d.ts.map +1 -1
  41. package/dist/src/ai/openai.d.ts +2 -2
  42. package/dist/src/ai/openai.d.ts.map +1 -1
  43. package/dist/src/ai/trigger-tools.d.ts +7 -7
  44. package/dist/src/ai/vercel-ai.d.ts +2 -2
  45. package/dist/src/ai/vercel-ai.d.ts.map +1 -1
  46. package/dist/src/code-mode/executor.d.ts +5 -0
  47. package/dist/src/code-mode/executor.d.ts.map +1 -1
  48. package/dist/src/code-mode/index.d.ts +1 -1
  49. package/dist/src/code-mode/index.d.ts.map +1 -1
  50. package/dist/src/code-mode/runtime-stub.d.ts +1 -1
  51. package/dist/src/code-mode/runtime-stub.d.ts.map +1 -1
  52. package/dist/src/code-mode/tool-builder.d.ts +1 -0
  53. package/dist/src/code-mode/tool-builder.d.ts.map +1 -1
  54. package/dist/src/server.d.ts.map +1 -1
  55. package/package.json +3 -6
@@ -8173,7 +8173,7 @@ var init_utils2 = __esm(() => {
8173
8173
  function createTriggerTools(config, context) {
8174
8174
  const { callbacks } = config;
8175
8175
  return {
8176
- create_trigger: {
8176
+ trigger_create: {
8177
8177
  description: "Schedule a tool to run at a specific time or on a recurring schedule. Use this when the user wants to do something later.",
8178
8178
  inputSchema: exports_external.object({
8179
8179
  name: exports_external.string().optional().describe("Human-readable trigger name"),
@@ -8207,7 +8207,7 @@ function createTriggerTools(config, context) {
8207
8207
  return callbacks.create(trigger, context);
8208
8208
  }
8209
8209
  },
8210
- list_triggers: {
8210
+ trigger_list: {
8211
8211
  description: "List all scheduled triggers with optional filtering by status or tool name",
8212
8212
  inputSchema: exports_external.object({
8213
8213
  status: exports_external.enum(["active", "paused", "completed", "failed"]).optional().describe("Filter by trigger status"),
@@ -8231,7 +8231,7 @@ function createTriggerTools(config, context) {
8231
8231
  };
8232
8232
  }
8233
8233
  },
8234
- get_trigger: {
8234
+ trigger_get: {
8235
8235
  description: "Get details of a specific trigger by its ID",
8236
8236
  inputSchema: exports_external.object({
8237
8237
  triggerId: exports_external.string().describe("The trigger ID to retrieve")
@@ -8244,7 +8244,7 @@ function createTriggerTools(config, context) {
8244
8244
  return trigger;
8245
8245
  }
8246
8246
  },
8247
- update_trigger: {
8247
+ trigger_update: {
8248
8248
  description: "Update a trigger's properties like name, description, arguments, or schedule",
8249
8249
  inputSchema: exports_external.object({
8250
8250
  triggerId: exports_external.string().describe("The trigger ID to update"),
@@ -8271,7 +8271,7 @@ function createTriggerTools(config, context) {
8271
8271
  return callbacks.update(triggerId, updatesWithTimestamp, context);
8272
8272
  }
8273
8273
  },
8274
- delete_trigger: {
8274
+ trigger_delete: {
8275
8275
  description: "Delete a trigger permanently. This cannot be undone.",
8276
8276
  inputSchema: exports_external.object({
8277
8277
  triggerId: exports_external.string().describe("The trigger ID to delete")
@@ -8281,7 +8281,7 @@ function createTriggerTools(config, context) {
8281
8281
  return { success: true, message: `Trigger ${args.triggerId} deleted` };
8282
8282
  }
8283
8283
  },
8284
- pause_trigger: {
8284
+ trigger_pause: {
8285
8285
  description: "Pause a trigger to temporarily stop it from executing. Can be resumed later.",
8286
8286
  inputSchema: exports_external.object({
8287
8287
  triggerId: exports_external.string().describe("The trigger ID to pause")
@@ -8301,7 +8301,7 @@ function createTriggerTools(config, context) {
8301
8301
  }, context);
8302
8302
  }
8303
8303
  },
8304
- resume_trigger: {
8304
+ trigger_resume: {
8305
8305
  description: "Resume a paused trigger to start executing it again on schedule",
8306
8306
  inputSchema: exports_external.object({
8307
8307
  triggerId: exports_external.string().describe("The trigger ID to resume")
@@ -8541,6 +8541,7 @@ var init_type_generator = __esm(() => {
8541
8541
  var RUNTIME_STUB_SOURCE = `// runtime.mjs — generated by integrate-sdk code mode
8542
8542
  const MCP_URL = process.env.INTEGRATE_MCP_URL;
8543
8543
  const SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;
8544
+ const API_KEY = process.env.INTEGRATE_API_KEY || '';
8544
8545
  const PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';
8545
8546
  const INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';
8546
8547
  const CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';
@@ -8559,6 +8560,7 @@ async function callTool(toolName, args) {
8559
8560
  'x-integrate-code-mode': '1',
8560
8561
  };
8561
8562
  if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;
8563
+ if (API_KEY) headers['x-integrate-api-key'] = API_KEY;
8562
8564
  if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;
8563
8565
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
8564
8566
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
@@ -8610,11 +8612,40 @@ export { callTool };
8610
8612
  // ../code-mode/executor.ts
8611
8613
  var exports_executor = {};
8612
8614
  __export(exports_executor, {
8615
+ isSandboxAvailable: () => isSandboxAvailable,
8613
8616
  executeSandboxCode: () => executeSandboxCode,
8617
+ __setSandboxUnavailableForTests: () => __setSandboxUnavailableForTests,
8614
8618
  __setSandboxFactoryForTests: () => __setSandboxFactoryForTests
8615
8619
  });
8616
8620
  function __setSandboxFactoryForTests(factory) {
8617
8621
  sandboxFactoryOverride = factory;
8622
+ _sandboxForcedUnavailableForTests = false;
8623
+ _sandboxAvailableCache = null;
8624
+ }
8625
+ function __setSandboxUnavailableForTests(force) {
8626
+ _sandboxForcedUnavailableForTests = force;
8627
+ _sandboxAvailableCache = null;
8628
+ }
8629
+ async function isSandboxAvailable() {
8630
+ if (_sandboxAvailableCache !== null)
8631
+ return _sandboxAvailableCache;
8632
+ if (_sandboxForcedUnavailableForTests) {
8633
+ _sandboxAvailableCache = false;
8634
+ return false;
8635
+ }
8636
+ if (sandboxFactoryOverride) {
8637
+ _sandboxAvailableCache = true;
8638
+ return true;
8639
+ }
8640
+ try {
8641
+ const dynamicImport = new Function("specifier", "return import(specifier)");
8642
+ await dynamicImport("@" + "vercel/sandbox");
8643
+ _sandboxAvailableCache = true;
8644
+ return true;
8645
+ } catch {
8646
+ _sandboxAvailableCache = false;
8647
+ return false;
8648
+ }
8618
8649
  }
8619
8650
  async function loadSandboxFactory() {
8620
8651
  if (sandboxFactoryOverride)
@@ -8701,6 +8732,8 @@ async function executeSandboxCode(options) {
8701
8732
  const env = {
8702
8733
  INTEGRATE_MCP_URL: options.mcpUrl
8703
8734
  };
8735
+ if (options.apiKey)
8736
+ env.INTEGRATE_API_KEY = options.apiKey;
8704
8737
  if (options.sessionToken)
8705
8738
  env.INTEGRATE_SESSION_TOKEN = options.sessionToken;
8706
8739
  if (options.providerTokens && Object.keys(options.providerTokens).length > 0) {
@@ -8743,7 +8776,7 @@ async function executeSandboxCode(options) {
8743
8776
  }
8744
8777
  }
8745
8778
  }
8746
- var sandboxFactoryOverride = null, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
8779
+ var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
8747
8780
  var init_executor = () => {};
8748
8781
 
8749
8782
  // ../code-mode/tool-builder.ts
@@ -8751,6 +8784,13 @@ function resolveCodeModeClientConfig(client) {
8751
8784
  const oauthConfig = client.__oauthConfig;
8752
8785
  return oauthConfig?.codeMode ?? {};
8753
8786
  }
8787
+ async function canUseCodeMode(client) {
8788
+ if (!await isSandboxAvailable())
8789
+ return false;
8790
+ const serverConfig = resolveCodeModeClientConfig(client);
8791
+ const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
8792
+ return !!publicUrl;
8793
+ }
8754
8794
  function buildCodeModeTool(client, options) {
8755
8795
  const { tools, providerTokens, context, integrationIds } = options;
8756
8796
  const generated = generateCodeModeTypes(tools);
@@ -8763,6 +8803,7 @@ ${generated.source}
8763
8803
  \`\`\``;
8764
8804
  const execute = async ({ code }) => {
8765
8805
  const publicUrl = sandboxOverrides.publicUrl ?? serverCodeModeConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
8806
+ const apiKey = client.__oauthConfig?.apiKey;
8766
8807
  if (!publicUrl) {
8767
8808
  return {
8768
8809
  success: false,
@@ -8777,6 +8818,7 @@ ${generated.source}
8777
8818
  return executeSandboxCode({
8778
8819
  code,
8779
8820
  mcpUrl,
8821
+ apiKey,
8780
8822
  providerTokens,
8781
8823
  context,
8782
8824
  integrationsHeader: integrationIds && integrationIds.length > 0 ? integrationIds.join(",") : undefined,
@@ -8854,8 +8896,8 @@ async function getVercelAITools(client, options) {
8854
8896
  await ensureClientConnected(client);
8855
8897
  const mcpTools = await client.getEnabledToolsAsync();
8856
8898
  const vercelTools = {};
8857
- const mode = options?.mode ?? "code";
8858
- if (mode === "code") {
8899
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
8900
+ if (effectiveMode === "code") {
8859
8901
  const codeTool = buildCodeModeTool(client, {
8860
8902
  tools: mcpTools,
8861
8903
  providerTokens,
@@ -10313,8 +10355,8 @@ async function getOpenAITools(client, options) {
10313
10355
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10314
10356
  await ensureClientConnected(client);
10315
10357
  const mcpTools = await client.getEnabledToolsAsync();
10316
- const mode = options?.mode ?? "code";
10317
- const openaiTools = mode === "code" ? (() => {
10358
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10359
+ const openaiTools = effectiveMode === "code" ? (() => {
10318
10360
  const codeTool = buildCodeModeTool(client, {
10319
10361
  tools: mcpTools,
10320
10362
  providerTokens,
@@ -10493,8 +10535,8 @@ async function getAnthropicTools(client, options) {
10493
10535
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10494
10536
  await ensureClientConnected(client);
10495
10537
  const mcpTools = await client.getEnabledToolsAsync();
10496
- const mode = options?.mode ?? "code";
10497
- const anthropicTools = mode === "code" ? (() => {
10538
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10539
+ const anthropicTools = effectiveMode === "code" ? (() => {
10498
10540
  const codeTool = buildCodeModeTool(client, {
10499
10541
  tools: mcpTools,
10500
10542
  providerTokens,
@@ -10682,9 +10724,9 @@ async function getGoogleTools(client, options) {
10682
10724
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10683
10725
  await ensureClientConnected(client);
10684
10726
  const mcpTools = await client.getEnabledToolsAsync();
10685
- const mode = options?.mode ?? "code";
10727
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10686
10728
  let googleTools;
10687
- if (mode === "code") {
10729
+ if (effectiveMode === "code") {
10688
10730
  const TypeEnum = await getGoogleType();
10689
10731
  const codeTool = buildCodeModeTool(client, {
10690
10732
  tools: mcpTools,
@@ -11231,6 +11273,24 @@ function createMCPServer(config) {
11231
11273
  } catch {}
11232
11274
  }
11233
11275
  }
11276
+ if (!authHeader && config.getProviderToken) {
11277
+ const codeModeHeader = webRequest.headers.get("x-integrate-code-mode");
11278
+ const contextHeader = webRequest.headers.get("x-integrate-context");
11279
+ const callbackApiKey = webRequest.headers.get("x-integrate-api-key");
11280
+ const toolName = typeof body?.name === "string" ? body.name : "";
11281
+ if (codeModeHeader === "1" && contextHeader && toolName && config.apiKey && callbackApiKey === config.apiKey) {
11282
+ try {
11283
+ const context2 = JSON.parse(contextHeader);
11284
+ const provider = toolName.split("_")[0];
11285
+ if (provider) {
11286
+ const tokenData = await config.getProviderToken(provider, undefined, context2);
11287
+ if (tokenData?.accessToken) {
11288
+ authHeader = `Bearer ${tokenData.accessToken}`;
11289
+ }
11290
+ }
11291
+ } catch {}
11292
+ }
11293
+ }
11234
11294
  const { OAuthHandler } = await Promise.resolve().then(() => (init_base_handler(), exports_base_handler));
11235
11295
  const oauthHandler = new OAuthHandler({
11236
11296
  providers,
@@ -8173,7 +8173,7 @@ var init_utils2 = __esm(() => {
8173
8173
  function createTriggerTools(config, context) {
8174
8174
  const { callbacks } = config;
8175
8175
  return {
8176
- create_trigger: {
8176
+ trigger_create: {
8177
8177
  description: "Schedule a tool to run at a specific time or on a recurring schedule. Use this when the user wants to do something later.",
8178
8178
  inputSchema: exports_external.object({
8179
8179
  name: exports_external.string().optional().describe("Human-readable trigger name"),
@@ -8207,7 +8207,7 @@ function createTriggerTools(config, context) {
8207
8207
  return callbacks.create(trigger, context);
8208
8208
  }
8209
8209
  },
8210
- list_triggers: {
8210
+ trigger_list: {
8211
8211
  description: "List all scheduled triggers with optional filtering by status or tool name",
8212
8212
  inputSchema: exports_external.object({
8213
8213
  status: exports_external.enum(["active", "paused", "completed", "failed"]).optional().describe("Filter by trigger status"),
@@ -8231,7 +8231,7 @@ function createTriggerTools(config, context) {
8231
8231
  };
8232
8232
  }
8233
8233
  },
8234
- get_trigger: {
8234
+ trigger_get: {
8235
8235
  description: "Get details of a specific trigger by its ID",
8236
8236
  inputSchema: exports_external.object({
8237
8237
  triggerId: exports_external.string().describe("The trigger ID to retrieve")
@@ -8244,7 +8244,7 @@ function createTriggerTools(config, context) {
8244
8244
  return trigger;
8245
8245
  }
8246
8246
  },
8247
- update_trigger: {
8247
+ trigger_update: {
8248
8248
  description: "Update a trigger's properties like name, description, arguments, or schedule",
8249
8249
  inputSchema: exports_external.object({
8250
8250
  triggerId: exports_external.string().describe("The trigger ID to update"),
@@ -8271,7 +8271,7 @@ function createTriggerTools(config, context) {
8271
8271
  return callbacks.update(triggerId, updatesWithTimestamp, context);
8272
8272
  }
8273
8273
  },
8274
- delete_trigger: {
8274
+ trigger_delete: {
8275
8275
  description: "Delete a trigger permanently. This cannot be undone.",
8276
8276
  inputSchema: exports_external.object({
8277
8277
  triggerId: exports_external.string().describe("The trigger ID to delete")
@@ -8281,7 +8281,7 @@ function createTriggerTools(config, context) {
8281
8281
  return { success: true, message: `Trigger ${args.triggerId} deleted` };
8282
8282
  }
8283
8283
  },
8284
- pause_trigger: {
8284
+ trigger_pause: {
8285
8285
  description: "Pause a trigger to temporarily stop it from executing. Can be resumed later.",
8286
8286
  inputSchema: exports_external.object({
8287
8287
  triggerId: exports_external.string().describe("The trigger ID to pause")
@@ -8301,7 +8301,7 @@ function createTriggerTools(config, context) {
8301
8301
  }, context);
8302
8302
  }
8303
8303
  },
8304
- resume_trigger: {
8304
+ trigger_resume: {
8305
8305
  description: "Resume a paused trigger to start executing it again on schedule",
8306
8306
  inputSchema: exports_external.object({
8307
8307
  triggerId: exports_external.string().describe("The trigger ID to resume")
@@ -8541,6 +8541,7 @@ var init_type_generator = __esm(() => {
8541
8541
  var RUNTIME_STUB_SOURCE = `// runtime.mjs — generated by integrate-sdk code mode
8542
8542
  const MCP_URL = process.env.INTEGRATE_MCP_URL;
8543
8543
  const SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;
8544
+ const API_KEY = process.env.INTEGRATE_API_KEY || '';
8544
8545
  const PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';
8545
8546
  const INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';
8546
8547
  const CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';
@@ -8559,6 +8560,7 @@ async function callTool(toolName, args) {
8559
8560
  'x-integrate-code-mode': '1',
8560
8561
  };
8561
8562
  if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;
8563
+ if (API_KEY) headers['x-integrate-api-key'] = API_KEY;
8562
8564
  if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;
8563
8565
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
8564
8566
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
@@ -8610,11 +8612,40 @@ export { callTool };
8610
8612
  // ../code-mode/executor.ts
8611
8613
  var exports_executor = {};
8612
8614
  __export(exports_executor, {
8615
+ isSandboxAvailable: () => isSandboxAvailable,
8613
8616
  executeSandboxCode: () => executeSandboxCode,
8617
+ __setSandboxUnavailableForTests: () => __setSandboxUnavailableForTests,
8614
8618
  __setSandboxFactoryForTests: () => __setSandboxFactoryForTests
8615
8619
  });
8616
8620
  function __setSandboxFactoryForTests(factory) {
8617
8621
  sandboxFactoryOverride = factory;
8622
+ _sandboxForcedUnavailableForTests = false;
8623
+ _sandboxAvailableCache = null;
8624
+ }
8625
+ function __setSandboxUnavailableForTests(force) {
8626
+ _sandboxForcedUnavailableForTests = force;
8627
+ _sandboxAvailableCache = null;
8628
+ }
8629
+ async function isSandboxAvailable() {
8630
+ if (_sandboxAvailableCache !== null)
8631
+ return _sandboxAvailableCache;
8632
+ if (_sandboxForcedUnavailableForTests) {
8633
+ _sandboxAvailableCache = false;
8634
+ return false;
8635
+ }
8636
+ if (sandboxFactoryOverride) {
8637
+ _sandboxAvailableCache = true;
8638
+ return true;
8639
+ }
8640
+ try {
8641
+ const dynamicImport = new Function("specifier", "return import(specifier)");
8642
+ await dynamicImport("@" + "vercel/sandbox");
8643
+ _sandboxAvailableCache = true;
8644
+ return true;
8645
+ } catch {
8646
+ _sandboxAvailableCache = false;
8647
+ return false;
8648
+ }
8618
8649
  }
8619
8650
  async function loadSandboxFactory() {
8620
8651
  if (sandboxFactoryOverride)
@@ -8701,6 +8732,8 @@ async function executeSandboxCode(options) {
8701
8732
  const env = {
8702
8733
  INTEGRATE_MCP_URL: options.mcpUrl
8703
8734
  };
8735
+ if (options.apiKey)
8736
+ env.INTEGRATE_API_KEY = options.apiKey;
8704
8737
  if (options.sessionToken)
8705
8738
  env.INTEGRATE_SESSION_TOKEN = options.sessionToken;
8706
8739
  if (options.providerTokens && Object.keys(options.providerTokens).length > 0) {
@@ -8743,7 +8776,7 @@ async function executeSandboxCode(options) {
8743
8776
  }
8744
8777
  }
8745
8778
  }
8746
- var sandboxFactoryOverride = null, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
8779
+ var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
8747
8780
  var init_executor = () => {};
8748
8781
 
8749
8782
  // ../code-mode/tool-builder.ts
@@ -8751,6 +8784,13 @@ function resolveCodeModeClientConfig(client) {
8751
8784
  const oauthConfig = client.__oauthConfig;
8752
8785
  return oauthConfig?.codeMode ?? {};
8753
8786
  }
8787
+ async function canUseCodeMode(client) {
8788
+ if (!await isSandboxAvailable())
8789
+ return false;
8790
+ const serverConfig = resolveCodeModeClientConfig(client);
8791
+ const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
8792
+ return !!publicUrl;
8793
+ }
8754
8794
  function buildCodeModeTool(client, options) {
8755
8795
  const { tools, providerTokens, context, integrationIds } = options;
8756
8796
  const generated = generateCodeModeTypes(tools);
@@ -8763,6 +8803,7 @@ ${generated.source}
8763
8803
  \`\`\``;
8764
8804
  const execute = async ({ code }) => {
8765
8805
  const publicUrl = sandboxOverrides.publicUrl ?? serverCodeModeConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
8806
+ const apiKey = client.__oauthConfig?.apiKey;
8766
8807
  if (!publicUrl) {
8767
8808
  return {
8768
8809
  success: false,
@@ -8777,6 +8818,7 @@ ${generated.source}
8777
8818
  return executeSandboxCode({
8778
8819
  code,
8779
8820
  mcpUrl,
8821
+ apiKey,
8780
8822
  providerTokens,
8781
8823
  context,
8782
8824
  integrationsHeader: integrationIds && integrationIds.length > 0 ? integrationIds.join(",") : undefined,
@@ -8854,8 +8896,8 @@ async function getVercelAITools(client, options) {
8854
8896
  await ensureClientConnected(client);
8855
8897
  const mcpTools = await client.getEnabledToolsAsync();
8856
8898
  const vercelTools = {};
8857
- const mode = options?.mode ?? "code";
8858
- if (mode === "code") {
8899
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
8900
+ if (effectiveMode === "code") {
8859
8901
  const codeTool = buildCodeModeTool(client, {
8860
8902
  tools: mcpTools,
8861
8903
  providerTokens,
@@ -10313,8 +10355,8 @@ async function getOpenAITools(client, options) {
10313
10355
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10314
10356
  await ensureClientConnected(client);
10315
10357
  const mcpTools = await client.getEnabledToolsAsync();
10316
- const mode = options?.mode ?? "code";
10317
- const openaiTools = mode === "code" ? (() => {
10358
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10359
+ const openaiTools = effectiveMode === "code" ? (() => {
10318
10360
  const codeTool = buildCodeModeTool(client, {
10319
10361
  tools: mcpTools,
10320
10362
  providerTokens,
@@ -10493,8 +10535,8 @@ async function getAnthropicTools(client, options) {
10493
10535
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10494
10536
  await ensureClientConnected(client);
10495
10537
  const mcpTools = await client.getEnabledToolsAsync();
10496
- const mode = options?.mode ?? "code";
10497
- const anthropicTools = mode === "code" ? (() => {
10538
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10539
+ const anthropicTools = effectiveMode === "code" ? (() => {
10498
10540
  const codeTool = buildCodeModeTool(client, {
10499
10541
  tools: mcpTools,
10500
10542
  providerTokens,
@@ -10682,9 +10724,9 @@ async function getGoogleTools(client, options) {
10682
10724
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
10683
10725
  await ensureClientConnected(client);
10684
10726
  const mcpTools = await client.getEnabledToolsAsync();
10685
- const mode = options?.mode ?? "code";
10727
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
10686
10728
  let googleTools;
10687
- if (mode === "code") {
10729
+ if (effectiveMode === "code") {
10688
10730
  const TypeEnum = await getGoogleType();
10689
10731
  const codeTool = buildCodeModeTool(client, {
10690
10732
  tools: mcpTools,
@@ -11231,6 +11273,24 @@ function createMCPServer(config) {
11231
11273
  } catch {}
11232
11274
  }
11233
11275
  }
11276
+ if (!authHeader && config.getProviderToken) {
11277
+ const codeModeHeader = webRequest.headers.get("x-integrate-code-mode");
11278
+ const contextHeader = webRequest.headers.get("x-integrate-context");
11279
+ const callbackApiKey = webRequest.headers.get("x-integrate-api-key");
11280
+ const toolName = typeof body?.name === "string" ? body.name : "";
11281
+ if (codeModeHeader === "1" && contextHeader && toolName && config.apiKey && callbackApiKey === config.apiKey) {
11282
+ try {
11283
+ const context2 = JSON.parse(contextHeader);
11284
+ const provider = toolName.split("_")[0];
11285
+ if (provider) {
11286
+ const tokenData = await config.getProviderToken(provider, undefined, context2);
11287
+ if (tokenData?.accessToken) {
11288
+ authHeader = `Bearer ${tokenData.accessToken}`;
11289
+ }
11290
+ }
11291
+ } catch {}
11292
+ }
11293
+ }
11234
11294
  const { OAuthHandler } = await Promise.resolve().then(() => (init_base_handler(), exports_base_handler));
11235
11295
  const oauthHandler = new OAuthHandler({
11236
11296
  providers,
@@ -30,12 +30,12 @@ export interface AnthropicToolsOptions extends AIToolsOptions {
30
30
  /**
31
31
  * How to expose MCP tools to the model.
32
32
  *
33
- * - `'code'` (default): Returns a single `execute_code` tool backed by a
33
+ * - `'code'`: Returns a single `execute_code` tool backed by a
34
34
  * Vercel Sandbox. The model writes TypeScript that calls the typed
35
35
  * `client.<integration>.<method>()` API and chains operations in one round-trip.
36
36
  * - `'tools'`: Legacy behavior — one Anthropic tool per MCP tool.
37
37
  *
38
- * @default 'code'
38
+ * @default auto-detects `'code'` when sandbox + public URL are available, otherwise `'tools'`
39
39
  */
40
40
  mode?: 'code' | 'tools';
41
41
  }
@@ -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;AAIjH,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;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;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;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAgE1B;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,EAAkE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjH,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;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;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;AA4ID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,aAAa,EAAE,CAAC,CAmE1B;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"}
@@ -4251,7 +4251,7 @@ function calculateHasMore(offset, returnedCount, total) {
4251
4251
  function createTriggerTools(config, context) {
4252
4252
  const { callbacks } = config;
4253
4253
  return {
4254
- create_trigger: {
4254
+ trigger_create: {
4255
4255
  description: "Schedule a tool to run at a specific time or on a recurring schedule. Use this when the user wants to do something later.",
4256
4256
  inputSchema: exports_external.object({
4257
4257
  name: exports_external.string().optional().describe("Human-readable trigger name"),
@@ -4285,7 +4285,7 @@ function createTriggerTools(config, context) {
4285
4285
  return callbacks.create(trigger, context);
4286
4286
  }
4287
4287
  },
4288
- list_triggers: {
4288
+ trigger_list: {
4289
4289
  description: "List all scheduled triggers with optional filtering by status or tool name",
4290
4290
  inputSchema: exports_external.object({
4291
4291
  status: exports_external.enum(["active", "paused", "completed", "failed"]).optional().describe("Filter by trigger status"),
@@ -4309,7 +4309,7 @@ function createTriggerTools(config, context) {
4309
4309
  };
4310
4310
  }
4311
4311
  },
4312
- get_trigger: {
4312
+ trigger_get: {
4313
4313
  description: "Get details of a specific trigger by its ID",
4314
4314
  inputSchema: exports_external.object({
4315
4315
  triggerId: exports_external.string().describe("The trigger ID to retrieve")
@@ -4322,7 +4322,7 @@ function createTriggerTools(config, context) {
4322
4322
  return trigger;
4323
4323
  }
4324
4324
  },
4325
- update_trigger: {
4325
+ trigger_update: {
4326
4326
  description: "Update a trigger's properties like name, description, arguments, or schedule",
4327
4327
  inputSchema: exports_external.object({
4328
4328
  triggerId: exports_external.string().describe("The trigger ID to update"),
@@ -4349,7 +4349,7 @@ function createTriggerTools(config, context) {
4349
4349
  return callbacks.update(triggerId, updatesWithTimestamp, context);
4350
4350
  }
4351
4351
  },
4352
- delete_trigger: {
4352
+ trigger_delete: {
4353
4353
  description: "Delete a trigger permanently. This cannot be undone.",
4354
4354
  inputSchema: exports_external.object({
4355
4355
  triggerId: exports_external.string().describe("The trigger ID to delete")
@@ -4359,7 +4359,7 @@ function createTriggerTools(config, context) {
4359
4359
  return { success: true, message: `Trigger ${args.triggerId} deleted` };
4360
4360
  }
4361
4361
  },
4362
- pause_trigger: {
4362
+ trigger_pause: {
4363
4363
  description: "Pause a trigger to temporarily stop it from executing. Can be resumed later.",
4364
4364
  inputSchema: exports_external.object({
4365
4365
  triggerId: exports_external.string().describe("The trigger ID to pause")
@@ -4379,7 +4379,7 @@ function createTriggerTools(config, context) {
4379
4379
  }, context);
4380
4380
  }
4381
4381
  },
4382
- resume_trigger: {
4382
+ trigger_resume: {
4383
4383
  description: "Resume a paused trigger to start executing it again on schedule",
4384
4384
  inputSchema: exports_external.object({
4385
4385
  triggerId: exports_external.string().describe("The trigger ID to resume")
@@ -4621,6 +4621,7 @@ function pascalCase(id) {
4621
4621
  var RUNTIME_STUB_SOURCE = `// runtime.mjs — generated by integrate-sdk code mode
4622
4622
  const MCP_URL = process.env.INTEGRATE_MCP_URL;
4623
4623
  const SESSION_TOKEN = process.env.INTEGRATE_SESSION_TOKEN;
4624
+ const API_KEY = process.env.INTEGRATE_API_KEY || '';
4624
4625
  const PROVIDER_TOKENS = process.env.INTEGRATE_PROVIDER_TOKENS || '';
4625
4626
  const INTEGRATIONS_HEADER = process.env.INTEGRATE_INTEGRATIONS || '';
4626
4627
  const CONTEXT_JSON = process.env.INTEGRATE_CONTEXT || '';
@@ -4639,6 +4640,7 @@ async function callTool(toolName, args) {
4639
4640
  'x-integrate-code-mode': '1',
4640
4641
  };
4641
4642
  if (SESSION_TOKEN) headers['Authorization'] = 'Bearer ' + SESSION_TOKEN;
4643
+ if (API_KEY) headers['x-integrate-api-key'] = API_KEY;
4642
4644
  if (PROVIDER_TOKENS) headers['x-integrate-tokens'] = PROVIDER_TOKENS;
4643
4645
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
4644
4646
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
@@ -4689,6 +4691,29 @@ export { callTool };
4689
4691
 
4690
4692
  // ../code-mode/executor.ts
4691
4693
  var sandboxFactoryOverride = null;
4694
+ var _sandboxAvailableCache = null;
4695
+ var _sandboxForcedUnavailableForTests = false;
4696
+ async function isSandboxAvailable() {
4697
+ if (_sandboxAvailableCache !== null)
4698
+ return _sandboxAvailableCache;
4699
+ if (_sandboxForcedUnavailableForTests) {
4700
+ _sandboxAvailableCache = false;
4701
+ return false;
4702
+ }
4703
+ if (sandboxFactoryOverride) {
4704
+ _sandboxAvailableCache = true;
4705
+ return true;
4706
+ }
4707
+ try {
4708
+ const dynamicImport = new Function("specifier", "return import(specifier)");
4709
+ await dynamicImport("@" + "vercel/sandbox");
4710
+ _sandboxAvailableCache = true;
4711
+ return true;
4712
+ } catch {
4713
+ _sandboxAvailableCache = false;
4714
+ return false;
4715
+ }
4716
+ }
4692
4717
  async function loadSandboxFactory() {
4693
4718
  if (sandboxFactoryOverride)
4694
4719
  return sandboxFactoryOverride;
@@ -4775,6 +4800,8 @@ async function executeSandboxCode(options) {
4775
4800
  const env = {
4776
4801
  INTEGRATE_MCP_URL: options.mcpUrl
4777
4802
  };
4803
+ if (options.apiKey)
4804
+ env.INTEGRATE_API_KEY = options.apiKey;
4778
4805
  if (options.sessionToken)
4779
4806
  env.INTEGRATE_SESSION_TOKEN = options.sessionToken;
4780
4807
  if (options.providerTokens && Object.keys(options.providerTokens).length > 0) {
@@ -4866,6 +4893,13 @@ function resolveCodeModeClientConfig(client) {
4866
4893
  const oauthConfig = client.__oauthConfig;
4867
4894
  return oauthConfig?.codeMode ?? {};
4868
4895
  }
4896
+ async function canUseCodeMode(client) {
4897
+ if (!await isSandboxAvailable())
4898
+ return false;
4899
+ const serverConfig = resolveCodeModeClientConfig(client);
4900
+ const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
4901
+ return !!publicUrl;
4902
+ }
4869
4903
  function buildCodeModeTool(client, options) {
4870
4904
  const { tools, providerTokens, context, integrationIds } = options;
4871
4905
  const generated = generateCodeModeTypes(tools);
@@ -4878,6 +4912,7 @@ ${generated.source}
4878
4912
  \`\`\``;
4879
4913
  const execute = async ({ code }) => {
4880
4914
  const publicUrl = sandboxOverrides.publicUrl ?? serverCodeModeConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
4915
+ const apiKey = client.__oauthConfig?.apiKey;
4881
4916
  if (!publicUrl) {
4882
4917
  return {
4883
4918
  success: false,
@@ -4892,6 +4927,7 @@ ${generated.source}
4892
4927
  return executeSandboxCode({
4893
4928
  code,
4894
4929
  mcpUrl,
4930
+ apiKey,
4895
4931
  providerTokens,
4896
4932
  context,
4897
4933
  integrationsHeader: integrationIds && integrationIds.length > 0 ? integrationIds.join(",") : undefined,
@@ -4989,8 +5025,8 @@ async function getAnthropicTools(client, options) {
4989
5025
  const finalOptions = providerTokens ? { ...options, providerTokens } : options;
4990
5026
  await ensureClientConnected(client);
4991
5027
  const mcpTools = await client.getEnabledToolsAsync();
4992
- const mode = options?.mode ?? "code";
4993
- const anthropicTools = mode === "code" ? (() => {
5028
+ const effectiveMode = options?.mode !== undefined ? options.mode : await canUseCodeMode(client) ? "code" : "tools";
5029
+ const anthropicTools = effectiveMode === "code" ? (() => {
4994
5030
  const codeTool = buildCodeModeTool(client, {
4995
5031
  tools: mcpTools,
4996
5032
  providerTokens,
@@ -19,12 +19,12 @@ export interface GoogleToolsOptions extends AIToolsOptions {
19
19
  /**
20
20
  * How to expose MCP tools to the model.
21
21
  *
22
- * - `'code'` (default): Returns a single `execute_code` tool backed by a
22
+ * - `'code'`: Returns a single `execute_code` tool backed by a
23
23
  * Vercel Sandbox. The model writes TypeScript that calls the typed
24
24
  * `client.<integration>.<method>()` API and chains operations in one round-trip.
25
25
  * - `'tools'`: Legacy behavior — one Google FunctionDeclaration per MCP tool.
26
26
  *
27
- * @default 'code'
27
+ * @default auto-detects `'code'` when sandbox + public URL are available, otherwise `'tools'`
28
28
  */
29
29
  mode?: 'code' | 'tools';
30
30
  }
@@ -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;AAOjH,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;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;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,CA4DnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA6EvB"}
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;AAWjH,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;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;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,CA4DnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAgFvB"}