integrate-sdk 0.9.10-dev.0 → 0.9.13-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.
@@ -1,3 +1,22 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
1
20
  // runtime-stub.ts
2
21
  var RUNTIME_STUB_SOURCE = `// runtime.mjs — generated by integrate-sdk code mode
3
22
  const MCP_URL = process.env.INTEGRATE_MCP_URL;
@@ -73,15 +92,21 @@ export { callTool };
73
92
  // executor.ts
74
93
  var sandboxFactoryOverride = null;
75
94
  var _sandboxAvailableCache = null;
95
+ var _sandboxImportError = null;
76
96
  var _sandboxForcedUnavailableForTests = false;
77
97
  function __setSandboxFactoryForTests(factory) {
78
98
  sandboxFactoryOverride = factory;
79
99
  _sandboxForcedUnavailableForTests = false;
80
100
  _sandboxAvailableCache = null;
101
+ _sandboxImportError = null;
81
102
  }
82
103
  function __setSandboxUnavailableForTests(force) {
83
104
  _sandboxForcedUnavailableForTests = force;
84
105
  _sandboxAvailableCache = null;
106
+ _sandboxImportError = force ? new Error("Sandbox forced unavailable by test seam.") : null;
107
+ }
108
+ function getSandboxImportError() {
109
+ return _sandboxImportError;
85
110
  }
86
111
  async function isSandboxAvailable() {
87
112
  if (_sandboxAvailableCache !== null)
@@ -92,15 +117,17 @@ async function isSandboxAvailable() {
92
117
  }
93
118
  if (sandboxFactoryOverride) {
94
119
  _sandboxAvailableCache = true;
120
+ _sandboxImportError = null;
95
121
  return true;
96
122
  }
97
123
  try {
98
- const dynamicImport = new Function("specifier", "return import(specifier)");
99
- await dynamicImport("@" + "vercel/sandbox");
124
+ await import("@vercel/sandbox");
100
125
  _sandboxAvailableCache = true;
126
+ _sandboxImportError = null;
101
127
  return true;
102
- } catch {
128
+ } catch (err) {
103
129
  _sandboxAvailableCache = false;
130
+ _sandboxImportError = err;
104
131
  return false;
105
132
  }
106
133
  }
@@ -108,12 +135,12 @@ async function loadSandboxFactory() {
108
135
  if (sandboxFactoryOverride)
109
136
  return sandboxFactoryOverride;
110
137
  try {
111
- const dynamicImport = new Function("specifier", "return import(specifier)");
112
- const pkg = "@" + "vercel/sandbox";
113
- const mod = await dynamicImport(pkg);
138
+ const mod = await import("@vercel/sandbox");
114
139
  return mod.Sandbox ?? mod.default?.Sandbox ?? mod;
115
140
  } catch (err) {
116
- throw new Error("Code Mode requires the optional peer dependency `@vercel/sandbox`. " + "Install it with `npm install @vercel/sandbox` (or `bun add @vercel/sandbox`).");
141
+ _sandboxImportError = err;
142
+ const detail = err instanceof Error ? `: ${err.message}` : "";
143
+ throw new Error("Code Mode failed to load `@vercel/sandbox`" + detail + ". Ensure the package is installed and reachable at runtime. On Next.js/Vercel, confirm it is listed in `dependencies` (not only `devDependencies`) and that the route using Code Mode runs in the Node.js runtime (not Edge).");
117
144
  }
118
145
  }
119
146
  var RESULT_SENTINEL = "__INTEGRATE_RESULT__";
@@ -236,6 +263,7 @@ async function executeSandboxCode(options) {
236
263
  }
237
264
  export {
238
265
  isSandboxAvailable,
266
+ getSandboxImportError,
239
267
  executeSandboxCode,
240
268
  __setSandboxUnavailableForTests,
241
269
  __setSandboxFactoryForTests
@@ -1,3 +1,22 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
1
20
  // ../utils/naming.ts
2
21
  function snakeToCamel(str) {
3
22
  return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
@@ -288,15 +307,21 @@ export { callTool };
288
307
  // executor.ts
289
308
  var sandboxFactoryOverride = null;
290
309
  var _sandboxAvailableCache = null;
310
+ var _sandboxImportError = null;
291
311
  var _sandboxForcedUnavailableForTests = false;
292
312
  function __setSandboxFactoryForTests(factory) {
293
313
  sandboxFactoryOverride = factory;
294
314
  _sandboxForcedUnavailableForTests = false;
295
315
  _sandboxAvailableCache = null;
316
+ _sandboxImportError = null;
296
317
  }
297
318
  function __setSandboxUnavailableForTests(force) {
298
319
  _sandboxForcedUnavailableForTests = force;
299
320
  _sandboxAvailableCache = null;
321
+ _sandboxImportError = force ? new Error("Sandbox forced unavailable by test seam.") : null;
322
+ }
323
+ function getSandboxImportError() {
324
+ return _sandboxImportError;
300
325
  }
301
326
  async function isSandboxAvailable() {
302
327
  if (_sandboxAvailableCache !== null)
@@ -307,15 +332,17 @@ async function isSandboxAvailable() {
307
332
  }
308
333
  if (sandboxFactoryOverride) {
309
334
  _sandboxAvailableCache = true;
335
+ _sandboxImportError = null;
310
336
  return true;
311
337
  }
312
338
  try {
313
- const dynamicImport = new Function("specifier", "return import(specifier)");
314
- await dynamicImport("@" + "vercel/sandbox");
339
+ await import("@vercel/sandbox");
315
340
  _sandboxAvailableCache = true;
341
+ _sandboxImportError = null;
316
342
  return true;
317
- } catch {
343
+ } catch (err) {
318
344
  _sandboxAvailableCache = false;
345
+ _sandboxImportError = err;
319
346
  return false;
320
347
  }
321
348
  }
@@ -323,12 +350,12 @@ async function loadSandboxFactory() {
323
350
  if (sandboxFactoryOverride)
324
351
  return sandboxFactoryOverride;
325
352
  try {
326
- const dynamicImport = new Function("specifier", "return import(specifier)");
327
- const pkg = "@" + "vercel/sandbox";
328
- const mod = await dynamicImport(pkg);
353
+ const mod = await import("@vercel/sandbox");
329
354
  return mod.Sandbox ?? mod.default?.Sandbox ?? mod;
330
355
  } catch (err) {
331
- throw new Error("Code Mode requires the optional peer dependency `@vercel/sandbox`. " + "Install it with `npm install @vercel/sandbox` (or `bun add @vercel/sandbox`).");
356
+ _sandboxImportError = err;
357
+ const detail = err instanceof Error ? `: ${err.message}` : "";
358
+ throw new Error("Code Mode failed to load `@vercel/sandbox`" + detail + ". Ensure the package is installed and reachable at runtime. On Next.js/Vercel, confirm it is listed in `dependencies` (not only `devDependencies`) and that the route using Code Mode runs in the Node.js runtime (not Edge).");
332
359
  }
333
360
  }
334
361
  var RESULT_SENTINEL = "__INTEGRATE_RESULT__";
@@ -515,10 +542,14 @@ async function diagnoseCodeMode(client) {
515
542
  async function canUseCodeMode(client) {
516
543
  return (await diagnoseCodeMode(client)).available;
517
544
  }
518
- var CODE_MODE_UNAVAILABLE_MESSAGES = {
519
- "sandbox-missing": "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Install `@vercel/sandbox` (e.g. `bun add @vercel/sandbox`) to enable Code Mode.",
520
- "no-public-url": "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var."
521
- };
545
+ function buildFallbackMessage(reason) {
546
+ if (reason === "no-public-url") {
547
+ return "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var.";
548
+ }
549
+ const importError = getSandboxImportError();
550
+ const detail = importError instanceof Error ? ` Underlying import error: ${importError.message}` : importError ? ` Underlying import error: ${String(importError)}` : "";
551
+ return "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Ensure `@vercel/sandbox` is in `dependencies` and the route runs in the Node.js runtime (not Edge)." + detail;
552
+ }
522
553
  var warnedCodeModeReasons = new Set;
523
554
  function __resetCodeModeFallbackWarnings() {
524
555
  warnedCodeModeReasons.clear();
@@ -527,7 +558,7 @@ function warnCodeModeFallback(reason) {
527
558
  if (warnedCodeModeReasons.has(reason))
528
559
  return;
529
560
  warnedCodeModeReasons.add(reason);
530
- console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
561
+ console.warn(buildFallbackMessage(reason));
531
562
  }
532
563
  function buildCodeModeTool(client, options) {
533
564
  const { tools, providerTokens, context, integrationIds } = options;
@@ -1,3 +1,22 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
1
20
  // runtime-stub.ts
2
21
  var RUNTIME_STUB_SOURCE = `// runtime.mjs — generated by integrate-sdk code mode
3
22
  const MCP_URL = process.env.INTEGRATE_MCP_URL;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-builder.d.ts","sourceRoot":"","sources":["../../../src/code-mode/tool-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-builder.d.ts","sourceRoot":"","sources":["../../../src/code-mode/tool-builder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,22 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
1
20
  // ../utils/naming.ts
2
21
  function snakeToCamel(str) {
3
22
  return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
@@ -288,15 +307,21 @@ export { callTool };
288
307
  // executor.ts
289
308
  var sandboxFactoryOverride = null;
290
309
  var _sandboxAvailableCache = null;
310
+ var _sandboxImportError = null;
291
311
  var _sandboxForcedUnavailableForTests = false;
292
312
  function __setSandboxFactoryForTests(factory) {
293
313
  sandboxFactoryOverride = factory;
294
314
  _sandboxForcedUnavailableForTests = false;
295
315
  _sandboxAvailableCache = null;
316
+ _sandboxImportError = null;
296
317
  }
297
318
  function __setSandboxUnavailableForTests(force) {
298
319
  _sandboxForcedUnavailableForTests = force;
299
320
  _sandboxAvailableCache = null;
321
+ _sandboxImportError = force ? new Error("Sandbox forced unavailable by test seam.") : null;
322
+ }
323
+ function getSandboxImportError() {
324
+ return _sandboxImportError;
300
325
  }
301
326
  async function isSandboxAvailable() {
302
327
  if (_sandboxAvailableCache !== null)
@@ -307,15 +332,17 @@ async function isSandboxAvailable() {
307
332
  }
308
333
  if (sandboxFactoryOverride) {
309
334
  _sandboxAvailableCache = true;
335
+ _sandboxImportError = null;
310
336
  return true;
311
337
  }
312
338
  try {
313
- const dynamicImport = new Function("specifier", "return import(specifier)");
314
- await dynamicImport("@" + "vercel/sandbox");
339
+ await import("@vercel/sandbox");
315
340
  _sandboxAvailableCache = true;
341
+ _sandboxImportError = null;
316
342
  return true;
317
- } catch {
343
+ } catch (err) {
318
344
  _sandboxAvailableCache = false;
345
+ _sandboxImportError = err;
319
346
  return false;
320
347
  }
321
348
  }
@@ -323,12 +350,12 @@ async function loadSandboxFactory() {
323
350
  if (sandboxFactoryOverride)
324
351
  return sandboxFactoryOverride;
325
352
  try {
326
- const dynamicImport = new Function("specifier", "return import(specifier)");
327
- const pkg = "@" + "vercel/sandbox";
328
- const mod = await dynamicImport(pkg);
353
+ const mod = await import("@vercel/sandbox");
329
354
  return mod.Sandbox ?? mod.default?.Sandbox ?? mod;
330
355
  } catch (err) {
331
- throw new Error("Code Mode requires the optional peer dependency `@vercel/sandbox`. " + "Install it with `npm install @vercel/sandbox` (or `bun add @vercel/sandbox`).");
356
+ _sandboxImportError = err;
357
+ const detail = err instanceof Error ? `: ${err.message}` : "";
358
+ throw new Error("Code Mode failed to load `@vercel/sandbox`" + detail + ". Ensure the package is installed and reachable at runtime. On Next.js/Vercel, confirm it is listed in `dependencies` (not only `devDependencies`) and that the route using Code Mode runs in the Node.js runtime (not Edge).");
332
359
  }
333
360
  }
334
361
  var RESULT_SENTINEL = "__INTEGRATE_RESULT__";
@@ -515,10 +542,14 @@ async function diagnoseCodeMode(client) {
515
542
  async function canUseCodeMode(client) {
516
543
  return (await diagnoseCodeMode(client)).available;
517
544
  }
518
- var CODE_MODE_UNAVAILABLE_MESSAGES = {
519
- "sandbox-missing": "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Install `@vercel/sandbox` (e.g. `bun add @vercel/sandbox`) to enable Code Mode.",
520
- "no-public-url": "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var."
521
- };
545
+ function buildFallbackMessage(reason) {
546
+ if (reason === "no-public-url") {
547
+ return "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var.";
548
+ }
549
+ const importError = getSandboxImportError();
550
+ const detail = importError instanceof Error ? ` Underlying import error: ${importError.message}` : importError ? ` Underlying import error: ${String(importError)}` : "";
551
+ return "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Ensure `@vercel/sandbox` is in `dependencies` and the route runs in the Node.js runtime (not Edge)." + detail;
552
+ }
522
553
  var warnedCodeModeReasons = new Set;
523
554
  function __resetCodeModeFallbackWarnings() {
524
555
  warnedCodeModeReasons.clear();
@@ -527,7 +558,7 @@ function warnCodeModeFallback(reason) {
527
558
  if (warnedCodeModeReasons.has(reason))
528
559
  return;
529
560
  warnedCodeModeReasons.add(reason);
530
- console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
561
+ console.warn(buildFallbackMessage(reason));
531
562
  }
532
563
  function buildCodeModeTool(client, options) {
533
564
  const { tools, providerTokens, context, integrationIds } = options;
@@ -1,3 +1,22 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
19
+
1
20
  // ../utils/naming.ts
2
21
  function snakeToCamel(str) {
3
22
  return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
package/dist/index.js CHANGED
@@ -1,4 +1,19 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
1
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __toESM = (mod, isNodeMode, target) => {
7
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
8
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
9
+ for (let key of __getOwnPropNames(mod))
10
+ if (!__hasOwnProp.call(to, key))
11
+ __defProp(to, key, {
12
+ get: () => mod[key],
13
+ enumerable: true
14
+ });
15
+ return to;
16
+ };
2
17
  var __export = (target, all) => {
3
18
  for (var name in all)
4
19
  __defProp(target, name, {
@@ -9,6 +24,13 @@ var __export = (target, all) => {
9
24
  });
10
25
  };
11
26
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
27
+ var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
28
+ get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
29
+ }) : x)(function(x) {
30
+ if (typeof require !== "undefined")
31
+ return require.apply(this, arguments);
32
+ throw Error('Dynamic require of "' + x + '" is not supported');
33
+ });
12
34
 
13
35
  // src/protocol/jsonrpc.ts
14
36
  function parseMessage(message) {
@@ -9015,6 +9037,7 @@ export { callTool };
9015
9037
  var exports_executor = {};
9016
9038
  __export(exports_executor, {
9017
9039
  isSandboxAvailable: () => isSandboxAvailable,
9040
+ getSandboxImportError: () => getSandboxImportError,
9018
9041
  executeSandboxCode: () => executeSandboxCode,
9019
9042
  __setSandboxUnavailableForTests: () => __setSandboxUnavailableForTests,
9020
9043
  __setSandboxFactoryForTests: () => __setSandboxFactoryForTests
@@ -9023,10 +9046,15 @@ function __setSandboxFactoryForTests(factory) {
9023
9046
  sandboxFactoryOverride = factory;
9024
9047
  _sandboxForcedUnavailableForTests = false;
9025
9048
  _sandboxAvailableCache = null;
9049
+ _sandboxImportError = null;
9026
9050
  }
9027
9051
  function __setSandboxUnavailableForTests(force) {
9028
9052
  _sandboxForcedUnavailableForTests = force;
9029
9053
  _sandboxAvailableCache = null;
9054
+ _sandboxImportError = force ? new Error("Sandbox forced unavailable by test seam.") : null;
9055
+ }
9056
+ function getSandboxImportError() {
9057
+ return _sandboxImportError;
9030
9058
  }
9031
9059
  async function isSandboxAvailable() {
9032
9060
  if (_sandboxAvailableCache !== null)
@@ -9037,15 +9065,17 @@ async function isSandboxAvailable() {
9037
9065
  }
9038
9066
  if (sandboxFactoryOverride) {
9039
9067
  _sandboxAvailableCache = true;
9068
+ _sandboxImportError = null;
9040
9069
  return true;
9041
9070
  }
9042
9071
  try {
9043
- const dynamicImport = new Function("specifier", "return import(specifier)");
9044
- await dynamicImport("@" + "vercel/sandbox");
9072
+ await import("@vercel/sandbox");
9045
9073
  _sandboxAvailableCache = true;
9074
+ _sandboxImportError = null;
9046
9075
  return true;
9047
- } catch {
9076
+ } catch (err) {
9048
9077
  _sandboxAvailableCache = false;
9078
+ _sandboxImportError = err;
9049
9079
  return false;
9050
9080
  }
9051
9081
  }
@@ -9053,12 +9083,12 @@ async function loadSandboxFactory() {
9053
9083
  if (sandboxFactoryOverride)
9054
9084
  return sandboxFactoryOverride;
9055
9085
  try {
9056
- const dynamicImport = new Function("specifier", "return import(specifier)");
9057
- const pkg = "@" + "vercel/sandbox";
9058
- const mod = await dynamicImport(pkg);
9086
+ const mod = await import("@vercel/sandbox");
9059
9087
  return mod.Sandbox ?? mod.default?.Sandbox ?? mod;
9060
9088
  } catch (err) {
9061
- throw new Error("Code Mode requires the optional peer dependency `@vercel/sandbox`. " + "Install it with `npm install @vercel/sandbox` (or `bun add @vercel/sandbox`).");
9089
+ _sandboxImportError = err;
9090
+ const detail = err instanceof Error ? `: ${err.message}` : "";
9091
+ throw new Error("Code Mode failed to load `@vercel/sandbox`" + detail + ". Ensure the package is installed and reachable at runtime. On Next.js/Vercel, confirm it is listed in `dependencies` (not only `devDependencies`) and that the route using Code Mode runs in the Node.js runtime (not Edge).");
9062
9092
  }
9063
9093
  }
9064
9094
  function wrapUserCode(code) {
@@ -9178,7 +9208,7 @@ async function executeSandboxCode(options) {
9178
9208
  }
9179
9209
  }
9180
9210
  }
9181
- var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
9211
+ var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxImportError = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
9182
9212
  var init_executor = () => {};
9183
9213
 
9184
9214
  // src/code-mode/tool-builder.ts
@@ -9214,6 +9244,14 @@ async function diagnoseCodeMode(client) {
9214
9244
  async function canUseCodeMode(client) {
9215
9245
  return (await diagnoseCodeMode(client)).available;
9216
9246
  }
9247
+ function buildFallbackMessage(reason) {
9248
+ if (reason === "no-public-url") {
9249
+ return "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var.";
9250
+ }
9251
+ const importError = getSandboxImportError();
9252
+ const detail = importError instanceof Error ? ` Underlying import error: ${importError.message}` : importError ? ` Underlying import error: ${String(importError)}` : "";
9253
+ return "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Ensure `@vercel/sandbox` is in `dependencies` and the route runs in the Node.js runtime (not Edge)." + detail;
9254
+ }
9217
9255
  function __resetCodeModeFallbackWarnings() {
9218
9256
  warnedCodeModeReasons.clear();
9219
9257
  }
@@ -9221,7 +9259,7 @@ function warnCodeModeFallback(reason) {
9221
9259
  if (warnedCodeModeReasons.has(reason))
9222
9260
  return;
9223
9261
  warnedCodeModeReasons.add(reason);
9224
- console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
9262
+ console.warn(buildFallbackMessage(reason));
9225
9263
  }
9226
9264
  function buildCodeModeTool(client, options) {
9227
9265
  const { tools, providerTokens, context, integrationIds } = options;
@@ -9279,7 +9317,7 @@ ${generated.source}
9279
9317
  execute
9280
9318
  };
9281
9319
  }
9282
- var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS, CODE_MODE_UNAVAILABLE_MESSAGES, warnedCodeModeReasons;
9320
+ var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS, warnedCodeModeReasons;
9283
9321
  var init_tool_builder = __esm(() => {
9284
9322
  init_type_generator();
9285
9323
  init_executor();
@@ -9304,10 +9342,6 @@ var init_tool_builder = __esm(() => {
9304
9342
  "API surface:"
9305
9343
  ].join(`
9306
9344
  `);
9307
- CODE_MODE_UNAVAILABLE_MESSAGES = {
9308
- "sandbox-missing": "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Install `@vercel/sandbox` (e.g. `bun add @vercel/sandbox`) to enable Code Mode.",
9309
- "no-public-url": "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var."
9310
- };
9311
9345
  warnedCodeModeReasons = new Set;
9312
9346
  });
9313
9347
 
package/dist/oauth.js CHANGED
@@ -1,4 +1,20 @@
1
+ import { createRequire } from "node:module";
2
+ var __create = Object.create;
3
+ var __getProtoOf = Object.getPrototypeOf;
1
4
  var __defProp = Object.defineProperty;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
2
18
  var __export = (target, all) => {
3
19
  for (var name in all)
4
20
  __defProp(target, name, {
@@ -9,6 +25,7 @@ var __export = (target, all) => {
9
25
  });
10
26
  };
11
27
  var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
28
+ var __require = /* @__PURE__ */ createRequire(import.meta.url);
12
29
 
13
30
  // src/utils/logger.ts
14
31
  function shouldLog(level, context) {
@@ -8849,6 +8866,7 @@ export { callTool };
8849
8866
  var exports_executor = {};
8850
8867
  __export(exports_executor, {
8851
8868
  isSandboxAvailable: () => isSandboxAvailable,
8869
+ getSandboxImportError: () => getSandboxImportError,
8852
8870
  executeSandboxCode: () => executeSandboxCode,
8853
8871
  __setSandboxUnavailableForTests: () => __setSandboxUnavailableForTests,
8854
8872
  __setSandboxFactoryForTests: () => __setSandboxFactoryForTests
@@ -8857,10 +8875,15 @@ function __setSandboxFactoryForTests(factory) {
8857
8875
  sandboxFactoryOverride = factory;
8858
8876
  _sandboxForcedUnavailableForTests = false;
8859
8877
  _sandboxAvailableCache = null;
8878
+ _sandboxImportError = null;
8860
8879
  }
8861
8880
  function __setSandboxUnavailableForTests(force) {
8862
8881
  _sandboxForcedUnavailableForTests = force;
8863
8882
  _sandboxAvailableCache = null;
8883
+ _sandboxImportError = force ? new Error("Sandbox forced unavailable by test seam.") : null;
8884
+ }
8885
+ function getSandboxImportError() {
8886
+ return _sandboxImportError;
8864
8887
  }
8865
8888
  async function isSandboxAvailable() {
8866
8889
  if (_sandboxAvailableCache !== null)
@@ -8871,15 +8894,17 @@ async function isSandboxAvailable() {
8871
8894
  }
8872
8895
  if (sandboxFactoryOverride) {
8873
8896
  _sandboxAvailableCache = true;
8897
+ _sandboxImportError = null;
8874
8898
  return true;
8875
8899
  }
8876
8900
  try {
8877
- const dynamicImport = new Function("specifier", "return import(specifier)");
8878
- await dynamicImport("@" + "vercel/sandbox");
8901
+ await import("@vercel/sandbox");
8879
8902
  _sandboxAvailableCache = true;
8903
+ _sandboxImportError = null;
8880
8904
  return true;
8881
- } catch {
8905
+ } catch (err) {
8882
8906
  _sandboxAvailableCache = false;
8907
+ _sandboxImportError = err;
8883
8908
  return false;
8884
8909
  }
8885
8910
  }
@@ -8887,12 +8912,12 @@ async function loadSandboxFactory() {
8887
8912
  if (sandboxFactoryOverride)
8888
8913
  return sandboxFactoryOverride;
8889
8914
  try {
8890
- const dynamicImport = new Function("specifier", "return import(specifier)");
8891
- const pkg = "@" + "vercel/sandbox";
8892
- const mod = await dynamicImport(pkg);
8915
+ const mod = await import("@vercel/sandbox");
8893
8916
  return mod.Sandbox ?? mod.default?.Sandbox ?? mod;
8894
8917
  } catch (err) {
8895
- throw new Error("Code Mode requires the optional peer dependency `@vercel/sandbox`. " + "Install it with `npm install @vercel/sandbox` (or `bun add @vercel/sandbox`).");
8918
+ _sandboxImportError = err;
8919
+ const detail = err instanceof Error ? `: ${err.message}` : "";
8920
+ throw new Error("Code Mode failed to load `@vercel/sandbox`" + detail + ". Ensure the package is installed and reachable at runtime. On Next.js/Vercel, confirm it is listed in `dependencies` (not only `devDependencies`) and that the route using Code Mode runs in the Node.js runtime (not Edge).");
8896
8921
  }
8897
8922
  }
8898
8923
  function wrapUserCode(code) {
@@ -9012,7 +9037,7 @@ async function executeSandboxCode(options) {
9012
9037
  }
9013
9038
  }
9014
9039
  }
9015
- var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
9040
+ var sandboxFactoryOverride = null, _sandboxAvailableCache = null, _sandboxImportError = null, _sandboxForcedUnavailableForTests = false, RESULT_SENTINEL = "__INTEGRATE_RESULT__";
9016
9041
  var init_executor = () => {};
9017
9042
 
9018
9043
  // src/code-mode/tool-builder.ts
@@ -9048,6 +9073,14 @@ async function diagnoseCodeMode(client) {
9048
9073
  async function canUseCodeMode(client) {
9049
9074
  return (await diagnoseCodeMode(client)).available;
9050
9075
  }
9076
+ function buildFallbackMessage(reason) {
9077
+ if (reason === "no-public-url") {
9078
+ return "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var.";
9079
+ }
9080
+ const importError = getSandboxImportError();
9081
+ const detail = importError instanceof Error ? ` Underlying import error: ${importError.message}` : importError ? ` Underlying import error: ${String(importError)}` : "";
9082
+ return "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Ensure `@vercel/sandbox` is in `dependencies` and the route runs in the Node.js runtime (not Edge)." + detail;
9083
+ }
9051
9084
  function __resetCodeModeFallbackWarnings() {
9052
9085
  warnedCodeModeReasons.clear();
9053
9086
  }
@@ -9055,7 +9088,7 @@ function warnCodeModeFallback(reason) {
9055
9088
  if (warnedCodeModeReasons.has(reason))
9056
9089
  return;
9057
9090
  warnedCodeModeReasons.add(reason);
9058
- console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
9091
+ console.warn(buildFallbackMessage(reason));
9059
9092
  }
9060
9093
  function buildCodeModeTool(client, options) {
9061
9094
  const { tools, providerTokens, context, integrationIds } = options;
@@ -9113,7 +9146,7 @@ ${generated.source}
9113
9146
  execute
9114
9147
  };
9115
9148
  }
9116
- var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS, CODE_MODE_UNAVAILABLE_MESSAGES, warnedCodeModeReasons;
9149
+ var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS, warnedCodeModeReasons;
9117
9150
  var init_tool_builder = __esm(() => {
9118
9151
  init_type_generator();
9119
9152
  init_executor();
@@ -9138,10 +9171,6 @@ var init_tool_builder = __esm(() => {
9138
9171
  "API surface:"
9139
9172
  ].join(`
9140
9173
  `);
9141
- CODE_MODE_UNAVAILABLE_MESSAGES = {
9142
- "sandbox-missing": "[integrate-sdk] Code Mode unavailable (reason: sandbox-missing) — falling back to tool mode. " + "Install `@vercel/sandbox` (e.g. `bun add @vercel/sandbox`) to enable Code Mode.",
9143
- "no-public-url": "[integrate-sdk] Code Mode unavailable (reason: no-public-url) — falling back to tool mode. " + "Set `codeMode.publicUrl` on your server config or the `INTEGRATE_URL` env var."
9144
- };
9145
9174
  warnedCodeModeReasons = new Set;
9146
9175
  });
9147
9176