@librechat/agents 3.8.5 → 3.8.7

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 (111) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +1 -1
  2. package/dist/cjs/common/constants.cjs +2 -0
  3. package/dist/cjs/common/constants.cjs.map +1 -1
  4. package/dist/cjs/graphs/Graph.cjs +18 -9
  5. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  6. package/dist/cjs/hitl/approvalReview.cjs +1 -1
  7. package/dist/cjs/hooks/types.cjs.map +1 -1
  8. package/dist/cjs/main.cjs +8 -6
  9. package/dist/cjs/messages/index.cjs +1 -1
  10. package/dist/cjs/messages/prune.cjs +1 -1
  11. package/dist/cjs/run.cjs +7 -3
  12. package/dist/cjs/run.cjs.map +1 -1
  13. package/dist/cjs/stream.cjs +13 -3
  14. package/dist/cjs/stream.cjs.map +1 -1
  15. package/dist/cjs/summarization/node.cjs +3 -1
  16. package/dist/cjs/summarization/node.cjs.map +1 -1
  17. package/dist/cjs/tools/BashExecutor.cjs +79 -27
  18. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  19. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +47 -7
  20. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  21. package/dist/cjs/tools/CodeExecutor.cjs +5 -2
  22. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  23. package/dist/cjs/tools/CodeSessionFileSummary.cjs +11 -1
  24. package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
  25. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +54 -8
  26. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  27. package/dist/cjs/tools/ToolNode.cjs +176 -43
  28. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  29. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +1 -0
  30. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
  31. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +0 -1
  32. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
  33. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +120 -26
  34. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  35. package/dist/cjs/tools/toolBatchReplay.cjs +4 -2
  36. package/dist/cjs/tools/toolBatchReplay.cjs.map +1 -1
  37. package/dist/cjs/utils/index.cjs +1 -1
  38. package/dist/esm/agents/AgentContext.mjs +1 -1
  39. package/dist/esm/common/constants.mjs +2 -1
  40. package/dist/esm/common/constants.mjs.map +1 -1
  41. package/dist/esm/graphs/Graph.mjs +17 -8
  42. package/dist/esm/graphs/Graph.mjs.map +1 -1
  43. package/dist/esm/hitl/approvalReview.mjs +1 -1
  44. package/dist/esm/hooks/types.mjs.map +1 -1
  45. package/dist/esm/main.mjs +7 -7
  46. package/dist/esm/messages/index.mjs +1 -1
  47. package/dist/esm/messages/prune.mjs +1 -1
  48. package/dist/esm/run.mjs +7 -3
  49. package/dist/esm/run.mjs.map +1 -1
  50. package/dist/esm/stream.mjs +13 -3
  51. package/dist/esm/stream.mjs.map +1 -1
  52. package/dist/esm/summarization/node.mjs +3 -1
  53. package/dist/esm/summarization/node.mjs.map +1 -1
  54. package/dist/esm/tools/BashExecutor.mjs +81 -29
  55. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  56. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +48 -9
  57. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  58. package/dist/esm/tools/CodeExecutor.mjs +5 -2
  59. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  60. package/dist/esm/tools/CodeSessionFileSummary.mjs +11 -2
  61. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  62. package/dist/esm/tools/ProgrammaticToolCalling.mjs +55 -9
  63. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  64. package/dist/esm/tools/ToolNode.mjs +176 -43
  65. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  66. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +1 -0
  67. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
  68. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -1
  69. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
  70. package/dist/esm/tools/subagent/SubagentExecutor.mjs +120 -26
  71. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  72. package/dist/esm/tools/toolBatchReplay.mjs +4 -2
  73. package/dist/esm/tools/toolBatchReplay.mjs.map +1 -1
  74. package/dist/esm/utils/index.mjs +1 -1
  75. package/dist/types/common/constants.d.ts +2 -0
  76. package/dist/types/graphs/Graph.d.ts +3 -2
  77. package/dist/types/hooks/types.d.ts +3 -0
  78. package/dist/types/run.d.ts +1 -0
  79. package/dist/types/summarization/node.d.ts +1 -0
  80. package/dist/types/tools/BashExecutor.d.ts +2 -0
  81. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +1 -0
  82. package/dist/types/tools/CodeExecutor.d.ts +1 -1
  83. package/dist/types/tools/CodeSessionFileSummary.d.ts +3 -0
  84. package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
  85. package/dist/types/tools/ToolNode.d.ts +6 -2
  86. package/dist/types/tools/subagent/SubagentExecutor.d.ts +7 -4
  87. package/dist/types/tools/toolBatchReplay.d.ts +2 -0
  88. package/dist/types/types/graph.d.ts +28 -0
  89. package/dist/types/types/run.d.ts +2 -0
  90. package/dist/types/types/tools.d.ts +27 -3
  91. package/package.json +2 -2
  92. package/src/common/constants.ts +3 -0
  93. package/src/graphs/Graph.ts +32 -18
  94. package/src/hooks/types.ts +3 -0
  95. package/src/run.ts +30 -15
  96. package/src/stream.ts +27 -5
  97. package/src/summarization/node.ts +3 -0
  98. package/src/tools/BashExecutor.ts +143 -40
  99. package/src/tools/BashProgrammaticToolCalling.ts +82 -10
  100. package/src/tools/CodeExecutor.ts +12 -2
  101. package/src/tools/CodeSessionFileSummary.ts +25 -1
  102. package/src/tools/ProgrammaticToolCalling.ts +77 -6
  103. package/src/tools/ToolNode.ts +665 -170
  104. package/src/tools/local/LocalProgrammaticToolCalling.ts +1 -0
  105. package/src/tools/subagent/SubagentExecutionRegistry.ts +0 -1
  106. package/src/tools/subagent/SubagentExecutor.ts +214 -55
  107. package/src/tools/toolBatchReplay.ts +23 -1
  108. package/src/types/graph.ts +37 -0
  109. package/src/types/run.ts +2 -0
  110. package/src/types/tools.ts +30 -3
  111. package/src/utils/llmConfig.ts +0 -1
@@ -4,8 +4,10 @@ import { resolveFetchProxyAgent } from "../utils/proxy.mjs";
4
4
  import { INTENT_PROPERTY } from "./intentArg.mjs";
5
5
  import { appendArtifactDeliveryWarning, normalizeArtifactDeliveryFailure } from "./ArtifactDelivery.mjs";
6
6
  import { logCodeApiDiagnostic } from "./diagnostics.mjs";
7
- import { appendCodeSessionFileSummary } from "./CodeSessionFileSummary.mjs";
8
- import { BASH_SHELL_GUIDANCE, CODE_ARTIFACT_PATH_GUIDANCE, CodeApiRequestError, addCodeApiExecutionProfileHeader, appendFailedExecutionFileReminder, appendTmpScratchReminder, buildCodeApiEndpoint, buildCodeApiHttpErrorMessage, emptyOutputMessage, getCodeBaseURL, normalizeCodeApiRequestError, resolveCodeApiAuthHeaders, selectRuntimeSessionHint } from "./CodeExecutor.mjs";
7
+ import { appendCodeSessionFileSummary, appendExecutionArtifactFileSummary } from "./CodeSessionFileSummary.mjs";
8
+ import { BASH_SHELL_GUIDANCE, CODE_ARTIFACT_PATH_GUIDANCE, CodeApiRequestError, addCodeApiExecutionProfileHeader, appendFailedExecutionFileReminder, appendTmpScratchReminder, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, emptyOutputMessage, getCodeBaseURL, normalizeCodeApiRequestError, resolveCodeApiAuthHeaders, selectRuntimeSessionHint } from "./CodeExecutor.mjs";
9
+ import { makeRequest } from "./ProgrammaticToolCalling.mjs";
10
+ import { prepareBashProgrammaticCode } from "./BashProgrammaticToolCalling.mjs";
9
11
  import { tool } from "@langchain/core/tools";
10
12
  import { config } from "dotenv";
11
13
  import fetch from "node-fetch";
@@ -58,6 +60,16 @@ Usage:
58
60
  - ${BASH_SHELL_GUIDANCE}
59
61
  - NEVER use this tool to execute malicious commands.
60
62
  `.trim();
63
+ const AttachedWorkspaceBashExecutionToolDescription = `
64
+ Runs bash commands in the selected persistent project through an isolated sandbox process.
65
+
66
+ Usage:
67
+ - Project file changes persist between calls; shell variables, background processes, and execution-private temporary files do not.
68
+ - Injected files and generated artifacts use \${LIBRECHAT_CODE_DATA_DIR:-/mnt/data}; write durable files to the project root.
69
+ - Generated artifacts are automatically delivered; **DO NOT** provide download links.
70
+ - ${BASH_SHELL_GUIDANCE}
71
+ - NEVER use this tool to execute malicious commands.
72
+ `.trim();
61
73
  const BashToolOutputReferencesGuide = `
62
74
  Referencing previous tool outputs:
63
75
  - Every successful tool result is tagged with a reference key of the form \`tool<idx>turn<turn>\` (e.g., \`tool0turn0\`). The key appears either as a \`[ref: tool0turn0]\` prefix line or, when the output is a JSON object, as a \`_ref\` field on the object.
@@ -69,15 +81,23 @@ Referencing previous tool outputs:
69
81
  - Unknown reference keys are left in place and surfaced as \`[unresolved refs: …]\` after the output.
70
82
  `.trim();
71
83
  function buildBashExecutionToolDescription(options) {
72
- const base = options?.statefulSessions === true ? StatefulBashExecutionToolDescription : BashExecutionToolDescription;
84
+ let base = BashExecutionToolDescription;
85
+ if (options?.attachedWorkspace === true) base = AttachedWorkspaceBashExecutionToolDescription;
86
+ else if (options?.statefulSessions === true) base = StatefulBashExecutionToolDescription;
73
87
  if (options?.enableToolOutputReferences === true) return `${base}\n\n${BashToolOutputReferencesGuide}`;
74
88
  return base;
75
89
  }
76
90
  const STATELESS_BASH_PARAM_NOTE = "The environment is stateless; variables and state don't persist between executions.";
77
91
  const STATEFUL_BASH_PARAM_NOTE = "Files written to /mnt/data persist between calls on the same warm machine. Each call runs in a fresh sandbox: shell variables, cwd, /tmp, and background processes do NOT survive the call. Only /mnt/data is durable.";
92
+ const ATTACHED_BASH_PARAM_NOTE = "Commands start in the selected persistent project. Project file changes persist, but shell variables, background processes, and execution-private temporary files do not.";
93
+ const ATTACHED_BASH_ARTIFACT_PATH_GUIDANCE = "Injected files and generated artifacts use `${LIBRECHAT_CODE_DATA_DIR:-/mnt/data}` for this execution only. Write anything needed later into the selected project.";
94
+ const ATTACHED_BASH_TMP_REMINDER = "Note: /tmp files are same-call scratch only and were not persisted; write files needed later into the selected project.";
78
95
  function buildBashExecutionToolSchema(opts) {
79
- const note = opts?.statefulSessions === true ? STATEFUL_BASH_PARAM_NOTE : STATELESS_BASH_PARAM_NOTE;
80
- const commandDescription = BashExecutionToolSchema.properties.command.description.replace(STATELESS_BASH_PARAM_NOTE, note);
96
+ let note = STATELESS_BASH_PARAM_NOTE;
97
+ if (opts?.attachedWorkspace === true) note = ATTACHED_BASH_PARAM_NOTE;
98
+ else if (opts?.statefulSessions === true) note = STATEFUL_BASH_PARAM_NOTE;
99
+ let commandDescription = BashExecutionToolSchema.properties.command.description.replace(STATELESS_BASH_PARAM_NOTE, note);
100
+ if (opts?.attachedWorkspace === true) commandDescription = commandDescription.replace("- Prior /mnt/data files are available and can be modified in place.\n", "").replace(CODE_ARTIFACT_PATH_GUIDANCE, ATTACHED_BASH_ARTIFACT_PATH_GUIDANCE);
81
101
  return {
82
102
  ...BashExecutionToolSchema,
83
103
  properties: {
@@ -90,20 +110,33 @@ function buildBashExecutionToolSchema(opts) {
90
110
  };
91
111
  }
92
112
  const BashExecutionToolName = "bash_tool";
113
+ function quoteBashArgument(value) {
114
+ return `'${value.replace(/'/g, "'\"'\"'")}'`;
115
+ }
116
+ function commandWithArguments(command, args) {
117
+ if (args == null || args.length === 0) return command;
118
+ return `bash -c ${quoteBashArgument(command)} -- ${args.map(quoteBashArgument).join(" ")}`;
119
+ }
93
120
  const BashExecutionToolDefinition = {
94
121
  name: BashExecutionToolName,
95
122
  description: BashExecutionToolDescription,
96
123
  schema: BashExecutionToolSchema
97
124
  };
98
125
  function createBashExecutionTool(params = {}) {
99
- const execEndpoint = buildCodeApiEndpoint(params?.baseUrl ?? getCodeBaseURL(), "exec");
126
+ const workspaceId = params?.workspaceId?.trim();
127
+ const hasWorkspace = workspaceId != null && workspaceId !== "";
128
+ if (hasWorkspace && !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(workspaceId)) throw new Error("Invalid attached workspace identifier");
129
+ const execEndpoint = buildCodeApiEndpoint(params?.baseUrl ?? getCodeBaseURL(), hasWorkspace ? "exec/programmatic" : "exec");
100
130
  return tool(async (rawInput, config) => {
101
- const { authHeaders, baseUrl: _baseUrl, executionProfile, runtimeSessionHint, statefulSessions, ...executionParams } = params ?? {};
102
- const { command, intent: _ignoredIntent, runtime_session_hint: _ignoredModelHint, ...rest } = rawInput;
131
+ const { authHeaders, baseUrl: _baseUrl, executionProfile, runtimeSessionHint, statefulSessions, workspaceId: _workspaceId, ...executionParams } = params ?? {};
132
+ const { command: rawCommand, intent: _ignoredIntent, runtime_session_hint: _ignoredModelHint, args, ...rest } = rawInput;
133
+ const command = hasWorkspace ? commandWithArguments(rawCommand, args) : rawCommand;
103
134
  const { session_id, _injected_files, _runtime_session_hint } = config.toolCall ?? {};
104
135
  const postData = {
105
136
  lang: "bash",
106
- code: command,
137
+ code: hasWorkspace ? prepareBashProgrammaticCode(command) : command,
138
+ ...hasWorkspace ? { tools: [] } : {},
139
+ ...!hasWorkspace && args != null ? { args } : {},
107
140
  ...rest,
108
141
  ...executionParams
109
142
  };
@@ -112,40 +145,53 @@ function createBashExecutionTool(params = {}) {
112
145
  if (_injected_files && _injected_files.length > 0) postData.files = _injected_files;
113
146
  else if (session_id != null && session_id.length > 0 && !Array.isArray(postData.files)) logCodeApiDiagnostic("BashExecutor", "debug", "session carried no injected files; exec will run without input files", { files: "none" });
114
147
  try {
115
- const fetchOptions = {
116
- method: "POST",
117
- headers: {
118
- "Content-Type": "application/json",
119
- "User-Agent": "LibreChat/1.0",
120
- ...addCodeApiExecutionProfileHeader(await resolveCodeApiAuthHeaders(authHeaders), executionProfile)
121
- },
122
- body: JSON.stringify(postData)
123
- };
124
- const proxyAgent = resolveFetchProxyAgent(execEndpoint);
125
- if (proxyAgent != null) fetchOptions.agent = proxyAgent;
126
- const response = await fetch(execEndpoint, fetchOptions);
127
- if (!response.ok) throw new CodeApiRequestError(await buildCodeApiHttpErrorMessage("POST", execEndpoint, response, { profile: executionProfile }));
128
- const result = await response.json();
148
+ const resolvedAuthHeaders = await resolveCodeApiAuthHeaders(authHeaders);
149
+ let result;
150
+ if (hasWorkspace) result = await makeRequest(execEndpoint, postData, void 0, {
151
+ ...resolvedAuthHeaders,
152
+ "X-LibreChat-Code-Workspace-ID": workspaceId
153
+ }, executionProfile, config.signal);
154
+ else {
155
+ const fetchOptions = {
156
+ method: "POST",
157
+ headers: {
158
+ "Content-Type": "application/json",
159
+ "User-Agent": "LibreChat/1.0",
160
+ ...addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile)
161
+ },
162
+ body: JSON.stringify(postData),
163
+ signal: config.signal
164
+ };
165
+ const proxyAgent = resolveFetchProxyAgent(execEndpoint);
166
+ if (proxyAgent != null) fetchOptions.agent = proxyAgent;
167
+ const response = await fetch(execEndpoint, fetchOptions);
168
+ if (!response.ok) throw new CodeApiRequestError(await buildCodeApiHttpErrorMessage("POST", execEndpoint, response, { profile: executionProfile }));
169
+ result = await response.json();
170
+ }
171
+ if (hasWorkspace && result.status !== "completed") throw new CodeApiRequestError(buildCodeApiExecutionErrorMessage(result));
129
172
  let formattedOutput = "";
130
- if (result.stdout) formattedOutput += `stdout:\n${result.stdout}\n`;
173
+ if (typeof result.stdout === "string" && result.stdout.length > 0) formattedOutput += `stdout:\n${result.stdout}\n`;
131
174
  else formattedOutput += emptyOutputMessage;
132
- if (result.stderr) formattedOutput += `stderr:\n${result.stderr}\n`;
133
- const outputWithReminder = appendTmpScratchReminder(formattedOutput, command);
175
+ if (typeof result.stderr === "string" && result.stderr.length > 0) formattedOutput += `stderr:\n${result.stderr}\n`;
176
+ const outputWithReminder = appendTmpScratchReminder(formattedOutput, command, hasWorkspace ? ATTACHED_BASH_TMP_REMINDER : void 0);
134
177
  const artifactDelivery = normalizeArtifactDeliveryFailure(result.artifact_delivery);
135
178
  const outputWithDeliveryWarning = appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
136
179
  const hasFiles = result.files != null && result.files.length > 0;
180
+ const deletionEcho = result.deleted_files != null ? { deleted_files: result.deleted_files } : {};
137
181
  const runtimeEcho = result.runtime_session_id != null ? {
138
182
  runtime_session_id: result.runtime_session_id,
139
183
  runtime_status: result.runtime_status
140
184
  } : {};
141
- return [appendCodeSessionFileSummary(outputWithDeliveryWarning, result.files), hasFiles ? {
185
+ return [hasWorkspace ? appendExecutionArtifactFileSummary(outputWithDeliveryWarning, result.files) : appendCodeSessionFileSummary(outputWithDeliveryWarning, result.files), hasFiles ? {
142
186
  session_id: result.session_id,
143
187
  files: result.files,
144
188
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
189
+ ...deletionEcho,
145
190
  ...runtimeEcho
146
191
  } : {
147
192
  session_id: result.session_id,
148
193
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
194
+ ...deletionEcho,
149
195
  ...runtimeEcho
150
196
  }];
151
197
  } catch (error) {
@@ -153,8 +199,14 @@ function createBashExecutionTool(params = {}) {
153
199
  }
154
200
  }, {
155
201
  name: BashExecutionToolName,
156
- description: buildBashExecutionToolDescription({ statefulSessions: params?.statefulSessions }),
157
- schema: buildBashExecutionToolSchema(params ?? void 0),
202
+ description: buildBashExecutionToolDescription({
203
+ statefulSessions: params?.statefulSessions,
204
+ attachedWorkspace: hasWorkspace
205
+ }),
206
+ schema: buildBashExecutionToolSchema({
207
+ statefulSessions: params?.statefulSessions,
208
+ attachedWorkspace: hasWorkspace
209
+ }),
158
210
  responseFormat: "content_and_artifact"
159
211
  });
160
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BashExecutor.mjs","names":[],"sources":["../../../src/tools/BashExecutor.ts"],"mappings":";;;;;;;;;;;;AA6BA,OAAO;AAEP,MAAa,0BAA0B;CACrC,MAAM;CACN,YAAY;EACV,QAAQ,EAAE,GAAG,gBAAgB;EAC7B,SAAS;GACP,MAAM;GACN,aAAa;;;IAGf,4BAA4B;IAC5B,oBAAoB;;;;;EAKpB;EACA,MAAM;GACJ,MAAM;GACN,OAAO,EAAE,MAAM,SAAS;GACxB,aACE;EACJ;CACF;CACA,UAAU,CAAC,SAAS;AACtB;AAEA,MAAa,+BAA+B;;;;;;IAMxC,4BAA4B;IAC5B,oBAAoB;;EAEtB,KAAK;AAUP,MAAa,qBACX;AAEF,MAAa,uCAAuC;;;EAGlD,mBAAmB;;;;;IAKjB,4BAA4B;IAC5B,oBAAoB;;EAEtB,KAAK;AAYP,MAAa,gCAAgC;;;;;;;;;EAS3C,KAAK;AASP,SAAgB,kCAAkC,SAGvC;CACT,MAAM,OACJ,SAAS,qBAAqB,OAC1B,uCACA;CACN,IAAI,SAAS,+BAA+B,MAC1C,OAAO,GAAG,KAAK,MAAM;CAEvB,OAAO;AACT;AAEA,MAAM,4BACJ;AACF,MAAM,2BACJ;AAEF,SAAgB,6BAA6B,MAEV;CACjC,MAAM,OACJ,MAAM,qBAAqB,OACvB,2BACA;CACN,MAAM,qBACJ,wBAAwB,WAAW,QAAQ,YAAY,QACrD,2BACA,IACF;CACF,OAAO;EACL,GAAG;EACH,YAAY;GACV,GAAG,wBAAwB;GAC3B,SAAS;IACP,GAAG,wBAAwB,WAAW;IACtC,aAAa;GACf;EACF;CACF;AACF;AAEA,MAAa,wBAAA;AAYb,MAAa,8BAA8B;CACzC,MAAM;CACN,aAAa;CACb,QAAQ;AACV;AAEA,SAAS,wBACP,SAA2C,CAAC,GACrB;CACvB,MAAM,eAAe,qBACnB,QAAQ,WAAW,eAAe,GAClC,MACF;CAEA,OAAO,KACL,OAAO,UAAU,WAAW;EAG1B,MAAM,EACJ,aACA,SAAS,UACT,kBACA,oBACA,kBACA,GAAG,oBACD,UAAU,CAAC;EAMf,MAAM,EACJ,SACA,QAAQ,gBACR,sBAAsB,mBACtB,GAAG,SACD;EAQJ,MAAM,EAAE,YAAY,iBAAiB,0BAClC,OAAO,YAAY,CAAC;EAMvB,MAAM,WAAoC;GACxC,MAAM;GACN,MAAM;GACN,GAAG;GACH,GAAG;EACL;EAEA,MAAM,8BAA8B,yBAClC,oBACA,qBACF;EACA,IACE,qBAAqB,QACrB,qBAAqB,aACrB,OAAO,gCAAgC,YACvC,gCAAgC,IAEhC,SAAS,uBAAuB;EAMlC,IAAI,mBAAmB,gBAAgB,SAAS,GAC9C,SAAS,QAAQ;OACZ,IACL,cAAc,QACd,WAAW,SAAS,KACpB,CAAC,MAAM,QAAQ,SAAS,KAAK,GAE7B,qBACE,gBACA,SACA,wEACA,EAAE,OAAO,OAAO,CAClB;EAGF,IAAI;GAGF,MAAM,eAA4B;IAChC,QAAQ;IACR,SAAS;KACP,gBAAgB;KAChB,cAAc;KACd,GAAG,iCACD,MAPE,0BAA0B,WAAW,GAQvC,gBACF;IACF;IACA,MAAM,KAAK,UAAU,QAAQ;GAC/B;GAEA,MAAM,aAAa,uBAAuB,YAAY;GACtD,IAAI,cAAc,MAChB,aAAa,QAAQ;GAEvB,MAAM,WAAW,MAAM,MAAM,cAAc,YAAY;GACvD,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,oBACR,MAAM,6BAA6B,QAAQ,cAAc,UAAU,EACjE,SAAS,iBACX,CAAC,CACH;GAGF,MAAM,SAA0B,MAAM,SAAS,KAAK;GACpD,IAAI,kBAAkB;GACtB,IAAI,OAAO,QACT,mBAAmB,YAAY,OAAO,OAAO;QAE7C,mBAAmB;GAErB,IAAI,OAAO,QAAQ,mBAAmB,YAAY,OAAO,OAAO;GAEhE,MAAM,qBAAqB,yBACzB,iBACA,OACF;GACA,MAAM,mBAAmB,iCACvB,OAAO,iBACT;GACA,MAAM,4BAA4B,8BAChC,oBACA,gBACF;GACA,MAAM,WAAW,OAAO,SAAS,QAAQ,OAAO,MAAM,SAAS;GAC/D,MAAM,cACJ,OAAO,sBAAsB,OACzB;IACA,oBAAoB,OAAO;IAC3B,gBAAgB,OAAO;GACzB,IACE,CAAC;GACP,OAAO,CACL,6BAA6B,2BAA2B,OAAO,KAAK,GACnE,WACG;IACA,YAAY,OAAO;IACnB,OAAO,OAAO;IACd,GAAI,oBAAoB,OACpB,EAAE,mBAAmB,iBAAiB,IACtC,CAAC;IACL,GAAG;GACL,IACE;IACA,YAAY,OAAO;IACnB,GAAI,oBAAoB,OACpB,EAAE,mBAAmB,iBAAiB,IACtC,CAAC;IACL,GAAG;GACL,CACJ;EACF,SAAS,OAAO;GAKd,MAAM,IAAI,oBAAoB,uBAJF,kCAC1B,6BAA6B,KAAK,CAAC,CAAC,SACpC,OAEqE,GAAG;EAC5E;CACF,GACA;EACE,MAAM;EACN,aAAa,kCAAkC,EAC7C,kBAAkB,QAAQ,iBAC5B,CAAC;EACD,QAAQ,6BAA6B,UAAU,KAAA,CAAS;EACxD,gBAAA;CACF,CACF;AACF"}
1
+ {"version":3,"file":"BashExecutor.mjs","names":[],"sources":["../../../src/tools/BashExecutor.ts"],"mappings":"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"}
@@ -2,7 +2,7 @@ import "../common/enum.mjs";
2
2
  import "../common/index.mjs";
3
3
  import { INTENT_PROPERTY } from "./intentArg.mjs";
4
4
  import { logCodeApiDiagnostic } from "./diagnostics.mjs";
5
- import { BASH_SHELL_GUIDANCE, CODE_ARTIFACT_PATH_GUIDANCE, CodeApiRequestError, appendFailedExecutionFileReminder, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, getCodeBaseURL, selectRuntimeSessionHint } from "./CodeExecutor.mjs";
5
+ import { BASH_SHELL_GUIDANCE, CODE_ARTIFACT_PATH_GUIDANCE, CodeApiRequestError, appendFailedExecutionFileReminder, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, getCodeBaseURL, resolveCodeApiAuthHeaders, selectRuntimeSessionHint } from "./CodeExecutor.mjs";
6
6
  import { assertUnambiguousIdentifiers, projectProgrammaticToolMap, resolveProgrammaticToolDefinitions, selectProgrammaticTools } from "./ProgrammaticCallerPolicy.mjs";
7
7
  import { clampCodeApiRunTimeoutMs, createCodeApiRunTimeoutSchema, resolveCodeApiRunTimeoutMs } from "./ptcTimeout.mjs";
8
8
  import { executeTools, formatCompletedResponse, makeRequest, runPlainExecution } from "./ProgrammaticToolCalling.mjs";
@@ -13,6 +13,9 @@ config();
13
13
  const DEFAULT_MAX_ROUND_TRIPS = 20;
14
14
  const DEFAULT_RUN_TIMEOUT_MS = resolveCodeApiRunTimeoutMs();
15
15
  const BASH_LAST_BACKGROUND_PID_GUARD = ": &\nwait \"$!\"";
16
+ const CODE_API_WORKSPACE_HEADER = "X-LibreChat-Code-Workspace-ID";
17
+ const ATTACHED_BASH_DATA_DIRECTORY = "\"${LIBRECHAT_CODE_DATA_DIR:-/mnt/data}\"";
18
+ const ATTACHED_BASH_ARTIFACT_PATH_GUIDANCE = `Use ${ATTACHED_BASH_DATA_DIRECTORY} for injected files and generated artifacts. The directory is execution-scoped; the selected workspace is the persistent project root.`;
16
19
  const BASH_RESERVED = new Set([
17
20
  "if",
18
21
  "then",
@@ -42,6 +45,10 @@ const STATELESS_WARNING = `CRITICAL - STATELESS EXECUTION:
42
45
  Each call is a fresh bash shell. Variables and state do NOT persist between calls.
43
46
  You MUST complete your entire workflow in ONE code block.
44
47
  DO NOT split work across multiple calls expecting to reuse variables.`;
48
+ const ATTACHED_WORKSPACE_WARNING = `ATTACHED WORKSPACE EXECUTION:
49
+ - Commands start in the selected persistent workspace; project file changes persist between calls.
50
+ - Each sandbox run is a fresh process, so shell variables, background processes, and temporary execution data do not persist.
51
+ - Injected files and generated artifacts use \${LIBRECHAT_CODE_DATA_DIR:-/mnt/data}; do not copy them into the project unless the task requires it.`;
45
52
  const CORE_RULES = `Rules:
46
53
  - One call: state does not persist
47
54
  - Tools are pre-defined as bash functions—DO NOT redefine them
@@ -64,6 +71,28 @@ Example (Parallel calls):
64
71
  wait
65
72
  echo "SF: $(jq -r . /mnt/data/sf.json)"
66
73
  echo "NY: $(jq -r . /mnt/data/ny.json)"`;
74
+ const ATTACHED_CORE_RULES = `Rules:
75
+ - One call: process state does not persist; project files do
76
+ - Tools are pre-defined as bash functions—DO NOT redefine them
77
+ - Each tool function accepts a JSON string argument
78
+ - Resolve tool calls into variables before changing project files; do not redirect a tool call directly into the project
79
+ - Set data_dir=${ATTACHED_BASH_DATA_DIRECTORY}; save generated artifacts there, and write durable project files relative to the working directory
80
+ - Tool stdout is normalized to one compact JSON value when possible; parse saved stdout once, then use fromjson? // . only for JSON-string fields
81
+ - Only echo/printf output returns to the model
82
+ - ${ATTACHED_BASH_ARTIFACT_PATH_GUIDANCE}
83
+ - ${BASH_SHELL_GUIDANCE}
84
+ - timeout caps one sandbox run/replay iteration, not the total multi-round-trip workflow`;
85
+ const ATTACHED_EXAMPLES = `Example (Complete workflow in one call):
86
+ data=$(query_database '{"sql": "SELECT * FROM users"}')
87
+ echo "$data" | jq '.[] | .name'
88
+
89
+ Example (Parallel calls):
90
+ data_dir=${ATTACHED_BASH_DATA_DIRECTORY}
91
+ { sf=$(web_search '{"query": "SF weather"}'); printf '%s\n' "$sf" > "$data_dir/sf.json"; } &
92
+ { ny=$(web_search '{"query": "NY weather"}'); printf '%s\n' "$ny" > "$data_dir/ny.json"; } &
93
+ wait
94
+ echo "SF: $(jq -r . "$data_dir/sf.json")"
95
+ echo "NY: $(jq -r . "$data_dir/ny.json")"`;
67
96
  const CODE_PARAM_DESCRIPTION = `Bash code that calls tools programmatically. Tools are available as bash functions.
68
97
 
69
98
  ${STATELESS_WARNING}
@@ -175,7 +204,17 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
175
204
  const maxRunTimeoutMs = resolveCodeApiRunTimeoutMs(initParams.runTimeoutMs);
176
205
  const proxy = initParams.proxy ?? process.env.PROXY;
177
206
  const debug = initParams.debug ?? process.env.BASH_PTC_DEBUG === "true";
207
+ const workspaceId = initParams.workspaceId?.trim();
208
+ const hasWorkspace = workspaceId != null && workspaceId !== "";
209
+ if (hasWorkspace && !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(workspaceId)) throw new Error("Invalid attached workspace identifier");
210
+ const requestAuthHeaders = hasWorkspace ? async () => ({
211
+ ...await resolveCodeApiAuthHeaders(initParams.authHeaders),
212
+ [CODE_API_WORKSPACE_HEADER]: workspaceId
213
+ }) : initParams.authHeaders ?? {};
178
214
  const EXEC_ENDPOINT = buildCodeApiEndpoint(baseUrl, "exec/programmatic");
215
+ const description = hasWorkspace ? BashProgrammaticToolCallingDescription.replace(STATELESS_WARNING, ATTACHED_WORKSPACE_WARNING).replace(CORE_RULES, ATTACHED_CORE_RULES).replace(EXAMPLES, ATTACHED_EXAMPLES) : BashProgrammaticToolCallingDescription;
216
+ const schema = createBashProgrammaticToolCallingSchema(maxRunTimeoutMs);
217
+ if (hasWorkspace) schema.properties.code.description = CODE_PARAM_DESCRIPTION.replace(STATELESS_WARNING, ATTACHED_WORKSPACE_WARNING).replace(CORE_RULES, ATTACHED_CORE_RULES).replace(EXAMPLES, ATTACHED_EXAMPLES);
179
218
  return tool(async (rawParams, config) => {
180
219
  const params = rawParams;
181
220
  const { code } = params;
@@ -206,7 +245,7 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
206
245
  else if (session_id != null && session_id.length > 0) logCodeApiDiagnostic("BashProgrammaticToolCalling", "debug", "session carried no injected files; exec will run without input files", { files: "none" });
207
246
  const selectedRuntimeSessionHint = selectRuntimeSessionHint(initParams.runtimeSessionHint, _runtime_session_hint);
208
247
  const runtimeSessionHint = initParams.executionProfile !== "default" && typeof selectedRuntimeSessionHint === "string" && selectedRuntimeSessionHint !== "" ? selectedRuntimeSessionHint : void 0;
209
- if (needsNoTools) return await runPlainExecution({
248
+ if (needsNoTools && !hasWorkspace) return await runPlainExecution({
210
249
  baseUrl,
211
250
  lang: "bash",
212
251
  code,
@@ -215,7 +254,7 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
215
254
  files,
216
255
  runtimeSessionHint,
217
256
  proxy,
218
- authHeaders: initParams.authHeaders,
257
+ authHeaders: requestAuthHeaders,
219
258
  executionProfile: initParams.executionProfile
220
259
  });
221
260
  let response = await makeRequest(EXEC_ENDPOINT, {
@@ -226,7 +265,7 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
226
265
  timeout,
227
266
  ...files && files.length > 0 ? { files } : {},
228
267
  ...runtimeSessionHint != null ? { runtime_session_hint: runtimeSessionHint } : {}
229
- }, proxy, initParams.authHeaders, initParams.executionProfile);
268
+ }, proxy, requestAuthHeaders, initParams.executionProfile, config.signal);
230
269
  while (response.status === "tool_call_required") {
231
270
  roundTrip++;
232
271
  if (roundTrip > maxRoundTrips) throw new Error(`Exceeded maximum round trips (${maxRoundTrips}). This may indicate an infinite loop, excessive tool calls, or a logic error in your code.`);
@@ -235,9 +274,9 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
235
274
  response = await makeRequest(EXEC_ENDPOINT, {
236
275
  continuation_token: response.continuation_token,
237
276
  tool_results: toolResults
238
- }, proxy, initParams.authHeaders, initParams.executionProfile);
277
+ }, proxy, requestAuthHeaders, initParams.executionProfile, config.signal);
239
278
  }
240
- if (response.status === "completed") return formatCompletedResponse(response, code);
279
+ if (response.status === "completed") return formatCompletedResponse(response, code, hasWorkspace ? "execution" : "session");
241
280
  if (response.status === "error") throw new Error(buildCodeApiExecutionErrorMessage(response));
242
281
  throw new CodeApiRequestError();
243
282
  } catch (error) {
@@ -247,12 +286,12 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
247
286
  }
248
287
  }, {
249
288
  name: "run_tools_with_bash",
250
- description: BashProgrammaticToolCallingDescription,
251
- schema: createBashProgrammaticToolCallingSchema(maxRunTimeoutMs),
289
+ description,
290
+ schema,
252
291
  responseFormat: "content_and_artifact"
253
292
  });
254
293
  }
255
294
  //#endregion
256
- export { BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, extractUsedBashToolNames, filterBashToolsByUsage, normalizeBashToolResultsForReplay, normalizeToBashIdentifier };
295
+ export { BashProgrammaticToolCallingDefinition, BashProgrammaticToolCallingDescription, BashProgrammaticToolCallingName, BashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingSchema, createBashProgrammaticToolCallingTool, extractUsedBashToolNames, filterBashToolsByUsage, normalizeBashToolResultsForReplay, normalizeToBashIdentifier, prepareBashProgrammaticCode };
257
296
 
258
297
  //# sourceMappingURL=BashProgrammaticToolCalling.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BashProgrammaticToolCalling.mjs","names":[],"sources":["../../../src/tools/BashProgrammaticToolCalling.ts"],"mappings":"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"}
1
+ {"version":3,"file":"BashProgrammaticToolCalling.mjs","names":[],"sources":["../../../src/tools/BashProgrammaticToolCalling.ts"],"mappings":";;;;;;;;;;;AAsCA,OAAO;AAMP,MAAM,0BAA0B;AAChC,MAAM,yBAAyB,2BAA2B;AAC1D,MAAM,iCAAiC;AACvC,MAAM,4BAA4B;AAClC,MAAM,+BAA+B;AACrC,MAAM,uCACJ,OAAO,6BAA6B;AAItC,MAAM,gBAAgB,IAAI,IAAI;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAMD,MAAM,oBAAoB;;;;AAK1B,MAAM,6BAA6B;;;;AAKnC,MAAM,aAAa;;;;;;;IAOf,4BAA4B;IAC5B,oBAAoB;;AAGxB,MAAM,mBACJ;AAEF,MAAM,WAAW;;;;;;;;;;;AAYjB,MAAM,sBAAsB;;;;;iBAKX,6BAA6B;;;IAG1C,qCAAqC;IACrC,oBAAoB;;AAGxB,MAAM,oBAAoB;;;;;aAKb,6BAA6B;;;;;;AAO1C,MAAM,yBAAyB;;EAE7B,kBAAkB;;;;;EAKlB,SAAS;;EAET;AAEF,MAAM,4BACJ;AAOF,SAAgB,wCACd,kBAAkB,wBACiB;CACnC,OAAO;EACL,MAAM;EACN,YAAY;GACV,QAAQ,EAAE,GAAG,gBAAgB;GAC7B,MAAM;IACJ,MAAM;IACN,WAAW;IACX,aAAa;GACf;GACA,eAAe;IACb,MAAM;IACN,OAAO,EAAE,MAAM,SAAS;IACxB,aAAa;IACb,aAAa;GACf;GACA,SAAS,8BAA8B,eAAe;EACxD;EACA,UAAU,CAAC,MAAM;CACnB;AACF;AAEA,MAAa,oCACX,wCAAwC;AAE1C,MAAa,kCAAA;AAGb,MAAa,yCAAyC;;;EAGpD,kBAAkB;;EAElB,WAAW;EACX,iBAAiB;;;;EAIjB,SAAS;EACT,KAAK;AAEP,MAAa,wCAAwC;CACnD,MAAM;CACN,aAAa;CACb,QAAQ;AACV;AAEA,SAAgB,4BAA4B,MAAsB;CAKhE,OAAO,GAAG,+BAA+B,IAAI;AAC/C;AAEA,SAAS,2BAA2B,QAA0B;CAC5D,IAAI,OAAO,WAAW,UACpB,OAAO;CAGT,MAAM,UAAU,OAAO,KAAK;CAC5B,IAAI,CAAC,QAAQ,WAAW,GAAG,KAAK,CAAC,QAAQ,WAAW,GAAG,GACrD,OAAO;CAGT,IAAI;EACF,OAAO,KAAK,MAAM,OAAO;CAC3B,QAAQ;EACN,OAAO;CACT;AACF;AAEA,SAAgB,kCACd,aACmB;CACnB,OAAO,YAAY,KAAK,eAAe;EACrC,IAAI,WAAW,UACb,OAAO;EAGT,OAAO;GACL,GAAG;GACH,QAAQ,2BAA2B,WAAW,MAAM;EACtD;CACF,CAAC;AACH;AAaA,SAAgB,0BAA0B,MAAsB;CAC9D,IAAI,aAAa,KAAK,QAAQ,WAAW,GAAG;CAC5C,aAAa,WAAW,QAAQ,kBAAkB,EAAE;CAEpD,IAAI,SAAS,KAAK,UAAU,GAC1B,aAAa,MAAM;CAGrB,IAAI,cAAc,IAAI,UAAU,GAC9B,aAAa,aAAa;CAG5B,OAAO;AACT;AAOA,SAAgB,yBACd,MACA,aACa;CACb,MAAM,4BAAY,IAAI,IAAY;CAElC,KAAK,MAAM,CAAC,UAAU,iBAAiB,aAAa;EAClD,MAAM,cAAc,SAAS,QAAQ,uBAAuB,MAAM;EAGlE,IAAI,IAFgB,OAAO,MAAM,YAAY,MAAM,GAEzC,CAAC,CAAC,KAAK,IAAI,GACnB,UAAU,IAAI,YAAY;CAE9B;CAEA,OAAO;AACT;AAKA,SAAgB,uBACd,UACA,MACA,QAAQ,OACI;CACZ,MAAM,8BAAc,IAAI,IAAoB;CAC5C,KAAK,MAAM,OAAO,UAAU;EAC1B,MAAM,WAAW,0BAA0B,IAAI,IAAI;EACnD,YAAY,IAAI,UAAU,IAAI,IAAI;CACpC;CAEA,MAAM,gBAAgB,yBAAyB,MAAM,WAAW;CAEhE,IAAI,OAAO;EAET,QAAQ,IACN,yCAAyC,cAAc,KAAK,GAAG,SAAS,OAAO,eACjF;EACA,IAAI,cAAc,OAAO,GAEvB,QAAQ,IACN,kCAAkC,MAAM,KAAK,aAAa,CAAC,CAAC,KAAK,IAAI,GACvE;CAEJ;CAEA,IAAI,cAAc,SAAS,GAAG;EAC5B,IAAI,OAEF,QAAQ,IACN,2EACF;EAEF,OAAO;CACT;CAEA,OAAO,SAAS,QAAQ,QAAQ,cAAc,IAAI,IAAI,IAAI,CAAC;AAC7D;AAcA,SAAgB,sCACd,aAAkD,CAAC,GAC5B;CACvB,MAAM,UAAU,WAAW,WAAW,eAAe;CACrD,MAAM,gBAAgB,WAAW,iBAAiB;CAClD,MAAM,kBAAkB,2BAA2B,WAAW,YAAY;CAC1E,MAAM,QAAQ,WAAW,SAAS,QAAQ,IAAI;CAC9C,MAAM,QAAQ,WAAW,SAAS,QAAQ,IAAI,mBAAmB;CACjE,MAAM,cAAc,WAAW,aAAa,KAAK;CACjD,MAAM,eAAe,eAAe,QAAQ,gBAAgB;CAC5D,IACE,gBACA,CAAC,sCAAsC,KAAK,WAAW,GAEvD,MAAM,IAAI,MAAM,uCAAuC;CAEzD,MAAM,qBAA2C,eAC7C,aAA8C;EAC9C,GAAI,MAAM,0BAA0B,WAAW,WAAW;GACzD,4BAA4B;CAC/B,KACG,WAAW,eAAe,CAAC;CAChC,MAAM,gBAAgB,qBAAqB,SAAS,mBAAmB;CACvE,MAAM,cAAc,eAChB,uCAAuC,QACvC,mBACA,0BACF,CAAC,CACE,QAAQ,YAAY,mBAAmB,CAAC,CACxC,QAAQ,UAAU,iBAAiB,IACpC;CACJ,MAAM,SAAS,wCAAwC,eAAe;CACtE,IAAI,cACF,OAAO,WAAW,KAAK,cAAc,uBAAuB,QAC1D,mBACA,0BACF,CAAC,CACE,QAAQ,YAAY,mBAAmB,CAAC,CACxC,QAAQ,UAAU,iBAAiB;CAGxC,OAAO,KACL,OAAO,WAAW,WAAW;EAC3B,MAAM,SAAS;EACf,MAAM,EAAE,SAAS;EACjB,MAAM,eAAe,4BAA4B,IAAI;EACrD,MAAM,UAAU,yBAAyB,OAAO,SAAS,eAAe;EAExE,MAAM,WAAY,OAAO,YAAY,CAAC;EAMtC,MAAM,EACJ,SACA,oBACA,YACA,iBACA,0BACE;EACJ,MAAM,WAAW,mCACf,QACF;EAEA,MAAM,uBACJ,SAAS,yBACR,OAAO,SAAS,SAAS,YAAY,SAAS,SAAS,KACpD,SAAS,OAAA;EAEf,MAAM,iBAAiB,wBAAwB;GAC7C,oBAAoB,OAAO;GAC3B,iBAAiB;GACjB;GACA;EACF,CAAC;EAOD,MAAM,eACJ,eAAe,WAAW,MACzB,OAAO,eAAe,WAAW,KAChC,YAAY,QACZ,sBAAsB;EAE1B,IAAI,CAAC,cAAc;GACjB,IAAI,WAAW,QAAQ,QAAQ,SAAS,GACtC,MAAM,IAAI,MACR,oGAEF;GAGF,IAAI,YAAY,QAAQ,SAAS,WAAW,GAC1C,MAAM,IAAI,MACR,mGAEF;EAEJ;EAEA,6BACE,gBACA,2BACA,oBACF;EAEA,MAAM,mBAAmB,2BACvB,2BAAW,IAAI,IAAI,GACnB,cACF;EAEA,IAAI,YAAY;EAEhB,IAAI;GAKF,IAAI,OAEF,QAAQ,IACN,2BAA2B,eAAe,OAAO,+BAC7B,UAAU,UAAU,EAAE,EAC5C;GAMF,IAAI;GACJ,IAAI,mBAAmB,gBAAgB,SAAS,GAC9C,QAAQ;QACH,IAAI,cAAc,QAAQ,WAAW,SAAS,GACnD,qBACE,+BACA,SACA,wEACA,EAAE,OAAO,OAAO,CAClB;GAOF,MAAM,6BAA6B,yBACjC,WAAW,oBACX,qBACF;GACA,MAAM,qBACJ,WAAW,qBAAqB,aAChC,OAAO,+BAA+B,YACtC,+BAA+B,KAC3B,6BACA,KAAA;GAIN,IAAI,gBAAgB,CAAC,cACnB,OAAO,MAAM,kBAAkB;IAC7B;IACA,MAAM;IACN;IACA;IACA,WAAW;IACX;IACA;IACA;IACA,aAAa;IACb,kBAAkB,WAAW;GAC/B,CAAC;GAGH,IAAI,WAAW,MAAM,YACnB,eACA;IACE,MAAM;IACN,MAAM;IACN,OAAO;IACP;IACA;IACA,GAAI,SAAS,MAAM,SAAS,IAAI,EAAE,MAAM,IAAI,CAAC;IAC7C,GAAI,sBAAsB,OACtB,EAAE,sBAAsB,mBAAmB,IAC3C,CAAC;GACP,GACA,OACA,oBACA,WAAW,kBACX,OAAO,MACT;GAMA,OAAO,SAAS,WAAW,sBAAsB;IAC/C;IAEA,IAAI,YAAY,eACd,MAAM,IAAI,MACR,iCAAiC,cAAc,4FAGjD;IAGF,IAAI,OAEF,QAAQ,IACN,8BAA8B,UAAU,IAAI,SAAS,YAAY,UAAU,EAAE,oBAC/E;IAGF,MAAM,cAAc,kCAClB,MAAM,aACJ,SAAS,cAAc,CAAC,GACxB,kBAAA,qBAEF,CACF;IAEA,WAAW,MAAM,YACf,eACA;KACE,oBAAoB,SAAS;KAC7B,cAAc;IAChB,GACA,OACA,oBACA,WAAW,kBACX,OAAO,MACT;GACF;GAMA,IAAI,SAAS,WAAW,aACtB,OAAO,wBACL,UACA,MACA,eAAe,cAAc,SAC/B;GAGF,IAAI,SAAS,WAAW,SACtB,MAAM,IAAI,MAAM,kCAAkC,QAAQ,CAAC;GAG7D,MAAM,IAAI,oBAAoB;EAChC,SAAS,OAAO;GAKd,MAAM,UAAU,uCAJY,kCACzB,MAAgB,SACjB,IAEuE;GACzE,IAAI,iBAAiB,qBACnB,MAAM,IAAI,oBAAoB,OAAO;GAEvC,MAAM,IAAI,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;EAC3C;CACF,GACA;EACE,MAAA;EACA;EACA;EACA,gBAAA;CACF,CACF;AACF"}
@@ -25,9 +25,9 @@ const TMP_PATH_PATTERN = /(^|[^A-Za-z0-9_])\/tmp(?:\/|\b)/;
25
25
  const MNT_DATA_PATH_PATTERN = /(^|[^A-Za-z0-9_])\/mnt\/data(?:\/|\b)/;
26
26
  const TMP_SCRATCH_OUTPUT_REMINDER = "Note: /tmp files are same-call scratch only and were not persisted; use /mnt/data for files needed later.";
27
27
  const FAILED_EXECUTION_FILE_REMINDER = "Note: any files written during this failed call were not registered for later calls; fix the error and rerun before relying on them.";
28
- function appendTmpScratchReminder(output, code) {
28
+ function appendTmpScratchReminder(output, code, reminder = TMP_SCRATCH_OUTPUT_REMINDER) {
29
29
  if (!TMP_PATH_PATTERN.test(code)) return output;
30
- return `${output.trimEnd()}\n${TMP_SCRATCH_OUTPUT_REMINDER}\n`;
30
+ return `${output.trimEnd()}\n${reminder}\n`;
31
31
  }
32
32
  function appendFailedExecutionFileReminder(output, code) {
33
33
  if (output.includes("Code execution is not supported by the selected environment.") || !MNT_DATA_PATH_PATTERN.test(code) || output.includes("Note: any files written during this failed call were not registered for later calls; fix the error and rerun before relying on them.")) return output;
@@ -310,6 +310,7 @@ function createCodeExecutionTool(params = {}) {
310
310
  const artifactDelivery = normalizeArtifactDeliveryFailure(result.artifact_delivery);
311
311
  const outputWithDeliveryWarning = appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
312
312
  const hasFiles = result.files != null && result.files.length > 0;
313
+ const deletionEcho = result.deleted_files != null ? { deleted_files: result.deleted_files } : {};
313
314
  const runtimeEcho = result.runtime_session_id != null ? {
314
315
  runtime_session_id: result.runtime_session_id,
315
316
  runtime_status: result.runtime_status
@@ -318,10 +319,12 @@ function createCodeExecutionTool(params = {}) {
318
319
  session_id: result.session_id,
319
320
  files: result.files,
320
321
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
322
+ ...deletionEcho,
321
323
  ...runtimeEcho
322
324
  } : {
323
325
  session_id: result.session_id,
324
326
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
327
+ ...deletionEcho,
325
328
  ...runtimeEcho
326
329
  }];
327
330
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeExecutor.mjs","names":[],"sources":["../../../src/tools/CodeExecutor.ts"],"mappings":"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"}
1
+ {"version":3,"file":"CodeExecutor.mjs","names":[],"sources":["../../../src/tools/CodeExecutor.ts"],"mappings":"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"}
@@ -12,6 +12,7 @@ const IMAGE_FILE_EXTENSIONS = new Set([
12
12
  ".webp"
13
13
  ]);
14
14
  const CODE_SESSION_FILE_SUMMARY_PATTERN = /^Generated files:\nSession files: \d+ persisted file\(s\) are available in \/mnt\/data, including \d+ image\(s\)\. Use known \/mnt\/data paths directly in later code-tool calls\. The app displays files\/images automatically; do not invent download links or wrap generated images in Markdown\.$/;
15
+ const EXECUTION_ARTIFACT_FILE_SUMMARY_PATTERN = /^Generated files:\nExecution artifacts: \d+ file\(s\), including \d+ image\(s\), were delivered to the app\. They are not retained in the attached project; write durable files to the project root when later commands must reuse them\. The app displays files\/images automatically; do not invent download links or wrap generated images in Markdown\.$/;
15
16
  function getFileExtension(name) {
16
17
  const lastSlash = name.lastIndexOf("/");
17
18
  const basename = lastSlash >= 0 ? name.slice(lastSlash + 1) : name;
@@ -35,7 +36,7 @@ function stripCodeSessionFileSummary(output) {
35
36
  const beforeSummary = output.slice(0, summaryStart);
36
37
  if (beforeSummary !== "" && !beforeSummary.endsWith("\n\n")) return output;
37
38
  const maybeSummary = output.slice(summaryStart);
38
- if (!CODE_SESSION_FILE_SUMMARY_PATTERN.test(maybeSummary)) return output;
39
+ if (!CODE_SESSION_FILE_SUMMARY_PATTERN.test(maybeSummary) && !EXECUTION_ARTIFACT_FILE_SUMMARY_PATTERN.test(maybeSummary)) return output;
39
40
  return beforeSummary.trimEnd();
40
41
  }
41
42
  function appendCodeSessionFileSummary(output, files) {
@@ -46,7 +47,15 @@ function appendCodeSessionFileSummary(output, files) {
46
47
  const summary = buildCodeSessionFileSummary(generatedFiles.length, imageCount);
47
48
  return `${output.trimEnd()}\n\n${summary}`.trim();
48
49
  }
50
+ function appendExecutionArtifactFileSummary(output, files) {
51
+ const generatedFiles = files?.filter(isGeneratedFile) ?? [];
52
+ if (generatedFiles.length === 0) return output.trim();
53
+ const imageCount = generatedFiles.filter(isImageFile).length;
54
+ const summary = `Generated files:
55
+ Execution artifacts: ${generatedFiles.length} file(s), including ${imageCount} image(s), were delivered to the app. They are not retained in the attached project; write durable files to the project root when later commands must reuse them. The app displays files/images automatically; do not invent download links or wrap generated images in Markdown.`;
56
+ return `${output.trimEnd()}\n\n${summary}`.trim();
57
+ }
49
58
  //#endregion
50
- export { appendCodeSessionFileSummary, stripCodeSessionFileSummary };
59
+ export { appendCodeSessionFileSummary, appendExecutionArtifactFileSummary, stripCodeSessionFileSummary };
51
60
 
52
61
  //# sourceMappingURL=CodeSessionFileSummary.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSessionFileSummary.mjs","names":[],"sources":["../../../src/tools/CodeSessionFileSummary.ts"],"mappings":";AAEA,MAAM,wBAAwB,IAAI,IAAI;CACpC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oCACJ;AAEF,SAAS,iBAAiB,MAAsB;CAC9C,MAAM,YAAY,KAAK,YAAY,GAAG;CACtC,MAAM,WAAW,aAAa,IAAI,KAAK,MAAM,YAAY,CAAC,IAAI;CAC9D,MAAM,UAAU,SAAS,YAAY,GAAG;CACxC,OAAO,WAAW,IAAI,SAAS,MAAM,OAAO,CAAC,CAAC,YAAY,IAAI;AAChE;AAEA,SAAS,YAAY,MAAsD;CACzE,MAAM,OAAO,MAAM;CACnB,OACE,OAAO,SAAS,YAChB,sBAAsB,IAAI,iBAAiB,IAAI,CAAC;AAEpD;AAEA,SAAS,4BACP,WACA,YACQ;CACR,OACE;iBACkB,UAAU,2DAA2D,WAAW;AAItG;AAEA,SAAS,gBAAgB,MAAsD;CAC7E,OAAO,MAAM,cAAc;AAC7B;AAEA,SAAgB,4BAA4B,QAAwB;CAClE,MAAM,eAAe,OAAO,YAAY,kBAAkB;CAC1D,IAAI,eAAe,GAAG,OAAO;CAC7B,MAAM,gBAAgB,OAAO,MAAM,GAAG,YAAY;CAClD,IAAI,kBAAkB,MAAM,CAAC,cAAc,SAAS,MAAM,GAAG,OAAO;CACpE,MAAM,eAAe,OAAO,MAAM,YAAY;CAC9C,IAAI,CAAC,kCAAkC,KAAK,YAAY,GAAG,OAAO;CAClE,OAAO,cAAc,QAAQ;AAC/B;AAEA,SAAgB,6BACd,QACA,OACQ;CACR,IAAI,SAAS,QAAQ,MAAM,WAAW,GACpC,OAAO,OAAO,KAAK;CAGrB,MAAM,iBAAiB,MAAM,OAAO,eAAe;CACnD,IAAI,eAAe,WAAW,GAC5B,OAAO,OAAO,KAAK;CAGrB,MAAM,aAAa,eAAe,OAAO,WAAW,CAAC,CAAC;CACtD,MAAM,UAAU,4BACd,eAAe,QACf,UACF;CAEA,OAAO,GAAG,OAAO,QAAQ,EAAE,MAAM,UAAU,KAAK;AAClD"}
1
+ {"version":3,"file":"CodeSessionFileSummary.mjs","names":[],"sources":["../../../src/tools/CodeSessionFileSummary.ts"],"mappings":";AAEA,MAAM,wBAAwB,IAAI,IAAI;CACpC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,oCACJ;AACF,MAAM,0CACJ;AAEF,SAAS,iBAAiB,MAAsB;CAC9C,MAAM,YAAY,KAAK,YAAY,GAAG;CACtC,MAAM,WAAW,aAAa,IAAI,KAAK,MAAM,YAAY,CAAC,IAAI;CAC9D,MAAM,UAAU,SAAS,YAAY,GAAG;CACxC,OAAO,WAAW,IAAI,SAAS,MAAM,OAAO,CAAC,CAAC,YAAY,IAAI;AAChE;AAEA,SAAS,YAAY,MAAsD;CACzE,MAAM,OAAO,MAAM;CACnB,OACE,OAAO,SAAS,YAChB,sBAAsB,IAAI,iBAAiB,IAAI,CAAC;AAEpD;AAEA,SAAS,4BACP,WACA,YACQ;CACR,OACE;iBACkB,UAAU,2DAA2D,WAAW;AAItG;AAEA,SAAS,gBAAgB,MAAsD;CAC7E,OAAO,MAAM,cAAc;AAC7B;AAEA,SAAgB,4BAA4B,QAAwB;CAClE,MAAM,eAAe,OAAO,YAAY,kBAAkB;CAC1D,IAAI,eAAe,GAAG,OAAO;CAC7B,MAAM,gBAAgB,OAAO,MAAM,GAAG,YAAY;CAClD,IAAI,kBAAkB,MAAM,CAAC,cAAc,SAAS,MAAM,GAAG,OAAO;CACpE,MAAM,eAAe,OAAO,MAAM,YAAY;CAC9C,IACE,CAAC,kCAAkC,KAAK,YAAY,KACpD,CAAC,wCAAwC,KAAK,YAAY,GAE1D,OAAO;CAET,OAAO,cAAc,QAAQ;AAC/B;AAEA,SAAgB,6BACd,QACA,OACQ;CACR,IAAI,SAAS,QAAQ,MAAM,WAAW,GACpC,OAAO,OAAO,KAAK;CAGrB,MAAM,iBAAiB,MAAM,OAAO,eAAe;CACnD,IAAI,eAAe,WAAW,GAC5B,OAAO,OAAO,KAAK;CAGrB,MAAM,aAAa,eAAe,OAAO,WAAW,CAAC,CAAC;CACtD,MAAM,UAAU,4BACd,eAAe,QACf,UACF;CAEA,OAAO,GAAG,OAAO,QAAQ,EAAE,MAAM,UAAU,KAAK;AAClD;AAIA,SAAgB,mCACd,QACA,OACQ;CACR,MAAM,iBAAiB,OAAO,OAAO,eAAe,KAAK,CAAC;CAC1D,IAAI,eAAe,WAAW,GAAG,OAAO,OAAO,KAAK;CACpD,MAAM,aAAa,eAAe,OAAO,WAAW,CAAC,CAAC;CACtD,MAAM,UACJ;uBACwB,eAAe,OAAO,sBAAsB,WAAW;CAGjF,OAAO,GAAG,OAAO,QAAQ,EAAE,MAAM,UAAU,KAAK;AAClD"}
@@ -4,10 +4,11 @@ import { resolveFetchProxyAgent } from "../utils/proxy.mjs";
4
4
  import { INTENT_PROPERTY } from "./intentArg.mjs";
5
5
  import { appendArtifactDeliveryWarning, normalizeArtifactDeliveryFailure } from "./ArtifactDelivery.mjs";
6
6
  import { describeCodeApiError, logCodeApiDiagnostic } from "./diagnostics.mjs";
7
- import { appendCodeSessionFileSummary } from "./CodeSessionFileSummary.mjs";
7
+ import { appendCodeSessionFileSummary, appendExecutionArtifactFileSummary } from "./CodeSessionFileSummary.mjs";
8
8
  import { CODE_ARTIFACT_PATH_GUIDANCE, CodeApiRequestError, addCodeApiExecutionProfileHeader, appendFailedExecutionFileReminder, appendTmpScratchReminder, buildCodeApiEndpoint, buildCodeApiExecutionErrorMessage, buildCodeApiHttpErrorMessage, emptyOutputMessage, getCodeBaseURL, normalizeCodeApiRequestError, resolveCodeApiAuthHeaders, selectRuntimeSessionHint } from "./CodeExecutor.mjs";
9
9
  import { assertUnambiguousIdentifiers, projectProgrammaticToolMap, resolveProgrammaticToolDefinitions, selectProgrammaticTools } from "./ProgrammaticCallerPolicy.mjs";
10
10
  import { clampCodeApiRunTimeoutMs, createCodeApiRunTimeoutSchema, resolveCodeApiRunTimeoutMs } from "./ptcTimeout.mjs";
11
+ import { randomUUID } from "node:crypto";
11
12
  import { tool } from "@langchain/core/tools";
12
13
  import { config } from "dotenv";
13
14
  import fetch from "node-fetch";
@@ -15,6 +16,8 @@ import fetch from "node-fetch";
15
16
  config();
16
17
  const DEFAULT_MAX_ROUND_TRIPS = 20;
17
18
  const DEFAULT_RUN_TIMEOUT_MS = resolveCodeApiRunTimeoutMs();
19
+ const CODE_API_PROGRAMMATIC_REQUEST_HEADER = "X-LibreChat-Code-Request-ID";
20
+ const CANCELLATION_REQUEST_TIMEOUT_MS = 2e3;
18
21
  const STATELESS_WARNING = `CRITICAL - STATELESS EXECUTION:
19
22
  Each call is a fresh Python interpreter. Variables, imports, and data do NOT persist between calls.
20
23
  You MUST complete your entire workflow in ONE code block: query → process → output.
@@ -247,20 +250,61 @@ async function fetchSessionFiles(baseUrl, sessionId, scopeOrProxy, proxyOrAuthHe
247
250
  return [];
248
251
  }
249
252
  }
250
- async function makeRequest(endpoint, body, proxy, authHeaders, executionProfile) {
253
+ async function makeRequest(endpoint, body, proxy, authHeaders, executionProfile, signal) {
251
254
  try {
255
+ const resolvedAuthHeaders = await resolveCodeApiAuthHeaders(authHeaders);
256
+ const requestId = signal != null ? randomUUID() : void 0;
252
257
  const fetchOptions = {
253
258
  method: "POST",
254
259
  headers: {
255
260
  "Content-Type": "application/json",
256
261
  "User-Agent": "LibreChat/1.0",
257
- ...addCodeApiExecutionProfileHeader(await resolveCodeApiAuthHeaders(authHeaders), executionProfile)
262
+ ...addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile),
263
+ ...requestId != null ? { [CODE_API_PROGRAMMATIC_REQUEST_HEADER]: requestId } : {}
258
264
  },
259
- body: JSON.stringify(body)
265
+ body: JSON.stringify(body),
266
+ signal
260
267
  };
261
268
  const proxyAgent = resolveFetchProxyAgent(endpoint, proxy);
262
269
  if (proxyAgent != null) fetchOptions.agent = proxyAgent;
263
- const response = await fetch(endpoint, fetchOptions);
270
+ let cancellationRequest;
271
+ const requestCancellation = () => {
272
+ if (requestId == null || cancellationRequest != null) return;
273
+ cancellationRequest = (async () => {
274
+ const cancellationController = new AbortController();
275
+ const timeout = setTimeout(() => cancellationController.abort(), CANCELLATION_REQUEST_TIMEOUT_MS);
276
+ try {
277
+ const cancelOptions = {
278
+ method: "POST",
279
+ headers: {
280
+ "Content-Type": "application/json",
281
+ "User-Agent": "LibreChat/1.0",
282
+ ...addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile)
283
+ },
284
+ body: JSON.stringify({ request_id: requestId }),
285
+ signal: cancellationController.signal
286
+ };
287
+ if (proxyAgent != null) cancelOptions.agent = proxyAgent;
288
+ await fetch(`${endpoint}/cancel`, cancelOptions);
289
+ } catch {} finally {
290
+ clearTimeout(timeout);
291
+ }
292
+ })();
293
+ };
294
+ signal?.addEventListener("abort", requestCancellation, { once: true });
295
+ if (signal?.aborted === true) requestCancellation();
296
+ let response;
297
+ try {
298
+ response = await fetch(endpoint, fetchOptions);
299
+ } catch (error) {
300
+ if (signal?.aborted === true) {
301
+ requestCancellation();
302
+ await cancellationRequest;
303
+ }
304
+ throw error;
305
+ } finally {
306
+ signal?.removeEventListener("abort", requestCancellation);
307
+ }
264
308
  if (!response.ok) throw new CodeApiRequestError(await buildCodeApiHttpErrorMessage("POST", endpoint, response, { profile: executionProfile }));
265
309
  return await response.json();
266
310
  } catch (error) {
@@ -403,16 +447,18 @@ async function executeTools(toolCalls, toolMap, programmaticToolName = "run_tool
403
447
  });
404
448
  return await Promise.all(executions);
405
449
  }
406
- function formatCompletedResponse(response, sourceCode = "") {
450
+ function formatCompletedResponse(response, sourceCode = "", filePersistence = "session") {
407
451
  let formatted = "";
408
452
  if (response.stdout != null && response.stdout !== "") formatted += `stdout:\n${response.stdout}\n`;
409
453
  else formatted += emptyOutputMessage;
410
454
  if (response.stderr != null && response.stderr !== "") formatted += `stderr:\n${response.stderr}\n`;
411
455
  const outputWithReminder = appendTmpScratchReminder(formatted, sourceCode);
412
456
  const artifactDelivery = normalizeArtifactDeliveryFailure(response.artifact_delivery);
413
- return [appendCodeSessionFileSummary(appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery), response.files), {
457
+ const outputWithDeliveryWarning = appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
458
+ return [filePersistence === "execution" ? appendExecutionArtifactFileSummary(outputWithDeliveryWarning, response.files) : appendCodeSessionFileSummary(outputWithDeliveryWarning, response.files), {
414
459
  session_id: response.session_id,
415
460
  files: response.files,
461
+ ...response.deleted_files != null ? { deleted_files: response.deleted_files } : {},
416
462
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
417
463
  ...response.runtime_session_id != null ? {
418
464
  runtime_session_id: response.runtime_session_id,
@@ -494,7 +540,7 @@ function createProgrammaticToolCallingTool(initParams = {}) {
494
540
  timeout,
495
541
  ...files && files.length > 0 ? { files } : {},
496
542
  ...runtimeSessionHint != null ? { runtime_session_hint: runtimeSessionHint } : {}
497
- }, proxy, initParams.authHeaders, initParams.executionProfile);
543
+ }, proxy, initParams.authHeaders, initParams.executionProfile, config.signal);
498
544
  while (response.status === "tool_call_required") {
499
545
  roundTrip++;
500
546
  if (roundTrip > maxRoundTrips) throw new Error(`Exceeded maximum round trips (${maxRoundTrips}). This may indicate an infinite loop, excessive tool calls, or a logic error in your code.`);
@@ -503,7 +549,7 @@ function createProgrammaticToolCallingTool(initParams = {}) {
503
549
  response = await makeRequest(EXEC_ENDPOINT, {
504
550
  continuation_token: response.continuation_token,
505
551
  tool_results: toolResults
506
- }, proxy, initParams.authHeaders, initParams.executionProfile);
552
+ }, proxy, initParams.authHeaders, initParams.executionProfile, config.signal);
507
553
  }
508
554
  if (response.status === "completed") return formatCompletedResponse(response, code);
509
555
  if (response.status === "error") throw new Error(buildCodeApiExecutionErrorMessage(response));