@librechat/agents 3.8.6 → 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 (47) hide show
  1. package/dist/cjs/main.cjs +1 -0
  2. package/dist/cjs/tools/BashExecutor.cjs +79 -27
  3. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  4. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +47 -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/esm/main.mjs +2 -2
  17. package/dist/esm/tools/BashExecutor.mjs +81 -29
  18. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  19. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +48 -9
  20. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  21. package/dist/esm/tools/CodeExecutor.mjs +5 -2
  22. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  23. package/dist/esm/tools/CodeSessionFileSummary.mjs +11 -2
  24. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  25. package/dist/esm/tools/ProgrammaticToolCalling.mjs +55 -9
  26. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  27. package/dist/esm/tools/ToolNode.mjs +52 -20
  28. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  29. package/dist/esm/tools/toolBatchReplay.mjs +3 -1
  30. package/dist/esm/tools/toolBatchReplay.mjs.map +1 -1
  31. package/dist/types/tools/BashExecutor.d.ts +2 -0
  32. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +1 -0
  33. package/dist/types/tools/CodeExecutor.d.ts +1 -1
  34. package/dist/types/tools/CodeSessionFileSummary.d.ts +3 -0
  35. package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
  36. package/dist/types/tools/ToolNode.d.ts +2 -0
  37. package/dist/types/tools/toolBatchReplay.d.ts +2 -0
  38. package/dist/types/types/tools.d.ts +16 -2
  39. package/package.json +2 -2
  40. package/src/tools/BashExecutor.ts +143 -40
  41. package/src/tools/BashProgrammaticToolCalling.ts +82 -10
  42. package/src/tools/CodeExecutor.ts +12 -2
  43. package/src/tools/CodeSessionFileSummary.ts +25 -1
  44. package/src/tools/ProgrammaticToolCalling.ts +77 -6
  45. package/src/tools/ToolNode.ts +152 -26
  46. package/src/tools/toolBatchReplay.ts +23 -1
  47. package/src/types/tools.ts +19 -2
@@ -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));
@@ -1 +1 @@
1
- {"version":3,"file":"ProgrammaticToolCalling.mjs","names":["obj"],"sources":["../../../src/tools/ProgrammaticToolCalling.ts"],"mappings":"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"}
1
+ {"version":3,"file":"ProgrammaticToolCalling.mjs","names":["obj"],"sources":["../../../src/tools/ProgrammaticToolCalling.ts"],"mappings":"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"}
@@ -196,16 +196,33 @@ function toInjectedFileRef(file, execSessionId) {
196
196
  kind: "user"
197
197
  };
198
198
  }
199
- function fileIdentityKey(file) {
200
- return `${file.storage_session_id ?? ""}\0${file.id}`;
199
+ function fileIdentityKey(file, fallbackSessionId = "") {
200
+ return `${file.storage_session_id ?? fallbackSessionId}\0${file.id}`;
201
201
  }
202
- function updateCodeSession(sessions, sessionKey, execSessionId, files) {
202
+ function codeSessionIdentityByName(context) {
203
+ return new Map((context?.files ?? []).map((file) => [file.name, fileIdentityKey(file, context?.session_id)]));
204
+ }
205
+ function storageSessionIdFromIdentity(identity, fileId) {
206
+ const suffix = `\0${fileId}`;
207
+ return identity != null && identity.endsWith(suffix) ? identity.slice(0, identity.length - suffix.length) : void 0;
208
+ }
209
+ function updateCodeSession(sessions, sessionKey, execSessionId, files, deletedFiles, baselineIdentityByName) {
203
210
  const newFiles = files ?? [];
204
- const existingFiles = sessions.get(sessionKey)?.files ?? [];
211
+ const existingSession = sessions.get(sessionKey);
212
+ const existingSessionId = existingSession?.session_id ?? "";
213
+ const existingFiles = (existingSession?.files ?? []).map((file) => file.storage_session_id == null ? {
214
+ ...file,
215
+ storage_session_id: existingSessionId
216
+ } : file);
217
+ const deletedIdentityByName = /* @__PURE__ */ new Map();
218
+ for (const name of deletedFiles ?? []) {
219
+ const identity = baselineIdentityByName?.get(name);
220
+ if (identity != null) deletedIdentityByName.set(name, identity);
221
+ }
205
222
  if (newFiles.length === 0) {
206
223
  sessions.set(sessionKey, {
207
224
  session_id: execSessionId,
208
- files: existingFiles,
225
+ files: existingFiles.filter((file) => deletedIdentityByName.get(file.name) !== fileIdentityKey(file, existingSessionId)),
209
226
  lastUpdated: Date.now()
210
227
  });
211
228
  return;
@@ -213,23 +230,29 @@ function updateCodeSession(sessions, sessionKey, execSessionId, files) {
213
230
  const filesWithSession = [];
214
231
  const newFileNames = /* @__PURE__ */ new Set();
215
232
  const incomingByIdentity = /* @__PURE__ */ new Map();
233
+ const existingIdentities = new Set(existingFiles.map((file) => fileIdentityKey(file, existingSessionId)));
216
234
  for (const file of newFiles) {
235
+ const baselineIdentity = baselineIdentityByName?.get(file.name);
217
236
  const withSession = {
218
237
  ...file,
219
- storage_session_id: file.storage_session_id ?? execSessionId
238
+ storage_session_id: file.storage_session_id ?? storageSessionIdFromIdentity(baselineIdentity, file.id) ?? execSessionId
220
239
  };
221
- incomingByIdentity.set(fileIdentityKey(withSession), filesWithSession.length);
240
+ const identity = fileIdentityKey(withSession);
241
+ const wasTrackedByRequest = baselineIdentity === identity;
242
+ if (file.inherited === true && wasTrackedByRequest && (!existingIdentities.has(identity) || deletedIdentityByName.get(file.name) === identity)) continue;
243
+ incomingByIdentity.set(identity, filesWithSession.length);
222
244
  newFileNames.add(withSession.name);
223
245
  filesWithSession.push(withSession);
224
246
  }
225
247
  const filteredExisting = [];
226
248
  for (const e of existingFiles) {
227
- const idx = incomingByIdentity.get(fileIdentityKey(e));
249
+ const idx = incomingByIdentity.get(fileIdentityKey(e, existingSessionId));
228
250
  if (idx !== void 0) filesWithSession[idx] = {
229
251
  ...e,
230
252
  ...filesWithSession[idx]
231
253
  };
232
- if (!newFileNames.has(e.name)) filteredExisting.push(e);
254
+ const explicitlyDeleted = deletedIdentityByName.get(e.name) === fileIdentityKey(e, existingSessionId);
255
+ if (!newFileNames.has(e.name) && !explicitlyDeleted) filteredExisting.push(e);
233
256
  }
234
257
  sessions.set(sessionKey, {
235
258
  session_id: execSessionId,
@@ -714,6 +737,7 @@ var ToolNode = class extends RunnableCallable {
714
737
  if (this.participatesInCodeSession(call.name)) {
715
738
  const codeSession = this.sessions?.get(this.codeSessionKey);
716
739
  const execSessionId = codeSession?.session_id;
740
+ if (batchContext.codeSessionBaselineByCallId != null) batchContext.codeSessionBaselineByCallId.set(call.id ?? "", codeSessionIdentityByName(codeSession));
717
741
  if (execSessionId != null && execSessionId !== "") {
718
742
  invokeParams = {
719
743
  ...invokeParams,
@@ -1196,7 +1220,7 @@ var ToolNode = class extends RunnableCallable {
1196
1220
  resolveRuntimeSessionHint(config) {
1197
1221
  return resolveRuntimeSessionHint(this.toolExecution, config.configurable?.thread_id);
1198
1222
  }
1199
- storeCodeSessionFromResults(results, requestMap, baselineByRequestId) {
1223
+ storeCodeSessionFromResults(results, requestMap, baselineByRequestId = /* @__PURE__ */ new Map(), executionBaselineByRequestId = baselineByRequestId) {
1200
1224
  if (!this.sessions) return;
1201
1225
  this.retainCodeSessionInputsFromRequests(requestMap.values(), baselineByRequestId);
1202
1226
  for (let i = 0; i < results.length; i++) {
@@ -1207,7 +1231,7 @@ var ToolNode = class extends RunnableCallable {
1207
1231
  const artifact = result.artifact;
1208
1232
  const execSessionId = artifact?.session_id;
1209
1233
  if (execSessionId == null || execSessionId === "") continue;
1210
- updateCodeSession(this.sessions, this.codeSessionKey, execSessionId, artifact?.files);
1234
+ updateCodeSession(this.sessions, this.codeSessionKey, execSessionId, artifact?.files, artifact?.deleted_files, executionBaselineByRequestId.get(request.id));
1211
1235
  }
1212
1236
  }
1213
1237
  retainCodeSessionInputsFromRequests(requests, baselineByRequestId) {
@@ -1235,7 +1259,7 @@ var ToolNode = class extends RunnableCallable {
1235
1259
  files: [...refreshedByName.values()]
1236
1260
  });
1237
1261
  }
1238
- async handleRunToolCompletions(calls, outputs, config, resolvedArgsByCallId, errorOwnership) {
1262
+ async handleRunToolCompletions(calls, outputs, config, resolvedArgsByCallId, codeSessionBaselineByCallId, errorOwnership) {
1239
1263
  const ownership = errorOwnership ?? this.looseErrorOwnership;
1240
1264
  for (let i = 0; i < calls.length; i++) {
1241
1265
  const call = calls[i];
@@ -1251,10 +1275,10 @@ var ToolNode = class extends RunnableCallable {
1251
1275
  }
1252
1276
  ownership.undispatched.delete(toolCallId);
1253
1277
  }
1254
- if (this.sessions && this.participatesInCodeSession(call.name)) {
1278
+ if (toolMessage.status !== "error" && this.sessions && this.participatesInCodeSession(call.name)) {
1255
1279
  const artifact = toolMessage.artifact;
1256
1280
  const execSessionId = artifact?.session_id;
1257
- if (execSessionId != null && execSessionId !== "") updateCodeSession(this.sessions, this.codeSessionKey, execSessionId, artifact?.files);
1281
+ if (execSessionId != null && execSessionId !== "") updateCodeSession(this.sessions, this.codeSessionKey, execSessionId, artifact?.files, artifact?.deleted_files, codeSessionBaselineByCallId?.get(toolCallId));
1258
1282
  }
1259
1283
  const stepId = this.toolCallStepIds?.get(toolCallId) ?? "";
1260
1284
  if (!stepId) continue;
@@ -1564,7 +1588,7 @@ var ToolNode = class extends RunnableCallable {
1564
1588
  for (const result of plan.rejectedResults) this.eagerEventToolExecutions?.delete(result.toolCallId);
1565
1589
  const requestMap = new Map(plan.allRequests.map((r) => [r.id, r]));
1566
1590
  for (const request of plan.allRequests) request.codeSessionBaselineId = request.codeSessionContext?.session_id;
1567
- const codeSessionBaselineByRequestId = new Map(plan.allRequests.map((request) => [request.id, new Map((request.codeSessionContext?.files ?? []).map((file) => [file.name, fileIdentityKey(file)]))]));
1591
+ const codeSessionBaselineByRequestId = new Map(plan.allRequests.map((request) => [request.id, codeSessionIdentityByName(request.codeSessionContext)]));
1568
1592
  const eagerExecutions = [];
1569
1593
  const dispatchRequests = [];
1570
1594
  for (const request of requests) {
@@ -1654,7 +1678,8 @@ var ToolNode = class extends RunnableCallable {
1654
1678
  ...flattenedEagerResults,
1655
1679
  ...dispatchedResults
1656
1680
  ];
1657
- this.storeCodeSessionFromResults(results, requestMap, codeSessionBaselineByRequestId);
1681
+ const executionBaselineByRequestId = new Map(plan.allRequests.map((request) => [request.id, codeSessionIdentityByName(request.codeSessionContext)]));
1682
+ this.storeCodeSessionFromResults(results, requestMap, codeSessionBaselineByRequestId, executionBaselineByRequestId);
1658
1683
  for (const result of results) {
1659
1684
  if (result.injectedMessages && result.injectedMessages.length > 0) try {
1660
1685
  injected.push(...convertInjectedMessages(result.injectedMessages));
@@ -1912,6 +1937,7 @@ var ToolNode = class extends RunnableCallable {
1912
1937
  };
1913
1938
  }
1914
1939
  if (call.id != null && result.resolvedArgs != null && baseContext.resolvedArgsByCallId != null) baseContext.resolvedArgsByCallId.set(call.id, result.resolvedArgs);
1940
+ if (result.codeSessionBaseline != null && baseContext.codeSessionBaselineByCallId != null) baseContext.codeSessionBaselineByCallId.set(call.id ?? "", new Map(result.codeSessionBaseline));
1915
1941
  return result;
1916
1942
  };
1917
1943
  const runOne = async (call, position) => {
@@ -1927,6 +1953,7 @@ var ToolNode = class extends RunnableCallable {
1927
1953
  additionalContextsSink: additionalContexts
1928
1954
  });
1929
1955
  const resolvedArgs = call.id == null ? void 0 : baseContext.resolvedArgsByCallId?.get(call.id);
1956
+ const codeSessionBaseline = baseContext.codeSessionBaselineByCallId?.get(call.id ?? "");
1930
1957
  const result = {
1931
1958
  proposal: structuredClone({
1932
1959
  name: call.name,
@@ -1935,7 +1962,8 @@ var ToolNode = class extends RunnableCallable {
1935
1962
  turn: call.id == null ? void 0 : this.toolCallTurns.get(call.id) ?? this.directPathTurns.get(call.id),
1936
1963
  output,
1937
1964
  additionalContexts,
1938
- ...resolvedArgs == null ? {} : { resolvedArgs }
1965
+ ...resolvedArgs == null ? {} : { resolvedArgs },
1966
+ ...codeSessionBaseline == null ? {} : { codeSessionBaseline: [...codeSessionBaseline.entries()] }
1939
1967
  };
1940
1968
  const refMeta = isBaseMessage(output) ? output.additional_kwargs : void 0;
1941
1969
  if (refMeta?._refKey != null) result.referenceContent = this.toolOutputRegistry?.get(refMeta._refScope, refMeta._refKey);
@@ -2029,6 +2057,7 @@ var ToolNode = class extends RunnableCallable {
2029
2057
  if (composedSignal?.aborted === true && (composedSignal.reason instanceof StreamLimitExceededError || composedSignal.reason instanceof PreparedSubagentError)) throw composedSignal.reason;
2030
2058
  this.toolCallTurns.clear();
2031
2059
  const resolvedArgsByCallId = /* @__PURE__ */ new Map();
2060
+ const codeSessionBaselineByCallId = /* @__PURE__ */ new Map();
2032
2061
  const errorOwnership = createToolErrorOwnership();
2033
2062
  const batchScopeId = config.configurable?.run_id ?? `\0anon-${this.anonBatchCounter++}`;
2034
2063
  const resumedReferenceState = referenceReplay.state;
@@ -2058,6 +2087,7 @@ var ToolNode = class extends RunnableCallable {
2058
2087
  batchScopeId,
2059
2088
  preBatchSnapshot: replayInputSnapshot,
2060
2089
  resolvedArgsByCallId,
2090
+ codeSessionBaselineByCallId,
2061
2091
  errorOwnership,
2062
2092
  additionalContextsSink: directAdditionalContexts,
2063
2093
  replayBatchKey: sendReplayBatchKey,
@@ -2070,7 +2100,7 @@ var ToolNode = class extends RunnableCallable {
2070
2100
  source: "hook"
2071
2101
  }
2072
2102
  }))] : [sendOutput];
2073
- await this.handleRunToolCompletions([input.lg_tool_call], [sendOutput], config, resolvedArgsByCallId, errorOwnership);
2103
+ await this.handleRunToolCompletions([input.lg_tool_call], [sendOutput], config, resolvedArgsByCallId, codeSessionBaselineByCallId, errorOwnership);
2074
2104
  } else {
2075
2105
  let messages;
2076
2106
  if (Array.isArray(input)) messages = input;
@@ -2154,6 +2184,7 @@ var ToolNode = class extends RunnableCallable {
2154
2184
  turn,
2155
2185
  batchScopeId,
2156
2186
  resolvedArgsByCallId,
2187
+ codeSessionBaselineByCallId,
2157
2188
  errorOwnership,
2158
2189
  preBatchSnapshot,
2159
2190
  additionalContextsSink: directAdditionalContexts,
@@ -2171,7 +2202,7 @@ var ToolNode = class extends RunnableCallable {
2171
2202
  unhandledDirectOutputs.push(directOutputs[i]);
2172
2203
  }
2173
2204
  if (unhandledDirectCalls.length > 0) {
2174
- await this.handleRunToolCompletions(unhandledDirectCalls, unhandledDirectOutputs, config, resolvedArgsByCallId, errorOwnership);
2205
+ await this.handleRunToolCompletions(unhandledDirectCalls, unhandledDirectOutputs, config, resolvedArgsByCallId, codeSessionBaselineByCallId, errorOwnership);
2175
2206
  for (let i = 0; i < directCalls.length; i++) {
2176
2207
  const settled = settledDirectResults?.get(directReplayKey(directCalls[i], replayCallPositions.get(directCalls[i])));
2177
2208
  if (settled != null) settled.completionHandled = true;
@@ -2210,6 +2241,7 @@ var ToolNode = class extends RunnableCallable {
2210
2241
  turn,
2211
2242
  batchScopeId,
2212
2243
  resolvedArgsByCallId,
2244
+ codeSessionBaselineByCallId,
2213
2245
  errorOwnership,
2214
2246
  preBatchSnapshot,
2215
2247
  additionalContextsSink: directAdditionalContexts,
@@ -2218,7 +2250,7 @@ var ToolNode = class extends RunnableCallable {
2218
2250
  approvalScopeCallIds,
2219
2251
  runInput: input
2220
2252
  });
2221
- await this.handleRunToolCompletions(filteredCalls, toolOutputs, config, resolvedArgsByCallId, errorOwnership);
2253
+ await this.handleRunToolCompletions(filteredCalls, toolOutputs, config, resolvedArgsByCallId, codeSessionBaselineByCallId, errorOwnership);
2222
2254
  const promotedPrefix = promotedAiMessage != null ? [promotedAiMessage] : [];
2223
2255
  outputs = directAdditionalContexts.length > 0 ? [
2224
2256
  ...promotedPrefix,