integrate-sdk 0.9.8-dev.0 → 0.9.9-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.
- package/dist/adapters/auto-routes.js +68 -9
- package/dist/adapters/index.js +68 -9
- package/dist/adapters/nextjs.js +68 -9
- package/dist/adapters/node.js +68 -9
- package/dist/adapters/svelte-kit.js +68 -9
- package/dist/adapters/tanstack-start.js +68 -9
- package/dist/ai/anthropic.d.ts.map +1 -1
- package/dist/ai/anthropic.js +31 -5
- package/dist/ai/google.d.ts.map +1 -1
- package/dist/ai/google.js +31 -5
- package/dist/ai/index.js +67 -8
- package/dist/ai/openai.d.ts.map +1 -1
- package/dist/ai/openai.js +31 -5
- package/dist/ai/vercel-ai.d.ts.map +1 -1
- package/dist/ai/vercel-ai.js +31 -5
- package/dist/code-mode/index.js +25 -4
- package/dist/code-mode/tool-builder.d.ts +16 -0
- package/dist/code-mode/tool-builder.d.ts.map +1 -1
- package/dist/code-mode/tool-builder.js +28 -4
- package/dist/index.js +68 -9
- package/dist/oauth.js +68 -9
- package/dist/server.js +68 -9
- package/dist/src/ai/anthropic.d.ts.map +1 -1
- package/dist/src/ai/google.d.ts.map +1 -1
- package/dist/src/ai/openai.d.ts.map +1 -1
- package/dist/src/ai/vercel-ai.d.ts.map +1 -1
- package/dist/src/code-mode/tool-builder.d.ts +16 -0
- package/dist/src/code-mode/tool-builder.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8784,12 +8784,22 @@ function resolveCodeModeClientConfig(client) {
|
|
|
8784
8784
|
const oauthConfig = client.__oauthConfig;
|
|
8785
8785
|
return oauthConfig?.codeMode ?? {};
|
|
8786
8786
|
}
|
|
8787
|
-
async function
|
|
8788
|
-
if (!await isSandboxAvailable())
|
|
8789
|
-
return false;
|
|
8787
|
+
async function diagnoseCodeMode(client) {
|
|
8788
|
+
if (!await isSandboxAvailable()) {
|
|
8789
|
+
return { available: false, reason: "sandbox-missing" };
|
|
8790
|
+
}
|
|
8790
8791
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
8791
8792
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
8792
|
-
|
|
8793
|
+
if (!publicUrl) {
|
|
8794
|
+
return { available: false, reason: "no-public-url" };
|
|
8795
|
+
}
|
|
8796
|
+
return { available: true };
|
|
8797
|
+
}
|
|
8798
|
+
function warnCodeModeFallback(reason) {
|
|
8799
|
+
if (warnedCodeModeReasons.has(reason))
|
|
8800
|
+
return;
|
|
8801
|
+
warnedCodeModeReasons.add(reason);
|
|
8802
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
8793
8803
|
}
|
|
8794
8804
|
function buildCodeModeTool(client, options) {
|
|
8795
8805
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -8845,7 +8855,7 @@ ${generated.source}
|
|
|
8845
8855
|
execute
|
|
8846
8856
|
};
|
|
8847
8857
|
}
|
|
8848
|
-
var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS;
|
|
8858
|
+
var CODE_MODE_TOOL_NAME = "execute_code", DEFAULT_INSTRUCTIONS, CODE_MODE_UNAVAILABLE_MESSAGES, warnedCodeModeReasons;
|
|
8849
8859
|
var init_tool_builder = __esm(() => {
|
|
8850
8860
|
init_type_generator();
|
|
8851
8861
|
init_executor();
|
|
@@ -8870,6 +8880,11 @@ var init_tool_builder = __esm(() => {
|
|
|
8870
8880
|
"API surface:"
|
|
8871
8881
|
].join(`
|
|
8872
8882
|
`);
|
|
8883
|
+
CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
8884
|
+
"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.",
|
|
8885
|
+
"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_PUBLIC_URL` env var."
|
|
8886
|
+
};
|
|
8887
|
+
warnedCodeModeReasons = new Set;
|
|
8873
8888
|
});
|
|
8874
8889
|
|
|
8875
8890
|
// ../ai/vercel-ai.ts
|
|
@@ -8896,7 +8911,18 @@ async function getVercelAITools(client, options) {
|
|
|
8896
8911
|
await ensureClientConnected(client);
|
|
8897
8912
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
8898
8913
|
const vercelTools = {};
|
|
8899
|
-
|
|
8914
|
+
let effectiveMode;
|
|
8915
|
+
if (options?.mode !== undefined) {
|
|
8916
|
+
effectiveMode = options.mode;
|
|
8917
|
+
} else {
|
|
8918
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
8919
|
+
if (diagnosis.available) {
|
|
8920
|
+
effectiveMode = "code";
|
|
8921
|
+
} else {
|
|
8922
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
8923
|
+
effectiveMode = "tools";
|
|
8924
|
+
}
|
|
8925
|
+
}
|
|
8900
8926
|
if (effectiveMode === "code") {
|
|
8901
8927
|
const codeTool = buildCodeModeTool(client, {
|
|
8902
8928
|
tools: mcpTools,
|
|
@@ -10355,7 +10381,18 @@ async function getOpenAITools(client, options) {
|
|
|
10355
10381
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
10356
10382
|
await ensureClientConnected(client);
|
|
10357
10383
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
10358
|
-
|
|
10384
|
+
let effectiveMode;
|
|
10385
|
+
if (options?.mode !== undefined) {
|
|
10386
|
+
effectiveMode = options.mode;
|
|
10387
|
+
} else {
|
|
10388
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
10389
|
+
if (diagnosis.available) {
|
|
10390
|
+
effectiveMode = "code";
|
|
10391
|
+
} else {
|
|
10392
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
10393
|
+
effectiveMode = "tools";
|
|
10394
|
+
}
|
|
10395
|
+
}
|
|
10359
10396
|
const openaiTools = effectiveMode === "code" ? (() => {
|
|
10360
10397
|
const codeTool = buildCodeModeTool(client, {
|
|
10361
10398
|
tools: mcpTools,
|
|
@@ -10535,7 +10572,18 @@ async function getAnthropicTools(client, options) {
|
|
|
10535
10572
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
10536
10573
|
await ensureClientConnected(client);
|
|
10537
10574
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
10538
|
-
|
|
10575
|
+
let effectiveMode;
|
|
10576
|
+
if (options?.mode !== undefined) {
|
|
10577
|
+
effectiveMode = options.mode;
|
|
10578
|
+
} else {
|
|
10579
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
10580
|
+
if (diagnosis.available) {
|
|
10581
|
+
effectiveMode = "code";
|
|
10582
|
+
} else {
|
|
10583
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
10584
|
+
effectiveMode = "tools";
|
|
10585
|
+
}
|
|
10586
|
+
}
|
|
10539
10587
|
const anthropicTools = effectiveMode === "code" ? (() => {
|
|
10540
10588
|
const codeTool = buildCodeModeTool(client, {
|
|
10541
10589
|
tools: mcpTools,
|
|
@@ -10724,7 +10772,18 @@ async function getGoogleTools(client, options) {
|
|
|
10724
10772
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
10725
10773
|
await ensureClientConnected(client);
|
|
10726
10774
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
10727
|
-
|
|
10775
|
+
let effectiveMode;
|
|
10776
|
+
if (options?.mode !== undefined) {
|
|
10777
|
+
effectiveMode = options.mode;
|
|
10778
|
+
} else {
|
|
10779
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
10780
|
+
if (diagnosis.available) {
|
|
10781
|
+
effectiveMode = "code";
|
|
10782
|
+
} else {
|
|
10783
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
10784
|
+
effectiveMode = "tools";
|
|
10785
|
+
}
|
|
10786
|
+
}
|
|
10728
10787
|
let googleTools;
|
|
10729
10788
|
if (effectiveMode === "code") {
|
|
10730
10789
|
const TypeEnum = await getGoogleType();
|
|
@@ -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;
|
|
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;AASjH,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,CA2E1B;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"}
|
package/dist/ai/anthropic.js
CHANGED
|
@@ -4893,12 +4893,27 @@ function resolveCodeModeClientConfig(client) {
|
|
|
4893
4893
|
const oauthConfig = client.__oauthConfig;
|
|
4894
4894
|
return oauthConfig?.codeMode ?? {};
|
|
4895
4895
|
}
|
|
4896
|
-
async function
|
|
4897
|
-
if (!await isSandboxAvailable())
|
|
4898
|
-
return false;
|
|
4896
|
+
async function diagnoseCodeMode(client) {
|
|
4897
|
+
if (!await isSandboxAvailable()) {
|
|
4898
|
+
return { available: false, reason: "sandbox-missing" };
|
|
4899
|
+
}
|
|
4899
4900
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
4900
4901
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
4901
|
-
|
|
4902
|
+
if (!publicUrl) {
|
|
4903
|
+
return { available: false, reason: "no-public-url" };
|
|
4904
|
+
}
|
|
4905
|
+
return { available: true };
|
|
4906
|
+
}
|
|
4907
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
4908
|
+
"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.",
|
|
4909
|
+
"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_PUBLIC_URL` env var."
|
|
4910
|
+
};
|
|
4911
|
+
var warnedCodeModeReasons = new Set;
|
|
4912
|
+
function warnCodeModeFallback(reason) {
|
|
4913
|
+
if (warnedCodeModeReasons.has(reason))
|
|
4914
|
+
return;
|
|
4915
|
+
warnedCodeModeReasons.add(reason);
|
|
4916
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
4902
4917
|
}
|
|
4903
4918
|
function buildCodeModeTool(client, options) {
|
|
4904
4919
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -5025,7 +5040,18 @@ async function getAnthropicTools(client, options) {
|
|
|
5025
5040
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
5026
5041
|
await ensureClientConnected(client);
|
|
5027
5042
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5028
|
-
|
|
5043
|
+
let effectiveMode;
|
|
5044
|
+
if (options?.mode !== undefined) {
|
|
5045
|
+
effectiveMode = options.mode;
|
|
5046
|
+
} else {
|
|
5047
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5048
|
+
if (diagnosis.available) {
|
|
5049
|
+
effectiveMode = "code";
|
|
5050
|
+
} else {
|
|
5051
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5052
|
+
effectiveMode = "tools";
|
|
5053
|
+
}
|
|
5054
|
+
}
|
|
5029
5055
|
const anthropicTools = effectiveMode === "code" ? (() => {
|
|
5030
5056
|
const codeTool = buildCodeModeTool(client, {
|
|
5031
5057
|
tools: mcpTools,
|
package/dist/ai/google.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AAYjH,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,CAwFvB"}
|
package/dist/ai/google.js
CHANGED
|
@@ -4893,12 +4893,27 @@ function resolveCodeModeClientConfig(client) {
|
|
|
4893
4893
|
const oauthConfig = client.__oauthConfig;
|
|
4894
4894
|
return oauthConfig?.codeMode ?? {};
|
|
4895
4895
|
}
|
|
4896
|
-
async function
|
|
4897
|
-
if (!await isSandboxAvailable())
|
|
4898
|
-
return false;
|
|
4896
|
+
async function diagnoseCodeMode(client) {
|
|
4897
|
+
if (!await isSandboxAvailable()) {
|
|
4898
|
+
return { available: false, reason: "sandbox-missing" };
|
|
4899
|
+
}
|
|
4899
4900
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
4900
4901
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
4901
|
-
|
|
4902
|
+
if (!publicUrl) {
|
|
4903
|
+
return { available: false, reason: "no-public-url" };
|
|
4904
|
+
}
|
|
4905
|
+
return { available: true };
|
|
4906
|
+
}
|
|
4907
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
4908
|
+
"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.",
|
|
4909
|
+
"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_PUBLIC_URL` env var."
|
|
4910
|
+
};
|
|
4911
|
+
var warnedCodeModeReasons = new Set;
|
|
4912
|
+
function warnCodeModeFallback(reason) {
|
|
4913
|
+
if (warnedCodeModeReasons.has(reason))
|
|
4914
|
+
return;
|
|
4915
|
+
warnedCodeModeReasons.add(reason);
|
|
4916
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
4902
4917
|
}
|
|
4903
4918
|
function buildCodeModeTool(client, options) {
|
|
4904
4919
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -5079,7 +5094,18 @@ async function getGoogleTools(client, options) {
|
|
|
5079
5094
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
5080
5095
|
await ensureClientConnected(client);
|
|
5081
5096
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5082
|
-
|
|
5097
|
+
let effectiveMode;
|
|
5098
|
+
if (options?.mode !== undefined) {
|
|
5099
|
+
effectiveMode = options.mode;
|
|
5100
|
+
} else {
|
|
5101
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5102
|
+
if (diagnosis.available) {
|
|
5103
|
+
effectiveMode = "code";
|
|
5104
|
+
} else {
|
|
5105
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5106
|
+
effectiveMode = "tools";
|
|
5107
|
+
}
|
|
5108
|
+
}
|
|
5083
5109
|
let googleTools;
|
|
5084
5110
|
if (effectiveMode === "code") {
|
|
5085
5111
|
const TypeEnum = await getGoogleType();
|
package/dist/ai/index.js
CHANGED
|
@@ -4893,12 +4893,27 @@ function resolveCodeModeClientConfig(client) {
|
|
|
4893
4893
|
const oauthConfig = client.__oauthConfig;
|
|
4894
4894
|
return oauthConfig?.codeMode ?? {};
|
|
4895
4895
|
}
|
|
4896
|
-
async function
|
|
4897
|
-
if (!await isSandboxAvailable())
|
|
4898
|
-
return false;
|
|
4896
|
+
async function diagnoseCodeMode(client) {
|
|
4897
|
+
if (!await isSandboxAvailable()) {
|
|
4898
|
+
return { available: false, reason: "sandbox-missing" };
|
|
4899
|
+
}
|
|
4899
4900
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
4900
4901
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
4901
|
-
|
|
4902
|
+
if (!publicUrl) {
|
|
4903
|
+
return { available: false, reason: "no-public-url" };
|
|
4904
|
+
}
|
|
4905
|
+
return { available: true };
|
|
4906
|
+
}
|
|
4907
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
4908
|
+
"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.",
|
|
4909
|
+
"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_PUBLIC_URL` env var."
|
|
4910
|
+
};
|
|
4911
|
+
var warnedCodeModeReasons = new Set;
|
|
4912
|
+
function warnCodeModeFallback(reason) {
|
|
4913
|
+
if (warnedCodeModeReasons.has(reason))
|
|
4914
|
+
return;
|
|
4915
|
+
warnedCodeModeReasons.add(reason);
|
|
4916
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
4902
4917
|
}
|
|
4903
4918
|
function buildCodeModeTool(client, options) {
|
|
4904
4919
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -5025,7 +5040,18 @@ async function getAnthropicTools(client, options) {
|
|
|
5025
5040
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
5026
5041
|
await ensureClientConnected(client);
|
|
5027
5042
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5028
|
-
|
|
5043
|
+
let effectiveMode;
|
|
5044
|
+
if (options?.mode !== undefined) {
|
|
5045
|
+
effectiveMode = options.mode;
|
|
5046
|
+
} else {
|
|
5047
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5048
|
+
if (diagnosis.available) {
|
|
5049
|
+
effectiveMode = "code";
|
|
5050
|
+
} else {
|
|
5051
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5052
|
+
effectiveMode = "tools";
|
|
5053
|
+
}
|
|
5054
|
+
}
|
|
5029
5055
|
const anthropicTools = effectiveMode === "code" ? (() => {
|
|
5030
5056
|
const codeTool = buildCodeModeTool(client, {
|
|
5031
5057
|
tools: mcpTools,
|
|
@@ -5209,7 +5235,18 @@ async function getGoogleTools(client, options) {
|
|
|
5209
5235
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
5210
5236
|
await ensureClientConnected(client);
|
|
5211
5237
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5212
|
-
|
|
5238
|
+
let effectiveMode;
|
|
5239
|
+
if (options?.mode !== undefined) {
|
|
5240
|
+
effectiveMode = options.mode;
|
|
5241
|
+
} else {
|
|
5242
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5243
|
+
if (diagnosis.available) {
|
|
5244
|
+
effectiveMode = "code";
|
|
5245
|
+
} else {
|
|
5246
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5247
|
+
effectiveMode = "tools";
|
|
5248
|
+
}
|
|
5249
|
+
}
|
|
5213
5250
|
let googleTools;
|
|
5214
5251
|
if (effectiveMode === "code") {
|
|
5215
5252
|
const TypeEnum = await getGoogleType();
|
|
@@ -5335,7 +5372,18 @@ async function getVercelAITools(client, options) {
|
|
|
5335
5372
|
await ensureClientConnected(client);
|
|
5336
5373
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5337
5374
|
const vercelTools = {};
|
|
5338
|
-
|
|
5375
|
+
let effectiveMode;
|
|
5376
|
+
if (options?.mode !== undefined) {
|
|
5377
|
+
effectiveMode = options.mode;
|
|
5378
|
+
} else {
|
|
5379
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5380
|
+
if (diagnosis.available) {
|
|
5381
|
+
effectiveMode = "code";
|
|
5382
|
+
} else {
|
|
5383
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5384
|
+
effectiveMode = "tools";
|
|
5385
|
+
}
|
|
5386
|
+
}
|
|
5339
5387
|
if (effectiveMode === "code") {
|
|
5340
5388
|
const codeTool = buildCodeModeTool(client, {
|
|
5341
5389
|
tools: mcpTools,
|
|
@@ -5385,7 +5433,18 @@ async function getOpenAITools(client, options) {
|
|
|
5385
5433
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
5386
5434
|
await ensureClientConnected(client);
|
|
5387
5435
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
5388
|
-
|
|
5436
|
+
let effectiveMode;
|
|
5437
|
+
if (options?.mode !== undefined) {
|
|
5438
|
+
effectiveMode = options.mode;
|
|
5439
|
+
} else {
|
|
5440
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5441
|
+
if (diagnosis.available) {
|
|
5442
|
+
effectiveMode = "code";
|
|
5443
|
+
} else {
|
|
5444
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5445
|
+
effectiveMode = "tools";
|
|
5446
|
+
}
|
|
5447
|
+
}
|
|
5389
5448
|
const openaiTools = effectiveMode === "code" ? (() => {
|
|
5390
5449
|
const codeTool = buildCodeModeTool(client, {
|
|
5391
5450
|
tools: mcpTools,
|
package/dist/ai/openai.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AASjH,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;IACrB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AAiCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CA2EvB;AA0GD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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
|
@@ -4893,12 +4893,27 @@ function resolveCodeModeClientConfig(client) {
|
|
|
4893
4893
|
const oauthConfig = client.__oauthConfig;
|
|
4894
4894
|
return oauthConfig?.codeMode ?? {};
|
|
4895
4895
|
}
|
|
4896
|
-
async function
|
|
4897
|
-
if (!await isSandboxAvailable())
|
|
4898
|
-
return false;
|
|
4896
|
+
async function diagnoseCodeMode(client) {
|
|
4897
|
+
if (!await isSandboxAvailable()) {
|
|
4898
|
+
return { available: false, reason: "sandbox-missing" };
|
|
4899
|
+
}
|
|
4899
4900
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
4900
4901
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
4901
|
-
|
|
4902
|
+
if (!publicUrl) {
|
|
4903
|
+
return { available: false, reason: "no-public-url" };
|
|
4904
|
+
}
|
|
4905
|
+
return { available: true };
|
|
4906
|
+
}
|
|
4907
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
4908
|
+
"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.",
|
|
4909
|
+
"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_PUBLIC_URL` env var."
|
|
4910
|
+
};
|
|
4911
|
+
var warnedCodeModeReasons = new Set;
|
|
4912
|
+
function warnCodeModeFallback(reason) {
|
|
4913
|
+
if (warnedCodeModeReasons.has(reason))
|
|
4914
|
+
return;
|
|
4915
|
+
warnedCodeModeReasons.add(reason);
|
|
4916
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
4902
4917
|
}
|
|
4903
4918
|
function buildCodeModeTool(client, options) {
|
|
4904
4919
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -4977,7 +4992,18 @@ async function getOpenAITools(client, options) {
|
|
|
4977
4992
|
const finalOptions = providerTokens ? { ...options, providerTokens } : options;
|
|
4978
4993
|
await ensureClientConnected(client);
|
|
4979
4994
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
4980
|
-
|
|
4995
|
+
let effectiveMode;
|
|
4996
|
+
if (options?.mode !== undefined) {
|
|
4997
|
+
effectiveMode = options.mode;
|
|
4998
|
+
} else {
|
|
4999
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5000
|
+
if (diagnosis.available) {
|
|
5001
|
+
effectiveMode = "code";
|
|
5002
|
+
} else {
|
|
5003
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5004
|
+
effectiveMode = "tools";
|
|
5005
|
+
}
|
|
5006
|
+
}
|
|
4981
5007
|
const openaiTools = effectiveMode === "code" ? (() => {
|
|
4982
5008
|
const codeTool = buildCodeModeTool(client, {
|
|
4983
5009
|
tools: mcpTools,
|
|
@@ -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;
|
|
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;AASpB;;;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;IACrB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAkE/B"}
|
package/dist/ai/vercel-ai.js
CHANGED
|
@@ -4893,12 +4893,27 @@ function resolveCodeModeClientConfig(client) {
|
|
|
4893
4893
|
const oauthConfig = client.__oauthConfig;
|
|
4894
4894
|
return oauthConfig?.codeMode ?? {};
|
|
4895
4895
|
}
|
|
4896
|
-
async function
|
|
4897
|
-
if (!await isSandboxAvailable())
|
|
4898
|
-
return false;
|
|
4896
|
+
async function diagnoseCodeMode(client) {
|
|
4897
|
+
if (!await isSandboxAvailable()) {
|
|
4898
|
+
return { available: false, reason: "sandbox-missing" };
|
|
4899
|
+
}
|
|
4899
4900
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
4900
4901
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
4901
|
-
|
|
4902
|
+
if (!publicUrl) {
|
|
4903
|
+
return { available: false, reason: "no-public-url" };
|
|
4904
|
+
}
|
|
4905
|
+
return { available: true };
|
|
4906
|
+
}
|
|
4907
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
4908
|
+
"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.",
|
|
4909
|
+
"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_PUBLIC_URL` env var."
|
|
4910
|
+
};
|
|
4911
|
+
var warnedCodeModeReasons = new Set;
|
|
4912
|
+
function warnCodeModeFallback(reason) {
|
|
4913
|
+
if (warnedCodeModeReasons.has(reason))
|
|
4914
|
+
return;
|
|
4915
|
+
warnedCodeModeReasons.add(reason);
|
|
4916
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
4902
4917
|
}
|
|
4903
4918
|
function buildCodeModeTool(client, options) {
|
|
4904
4919
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -4979,7 +4994,18 @@ async function getVercelAITools(client, options) {
|
|
|
4979
4994
|
await ensureClientConnected(client);
|
|
4980
4995
|
const mcpTools = await client.getEnabledToolsAsync();
|
|
4981
4996
|
const vercelTools = {};
|
|
4982
|
-
|
|
4997
|
+
let effectiveMode;
|
|
4998
|
+
if (options?.mode !== undefined) {
|
|
4999
|
+
effectiveMode = options.mode;
|
|
5000
|
+
} else {
|
|
5001
|
+
const diagnosis = await diagnoseCodeMode(client);
|
|
5002
|
+
if (diagnosis.available) {
|
|
5003
|
+
effectiveMode = "code";
|
|
5004
|
+
} else {
|
|
5005
|
+
warnCodeModeFallback(diagnosis.reason);
|
|
5006
|
+
effectiveMode = "tools";
|
|
5007
|
+
}
|
|
5008
|
+
}
|
|
4983
5009
|
if (effectiveMode === "code") {
|
|
4984
5010
|
const codeTool = buildCodeModeTool(client, {
|
|
4985
5011
|
tools: mcpTools,
|
package/dist/code-mode/index.js
CHANGED
|
@@ -498,12 +498,33 @@ function resolveCodeModeClientConfig(client) {
|
|
|
498
498
|
const oauthConfig = client.__oauthConfig;
|
|
499
499
|
return oauthConfig?.codeMode ?? {};
|
|
500
500
|
}
|
|
501
|
-
async function
|
|
502
|
-
if (!await isSandboxAvailable())
|
|
503
|
-
return false;
|
|
501
|
+
async function diagnoseCodeMode(client) {
|
|
502
|
+
if (!await isSandboxAvailable()) {
|
|
503
|
+
return { available: false, reason: "sandbox-missing" };
|
|
504
|
+
}
|
|
504
505
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
505
506
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
506
|
-
|
|
507
|
+
if (!publicUrl) {
|
|
508
|
+
return { available: false, reason: "no-public-url" };
|
|
509
|
+
}
|
|
510
|
+
return { available: true };
|
|
511
|
+
}
|
|
512
|
+
async function canUseCodeMode(client) {
|
|
513
|
+
return (await diagnoseCodeMode(client)).available;
|
|
514
|
+
}
|
|
515
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
516
|
+
"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.",
|
|
517
|
+
"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_PUBLIC_URL` env var."
|
|
518
|
+
};
|
|
519
|
+
var warnedCodeModeReasons = new Set;
|
|
520
|
+
function __resetCodeModeFallbackWarnings() {
|
|
521
|
+
warnedCodeModeReasons.clear();
|
|
522
|
+
}
|
|
523
|
+
function warnCodeModeFallback(reason) {
|
|
524
|
+
if (warnedCodeModeReasons.has(reason))
|
|
525
|
+
return;
|
|
526
|
+
warnedCodeModeReasons.add(reason);
|
|
527
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
507
528
|
}
|
|
508
529
|
function buildCodeModeTool(client, options) {
|
|
509
530
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -74,7 +74,23 @@ export declare function resolveCodeModeClientConfig(client: MCPClient<any>): {
|
|
|
74
74
|
};
|
|
75
75
|
};
|
|
76
76
|
};
|
|
77
|
+
export type CodeModeUnavailableReason = "sandbox-missing" | "no-public-url";
|
|
78
|
+
export type CodeModeDiagnosis = {
|
|
79
|
+
available: true;
|
|
80
|
+
} | {
|
|
81
|
+
available: false;
|
|
82
|
+
reason: CodeModeUnavailableReason;
|
|
83
|
+
};
|
|
84
|
+
export declare function diagnoseCodeMode(client: MCPClient<any>): Promise<CodeModeDiagnosis>;
|
|
77
85
|
export declare function canUseCodeMode(client: MCPClient<any>): Promise<boolean>;
|
|
86
|
+
/** @internal — used by unit tests to reset the warn-once throttle. */
|
|
87
|
+
export declare function __resetCodeModeFallbackWarnings(): void;
|
|
88
|
+
/**
|
|
89
|
+
* Called by AI helpers when auto-detection picks `tools` mode. Emits a
|
|
90
|
+
* throttled `console.warn` so operators can tell *why* Code Mode was
|
|
91
|
+
* silently downgraded. Each reason warns at most once per process.
|
|
92
|
+
*/
|
|
93
|
+
export declare function warnCodeModeFallback(reason: CodeModeUnavailableReason): void;
|
|
78
94
|
/**
|
|
79
95
|
* Build the `execute_code` tool definition. The returned `execute` function
|
|
80
96
|
* is what the AI provider SDK ultimately invokes when the model picks the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-builder.d.ts","sourceRoot":"","sources":["../../../src/code-mode/tool-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,iCAAiC;IACjC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,EAAE;gBAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;gBAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE,CAAA;SAAE,CAAC;KAClH,CAAC;CACH;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE;YACV,IAAI,EAAE;gBAAE,IAAI,EAAE,QAAQ,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,CAAC;SAC/C,CAAC;QACF,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;QACnB,oBAAoB,EAAE,KAAK,CAAC;KAC7B,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACzE;AAuBD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;CAClH,CAGA;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"tool-builder.d.ts","sourceRoot":"","sources":["../../../src/code-mode/tool-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -498,12 +498,33 @@ function resolveCodeModeClientConfig(client) {
|
|
|
498
498
|
const oauthConfig = client.__oauthConfig;
|
|
499
499
|
return oauthConfig?.codeMode ?? {};
|
|
500
500
|
}
|
|
501
|
-
async function
|
|
502
|
-
if (!await isSandboxAvailable())
|
|
503
|
-
return false;
|
|
501
|
+
async function diagnoseCodeMode(client) {
|
|
502
|
+
if (!await isSandboxAvailable()) {
|
|
503
|
+
return { available: false, reason: "sandbox-missing" };
|
|
504
|
+
}
|
|
504
505
|
const serverConfig = resolveCodeModeClientConfig(client);
|
|
505
506
|
const publicUrl = serverConfig.publicUrl ?? getEnv("INTEGRATE_PUBLIC_URL");
|
|
506
|
-
|
|
507
|
+
if (!publicUrl) {
|
|
508
|
+
return { available: false, reason: "no-public-url" };
|
|
509
|
+
}
|
|
510
|
+
return { available: true };
|
|
511
|
+
}
|
|
512
|
+
async function canUseCodeMode(client) {
|
|
513
|
+
return (await diagnoseCodeMode(client)).available;
|
|
514
|
+
}
|
|
515
|
+
var CODE_MODE_UNAVAILABLE_MESSAGES = {
|
|
516
|
+
"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.",
|
|
517
|
+
"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_PUBLIC_URL` env var."
|
|
518
|
+
};
|
|
519
|
+
var warnedCodeModeReasons = new Set;
|
|
520
|
+
function __resetCodeModeFallbackWarnings() {
|
|
521
|
+
warnedCodeModeReasons.clear();
|
|
522
|
+
}
|
|
523
|
+
function warnCodeModeFallback(reason) {
|
|
524
|
+
if (warnedCodeModeReasons.has(reason))
|
|
525
|
+
return;
|
|
526
|
+
warnedCodeModeReasons.add(reason);
|
|
527
|
+
console.warn(CODE_MODE_UNAVAILABLE_MESSAGES[reason]);
|
|
507
528
|
}
|
|
508
529
|
function buildCodeModeTool(client, options) {
|
|
509
530
|
const { tools, providerTokens, context, integrationIds } = options;
|
|
@@ -560,8 +581,11 @@ ${generated.source}
|
|
|
560
581
|
};
|
|
561
582
|
}
|
|
562
583
|
export {
|
|
584
|
+
warnCodeModeFallback,
|
|
563
585
|
resolveCodeModeClientConfig,
|
|
586
|
+
diagnoseCodeMode,
|
|
564
587
|
canUseCodeMode,
|
|
565
588
|
buildCodeModeTool,
|
|
589
|
+
__resetCodeModeFallbackWarnings,
|
|
566
590
|
CODE_MODE_TOOL_NAME
|
|
567
591
|
};
|