@librechat/agents 3.8.6 → 3.8.8

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 (53) hide show
  1. package/dist/cjs/main.cjs +1 -0
  2. package/dist/cjs/tools/BashExecutor.cjs +83 -28
  3. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  4. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +50 -7
  5. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  6. package/dist/cjs/tools/CodeExecutor.cjs +5 -2
  7. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  8. package/dist/cjs/tools/CodeSessionFileSummary.cjs +11 -1
  9. package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
  10. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +54 -8
  11. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  12. package/dist/cjs/tools/ToolNode.cjs +52 -20
  13. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  14. package/dist/cjs/tools/toolBatchReplay.cjs +3 -1
  15. package/dist/cjs/tools/toolBatchReplay.cjs.map +1 -1
  16. package/dist/cjs/tools/workspaceIdentity.cjs +12 -0
  17. package/dist/cjs/tools/workspaceIdentity.cjs.map +1 -0
  18. package/dist/esm/main.mjs +2 -2
  19. package/dist/esm/tools/BashExecutor.mjs +85 -30
  20. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  21. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +51 -9
  22. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  23. package/dist/esm/tools/CodeExecutor.mjs +5 -2
  24. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  25. package/dist/esm/tools/CodeSessionFileSummary.mjs +11 -2
  26. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  27. package/dist/esm/tools/ProgrammaticToolCalling.mjs +55 -9
  28. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  29. package/dist/esm/tools/ToolNode.mjs +52 -20
  30. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  31. package/dist/esm/tools/toolBatchReplay.mjs +3 -1
  32. package/dist/esm/tools/toolBatchReplay.mjs.map +1 -1
  33. package/dist/esm/tools/workspaceIdentity.mjs +12 -0
  34. package/dist/esm/tools/workspaceIdentity.mjs.map +1 -0
  35. package/dist/types/tools/BashExecutor.d.ts +2 -0
  36. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +1 -0
  37. package/dist/types/tools/CodeExecutor.d.ts +1 -1
  38. package/dist/types/tools/CodeSessionFileSummary.d.ts +3 -0
  39. package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
  40. package/dist/types/tools/ToolNode.d.ts +2 -0
  41. package/dist/types/tools/toolBatchReplay.d.ts +2 -0
  42. package/dist/types/tools/workspaceIdentity.d.ts +1 -0
  43. package/dist/types/types/tools.d.ts +20 -2
  44. package/package.json +2 -2
  45. package/src/tools/BashExecutor.ts +156 -40
  46. package/src/tools/BashProgrammaticToolCalling.ts +90 -10
  47. package/src/tools/CodeExecutor.ts +12 -2
  48. package/src/tools/CodeSessionFileSummary.ts +25 -1
  49. package/src/tools/ProgrammaticToolCalling.ts +77 -6
  50. package/src/tools/ToolNode.ts +152 -26
  51. package/src/tools/toolBatchReplay.ts +23 -1
  52. package/src/tools/workspaceIdentity.ts +15 -0
  53. package/src/types/tools.ts +23 -2
package/dist/cjs/main.cjs CHANGED
@@ -730,6 +730,7 @@ exports.partitionAndMarkAnthropicToolCache = require_anthropicToolCache.partitio
730
730
  exports.performLocalSearch = require_ToolSearch.performLocalSearch;
731
731
  exports.preFlightTruncateToolCallInputs = require_prune.preFlightTruncateToolCallInputs;
732
732
  exports.preFlightTruncateToolResults = require_prune.preFlightTruncateToolResults;
733
+ exports.prepareBashProgrammaticCode = require_BashProgrammaticToolCalling.prepareBashProgrammaticCode;
733
734
  exports.prepareProviderRequest = require_prepareProviderRequest.prepareProviderRequest;
734
735
  exports.probeLocalCommandAvailability = require_LocalExecutionEngine.probeLocalCommandAvailability;
735
736
  exports.projectAgentContextUsage = require_projection.projectAgentContextUsage;
@@ -7,6 +7,9 @@ const require_ArtifactDelivery = require("./ArtifactDelivery.cjs");
7
7
  const require_diagnostics = require("./diagnostics.cjs");
8
8
  const require_CodeSessionFileSummary = require("./CodeSessionFileSummary.cjs");
9
9
  const require_CodeExecutor = require("./CodeExecutor.cjs");
10
+ const require_ProgrammaticToolCalling = require("./ProgrammaticToolCalling.cjs");
11
+ const require_workspaceIdentity = require("./workspaceIdentity.cjs");
12
+ const require_BashProgrammaticToolCalling = require("./BashProgrammaticToolCalling.cjs");
10
13
  let _langchain_core_tools = require("@langchain/core/tools");
11
14
  let dotenv = require("dotenv");
12
15
  let node_fetch = require("node-fetch");
@@ -60,6 +63,16 @@ Usage:
60
63
  - ${require_CodeExecutor.BASH_SHELL_GUIDANCE}
61
64
  - NEVER use this tool to execute malicious commands.
62
65
  `.trim();
66
+ const AttachedWorkspaceBashExecutionToolDescription = `
67
+ Runs bash commands in the selected persistent project through an isolated sandbox process.
68
+
69
+ Usage:
70
+ - Project file changes persist between calls; shell variables, background processes, and execution-private temporary files do not.
71
+ - Injected files and generated artifacts use \${LIBRECHAT_CODE_DATA_DIR:-/mnt/data}; write durable files to the project root.
72
+ - Generated artifacts are automatically delivered; **DO NOT** provide download links.
73
+ - ${require_CodeExecutor.BASH_SHELL_GUIDANCE}
74
+ - NEVER use this tool to execute malicious commands.
75
+ `.trim();
63
76
  const BashToolOutputReferencesGuide = `
64
77
  Referencing previous tool outputs:
65
78
  - 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.
@@ -71,15 +84,23 @@ Referencing previous tool outputs:
71
84
  - Unknown reference keys are left in place and surfaced as \`[unresolved refs: …]\` after the output.
72
85
  `.trim();
73
86
  function buildBashExecutionToolDescription(options) {
74
- const base = options?.statefulSessions === true ? StatefulBashExecutionToolDescription : BashExecutionToolDescription;
87
+ let base = BashExecutionToolDescription;
88
+ if (options?.attachedWorkspace === true) base = AttachedWorkspaceBashExecutionToolDescription;
89
+ else if (options?.statefulSessions === true) base = StatefulBashExecutionToolDescription;
75
90
  if (options?.enableToolOutputReferences === true) return `${base}\n\n${BashToolOutputReferencesGuide}`;
76
91
  return base;
77
92
  }
78
93
  const STATELESS_BASH_PARAM_NOTE = "The environment is stateless; variables and state don't persist between executions.";
79
94
  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.";
95
+ 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.";
96
+ 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.";
97
+ 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.";
80
98
  function buildBashExecutionToolSchema(opts) {
81
- const note = opts?.statefulSessions === true ? STATEFUL_BASH_PARAM_NOTE : STATELESS_BASH_PARAM_NOTE;
82
- const commandDescription = BashExecutionToolSchema.properties.command.description.replace(STATELESS_BASH_PARAM_NOTE, note);
99
+ let note = STATELESS_BASH_PARAM_NOTE;
100
+ if (opts?.attachedWorkspace === true) note = ATTACHED_BASH_PARAM_NOTE;
101
+ else if (opts?.statefulSessions === true) note = STATEFUL_BASH_PARAM_NOTE;
102
+ let commandDescription = BashExecutionToolSchema.properties.command.description.replace(STATELESS_BASH_PARAM_NOTE, note);
103
+ if (opts?.attachedWorkspace === true) commandDescription = commandDescription.replace("- Prior /mnt/data files are available and can be modified in place.\n", "").replace(require_CodeExecutor.CODE_ARTIFACT_PATH_GUIDANCE, ATTACHED_BASH_ARTIFACT_PATH_GUIDANCE);
83
104
  return {
84
105
  ...BashExecutionToolSchema,
85
106
  properties: {
@@ -92,62 +113,90 @@ function buildBashExecutionToolSchema(opts) {
92
113
  };
93
114
  }
94
115
  const BashExecutionToolName = "bash_tool";
116
+ function quoteBashArgument(value) {
117
+ return `'${value.replace(/'/g, "'\"'\"'")}'`;
118
+ }
119
+ function commandWithArguments(command, args) {
120
+ if (args == null || args.length === 0) return command;
121
+ return `bash -c ${quoteBashArgument(command)} -- ${args.map(quoteBashArgument).join(" ")}`;
122
+ }
95
123
  const BashExecutionToolDefinition = {
96
124
  name: BashExecutionToolName,
97
125
  description: BashExecutionToolDescription,
98
126
  schema: BashExecutionToolSchema
99
127
  };
100
128
  function createBashExecutionTool(params = {}) {
101
- const execEndpoint = require_CodeExecutor.buildCodeApiEndpoint(params?.baseUrl ?? require_CodeExecutor.getCodeBaseURL(), "exec");
129
+ const workspaceId = params?.workspaceId?.trim();
130
+ const hasWorkspace = workspaceId != null && workspaceId !== "";
131
+ const workspaceInstanceId = require_workspaceIdentity.resolveAttachedWorkspaceInstanceId(params?.workspaceInstanceId, hasWorkspace);
132
+ if (hasWorkspace && !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$/.test(workspaceId)) throw new Error("Invalid attached workspace identifier");
133
+ const execEndpoint = require_CodeExecutor.buildCodeApiEndpoint(params?.baseUrl ?? require_CodeExecutor.getCodeBaseURL(), hasWorkspace ? "exec/programmatic" : "exec");
102
134
  return (0, _langchain_core_tools.tool)(async (rawInput, config) => {
103
- const { authHeaders, baseUrl: _baseUrl, executionProfile, runtimeSessionHint, statefulSessions, ...executionParams } = params ?? {};
104
- const { command, intent: _ignoredIntent, runtime_session_hint: _ignoredModelHint, ...rest } = rawInput;
135
+ const { authHeaders, baseUrl: _baseUrl, executionProfile, runtimeSessionHint, statefulSessions, workspaceId: _workspaceId, workspaceInstanceId: _workspaceInstanceId, ...executionParams } = params ?? {};
136
+ const { command: rawCommand, intent: _ignoredIntent, runtime_session_hint: _ignoredModelHint, workspace_instance_id: _ignoredModelWorkspaceInstanceId, args, ...rest } = rawInput;
137
+ const command = hasWorkspace ? commandWithArguments(rawCommand, args) : rawCommand;
105
138
  const { session_id, _injected_files, _runtime_session_hint } = config.toolCall ?? {};
106
139
  const postData = {
107
140
  lang: "bash",
108
- code: command,
141
+ code: hasWorkspace ? require_BashProgrammaticToolCalling.prepareBashProgrammaticCode(command) : command,
142
+ ...hasWorkspace ? { tools: [] } : {},
143
+ ...!hasWorkspace && args != null ? { args } : {},
109
144
  ...rest,
110
- ...executionParams
145
+ ...executionParams,
146
+ ...workspaceInstanceId != null && workspaceInstanceId !== "" ? { workspace_instance_id: workspaceInstanceId } : {}
111
147
  };
112
148
  const effectiveRuntimeSessionHint = require_CodeExecutor.selectRuntimeSessionHint(runtimeSessionHint, _runtime_session_hint);
113
149
  if (statefulSessions === true && executionProfile !== "default" && typeof effectiveRuntimeSessionHint === "string" && effectiveRuntimeSessionHint !== "") postData.runtime_session_hint = effectiveRuntimeSessionHint;
114
150
  if (_injected_files && _injected_files.length > 0) postData.files = _injected_files;
115
151
  else if (session_id != null && session_id.length > 0 && !Array.isArray(postData.files)) require_diagnostics.logCodeApiDiagnostic("BashExecutor", "debug", "session carried no injected files; exec will run without input files", { files: "none" });
116
152
  try {
117
- const fetchOptions = {
118
- method: "POST",
119
- headers: {
120
- "Content-Type": "application/json",
121
- "User-Agent": "LibreChat/1.0",
122
- ...require_CodeExecutor.addCodeApiExecutionProfileHeader(await require_CodeExecutor.resolveCodeApiAuthHeaders(authHeaders), executionProfile)
123
- },
124
- body: JSON.stringify(postData)
125
- };
126
- const proxyAgent = require_proxy.resolveFetchProxyAgent(execEndpoint);
127
- if (proxyAgent != null) fetchOptions.agent = proxyAgent;
128
- const response = await (0, node_fetch.default)(execEndpoint, fetchOptions);
129
- if (!response.ok) throw new require_CodeExecutor.CodeApiRequestError(await require_CodeExecutor.buildCodeApiHttpErrorMessage("POST", execEndpoint, response, { profile: executionProfile }));
130
- const result = await response.json();
153
+ const resolvedAuthHeaders = await require_CodeExecutor.resolveCodeApiAuthHeaders(authHeaders);
154
+ let result;
155
+ if (hasWorkspace) result = await require_ProgrammaticToolCalling.makeRequest(execEndpoint, postData, void 0, {
156
+ ...resolvedAuthHeaders,
157
+ "X-LibreChat-Code-Workspace-ID": workspaceId
158
+ }, executionProfile, config.signal);
159
+ else {
160
+ const fetchOptions = {
161
+ method: "POST",
162
+ headers: {
163
+ "Content-Type": "application/json",
164
+ "User-Agent": "LibreChat/1.0",
165
+ ...require_CodeExecutor.addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile)
166
+ },
167
+ body: JSON.stringify(postData),
168
+ signal: config.signal
169
+ };
170
+ const proxyAgent = require_proxy.resolveFetchProxyAgent(execEndpoint);
171
+ if (proxyAgent != null) fetchOptions.agent = proxyAgent;
172
+ const response = await (0, node_fetch.default)(execEndpoint, fetchOptions);
173
+ if (!response.ok) throw new require_CodeExecutor.CodeApiRequestError(await require_CodeExecutor.buildCodeApiHttpErrorMessage("POST", execEndpoint, response, { profile: executionProfile }));
174
+ result = await response.json();
175
+ }
176
+ if (hasWorkspace && result.status !== "completed") throw new require_CodeExecutor.CodeApiRequestError(require_CodeExecutor.buildCodeApiExecutionErrorMessage(result));
131
177
  let formattedOutput = "";
132
- if (result.stdout) formattedOutput += `stdout:\n${result.stdout}\n`;
178
+ if (typeof result.stdout === "string" && result.stdout.length > 0) formattedOutput += `stdout:\n${result.stdout}\n`;
133
179
  else formattedOutput += require_CodeExecutor.emptyOutputMessage;
134
- if (result.stderr) formattedOutput += `stderr:\n${result.stderr}\n`;
135
- const outputWithReminder = require_CodeExecutor.appendTmpScratchReminder(formattedOutput, command);
180
+ if (typeof result.stderr === "string" && result.stderr.length > 0) formattedOutput += `stderr:\n${result.stderr}\n`;
181
+ const outputWithReminder = require_CodeExecutor.appendTmpScratchReminder(formattedOutput, command, hasWorkspace ? ATTACHED_BASH_TMP_REMINDER : void 0);
136
182
  const artifactDelivery = require_ArtifactDelivery.normalizeArtifactDeliveryFailure(result.artifact_delivery);
137
183
  const outputWithDeliveryWarning = require_ArtifactDelivery.appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
138
184
  const hasFiles = result.files != null && result.files.length > 0;
185
+ const deletionEcho = result.deleted_files != null ? { deleted_files: result.deleted_files } : {};
139
186
  const runtimeEcho = result.runtime_session_id != null ? {
140
187
  runtime_session_id: result.runtime_session_id,
141
188
  runtime_status: result.runtime_status
142
189
  } : {};
143
- return [require_CodeSessionFileSummary.appendCodeSessionFileSummary(outputWithDeliveryWarning, result.files), hasFiles ? {
190
+ return [hasWorkspace ? require_CodeSessionFileSummary.appendExecutionArtifactFileSummary(outputWithDeliveryWarning, result.files) : require_CodeSessionFileSummary.appendCodeSessionFileSummary(outputWithDeliveryWarning, result.files), hasFiles ? {
144
191
  session_id: result.session_id,
145
192
  files: result.files,
146
193
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
194
+ ...deletionEcho,
147
195
  ...runtimeEcho
148
196
  } : {
149
197
  session_id: result.session_id,
150
198
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
199
+ ...deletionEcho,
151
200
  ...runtimeEcho
152
201
  }];
153
202
  } catch (error) {
@@ -155,8 +204,14 @@ function createBashExecutionTool(params = {}) {
155
204
  }
156
205
  }, {
157
206
  name: BashExecutionToolName,
158
- description: buildBashExecutionToolDescription({ statefulSessions: params?.statefulSessions }),
159
- schema: buildBashExecutionToolSchema(params ?? void 0),
207
+ description: buildBashExecutionToolDescription({
208
+ statefulSessions: params?.statefulSessions,
209
+ attachedWorkspace: hasWorkspace
210
+ }),
211
+ schema: buildBashExecutionToolSchema({
212
+ statefulSessions: params?.statefulSessions,
213
+ attachedWorkspace: hasWorkspace
214
+ }),
160
215
  responseFormat: "content_and_artifact"
161
216
  });
162
217
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BashExecutor.cjs","names":["INTENT_PROPERTY","CODE_ARTIFACT_PATH_GUIDANCE","BASH_SHELL_GUIDANCE","buildCodeApiEndpoint","getCodeBaseURL","selectRuntimeSessionHint","addCodeApiExecutionProfileHeader","resolveCodeApiAuthHeaders","resolveFetchProxyAgent","CodeApiRequestError","buildCodeApiHttpErrorMessage","emptyOutputMessage","appendTmpScratchReminder","normalizeArtifactDeliveryFailure","appendArtifactDeliveryWarning","appendCodeSessionFileSummary","appendFailedExecutionFileReminder","normalizeCodeApiRequestError"],"sources":["../../../src/tools/BashExecutor.ts"],"mappings":"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"}
1
+ {"version":3,"file":"BashExecutor.cjs","names":["INTENT_PROPERTY","CODE_ARTIFACT_PATH_GUIDANCE","BASH_SHELL_GUIDANCE","resolveAttachedWorkspaceInstanceId","buildCodeApiEndpoint","getCodeBaseURL","prepareBashProgrammaticCode","selectRuntimeSessionHint","resolveCodeApiAuthHeaders","makeRequest","addCodeApiExecutionProfileHeader","resolveFetchProxyAgent","CodeApiRequestError","buildCodeApiHttpErrorMessage","buildCodeApiExecutionErrorMessage","emptyOutputMessage","appendTmpScratchReminder","normalizeArtifactDeliveryFailure","appendArtifactDeliveryWarning","appendExecutionArtifactFileSummary","appendCodeSessionFileSummary","appendFailedExecutionFileReminder","normalizeCodeApiRequestError"],"sources":["../../../src/tools/BashExecutor.ts"],"mappings":"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"}
@@ -6,12 +6,16 @@ const require_CodeExecutor = require("./CodeExecutor.cjs");
6
6
  const require_ProgrammaticCallerPolicy = require("./ProgrammaticCallerPolicy.cjs");
7
7
  const require_ptcTimeout = require("./ptcTimeout.cjs");
8
8
  const require_ProgrammaticToolCalling = require("./ProgrammaticToolCalling.cjs");
9
+ const require_workspaceIdentity = require("./workspaceIdentity.cjs");
9
10
  let _langchain_core_tools = require("@langchain/core/tools");
10
11
  //#region src/tools/BashProgrammaticToolCalling.ts
11
12
  (0, require("dotenv").config)();
12
13
  const DEFAULT_MAX_ROUND_TRIPS = 20;
13
14
  const DEFAULT_RUN_TIMEOUT_MS = require_ptcTimeout.resolveCodeApiRunTimeoutMs();
14
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.`;
15
19
  const BASH_RESERVED = new Set([
16
20
  "if",
17
21
  "then",
@@ -41,6 +45,10 @@ const STATELESS_WARNING = `CRITICAL - STATELESS EXECUTION:
41
45
  Each call is a fresh bash shell. Variables and state do NOT persist between calls.
42
46
  You MUST complete your entire workflow in ONE code block.
43
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.`;
44
52
  const CORE_RULES = `Rules:
45
53
  - One call: state does not persist
46
54
  - Tools are pre-defined as bash functions—DO NOT redefine them
@@ -63,6 +71,28 @@ Example (Parallel calls):
63
71
  wait
64
72
  echo "SF: $(jq -r . /mnt/data/sf.json)"
65
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
+ - ${require_CodeExecutor.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")"`;
66
96
  const CODE_PARAM_DESCRIPTION = `Bash code that calls tools programmatically. Tools are available as bash functions.
67
97
 
68
98
  ${STATELESS_WARNING}
@@ -174,7 +204,18 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
174
204
  const maxRunTimeoutMs = require_ptcTimeout.resolveCodeApiRunTimeoutMs(initParams.runTimeoutMs);
175
205
  const proxy = initParams.proxy ?? process.env.PROXY;
176
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 workspaceInstanceId = require_workspaceIdentity.resolveAttachedWorkspaceInstanceId(initParams.workspaceInstanceId, hasWorkspace);
211
+ const requestAuthHeaders = hasWorkspace ? async () => ({
212
+ ...await require_CodeExecutor.resolveCodeApiAuthHeaders(initParams.authHeaders),
213
+ [CODE_API_WORKSPACE_HEADER]: workspaceId
214
+ }) : initParams.authHeaders ?? {};
177
215
  const EXEC_ENDPOINT = require_CodeExecutor.buildCodeApiEndpoint(baseUrl, "exec/programmatic");
216
+ const description = hasWorkspace ? BashProgrammaticToolCallingDescription.replace(STATELESS_WARNING, ATTACHED_WORKSPACE_WARNING).replace(CORE_RULES, ATTACHED_CORE_RULES).replace(EXAMPLES, ATTACHED_EXAMPLES) : BashProgrammaticToolCallingDescription;
217
+ const schema = createBashProgrammaticToolCallingSchema(maxRunTimeoutMs);
218
+ 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);
178
219
  return (0, _langchain_core_tools.tool)(async (rawParams, config) => {
179
220
  const params = rawParams;
180
221
  const { code } = params;
@@ -205,7 +246,7 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
205
246
  else if (session_id != null && session_id.length > 0) require_diagnostics.logCodeApiDiagnostic("BashProgrammaticToolCalling", "debug", "session carried no injected files; exec will run without input files", { files: "none" });
206
247
  const selectedRuntimeSessionHint = require_CodeExecutor.selectRuntimeSessionHint(initParams.runtimeSessionHint, _runtime_session_hint);
207
248
  const runtimeSessionHint = initParams.executionProfile !== "default" && typeof selectedRuntimeSessionHint === "string" && selectedRuntimeSessionHint !== "" ? selectedRuntimeSessionHint : void 0;
208
- if (needsNoTools) return await require_ProgrammaticToolCalling.runPlainExecution({
249
+ if (needsNoTools && !hasWorkspace) return await require_ProgrammaticToolCalling.runPlainExecution({
209
250
  baseUrl,
210
251
  lang: "bash",
211
252
  code,
@@ -214,7 +255,7 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
214
255
  files,
215
256
  runtimeSessionHint,
216
257
  proxy,
217
- authHeaders: initParams.authHeaders,
258
+ authHeaders: requestAuthHeaders,
218
259
  executionProfile: initParams.executionProfile
219
260
  });
220
261
  let response = await require_ProgrammaticToolCalling.makeRequest(EXEC_ENDPOINT, {
@@ -223,9 +264,10 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
223
264
  tools: effectiveTools,
224
265
  session_id,
225
266
  timeout,
267
+ ...workspaceInstanceId != null && workspaceInstanceId !== "" ? { workspace_instance_id: workspaceInstanceId } : {},
226
268
  ...files && files.length > 0 ? { files } : {},
227
269
  ...runtimeSessionHint != null ? { runtime_session_hint: runtimeSessionHint } : {}
228
- }, proxy, initParams.authHeaders, initParams.executionProfile);
270
+ }, proxy, requestAuthHeaders, initParams.executionProfile, config.signal);
229
271
  while (response.status === "tool_call_required") {
230
272
  roundTrip++;
231
273
  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.`);
@@ -234,9 +276,9 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
234
276
  response = await require_ProgrammaticToolCalling.makeRequest(EXEC_ENDPOINT, {
235
277
  continuation_token: response.continuation_token,
236
278
  tool_results: toolResults
237
- }, proxy, initParams.authHeaders, initParams.executionProfile);
279
+ }, proxy, requestAuthHeaders, initParams.executionProfile, config.signal);
238
280
  }
239
- if (response.status === "completed") return require_ProgrammaticToolCalling.formatCompletedResponse(response, code);
281
+ if (response.status === "completed") return require_ProgrammaticToolCalling.formatCompletedResponse(response, code, hasWorkspace ? "execution" : "session");
240
282
  if (response.status === "error") throw new Error(require_CodeExecutor.buildCodeApiExecutionErrorMessage(response));
241
283
  throw new require_CodeExecutor.CodeApiRequestError();
242
284
  } catch (error) {
@@ -246,8 +288,8 @@ function createBashProgrammaticToolCallingTool(initParams = {}) {
246
288
  }
247
289
  }, {
248
290
  name: "run_tools_with_bash",
249
- description: BashProgrammaticToolCallingDescription,
250
- schema: createBashProgrammaticToolCallingSchema(maxRunTimeoutMs),
291
+ description,
292
+ schema,
251
293
  responseFormat: "content_and_artifact"
252
294
  });
253
295
  }
@@ -262,5 +304,6 @@ exports.extractUsedBashToolNames = extractUsedBashToolNames;
262
304
  exports.filterBashToolsByUsage = filterBashToolsByUsage;
263
305
  exports.normalizeBashToolResultsForReplay = normalizeBashToolResultsForReplay;
264
306
  exports.normalizeToBashIdentifier = normalizeToBashIdentifier;
307
+ exports.prepareBashProgrammaticCode = prepareBashProgrammaticCode;
265
308
 
266
309
  //# sourceMappingURL=BashProgrammaticToolCalling.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"BashProgrammaticToolCalling.cjs","names":["resolveCodeApiRunTimeoutMs","CODE_ARTIFACT_PATH_GUIDANCE","BASH_SHELL_GUIDANCE","INTENT_PROPERTY","createCodeApiRunTimeoutSchema","getCodeBaseURL","buildCodeApiEndpoint","clampCodeApiRunTimeoutMs","resolveProgrammaticToolDefinitions","selectProgrammaticTools","projectProgrammaticToolMap","selectRuntimeSessionHint","runPlainExecution","makeRequest","executeTools","formatCompletedResponse","buildCodeApiExecutionErrorMessage","CodeApiRequestError","appendFailedExecutionFileReminder"],"sources":["../../../src/tools/BashProgrammaticToolCalling.ts"],"mappings":"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"}
1
+ {"version":3,"file":"BashProgrammaticToolCalling.cjs","names":["resolveCodeApiRunTimeoutMs","CODE_ARTIFACT_PATH_GUIDANCE","BASH_SHELL_GUIDANCE","INTENT_PROPERTY","createCodeApiRunTimeoutSchema","getCodeBaseURL","resolveAttachedWorkspaceInstanceId","resolveCodeApiAuthHeaders","buildCodeApiEndpoint","clampCodeApiRunTimeoutMs","resolveProgrammaticToolDefinitions","selectProgrammaticTools","projectProgrammaticToolMap","selectRuntimeSessionHint","runPlainExecution","makeRequest","executeTools","formatCompletedResponse","buildCodeApiExecutionErrorMessage","CodeApiRequestError","appendFailedExecutionFileReminder"],"sources":["../../../src/tools/BashProgrammaticToolCalling.ts"],"mappings":"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"}
@@ -27,9 +27,9 @@ const TMP_PATH_PATTERN = /(^|[^A-Za-z0-9_])\/tmp(?:\/|\b)/;
27
27
  const MNT_DATA_PATH_PATTERN = /(^|[^A-Za-z0-9_])\/mnt\/data(?:\/|\b)/;
28
28
  const TMP_SCRATCH_OUTPUT_REMINDER = "Note: /tmp files are same-call scratch only and were not persisted; use /mnt/data for files needed later.";
29
29
  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.";
30
- function appendTmpScratchReminder(output, code) {
30
+ function appendTmpScratchReminder(output, code, reminder = TMP_SCRATCH_OUTPUT_REMINDER) {
31
31
  if (!TMP_PATH_PATTERN.test(code)) return output;
32
- return `${output.trimEnd()}\n${TMP_SCRATCH_OUTPUT_REMINDER}\n`;
32
+ return `${output.trimEnd()}\n${reminder}\n`;
33
33
  }
34
34
  function appendFailedExecutionFileReminder(output, code) {
35
35
  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;
@@ -312,6 +312,7 @@ function createCodeExecutionTool(params = {}) {
312
312
  const artifactDelivery = require_ArtifactDelivery.normalizeArtifactDeliveryFailure(result.artifact_delivery);
313
313
  const outputWithDeliveryWarning = require_ArtifactDelivery.appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
314
314
  const hasFiles = result.files != null && result.files.length > 0;
315
+ const deletionEcho = result.deleted_files != null ? { deleted_files: result.deleted_files } : {};
315
316
  const runtimeEcho = result.runtime_session_id != null ? {
316
317
  runtime_session_id: result.runtime_session_id,
317
318
  runtime_status: result.runtime_status
@@ -320,10 +321,12 @@ function createCodeExecutionTool(params = {}) {
320
321
  session_id: result.session_id,
321
322
  files: result.files,
322
323
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
324
+ ...deletionEcho,
323
325
  ...runtimeEcho
324
326
  } : {
325
327
  session_id: result.session_id,
326
328
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
329
+ ...deletionEcho,
327
330
  ...runtimeEcho
328
331
  }];
329
332
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"CodeExecutor.cjs","names":["INTENT_PROPERTY","describeCodeApiError","resolveFetchProxyAgent","normalizeArtifactDeliveryFailure","appendArtifactDeliveryWarning","appendCodeSessionFileSummary"],"sources":["../../../src/tools/CodeExecutor.ts"],"mappings":"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"}
1
+ {"version":3,"file":"CodeExecutor.cjs","names":["INTENT_PROPERTY","describeCodeApiError","resolveFetchProxyAgent","normalizeArtifactDeliveryFailure","appendArtifactDeliveryWarning","appendCodeSessionFileSummary"],"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,8 +47,17 @@ 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
59
  exports.appendCodeSessionFileSummary = appendCodeSessionFileSummary;
60
+ exports.appendExecutionArtifactFileSummary = appendExecutionArtifactFileSummary;
51
61
  exports.stripCodeSessionFileSummary = stripCodeSessionFileSummary;
52
62
 
53
63
  //# sourceMappingURL=CodeSessionFileSummary.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeSessionFileSummary.cjs","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.cjs","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"}
@@ -9,6 +9,7 @@ const require_CodeSessionFileSummary = require("./CodeSessionFileSummary.cjs");
9
9
  const require_CodeExecutor = require("./CodeExecutor.cjs");
10
10
  const require_ProgrammaticCallerPolicy = require("./ProgrammaticCallerPolicy.cjs");
11
11
  const require_ptcTimeout = require("./ptcTimeout.cjs");
12
+ let node_crypto = require("node:crypto");
12
13
  let _langchain_core_tools = require("@langchain/core/tools");
13
14
  let dotenv = require("dotenv");
14
15
  let node_fetch = require("node-fetch");
@@ -17,6 +18,8 @@ node_fetch = require_runtime.__toESM(node_fetch, 1);
17
18
  (0, dotenv.config)();
18
19
  const DEFAULT_MAX_ROUND_TRIPS = 20;
19
20
  const DEFAULT_RUN_TIMEOUT_MS = require_ptcTimeout.resolveCodeApiRunTimeoutMs();
21
+ const CODE_API_PROGRAMMATIC_REQUEST_HEADER = "X-LibreChat-Code-Request-ID";
22
+ const CANCELLATION_REQUEST_TIMEOUT_MS = 2e3;
20
23
  const STATELESS_WARNING = `CRITICAL - STATELESS EXECUTION:
21
24
  Each call is a fresh Python interpreter. Variables, imports, and data do NOT persist between calls.
22
25
  You MUST complete your entire workflow in ONE code block: query → process → output.
@@ -249,20 +252,61 @@ async function fetchSessionFiles(baseUrl, sessionId, scopeOrProxy, proxyOrAuthHe
249
252
  return [];
250
253
  }
251
254
  }
252
- async function makeRequest(endpoint, body, proxy, authHeaders, executionProfile) {
255
+ async function makeRequest(endpoint, body, proxy, authHeaders, executionProfile, signal) {
253
256
  try {
257
+ const resolvedAuthHeaders = await require_CodeExecutor.resolveCodeApiAuthHeaders(authHeaders);
258
+ const requestId = signal != null ? (0, node_crypto.randomUUID)() : void 0;
254
259
  const fetchOptions = {
255
260
  method: "POST",
256
261
  headers: {
257
262
  "Content-Type": "application/json",
258
263
  "User-Agent": "LibreChat/1.0",
259
- ...require_CodeExecutor.addCodeApiExecutionProfileHeader(await require_CodeExecutor.resolveCodeApiAuthHeaders(authHeaders), executionProfile)
264
+ ...require_CodeExecutor.addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile),
265
+ ...requestId != null ? { [CODE_API_PROGRAMMATIC_REQUEST_HEADER]: requestId } : {}
260
266
  },
261
- body: JSON.stringify(body)
267
+ body: JSON.stringify(body),
268
+ signal
262
269
  };
263
270
  const proxyAgent = require_proxy.resolveFetchProxyAgent(endpoint, proxy);
264
271
  if (proxyAgent != null) fetchOptions.agent = proxyAgent;
265
- const response = await (0, node_fetch.default)(endpoint, fetchOptions);
272
+ let cancellationRequest;
273
+ const requestCancellation = () => {
274
+ if (requestId == null || cancellationRequest != null) return;
275
+ cancellationRequest = (async () => {
276
+ const cancellationController = new AbortController();
277
+ const timeout = setTimeout(() => cancellationController.abort(), CANCELLATION_REQUEST_TIMEOUT_MS);
278
+ try {
279
+ const cancelOptions = {
280
+ method: "POST",
281
+ headers: {
282
+ "Content-Type": "application/json",
283
+ "User-Agent": "LibreChat/1.0",
284
+ ...require_CodeExecutor.addCodeApiExecutionProfileHeader(resolvedAuthHeaders, executionProfile)
285
+ },
286
+ body: JSON.stringify({ request_id: requestId }),
287
+ signal: cancellationController.signal
288
+ };
289
+ if (proxyAgent != null) cancelOptions.agent = proxyAgent;
290
+ await (0, node_fetch.default)(`${endpoint}/cancel`, cancelOptions);
291
+ } catch {} finally {
292
+ clearTimeout(timeout);
293
+ }
294
+ })();
295
+ };
296
+ signal?.addEventListener("abort", requestCancellation, { once: true });
297
+ if (signal?.aborted === true) requestCancellation();
298
+ let response;
299
+ try {
300
+ response = await (0, node_fetch.default)(endpoint, fetchOptions);
301
+ } catch (error) {
302
+ if (signal?.aborted === true) {
303
+ requestCancellation();
304
+ await cancellationRequest;
305
+ }
306
+ throw error;
307
+ } finally {
308
+ signal?.removeEventListener("abort", requestCancellation);
309
+ }
266
310
  if (!response.ok) throw new require_CodeExecutor.CodeApiRequestError(await require_CodeExecutor.buildCodeApiHttpErrorMessage("POST", endpoint, response, { profile: executionProfile }));
267
311
  return await response.json();
268
312
  } catch (error) {
@@ -405,16 +449,18 @@ async function executeTools(toolCalls, toolMap, programmaticToolName = "run_tool
405
449
  });
406
450
  return await Promise.all(executions);
407
451
  }
408
- function formatCompletedResponse(response, sourceCode = "") {
452
+ function formatCompletedResponse(response, sourceCode = "", filePersistence = "session") {
409
453
  let formatted = "";
410
454
  if (response.stdout != null && response.stdout !== "") formatted += `stdout:\n${response.stdout}\n`;
411
455
  else formatted += require_CodeExecutor.emptyOutputMessage;
412
456
  if (response.stderr != null && response.stderr !== "") formatted += `stderr:\n${response.stderr}\n`;
413
457
  const outputWithReminder = require_CodeExecutor.appendTmpScratchReminder(formatted, sourceCode);
414
458
  const artifactDelivery = require_ArtifactDelivery.normalizeArtifactDeliveryFailure(response.artifact_delivery);
415
- return [require_CodeSessionFileSummary.appendCodeSessionFileSummary(require_ArtifactDelivery.appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery), response.files), {
459
+ const outputWithDeliveryWarning = require_ArtifactDelivery.appendArtifactDeliveryWarning(outputWithReminder, artifactDelivery);
460
+ return [filePersistence === "execution" ? require_CodeSessionFileSummary.appendExecutionArtifactFileSummary(outputWithDeliveryWarning, response.files) : require_CodeSessionFileSummary.appendCodeSessionFileSummary(outputWithDeliveryWarning, response.files), {
416
461
  session_id: response.session_id,
417
462
  files: response.files,
463
+ ...response.deleted_files != null ? { deleted_files: response.deleted_files } : {},
418
464
  ...artifactDelivery != null ? { artifact_delivery: artifactDelivery } : {},
419
465
  ...response.runtime_session_id != null ? {
420
466
  runtime_session_id: response.runtime_session_id,
@@ -496,7 +542,7 @@ function createProgrammaticToolCallingTool(initParams = {}) {
496
542
  timeout,
497
543
  ...files && files.length > 0 ? { files } : {},
498
544
  ...runtimeSessionHint != null ? { runtime_session_hint: runtimeSessionHint } : {}
499
- }, proxy, initParams.authHeaders, initParams.executionProfile);
545
+ }, proxy, initParams.authHeaders, initParams.executionProfile, config.signal);
500
546
  while (response.status === "tool_call_required") {
501
547
  roundTrip++;
502
548
  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.`);
@@ -505,7 +551,7 @@ function createProgrammaticToolCallingTool(initParams = {}) {
505
551
  response = await makeRequest(EXEC_ENDPOINT, {
506
552
  continuation_token: response.continuation_token,
507
553
  tool_results: toolResults
508
- }, proxy, initParams.authHeaders, initParams.executionProfile);
554
+ }, proxy, initParams.authHeaders, initParams.executionProfile, config.signal);
509
555
  }
510
556
  if (response.status === "completed") return formatCompletedResponse(response, code);
511
557
  if (response.status === "error") throw new Error(require_CodeExecutor.buildCodeApiExecutionErrorMessage(response));