integrate-sdk 0.9.21-dev.0 → 0.9.23-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.
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -1 +1 @@
1
- {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -1334,8 +1328,28 @@ function createNextOAuthHandler(config) {
1334
1328
  async mcp(req) {
1335
1329
  try {
1336
1330
  const body = await req.json();
1337
- const authHeader = req.headers.get("authorization");
1331
+ let authHeader = req.headers.get("authorization");
1338
1332
  const integrationsHeader = req.headers.get("x-integrations");
1333
+ const codeModeHeader = req.headers.get("x-integrate-code-mode");
1334
+ const tokensHeader = req.headers.get("x-integrate-tokens");
1335
+ const toolName = typeof body?.name === "string" ? body.name : "";
1336
+ if (codeModeHeader === "1" && tokensHeader && toolName) {
1337
+ try {
1338
+ const tokens = JSON.parse(tokensHeader);
1339
+ let best = null;
1340
+ for (const candidate of Object.keys(tokens)) {
1341
+ if (!candidate)
1342
+ continue;
1343
+ if (toolName === candidate || toolName.startsWith(candidate + "_")) {
1344
+ if (!best || candidate.length > best.length)
1345
+ best = candidate;
1346
+ }
1347
+ }
1348
+ if (best && tokens[best]) {
1349
+ authHeader = `Bearer ${tokens[best]}`;
1350
+ }
1351
+ } catch {}
1352
+ }
1339
1353
  const result = await handler.handleToolCall(body, authHeader, integrationsHeader);
1340
1354
  return Response.json(result);
1341
1355
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../../src/adapters/nextjs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU1E,KAAK,WAAW,GAAG,GAAG,CAAC;AACvB,KAAK,YAAY,GAAG,GAAG,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;mBACkB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;kBACiB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;gBACe,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAsCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;oBACmB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyCzD;;;;;;;;;;;;;;OAcG;iBACgB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBtD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;QAGC;;WAEG;kBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,GACpE,OAAO,CAAC,YAAY,CAAC;QA+BxB;;WAEG;iBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,GACpE,OAAO,CAAC,YAAY,CAAC;;IAiB5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACY,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAgBlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;qCAC8B;QAC/B,6DAA6D;QAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iEAAiE;QACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;QAKG;;WAEG;kBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAA;SAAE,GAClE,OAAO,CAAC,YAAY,CAAC;QA0CxB;;WAEG;iBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAA;SAAE,GAClE,OAAO,CAAC,YAAY,CAAC;;EAqG/B"}
1
+ {"version":3,"file":"nextjs.d.ts","sourceRoot":"","sources":["../../../src/adapters/nextjs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAU1E,KAAK,WAAW,GAAG,GAAG,CAAC;AACvB,KAAK,YAAY,GAAG,GAAG,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB;IAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;mBACkB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;kBACiB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA4BvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;gBACe,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAsCrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;oBACmB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAyCzD;;;;;;;;;;;;;;OAcG;iBACgB,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBtD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;;QAGC;;WAEG;kBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,GACpE,OAAO,CAAC,YAAY,CAAC;QA+BxB;;WAEG;iBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,MAAM,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,GACpE,OAAO,CAAC,YAAY,CAAC;;IAiB5B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACY,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA0ClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;qCAC8B;QAC/B,6DAA6D;QAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iEAAiE;QACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B;QAKG;;WAEG;kBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAA;SAAE,GAClE,OAAO,CAAC,YAAY,CAAC;QA0CxB;;WAEG;iBAEI,WAAW,WACP;YAAE,MAAM,EAAE;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,OAAO,CAAC;gBAAE,GAAG,EAAE,MAAM,EAAE,CAAA;aAAE,CAAC,CAAA;SAAE,GAClE,OAAO,CAAC,YAAY,CAAC;;EAqG/B"}
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -1085,8 +1079,28 @@ function createNextOAuthHandler(config) {
1085
1079
  async mcp(req) {
1086
1080
  try {
1087
1081
  const body = await req.json();
1088
- const authHeader = req.headers.get("authorization");
1082
+ let authHeader = req.headers.get("authorization");
1089
1083
  const integrationsHeader = req.headers.get("x-integrations");
1084
+ const codeModeHeader = req.headers.get("x-integrate-code-mode");
1085
+ const tokensHeader = req.headers.get("x-integrate-tokens");
1086
+ const toolName = typeof body?.name === "string" ? body.name : "";
1087
+ if (codeModeHeader === "1" && tokensHeader && toolName) {
1088
+ try {
1089
+ const tokens = JSON.parse(tokensHeader);
1090
+ let best = null;
1091
+ for (const candidate of Object.keys(tokens)) {
1092
+ if (!candidate)
1093
+ continue;
1094
+ if (toolName === candidate || toolName.startsWith(candidate + "_")) {
1095
+ if (!best || candidate.length > best.length)
1096
+ best = candidate;
1097
+ }
1098
+ }
1099
+ if (best && tokens[best]) {
1100
+ authHeader = `Bearer ${tokens[best]}`;
1101
+ }
1102
+ } catch {}
1103
+ }
1090
1104
  const result = await handler.handleToolCall(body, authHeader, integrationsHeader);
1091
1105
  return Response.json(result);
1092
1106
  } catch (error) {
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -1334,8 +1328,28 @@ function createNextOAuthHandler(config) {
1334
1328
  async mcp(req) {
1335
1329
  try {
1336
1330
  const body = await req.json();
1337
- const authHeader = req.headers.get("authorization");
1331
+ let authHeader = req.headers.get("authorization");
1338
1332
  const integrationsHeader = req.headers.get("x-integrations");
1333
+ const codeModeHeader = req.headers.get("x-integrate-code-mode");
1334
+ const tokensHeader = req.headers.get("x-integrate-tokens");
1335
+ const toolName = typeof body?.name === "string" ? body.name : "";
1336
+ if (codeModeHeader === "1" && tokensHeader && toolName) {
1337
+ try {
1338
+ const tokens = JSON.parse(tokensHeader);
1339
+ let best = null;
1340
+ for (const candidate of Object.keys(tokens)) {
1341
+ if (!candidate)
1342
+ continue;
1343
+ if (toolName === candidate || toolName.startsWith(candidate + "_")) {
1344
+ if (!best || candidate.length > best.length)
1345
+ best = candidate;
1346
+ }
1347
+ }
1348
+ if (best && tokens[best]) {
1349
+ authHeader = `Bearer ${tokens[best]}`;
1350
+ }
1351
+ } catch {}
1352
+ }
1339
1353
  const result = await handler.handleToolCall(body, authHeader, integrationsHeader);
1340
1354
  return Response.json(result);
1341
1355
  } catch (error) {
@@ -806,12 +806,6 @@ class OAuthHandler {
806
806
  arguments: request.arguments || {}
807
807
  }
808
808
  };
809
- console.warn("[integrate-sdk] handleToolCall →", url, JSON.stringify({
810
- tool: request.name,
811
- hasAuth: !!headers["Authorization"],
812
- hasApiKey: !!headers["X-API-KEY"],
813
- headerKeys: Object.keys(headers)
814
- }));
815
809
  let response = await fetch(url, {
816
810
  method: "POST",
817
811
  headers,
@@ -1334,8 +1328,28 @@ function createNextOAuthHandler(config) {
1334
1328
  async mcp(req) {
1335
1329
  try {
1336
1330
  const body = await req.json();
1337
- const authHeader = req.headers.get("authorization");
1331
+ let authHeader = req.headers.get("authorization");
1338
1332
  const integrationsHeader = req.headers.get("x-integrations");
1333
+ const codeModeHeader = req.headers.get("x-integrate-code-mode");
1334
+ const tokensHeader = req.headers.get("x-integrate-tokens");
1335
+ const toolName = typeof body?.name === "string" ? body.name : "";
1336
+ if (codeModeHeader === "1" && tokensHeader && toolName) {
1337
+ try {
1338
+ const tokens = JSON.parse(tokensHeader);
1339
+ let best = null;
1340
+ for (const candidate of Object.keys(tokens)) {
1341
+ if (!candidate)
1342
+ continue;
1343
+ if (toolName === candidate || toolName.startsWith(candidate + "_")) {
1344
+ if (!best || candidate.length > best.length)
1345
+ best = candidate;
1346
+ }
1347
+ }
1348
+ if (best && tokens[best]) {
1349
+ authHeader = `Bearer ${tokens[best]}`;
1350
+ }
1351
+ } catch {}
1352
+ }
1339
1353
  const result = await handler.handleToolCall(body, authHeader, integrationsHeader);
1340
1354
  return Response.json(result);
1341
1355
  } catch (error) {
@@ -4677,21 +4677,6 @@ if (!MCP_URL) {
4677
4677
  throw new Error('INTEGRATE_MCP_URL is not set — the sandbox cannot reach the MCP route.');
4678
4678
  }
4679
4679
 
4680
- // Diagnostic: log sandbox env summary to stderr so it shows up in the
4681
- // execute_code result's stderr field for debugging auth issues.
4682
- console.error('[sandbox-diag] MCP_URL=' + MCP_URL);
4683
- console.error('[sandbox-diag] HAS_API_KEY=' + !!API_KEY);
4684
- console.error('[sandbox-diag] HAS_SESSION_TOKEN=' + !!SESSION_TOKEN);
4685
- console.error('[sandbox-diag] HAS_PROVIDER_TOKENS=' + !!PROVIDER_TOKENS);
4686
- if (PROVIDER_TOKENS) {
4687
- try {
4688
- const _parsed = JSON.parse(PROVIDER_TOKENS);
4689
- const _keys = Object.keys(_parsed);
4690
- console.error('[sandbox-diag] PROVIDER_TOKEN_KEYS=' + _keys.join(','));
4691
- console.error('[sandbox-diag] TOKEN_LENGTHS=' + _keys.map(k => k + ':' + (typeof _parsed[k] === 'string' ? _parsed[k].length : typeof _parsed[k])).join(','));
4692
- } catch { console.error('[sandbox-diag] PROVIDER_TOKENS is not valid JSON'); }
4693
- }
4694
-
4695
4680
  function camelToSnake(str) {
4696
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4697
4682
  }
@@ -4707,14 +4692,6 @@ async function callTool(toolName, args) {
4707
4692
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
4708
4693
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
4709
4694
 
4710
- console.error('[sandbox-diag] callTool: ' + toolName + ' → ' + MCP_URL);
4711
- console.error('[sandbox-diag] headers: ' + JSON.stringify({
4712
- hasAuth: !!headers['Authorization'],
4713
- hasApiKey: !!headers['x-integrate-api-key'],
4714
- hasTokens: !!headers['x-integrate-tokens'],
4715
- hasCodeMode: !!headers['x-integrate-code-mode'],
4716
- }));
4717
-
4718
4695
  const res = await fetch(MCP_URL, {
4719
4696
  method: 'POST',
4720
4697
  headers,
@@ -4722,7 +4699,6 @@ async function callTool(toolName, args) {
4722
4699
  });
4723
4700
 
4724
4701
  const text = await res.text();
4725
- console.error('[sandbox-diag] response: HTTP ' + res.status + ' len=' + text.length);
4726
4702
 
4727
4703
  let payload;
4728
4704
  try {
@@ -4901,16 +4877,6 @@ async function executeSandboxCode(options) {
4901
4877
  env.INTEGRATE_INTEGRATIONS = options.integrationsHeader;
4902
4878
  if (options.context)
4903
4879
  env.INTEGRATE_CONTEXT = JSON.stringify(options.context);
4904
- console.debug("[integrate-sdk] Sandbox env:", JSON.stringify({
4905
- mcpUrl: options.mcpUrl,
4906
- hasApiKey: !!options.apiKey,
4907
- hasSessionToken: !!options.sessionToken,
4908
- providerTokenKeys: options.providerTokens ? Object.keys(options.providerTokens) : [],
4909
- hasIntegrations: !!options.integrationsHeader,
4910
- hasContext: !!options.context,
4911
- runtime,
4912
- timeoutMs
4913
- }));
4914
4880
  const cmd = await sandbox.runCommand({
4915
4881
  cmd: "node",
4916
4882
  args: ["user.mjs"],
@@ -5037,13 +5003,9 @@ ${generated.compact}`;
5037
5003
  }
5038
5004
  const mcpUrl = publicUrl.replace(/\/$/, "") + "/api/integrate/mcp";
5039
5005
  let resolvedTokens = providerTokens;
5040
- let tokenSource = resolvedTokens && Object.keys(resolvedTokens).length > 0 ? "build-time" : "none";
5041
5006
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
5042
5007
  try {
5043
5008
  resolvedTokens = await getProviderTokens();
5044
- if (resolvedTokens && Object.keys(resolvedTokens).length > 0) {
5045
- tokenSource = "request-header";
5046
- }
5047
5009
  } catch {}
5048
5010
  }
5049
5011
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
@@ -5064,17 +5026,9 @@ ${generated.compact}`;
5064
5026
  }
5065
5027
  if (Object.keys(resolvedTokens).length === 0) {
5066
5028
  resolvedTokens = undefined;
5067
- } else {
5068
- tokenSource = "oauthManager";
5069
5029
  }
5070
5030
  }
5071
5031
  }
5072
- console.debug("[integrate-sdk] execute_code token resolution:", JSON.stringify({
5073
- source: tokenSource,
5074
- keys: resolvedTokens ? Object.keys(resolvedTokens) : [],
5075
- hasApiKey: !!apiKey,
5076
- mcpUrl
5077
- }));
5078
5032
  return executeSandboxCode({
5079
5033
  code,
5080
5034
  mcpUrl,
package/dist/ai/google.js CHANGED
@@ -4677,21 +4677,6 @@ if (!MCP_URL) {
4677
4677
  throw new Error('INTEGRATE_MCP_URL is not set — the sandbox cannot reach the MCP route.');
4678
4678
  }
4679
4679
 
4680
- // Diagnostic: log sandbox env summary to stderr so it shows up in the
4681
- // execute_code result's stderr field for debugging auth issues.
4682
- console.error('[sandbox-diag] MCP_URL=' + MCP_URL);
4683
- console.error('[sandbox-diag] HAS_API_KEY=' + !!API_KEY);
4684
- console.error('[sandbox-diag] HAS_SESSION_TOKEN=' + !!SESSION_TOKEN);
4685
- console.error('[sandbox-diag] HAS_PROVIDER_TOKENS=' + !!PROVIDER_TOKENS);
4686
- if (PROVIDER_TOKENS) {
4687
- try {
4688
- const _parsed = JSON.parse(PROVIDER_TOKENS);
4689
- const _keys = Object.keys(_parsed);
4690
- console.error('[sandbox-diag] PROVIDER_TOKEN_KEYS=' + _keys.join(','));
4691
- console.error('[sandbox-diag] TOKEN_LENGTHS=' + _keys.map(k => k + ':' + (typeof _parsed[k] === 'string' ? _parsed[k].length : typeof _parsed[k])).join(','));
4692
- } catch { console.error('[sandbox-diag] PROVIDER_TOKENS is not valid JSON'); }
4693
- }
4694
-
4695
4680
  function camelToSnake(str) {
4696
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4697
4682
  }
@@ -4707,14 +4692,6 @@ async function callTool(toolName, args) {
4707
4692
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
4708
4693
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
4709
4694
 
4710
- console.error('[sandbox-diag] callTool: ' + toolName + ' → ' + MCP_URL);
4711
- console.error('[sandbox-diag] headers: ' + JSON.stringify({
4712
- hasAuth: !!headers['Authorization'],
4713
- hasApiKey: !!headers['x-integrate-api-key'],
4714
- hasTokens: !!headers['x-integrate-tokens'],
4715
- hasCodeMode: !!headers['x-integrate-code-mode'],
4716
- }));
4717
-
4718
4695
  const res = await fetch(MCP_URL, {
4719
4696
  method: 'POST',
4720
4697
  headers,
@@ -4722,7 +4699,6 @@ async function callTool(toolName, args) {
4722
4699
  });
4723
4700
 
4724
4701
  const text = await res.text();
4725
- console.error('[sandbox-diag] response: HTTP ' + res.status + ' len=' + text.length);
4726
4702
 
4727
4703
  let payload;
4728
4704
  try {
@@ -4901,16 +4877,6 @@ async function executeSandboxCode(options) {
4901
4877
  env.INTEGRATE_INTEGRATIONS = options.integrationsHeader;
4902
4878
  if (options.context)
4903
4879
  env.INTEGRATE_CONTEXT = JSON.stringify(options.context);
4904
- console.debug("[integrate-sdk] Sandbox env:", JSON.stringify({
4905
- mcpUrl: options.mcpUrl,
4906
- hasApiKey: !!options.apiKey,
4907
- hasSessionToken: !!options.sessionToken,
4908
- providerTokenKeys: options.providerTokens ? Object.keys(options.providerTokens) : [],
4909
- hasIntegrations: !!options.integrationsHeader,
4910
- hasContext: !!options.context,
4911
- runtime,
4912
- timeoutMs
4913
- }));
4914
4880
  const cmd = await sandbox.runCommand({
4915
4881
  cmd: "node",
4916
4882
  args: ["user.mjs"],
@@ -5037,13 +5003,9 @@ ${generated.compact}`;
5037
5003
  }
5038
5004
  const mcpUrl = publicUrl.replace(/\/$/, "") + "/api/integrate/mcp";
5039
5005
  let resolvedTokens = providerTokens;
5040
- let tokenSource = resolvedTokens && Object.keys(resolvedTokens).length > 0 ? "build-time" : "none";
5041
5006
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
5042
5007
  try {
5043
5008
  resolvedTokens = await getProviderTokens();
5044
- if (resolvedTokens && Object.keys(resolvedTokens).length > 0) {
5045
- tokenSource = "request-header";
5046
- }
5047
5009
  } catch {}
5048
5010
  }
5049
5011
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
@@ -5064,17 +5026,9 @@ ${generated.compact}`;
5064
5026
  }
5065
5027
  if (Object.keys(resolvedTokens).length === 0) {
5066
5028
  resolvedTokens = undefined;
5067
- } else {
5068
- tokenSource = "oauthManager";
5069
5029
  }
5070
5030
  }
5071
5031
  }
5072
- console.debug("[integrate-sdk] execute_code token resolution:", JSON.stringify({
5073
- source: tokenSource,
5074
- keys: resolvedTokens ? Object.keys(resolvedTokens) : [],
5075
- hasApiKey: !!apiKey,
5076
- mcpUrl
5077
- }));
5078
5032
  return executeSandboxCode({
5079
5033
  code,
5080
5034
  mcpUrl,
package/dist/ai/index.js CHANGED
@@ -4677,21 +4677,6 @@ if (!MCP_URL) {
4677
4677
  throw new Error('INTEGRATE_MCP_URL is not set — the sandbox cannot reach the MCP route.');
4678
4678
  }
4679
4679
 
4680
- // Diagnostic: log sandbox env summary to stderr so it shows up in the
4681
- // execute_code result's stderr field for debugging auth issues.
4682
- console.error('[sandbox-diag] MCP_URL=' + MCP_URL);
4683
- console.error('[sandbox-diag] HAS_API_KEY=' + !!API_KEY);
4684
- console.error('[sandbox-diag] HAS_SESSION_TOKEN=' + !!SESSION_TOKEN);
4685
- console.error('[sandbox-diag] HAS_PROVIDER_TOKENS=' + !!PROVIDER_TOKENS);
4686
- if (PROVIDER_TOKENS) {
4687
- try {
4688
- const _parsed = JSON.parse(PROVIDER_TOKENS);
4689
- const _keys = Object.keys(_parsed);
4690
- console.error('[sandbox-diag] PROVIDER_TOKEN_KEYS=' + _keys.join(','));
4691
- console.error('[sandbox-diag] TOKEN_LENGTHS=' + _keys.map(k => k + ':' + (typeof _parsed[k] === 'string' ? _parsed[k].length : typeof _parsed[k])).join(','));
4692
- } catch { console.error('[sandbox-diag] PROVIDER_TOKENS is not valid JSON'); }
4693
- }
4694
-
4695
4680
  function camelToSnake(str) {
4696
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4697
4682
  }
@@ -4707,14 +4692,6 @@ async function callTool(toolName, args) {
4707
4692
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
4708
4693
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
4709
4694
 
4710
- console.error('[sandbox-diag] callTool: ' + toolName + ' → ' + MCP_URL);
4711
- console.error('[sandbox-diag] headers: ' + JSON.stringify({
4712
- hasAuth: !!headers['Authorization'],
4713
- hasApiKey: !!headers['x-integrate-api-key'],
4714
- hasTokens: !!headers['x-integrate-tokens'],
4715
- hasCodeMode: !!headers['x-integrate-code-mode'],
4716
- }));
4717
-
4718
4695
  const res = await fetch(MCP_URL, {
4719
4696
  method: 'POST',
4720
4697
  headers,
@@ -4722,7 +4699,6 @@ async function callTool(toolName, args) {
4722
4699
  });
4723
4700
 
4724
4701
  const text = await res.text();
4725
- console.error('[sandbox-diag] response: HTTP ' + res.status + ' len=' + text.length);
4726
4702
 
4727
4703
  let payload;
4728
4704
  try {
@@ -4901,16 +4877,6 @@ async function executeSandboxCode(options) {
4901
4877
  env.INTEGRATE_INTEGRATIONS = options.integrationsHeader;
4902
4878
  if (options.context)
4903
4879
  env.INTEGRATE_CONTEXT = JSON.stringify(options.context);
4904
- console.debug("[integrate-sdk] Sandbox env:", JSON.stringify({
4905
- mcpUrl: options.mcpUrl,
4906
- hasApiKey: !!options.apiKey,
4907
- hasSessionToken: !!options.sessionToken,
4908
- providerTokenKeys: options.providerTokens ? Object.keys(options.providerTokens) : [],
4909
- hasIntegrations: !!options.integrationsHeader,
4910
- hasContext: !!options.context,
4911
- runtime,
4912
- timeoutMs
4913
- }));
4914
4880
  const cmd = await sandbox.runCommand({
4915
4881
  cmd: "node",
4916
4882
  args: ["user.mjs"],
@@ -5037,13 +5003,9 @@ ${generated.compact}`;
5037
5003
  }
5038
5004
  const mcpUrl = publicUrl.replace(/\/$/, "") + "/api/integrate/mcp";
5039
5005
  let resolvedTokens = providerTokens;
5040
- let tokenSource = resolvedTokens && Object.keys(resolvedTokens).length > 0 ? "build-time" : "none";
5041
5006
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
5042
5007
  try {
5043
5008
  resolvedTokens = await getProviderTokens();
5044
- if (resolvedTokens && Object.keys(resolvedTokens).length > 0) {
5045
- tokenSource = "request-header";
5046
- }
5047
5009
  } catch {}
5048
5010
  }
5049
5011
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
@@ -5064,17 +5026,9 @@ ${generated.compact}`;
5064
5026
  }
5065
5027
  if (Object.keys(resolvedTokens).length === 0) {
5066
5028
  resolvedTokens = undefined;
5067
- } else {
5068
- tokenSource = "oauthManager";
5069
5029
  }
5070
5030
  }
5071
5031
  }
5072
- console.debug("[integrate-sdk] execute_code token resolution:", JSON.stringify({
5073
- source: tokenSource,
5074
- keys: resolvedTokens ? Object.keys(resolvedTokens) : [],
5075
- hasApiKey: !!apiKey,
5076
- mcpUrl
5077
- }));
5078
5032
  return executeSandboxCode({
5079
5033
  code,
5080
5034
  mcpUrl,
package/dist/ai/openai.js CHANGED
@@ -4677,21 +4677,6 @@ if (!MCP_URL) {
4677
4677
  throw new Error('INTEGRATE_MCP_URL is not set — the sandbox cannot reach the MCP route.');
4678
4678
  }
4679
4679
 
4680
- // Diagnostic: log sandbox env summary to stderr so it shows up in the
4681
- // execute_code result's stderr field for debugging auth issues.
4682
- console.error('[sandbox-diag] MCP_URL=' + MCP_URL);
4683
- console.error('[sandbox-diag] HAS_API_KEY=' + !!API_KEY);
4684
- console.error('[sandbox-diag] HAS_SESSION_TOKEN=' + !!SESSION_TOKEN);
4685
- console.error('[sandbox-diag] HAS_PROVIDER_TOKENS=' + !!PROVIDER_TOKENS);
4686
- if (PROVIDER_TOKENS) {
4687
- try {
4688
- const _parsed = JSON.parse(PROVIDER_TOKENS);
4689
- const _keys = Object.keys(_parsed);
4690
- console.error('[sandbox-diag] PROVIDER_TOKEN_KEYS=' + _keys.join(','));
4691
- console.error('[sandbox-diag] TOKEN_LENGTHS=' + _keys.map(k => k + ':' + (typeof _parsed[k] === 'string' ? _parsed[k].length : typeof _parsed[k])).join(','));
4692
- } catch { console.error('[sandbox-diag] PROVIDER_TOKENS is not valid JSON'); }
4693
- }
4694
-
4695
4680
  function camelToSnake(str) {
4696
4681
  return str.replace(/[A-Z]/g, (letter) => '_' + letter.toLowerCase());
4697
4682
  }
@@ -4707,14 +4692,6 @@ async function callTool(toolName, args) {
4707
4692
  if (INTEGRATIONS_HEADER) headers['x-integrations'] = INTEGRATIONS_HEADER;
4708
4693
  if (CONTEXT_JSON) headers['x-integrate-context'] = CONTEXT_JSON;
4709
4694
 
4710
- console.error('[sandbox-diag] callTool: ' + toolName + ' → ' + MCP_URL);
4711
- console.error('[sandbox-diag] headers: ' + JSON.stringify({
4712
- hasAuth: !!headers['Authorization'],
4713
- hasApiKey: !!headers['x-integrate-api-key'],
4714
- hasTokens: !!headers['x-integrate-tokens'],
4715
- hasCodeMode: !!headers['x-integrate-code-mode'],
4716
- }));
4717
-
4718
4695
  const res = await fetch(MCP_URL, {
4719
4696
  method: 'POST',
4720
4697
  headers,
@@ -4722,7 +4699,6 @@ async function callTool(toolName, args) {
4722
4699
  });
4723
4700
 
4724
4701
  const text = await res.text();
4725
- console.error('[sandbox-diag] response: HTTP ' + res.status + ' len=' + text.length);
4726
4702
 
4727
4703
  let payload;
4728
4704
  try {
@@ -4901,16 +4877,6 @@ async function executeSandboxCode(options) {
4901
4877
  env.INTEGRATE_INTEGRATIONS = options.integrationsHeader;
4902
4878
  if (options.context)
4903
4879
  env.INTEGRATE_CONTEXT = JSON.stringify(options.context);
4904
- console.debug("[integrate-sdk] Sandbox env:", JSON.stringify({
4905
- mcpUrl: options.mcpUrl,
4906
- hasApiKey: !!options.apiKey,
4907
- hasSessionToken: !!options.sessionToken,
4908
- providerTokenKeys: options.providerTokens ? Object.keys(options.providerTokens) : [],
4909
- hasIntegrations: !!options.integrationsHeader,
4910
- hasContext: !!options.context,
4911
- runtime,
4912
- timeoutMs
4913
- }));
4914
4880
  const cmd = await sandbox.runCommand({
4915
4881
  cmd: "node",
4916
4882
  args: ["user.mjs"],
@@ -5037,13 +5003,9 @@ ${generated.compact}`;
5037
5003
  }
5038
5004
  const mcpUrl = publicUrl.replace(/\/$/, "") + "/api/integrate/mcp";
5039
5005
  let resolvedTokens = providerTokens;
5040
- let tokenSource = resolvedTokens && Object.keys(resolvedTokens).length > 0 ? "build-time" : "none";
5041
5006
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
5042
5007
  try {
5043
5008
  resolvedTokens = await getProviderTokens();
5044
- if (resolvedTokens && Object.keys(resolvedTokens).length > 0) {
5045
- tokenSource = "request-header";
5046
- }
5047
5009
  } catch {}
5048
5010
  }
5049
5011
  if (!resolvedTokens || Object.keys(resolvedTokens).length === 0) {
@@ -5064,17 +5026,9 @@ ${generated.compact}`;
5064
5026
  }
5065
5027
  if (Object.keys(resolvedTokens).length === 0) {
5066
5028
  resolvedTokens = undefined;
5067
- } else {
5068
- tokenSource = "oauthManager";
5069
5029
  }
5070
5030
  }
5071
5031
  }
5072
- console.debug("[integrate-sdk] execute_code token resolution:", JSON.stringify({
5073
- source: tokenSource,
5074
- keys: resolvedTokens ? Object.keys(resolvedTokens) : [],
5075
- hasApiKey: !!apiKey,
5076
- mcpUrl
5077
- }));
5078
5032
  return executeSandboxCode({
5079
5033
  code,
5080
5034
  mcpUrl,