@agentstep/agent-sdk 0.4.27 → 0.4.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/backends/claude/index.js +1 -1
  2. package/dist/backends/registry.js +2 -2
  3. package/dist/{chunk-XLAHZKY6.js → chunk-34BN2SJC.js} +1 -1
  4. package/dist/{chunk-T2IKN6LM.js → chunk-36VCC3BY.js} +1 -1
  5. package/dist/{chunk-R3NRSPRU.js → chunk-3QIIJADA.js} +1 -1
  6. package/dist/{chunk-QPI6MKAU.js → chunk-4IFVESQO.js} +2 -2
  7. package/dist/{chunk-VGEBUTM5.js → chunk-4TF2EKVQ.js} +1 -1
  8. package/dist/{chunk-QPKMINTD.js → chunk-ATGDKD4W.js} +1 -1
  9. package/dist/{chunk-EZCC3VWX.js → chunk-AU2DTTBR.js} +1 -1
  10. package/dist/{chunk-TTICVJTT.js → chunk-AWHHLOWE.js} +1 -1
  11. package/dist/{chunk-BEXPMKTK.js → chunk-AYNYP3G3.js} +100 -9
  12. package/dist/{chunk-HBERAFEH.js → chunk-B7L5XD24.js} +1 -1
  13. package/dist/{chunk-4ZUORWES.js → chunk-CCE6MVB3.js} +16 -10
  14. package/dist/{chunk-SP2TOQZF.js → chunk-CGPTH3JC.js} +1 -1
  15. package/dist/{chunk-VZQP2TG2.js → chunk-DWAA3F5Y.js} +4 -4
  16. package/dist/{chunk-OGARYKIG.js → chunk-ES5VD2ML.js} +1 -1
  17. package/dist/{chunk-U7XXWFTQ.js → chunk-F3M4HKEJ.js} +1 -1
  18. package/dist/{chunk-DHROKUFE.js → chunk-FEHDZT7I.js} +1 -1
  19. package/dist/{chunk-RKXJLXPN.js → chunk-FRDJNX6Z.js} +1 -1
  20. package/dist/{chunk-Q2GMMMR3.js → chunk-HDSLSNN5.js} +1 -1
  21. package/dist/{chunk-6VQXN6L3.js → chunk-HQACDTN4.js} +2 -2
  22. package/dist/{chunk-DLFZAPUD.js → chunk-JLZO6TQL.js} +2 -2
  23. package/dist/{chunk-KD4GS64M.js → chunk-JNHADPQ3.js} +1 -1
  24. package/dist/{chunk-QI2UYVUF.js → chunk-ND7BRD6B.js} +1 -1
  25. package/dist/{chunk-KMBQ5U5W.js → chunk-NWFYV2VI.js} +1 -1
  26. package/dist/{chunk-QAGHVCOK.js → chunk-P525BPB2.js} +1 -1
  27. package/dist/{chunk-EVZABUMI.js → chunk-P6NCA7G5.js} +1 -1
  28. package/dist/{chunk-4EXGAKTK.js → chunk-PF6W4L5F.js} +2 -2
  29. package/dist/{chunk-R6L3HZP2.js → chunk-SVYLMMBI.js} +1 -1
  30. package/dist/{chunk-DMFY65GN.js → chunk-UO2N4Q3V.js} +1 -1
  31. package/dist/{chunk-V75I7WMU.js → chunk-UZJI64HR.js} +1 -1
  32. package/dist/{chunk-Q3NN46KE.js → chunk-VHZML3D5.js} +1 -1
  33. package/dist/{chunk-OLZ2KIXD.js → chunk-WJUWZKRP.js} +1 -1
  34. package/dist/{chunk-4ZL36MCY.js → chunk-Y2J7CAME.js} +1 -1
  35. package/dist/{chunk-WJ2BEGAZ.js → chunk-YY3NF45U.js} +1 -1
  36. package/dist/containers/lifecycle.js +3 -3
  37. package/dist/handlers/agents.js +9 -9
  38. package/dist/handlers/api_keys.js +9 -9
  39. package/dist/handlers/audit.js +9 -9
  40. package/dist/handlers/batch.js +9 -9
  41. package/dist/handlers/credentials.js +10 -10
  42. package/dist/handlers/environments.js +9 -9
  43. package/dist/handlers/events.js +9 -9
  44. package/dist/handlers/files.js +9 -9
  45. package/dist/handlers/index.js +33 -33
  46. package/dist/handlers/license.js +9 -9
  47. package/dist/handlers/memory.js +9 -9
  48. package/dist/handlers/metrics.js +9 -9
  49. package/dist/handlers/models.js +9 -9
  50. package/dist/handlers/providers.js +9 -9
  51. package/dist/handlers/resources.js +9 -9
  52. package/dist/handlers/sessions.js +9 -9
  53. package/dist/handlers/settings.js +9 -9
  54. package/dist/handlers/skills-write.js +9 -9
  55. package/dist/handlers/skills.js +9 -9
  56. package/dist/handlers/stream.js +8 -8
  57. package/dist/handlers/tenants.js +9 -9
  58. package/dist/handlers/threads.js +9 -9
  59. package/dist/handlers/traces.js +9 -9
  60. package/dist/handlers/upstream_keys.js +9 -9
  61. package/dist/handlers/vaults.js +9 -9
  62. package/dist/handlers/whoami.js +9 -9
  63. package/dist/http.js +8 -8
  64. package/dist/index.js +8 -8
  65. package/dist/init.js +7 -7
  66. package/dist/sessions/driver.js +10 -6
  67. package/dist/sessions/sweeper.js +4 -4
  68. package/dist/sessions/threads.js +4 -4
  69. package/dist/shutdown.js +5 -5
  70. package/package.json +1 -1
@@ -2,7 +2,7 @@ import {
2
2
  claudeBackend,
3
3
  installPermissionHook,
4
4
  installToolBridge
5
- } from "../../chunk-6VQXN6L3.js";
5
+ } from "../../chunk-HQACDTN4.js";
6
6
  import {
7
7
  buildClaudeArgs,
8
8
  buildClaudeAuthEnv
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  listBackends,
3
3
  resolveBackend
4
- } from "../chunk-QAGHVCOK.js";
4
+ } from "../chunk-P525BPB2.js";
5
5
  import "../chunk-I44FSUBC.js";
6
6
  import "../chunk-T5VRE77P.js";
7
7
  import "../chunk-TY3HD5I5.js";
@@ -32,7 +32,7 @@ import "../chunk-7TSTCMII.js";
32
32
  import "../chunk-QQDSHL27.js";
33
33
  import "../chunk-IAF6VMPO.js";
34
34
  import "../chunk-OWP537VU.js";
35
- import "../chunk-6VQXN6L3.js";
35
+ import "../chunk-HQACDTN4.js";
36
36
  import "../chunk-WFIMX3HG.js";
37
37
  import "../chunk-FVBDEOTZ.js";
38
38
  import "../chunk-CY6AWCC6.js";
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-R3NRSPRU.js";
11
+ } from "./chunk-3QIIJADA.js";
12
12
  import {
13
13
  snapshotApiMetrics
14
14
  } from "./chunk-D2XITRN6.js";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  jsonOk,
12
12
  routeWrap
13
- } from "./chunk-R3NRSPRU.js";
13
+ } from "./chunk-3QIIJADA.js";
14
14
  import {
15
15
  archiveTenant,
16
16
  createTenant,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-HVUWXUUI.js";
11
11
  import {
12
12
  ensureInitialized
13
- } from "./chunk-VZQP2TG2.js";
13
+ } from "./chunk-DWAA3F5Y.js";
14
14
  import {
15
15
  captureException
16
16
  } from "./chunk-3MQ2FWXS.js";
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  jsonOk,
20
20
  routeWrap
21
- } from "./chunk-R3NRSPRU.js";
21
+ } from "./chunk-3QIIJADA.js";
22
22
  import {
23
23
  forwardToAnthropic
24
24
  } from "./chunk-T45NOW43.js";
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-LAWTTG2E.js";
39
39
  import {
40
40
  releaseSession
41
- } from "./chunk-U7XXWFTQ.js";
41
+ } from "./chunk-F3M4HKEJ.js";
42
42
  import {
43
43
  appendEvent,
44
44
  dropEmitter
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-R3NRSPRU.js";
4
+ } from "./chunk-3QIIJADA.js";
5
5
  import {
6
6
  readSetting,
7
7
  writeSetting
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-R3NRSPRU.js";
7
+ } from "./chunk-3QIIJADA.js";
8
8
 
9
9
  // src/handlers/license.ts
10
10
  function handleGetLicense(request) {
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  jsonOk,
7
7
  routeWrap
8
- } from "./chunk-R3NRSPRU.js";
8
+ } from "./chunk-3QIIJADA.js";
9
9
  import {
10
10
  getSession,
11
11
  listSessions
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-R3NRSPRU.js";
7
+ } from "./chunk-3QIIJADA.js";
8
8
  import {
9
9
  exportTrace
10
10
  } from "./chunk-Y2KDIPCT.js";
@@ -30,7 +30,7 @@ import {
30
30
  installSkills,
31
31
  provisionResources,
32
32
  wrapProviderWithSecrets
33
- } from "./chunk-U7XXWFTQ.js";
33
+ } from "./chunk-F3M4HKEJ.js";
34
34
  import {
35
35
  BLOCKED_ENV_KEYS,
36
36
  resolveVaultSecrets
@@ -68,12 +68,17 @@ import {
68
68
  } from "./chunk-JEI7I3EH.js";
69
69
  import {
70
70
  resolveBackend
71
- } from "./chunk-QAGHVCOK.js";
71
+ } from "./chunk-P525BPB2.js";
72
72
  import {
73
73
  PERMISSION_BRIDGE_PENDING_PATH,
74
74
  PERMISSION_BRIDGE_REQUEST_PATH,
75
75
  PERMISSION_BRIDGE_RESPONSE_PATH
76
76
  } from "./chunk-CY6AWCC6.js";
77
+ import {
78
+ TOOL_BRIDGE_PENDING_PATH,
79
+ TOOL_BRIDGE_REQUEST_PATH,
80
+ TOOL_BRIDGE_RESPONSE_PATH
81
+ } from "./chunk-ALVC7G6R.js";
77
82
  import {
78
83
  resolveToolset
79
84
  } from "./chunk-XBHDQK4Z.js";
@@ -350,21 +355,21 @@ ${turnBuild.stdin}`;
350
355
  turnSpanId: trace.span_id
351
356
  });
352
357
  if (agent.engine === "claude" && toolResults.length > 0) {
353
- const { TOOL_BRIDGE_RESPONSE_PATH, TOOL_BRIDGE_PENDING_PATH } = await import("./backends/claude/tool-bridge.js");
358
+ const { TOOL_BRIDGE_RESPONSE_PATH: TOOL_BRIDGE_RESPONSE_PATH2, TOOL_BRIDGE_PENDING_PATH: TOOL_BRIDGE_PENDING_PATH2 } = await import("./backends/claude/tool-bridge.js");
354
359
  const sandboxName2 = getSessionRow(sessionId)?.sandbox_name;
355
360
  if (sandboxName2) {
356
361
  for (const r of toolResults) {
357
362
  const responseJson = JSON.stringify({ content: r.content });
358
363
  await provider.exec(
359
364
  sandboxName2,
360
- ["bash", "-c", `cat > ${TOOL_BRIDGE_RESPONSE_PATH}`],
365
+ ["bash", "-c", `cat > ${TOOL_BRIDGE_RESPONSE_PATH2}`],
361
366
  { stdin: responseJson, secrets }
362
367
  ).catch((err) => {
363
368
  console.warn(`[driver] failed to write tool bridge response:`, err);
364
369
  });
365
370
  await provider.exec(
366
371
  sandboxName2,
367
- ["rm", "-f", TOOL_BRIDGE_PENDING_PATH],
372
+ ["rm", "-f", TOOL_BRIDGE_PENDING_PATH2],
368
373
  { secrets }
369
374
  ).catch(() => {
370
375
  });
@@ -409,6 +414,17 @@ ${turnBuild.stdin}`;
409
414
  );
410
415
  }, 2e3);
411
416
  }
417
+ const customToolNames = resolveToolset(agent.tools).customToolNames;
418
+ let toolBridgePollTimer = null;
419
+ if (agent.engine === "claude" && customToolNames.size > 0) {
420
+ toolBridgePollTimer = setInterval(() => {
421
+ void checkToolBridgeSentinel(sessionId, sandboxName, provider, secrets, trace).catch(
422
+ (err) => {
423
+ console.warn(`[driver] tool bridge sentinel check failed:`, err);
424
+ }
425
+ );
426
+ }, 1e3);
427
+ }
412
428
  try {
413
429
  const reader = exec.stdout.getReader();
414
430
  const decoder = new TextDecoder();
@@ -504,6 +520,8 @@ ${turnBuild.stdin}`;
504
520
  }
505
521
  } finally {
506
522
  if (permissionPollTimer) clearInterval(permissionPollTimer);
523
+ if (toolBridgePollTimer) clearInterval(toolBridgePollTimer);
524
+ getPendingToolBridgeCalls().delete(sessionId);
507
525
  runtime.inFlightRuns.delete(sessionId);
508
526
  }
509
527
  if (aborted) {
@@ -563,7 +581,7 @@ ${turnBuild.stdin}`;
563
581
  );
564
582
  emit("session.status_idle", { stop_reason: formatStopReason("custom_tool_call", customToolEventIds) }, { at: now });
565
583
  updateSessionStatus(sessionId, "idle", "custom_tool_call");
566
- const { TOOL_BRIDGE_RESPONSE_PATH, TOOL_BRIDGE_PENDING_PATH } = await import("./backends/claude/tool-bridge.js");
584
+ const { TOOL_BRIDGE_RESPONSE_PATH: TOOL_BRIDGE_RESPONSE_PATH2, TOOL_BRIDGE_PENDING_PATH: TOOL_BRIDGE_PENDING_PATH2 } = await import("./backends/claude/tool-bridge.js");
567
585
  const sprName = getSessionRow(sessionId)?.sandbox_name;
568
586
  if (sprName) {
569
587
  const responseJson = JSON.stringify({ content: [{ type: "text", text: serverToolResult.text }] });
@@ -572,14 +590,14 @@ ${turnBuild.stdin}`;
572
590
  const reentrySecrets = getBySession(sessionId)?.vaultSecrets;
573
591
  await providerForReentry.exec(
574
592
  sprName,
575
- ["bash", "-c", `cat > ${TOOL_BRIDGE_RESPONSE_PATH}`],
593
+ ["bash", "-c", `cat > ${TOOL_BRIDGE_RESPONSE_PATH2}`],
576
594
  { stdin: responseJson, secrets: reentrySecrets }
577
595
  ).catch((err) => {
578
596
  console.warn(`[driver] failed to write spawn_agent response:`, err);
579
597
  });
580
598
  await providerForReentry.exec(
581
599
  sprName,
582
- ["rm", "-f", TOOL_BRIDGE_PENDING_PATH],
600
+ ["rm", "-f", TOOL_BRIDGE_PENDING_PATH2],
583
601
  { secrets: reentrySecrets }
584
602
  ).catch(() => {
585
603
  });
@@ -772,8 +790,81 @@ async function writePermissionResponse(sessionId, result, denyMessage) {
772
790
  }
773
791
  getPendingConfirmations().delete(sessionId);
774
792
  }
793
+ var pendingToolBridgeCalls = /* @__PURE__ */ new Set();
794
+ function getPendingToolBridgeCalls() {
795
+ return pendingToolBridgeCalls;
796
+ }
797
+ async function checkToolBridgeSentinel(sessionId, sandboxName, provider, secrets, trace) {
798
+ if (pendingToolBridgeCalls.has(sessionId)) return;
799
+ try {
800
+ const result = await provider.exec(
801
+ sandboxName,
802
+ ["test", "-f", TOOL_BRIDGE_PENDING_PATH],
803
+ { secrets }
804
+ );
805
+ if (result.exit_code !== 0) return;
806
+ } catch {
807
+ return;
808
+ }
809
+ let request;
810
+ try {
811
+ const result = await provider.exec(
812
+ sandboxName,
813
+ ["cat", TOOL_BRIDGE_REQUEST_PATH],
814
+ { secrets }
815
+ );
816
+ request = JSON.parse(result.stdout);
817
+ } catch (err) {
818
+ console.warn(`[driver] failed to read tool bridge request for ${sessionId}:`, err);
819
+ return;
820
+ }
821
+ pendingToolBridgeCalls.add(sessionId);
822
+ console.log(`[driver] ${sessionId} custom tool call: ${request.name} (${request.tool_use_id})`);
823
+ appendEvent(sessionId, {
824
+ type: "agent.custom_tool_use",
825
+ payload: {
826
+ tool_use_id: request.tool_use_id ?? "",
827
+ name: request.name ?? "unknown",
828
+ input: request.input ?? {}
829
+ },
830
+ origin: "server",
831
+ processedAt: nowMs(),
832
+ traceId: trace.trace_id,
833
+ spanId: trace.span_id,
834
+ parentSpanId: trace.parent_span_id
835
+ });
836
+ }
837
+ async function writeToolBridgeResponse(sessionId, content) {
838
+ const row = getSessionRow(sessionId);
839
+ if (!row?.sandbox_name) {
840
+ console.warn(`[driver] no sandbox for session ${sessionId}, cannot write tool bridge response`);
841
+ return;
842
+ }
843
+ const env = getEnvironment(row.environment_id);
844
+ const provider = await resolveContainerProvider(env?.config?.provider);
845
+ const bridgeSecrets = getBySession(sessionId)?.vaultSecrets;
846
+ const response = JSON.stringify({ content });
847
+ try {
848
+ await provider.exec(
849
+ row.sandbox_name,
850
+ ["sh", "-c", `cat > ${TOOL_BRIDGE_RESPONSE_PATH}`],
851
+ { stdin: response, secrets: bridgeSecrets }
852
+ );
853
+ await provider.exec(
854
+ row.sandbox_name,
855
+ ["rm", "-f", TOOL_BRIDGE_PENDING_PATH],
856
+ { secrets: bridgeSecrets }
857
+ );
858
+ console.log(`[driver] ${sessionId} tool bridge response written`);
859
+ } catch (err) {
860
+ console.warn(`[driver] failed to write tool bridge response for ${sessionId}:`, err);
861
+ }
862
+ pendingToolBridgeCalls.delete(sessionId);
863
+ }
775
864
 
776
865
  export {
777
866
  runTurn,
778
- writePermissionResponse
867
+ writePermissionResponse,
868
+ getPendingToolBridgeCalls,
869
+ writeToolBridgeResponse
779
870
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-R3NRSPRU.js";
4
+ } from "./chunk-3QIIJADA.js";
5
5
 
6
6
  // src/handlers/whoami.ts
7
7
  function handleWhoami(request) {
@@ -24,7 +24,7 @@ import {
24
24
  import {
25
25
  jsonOk,
26
26
  routeWrap
27
- } from "./chunk-R3NRSPRU.js";
27
+ } from "./chunk-3QIIJADA.js";
28
28
  import {
29
29
  forwardToAnthropic
30
30
  } from "./chunk-T45NOW43.js";
@@ -34,7 +34,7 @@ import {
34
34
  import {
35
35
  runTurn,
36
36
  writePermissionResponse
37
- } from "./chunk-BEXPMKTK.js";
37
+ } from "./chunk-AYNYP3G3.js";
38
38
  import {
39
39
  getProxiedTenantId,
40
40
  isProxied
@@ -544,16 +544,22 @@ function handlePostEvents(request, sessionId) {
544
544
  processedAt: nowMs()
545
545
  });
546
546
  rows.push(row);
547
- const inp = {
548
- kind: "tool_result",
549
- eventId: row.id,
550
- custom_tool_use_id: event.custom_tool_use_id,
551
- content: event.content
552
- };
553
547
  const currentStatus = getSessionRow(sessionId)?.status ?? "idle";
554
- if (currentStatus === "running" || sawInterrupt) {
555
- pushPendingUserInput({ sessionId, input: inp });
548
+ if (currentStatus === "running") {
549
+ const { writeToolBridgeResponse } = await import("./sessions/driver.js");
550
+ void writeToolBridgeResponse(
551
+ sessionId,
552
+ event.content
553
+ ).catch((err) => {
554
+ console.warn(`[events] writeToolBridgeResponse failed:`, err);
555
+ });
556
556
  } else {
557
+ const inp = {
558
+ kind: "tool_result",
559
+ eventId: row.id,
560
+ custom_tool_use_id: event.custom_tool_use_id,
561
+ content: event.content
562
+ };
557
563
  pendingForTurn.push(inp);
558
564
  }
559
565
  continue;
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  jsonOk,
20
20
  routeWrap
21
- } from "./chunk-R3NRSPRU.js";
21
+ } from "./chunk-3QIIJADA.js";
22
22
  import {
23
23
  getDb,
24
24
  init_client
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-AQXCXWAZ.js";
4
4
  import {
5
5
  runTurn
6
- } from "./chunk-BEXPMKTK.js";
6
+ } from "./chunk-AYNYP3G3.js";
7
7
  import {
8
8
  installOtlpExporter
9
9
  } from "./chunk-Y2KDIPCT.js";
@@ -19,14 +19,14 @@ import {
19
19
  } from "./chunk-3MQ2FWXS.js";
20
20
  import {
21
21
  installShutdownHandlers
22
- } from "./chunk-OLZ2KIXD.js";
22
+ } from "./chunk-WJUWZKRP.js";
23
23
  import {
24
24
  runSweep
25
- } from "./chunk-KMBQ5U5W.js";
25
+ } from "./chunk-NWFYV2VI.js";
26
26
  import {
27
27
  reconcileDockerOrphanSandboxes,
28
28
  reconcileOrphanSandboxes
29
- } from "./chunk-U7XXWFTQ.js";
29
+ } from "./chunk-F3M4HKEJ.js";
30
30
  import {
31
31
  appendEvent,
32
32
  installPayloadRedactor
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  routeWrap
3
- } from "./chunk-R3NRSPRU.js";
3
+ } from "./chunk-3QIIJADA.js";
4
4
  import {
5
5
  ApiError
6
6
  } from "./chunk-EZYKRG4W.js";
@@ -34,7 +34,7 @@ import {
34
34
  } from "./chunk-JEI7I3EH.js";
35
35
  import {
36
36
  resolveBackend
37
- } from "./chunk-QAGHVCOK.js";
37
+ } from "./chunk-P525BPB2.js";
38
38
  import {
39
39
  getConfig
40
40
  } from "./chunk-EF5QCTEQ.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-R3NRSPRU.js";
7
+ } from "./chunk-3QIIJADA.js";
8
8
 
9
9
  // src/handlers/models.ts
10
10
  function handleListModels(request) {
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-R3NRSPRU.js";
11
+ } from "./chunk-3QIIJADA.js";
12
12
 
13
13
  // src/handlers/skills.ts
14
14
  async function handleGetSkillsCatalog(request) {
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-R3NRSPRU.js";
7
+ } from "./chunk-3QIIJADA.js";
8
8
  import {
9
9
  getProxiedTenantId
10
10
  } from "./chunk-NIOWKTIF.js";
@@ -85,12 +85,12 @@ async function installToolBridge(sandboxName, customTools, provider) {
85
85
  await provider.exec(sandboxName, ["mkdir", "-p", TOOL_BRIDGE_DIR]);
86
86
  await provider.exec(
87
87
  sandboxName,
88
- ["bash", "-c", `cat > ${TOOL_BRIDGE_SCRIPT_PATH}`],
88
+ ["sh", "-c", `cat > "${TOOL_BRIDGE_SCRIPT_PATH}"`],
89
89
  { stdin: generateBridgeScript() }
90
90
  );
91
91
  await provider.exec(
92
92
  sandboxName,
93
- ["bash", "-c", `cat > ${TOOL_BRIDGE_TOOLS_PATH}`],
93
+ ["sh", "-c", `cat > "${TOOL_BRIDGE_TOOLS_PATH}"`],
94
94
  { stdin: toolsToJson(customTools) }
95
95
  );
96
96
  await provider.exec(sandboxName, ["chmod", "+x", TOOL_BRIDGE_SCRIPT_PATH]);
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  loadVaultForCaller
3
- } from "./chunk-KD4GS64M.js";
3
+ } from "./chunk-JNHADPQ3.js";
4
4
  import {
5
5
  jsonOk,
6
6
  routeWrap
7
- } from "./chunk-R3NRSPRU.js";
7
+ } from "./chunk-3QIIJADA.js";
8
8
  import {
9
9
  createCredential,
10
10
  deleteCredential,
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  jsonOk,
8
8
  routeWrap
9
- } from "./chunk-R3NRSPRU.js";
9
+ } from "./chunk-3QIIJADA.js";
10
10
  import {
11
11
  createVault,
12
12
  deleteEntry,
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-T45NOW43.js";
13
13
  import {
14
14
  ensureInitialized
15
- } from "./chunk-VZQP2TG2.js";
15
+ } from "./chunk-DWAA3F5Y.js";
16
16
  import {
17
17
  getProxiedTenantId,
18
18
  isProxied
@@ -6,7 +6,7 @@ import {
6
6
  reconcileDockerOrphanSandboxes,
7
7
  reconcileOrphanSandboxes,
8
8
  releaseSession
9
- } from "./chunk-U7XXWFTQ.js";
9
+ } from "./chunk-F3M4HKEJ.js";
10
10
  import {
11
11
  appendEvent,
12
12
  dropEmitter
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-5D5P37FY.js";
16
16
  import {
17
17
  claudeBackend
18
- } from "./chunk-6VQXN6L3.js";
18
+ } from "./chunk-HQACDTN4.js";
19
19
 
20
20
  // src/backends/registry.ts
21
21
  var BACKENDS = {
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  jsonOk,
23
23
  routeWrap
24
- } from "./chunk-R3NRSPRU.js";
24
+ } from "./chunk-3QIIJADA.js";
25
25
  import {
26
26
  badRequest,
27
27
  notFound
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  jsonOk,
8
8
  routeWrap
9
- } from "./chunk-R3NRSPRU.js";
9
+ } from "./chunk-3QIIJADA.js";
10
10
  import {
11
11
  forwardToAnthropic,
12
12
  validateAnthropicProxy
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-JEI7I3EH.js";
27
27
  import {
28
28
  resolveBackend
29
- } from "./chunk-QAGHVCOK.js";
29
+ } from "./chunk-P525BPB2.js";
30
30
  import {
31
31
  getDb,
32
32
  init_client
@@ -16,7 +16,7 @@ import {
16
16
  import {
17
17
  jsonOk,
18
18
  routeWrap
19
- } from "./chunk-R3NRSPRU.js";
19
+ } from "./chunk-3QIIJADA.js";
20
20
  import {
21
21
  getDb,
22
22
  init_client
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  jsonOk,
10
10
  routeWrap
11
- } from "./chunk-R3NRSPRU.js";
11
+ } from "./chunk-3QIIJADA.js";
12
12
  import {
13
13
  badRequest
14
14
  } from "./chunk-EZYKRG4W.js";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  jsonOk,
11
11
  routeWrap
12
- } from "./chunk-R3NRSPRU.js";
12
+ } from "./chunk-3QIIJADA.js";
13
13
  import {
14
14
  forwardToAnthropic
15
15
  } from "./chunk-T45NOW43.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  jsonOk,
7
7
  routeWrap
8
- } from "./chunk-R3NRSPRU.js";
8
+ } from "./chunk-3QIIJADA.js";
9
9
  import {
10
10
  badRequest
11
11
  } from "./chunk-EZYKRG4W.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  markStopping
3
- } from "./chunk-KMBQ5U5W.js";
3
+ } from "./chunk-NWFYV2VI.js";
4
4
  import {
5
5
  closeDb,
6
6
  init_client,
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  jsonOk,
3
3
  routeWrap
4
- } from "./chunk-R3NRSPRU.js";
4
+ } from "./chunk-3QIIJADA.js";
5
5
  import {
6
6
  resolveContainerProvider
7
7
  } from "./chunk-QUJNG4RA.js";
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  jsonOk,
17
17
  routeWrap
18
- } from "./chunk-R3NRSPRU.js";
18
+ } from "./chunk-3QIIJADA.js";
19
19
  import {
20
20
  createApiKey,
21
21
  getApiKeyById,
@@ -6,7 +6,7 @@ import {
6
6
  reconcileOrphanSandboxes,
7
7
  releaseSession,
8
8
  wrapProviderWithSecrets
9
- } from "../chunk-U7XXWFTQ.js";
9
+ } from "../chunk-F3M4HKEJ.js";
10
10
  import "../chunk-DO4WVWW7.js";
11
11
  import "../chunk-RMZRSYIJ.js";
12
12
  import "../chunk-5ZFOKZGR.js";
@@ -23,7 +23,7 @@ import "../chunk-QUJNG4RA.js";
23
23
  import "../chunk-NUO56TF7.js";
24
24
  import "../chunk-JEI7I3EH.js";
25
25
  import "../chunk-JDELTTHV.js";
26
- import "../chunk-QAGHVCOK.js";
26
+ import "../chunk-P525BPB2.js";
27
27
  import "../chunk-I44FSUBC.js";
28
28
  import "../chunk-T5VRE77P.js";
29
29
  import "../chunk-TY3HD5I5.js";
@@ -54,7 +54,7 @@ import "../chunk-7TSTCMII.js";
54
54
  import "../chunk-QQDSHL27.js";
55
55
  import "../chunk-IAF6VMPO.js";
56
56
  import "../chunk-OWP537VU.js";
57
- import "../chunk-6VQXN6L3.js";
57
+ import "../chunk-HQACDTN4.js";
58
58
  import "../chunk-WFIMX3HG.js";
59
59
  import "../chunk-FVBDEOTZ.js";
60
60
  import "../chunk-CY6AWCC6.js";