@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.
- package/dist/cjs/main.cjs +1 -0
- package/dist/cjs/tools/BashExecutor.cjs +83 -28
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +50 -7
- package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +5 -2
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/CodeSessionFileSummary.cjs +11 -1
- package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs +54 -8
- package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +52 -20
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/toolBatchReplay.cjs +3 -1
- package/dist/cjs/tools/toolBatchReplay.cjs.map +1 -1
- package/dist/cjs/tools/workspaceIdentity.cjs +12 -0
- package/dist/cjs/tools/workspaceIdentity.cjs.map +1 -0
- package/dist/esm/main.mjs +2 -2
- package/dist/esm/tools/BashExecutor.mjs +85 -30
- package/dist/esm/tools/BashExecutor.mjs.map +1 -1
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs +51 -9
- package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +5 -2
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/CodeSessionFileSummary.mjs +11 -2
- package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
- package/dist/esm/tools/ProgrammaticToolCalling.mjs +55 -9
- package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +52 -20
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/toolBatchReplay.mjs +3 -1
- package/dist/esm/tools/toolBatchReplay.mjs.map +1 -1
- package/dist/esm/tools/workspaceIdentity.mjs +12 -0
- package/dist/esm/tools/workspaceIdentity.mjs.map +1 -0
- package/dist/types/tools/BashExecutor.d.ts +2 -0
- package/dist/types/tools/BashProgrammaticToolCalling.d.ts +1 -0
- package/dist/types/tools/CodeExecutor.d.ts +1 -1
- package/dist/types/tools/CodeSessionFileSummary.d.ts +3 -0
- package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
- package/dist/types/tools/ToolNode.d.ts +2 -0
- package/dist/types/tools/toolBatchReplay.d.ts +2 -0
- package/dist/types/tools/workspaceIdentity.d.ts +1 -0
- package/dist/types/types/tools.d.ts +20 -2
- package/package.json +2 -2
- package/src/tools/BashExecutor.ts +156 -40
- package/src/tools/BashProgrammaticToolCalling.ts +90 -10
- package/src/tools/CodeExecutor.ts +12 -2
- package/src/tools/CodeSessionFileSummary.ts +25 -1
- package/src/tools/ProgrammaticToolCalling.ts +77 -6
- package/src/tools/ToolNode.ts +152 -26
- package/src/tools/toolBatchReplay.ts +23 -1
- package/src/tools/workspaceIdentity.ts +15 -0
- package/src/types/tools.ts +23 -2
|
@@ -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,
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;AAiDA,OAAO;AAGP,MAAM,0BAA0B;AAEhC,MAAM,yBAAyB,2BAA2B;AAC1D,MAAM,uCACJ;AACF,MAAM,kCAAkC;AAMxC,MAAM,oBAAoB;;;;AAK1B,MAAM,aAAa;;;;;;;IAOf,4BAA4B;;AAGhC,MAAM,mBACJ;AAEF,MAAM,WAAW;;;;;;;;;;;;;AAkBjB,MAAM,yBAAyB;;EAE7B,kBAAkB;;;;EAIlB,SAAS;;EAET;AAEF,MAAM,4BACJ;AAGF,SAAgB,oCACd,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,gCACX,oCAAoC;AAEtC,MAAa,8BAAA;AAEb,MAAa,qCAAqC;;;EAGhD,kBAAkB;;EAElB,WAAW;EACX,iBAAiB;;;;EAIjB,SAAS;EACT,KAAK;AAEP,MAAa,oCAAoC;CAC/C,MAAM;CACN,aAAa;CACb,QAAQ;AACV;AAOA,MAAM,kBAAkB,IAAI,IAAI;CAC9B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAkBD,SAAS,yBACP,OACiC;CACjC,IAAI,SAAS,QAAQ,OAAO,UAAU,UACpC,OAAO;CAET,MAAM,QAAQ;CACd,KACG,MAAM,SAAS,WAAW,MAAM,SAAS,WAC1C,OAAO,MAAM,OAAO,UAEpB,OAAO;CAET,OACE,MAAM,SAAS,WACf,OAAO,MAAM,OAAO,YACpB,OAAO,MAAM,YAAY;AAE7B;AAEA,SAAS,qBACP,OAC+B;CAC/B,OAAO,SAAS,QAAQ,OAAO,UAAU;AAC3C;AAEA,SAAS,yBACP,OACiC;CACjC,OAAO,SAAS,QAAQ,OAAO,UAAU;AAC3C;AAEA,SAAS,6BACP,OACqC;CACrC,OAAO,SAAS,QAAQ,OAAO,UAAU;AAC3C;AAEA,SAAS,qBACP,MACA,WACA,OACe;CACf,MAAM,WAAW,6BAA6B,KAAK,QAAQ,IACvD,KAAK,WACL,KAAA;CACJ,MAAM,UAAU,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO;CAC5D,MAAM,YAAY,QAAQ,MAAM,GAAG;CACnC,MAAM,aAAa,UAAU,SAAS,IAAI,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK;CACvE,MAAM,KACJ,OAAO,KAAK,OAAO,YAAY,KAAK,OAAO,KAAK,KAAK,KAAK;CAC5D,MAAM,mBAAmB,WAAW;CACpC,MAAM,OACJ,OAAO,qBAAqB,WAAW,mBAAmB;CAC5D,MAAM,qBACJ,OAAO,KAAK,uBAAuB,WAC/B,KAAK,qBACL;CACN,MAAM,cACJ,OAAO,KAAK,gBAAgB,YAAY,KAAK,gBAAgB,KACzD,KAAK,cACJ,OAAO,MAAM;CAEpB,IAAI,OAAO,SAAS,SAClB,OAAO;EACL;EACA,MAAM;EACN;EACA;EACA;EACA,SAAS,MAAM;CACjB;CAEF,IAAI,SAAS,MACX,OAAO;EACL;EACA,MAAM,MAAM;EACZ;EACA;EACA;CACF;CAEF,OAAO;EACL;EACA,MAAM;EACN;EACA,aAAa;EACb;CACF;AACF;AAYA,SAAgB,4BAA4B,MAAsB;CAChE,IAAI,aAAa,KAAK,QAAQ,UAAU,GAAG;CAE3C,aAAa,WAAW,QAAQ,kBAAkB,EAAE;CAEpD,IAAI,SAAS,KAAK,UAAU,GAC1B,aAAa,MAAM;CAGrB,IAAI,gBAAgB,IAAI,UAAU,GAChC,aAAa,aAAa;CAG5B,OAAO;AACT;AASA,SAAgB,qBACd,MACA,aACa;CACb,MAAM,4BAAY,IAAI,IAAY;CAElC,KAAK,MAAM,CAAC,YAAY,iBAAiB,aAAa;EACpD,MAAM,cAAc,WAAW,QAAQ,uBAAuB,MAAM;EAGpE,IAAI,IAFgB,OAAO,MAAM,YAAY,UAAU,GAE7C,CAAC,CAAC,KAAK,IAAI,GACnB,UAAU,IAAI,YAAY;CAE9B;CAEA,OAAO;AACT;AAUA,SAAgB,mBACd,UACA,MACA,QAAQ,OACI;CACZ,MAAM,8BAAc,IAAI,IAAoB;CAC5C,KAAK,MAAM,QAAQ,UAAU;EAC3B,MAAM,aAAa,4BAA4B,KAAK,IAAI;EACxD,YAAY,IAAI,YAAY,KAAK,IAAI;CACvC;CAEA,MAAM,gBAAgB,qBAAqB,MAAM,WAAW;CAE5D,IAAI,OAAO;EAET,QAAQ,IACN,qCAAqC,cAAc,KAAK,GAAG,SAAS,OAAO,eAC7E;EACA,IAAI,cAAc,OAAO,GAEvB,QAAQ,IACN,8BAA8B,MAAM,KAAK,aAAa,CAAC,CAAC,KAAK,IAAI,GACnE;CAEJ;CAEA,IAAI,cAAc,SAAS,GAAG;EAC5B,IAAI,OAEF,QAAQ,IACN,uEACF;EAEF,OAAO;CACT;CAEA,OAAO,SAAS,QAAQ,SAAS,cAAc,IAAI,KAAK,IAAI,CAAC;AAC/D;AAwBA,eAAsB,kBACpB,SACA,WACA,cACA,oBACA,mBAC0B;CAC1B,IAAI;EACF,MAAM,QAAQ,yBAAyB,YAAY,IAC/C,eACA,KAAA;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI,SAAS,MAAM;GACjB,QAAQ,OAAO,iBAAiB,WAAW,eAAe,KAAA;GAC1D,cAAc,qBAAqB,kBAAkB,IACjD,qBACA,KAAA;EACN,OAAO,IAAI,OAAO,uBAAuB,UAAU;GACjD,QAAQ;GACR,cAAc;EAChB,OACE,cAAc,sBAAsB;EAEtC,MAAM,QAAQ,IAAI,gBAAgB,EAAE,QAAQ,OAAO,CAAC;EACpD,IAAI,SAAS,MAAM;GACjB,MAAM,IAAI,QAAQ,MAAM,IAAI;GAC5B,MAAM,IAAI,MAAM,MAAM,EAAE;GACxB,IAAI,MAAM,SAAS,SACjB,MAAM,IAAI,WAAW,OAAO,MAAM,OAAO,CAAC;EAE9C;EACA,MAAM,gBAAgB,GAAG,QAAQ,SAAS,mBAAmB,SAAS,EAAE,GAAG,MAAM,SAAS;EAI1F,MAAM,eAA4B;GAChC,QAAQ;GACR,SAAS;IACP,cAAc;IACd,GAAG,MAP2B,0BAA0B,aAAa,EACvE,aAAa,KACf,CAAC;GAMC;EACF;EAEA,MAAM,aAAa,uBAAuB,eAAe,KAAK;EAC9D,IAAI,cAAc,MAChB,aAAa,QAAQ;EAGvB,MAAM,WAAW,MAAM,MAAM,eAAe,YAAY;EACxD,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,MACR,MAAM,6BAA6B,OAAO,eAAe,UAAU,EACjE,aAAa,KACf,CAAC,CACH;EAGF,MAAM,QAAQ,MAAM,SAAS,KAAK;EAClC,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,GAC5C,OAAO,CAAC;EAGV,OAAO,MACJ,OAAO,wBAAwB,CAAC,CAChC,KAAK,SAAS,qBAAqB,MAAM,WAAW,KAAK,CAAC;CAC/D,SAAS,OAAO;EACd,qBACE,2BACA,QACA,8DACA,qBAAqB,KAAK,CAC5B;EACA,OAAO,CAAC;CACV;AACF;AASA,eAAsB,YACpB,UACA,MACA,OACA,aACA,kBACA,QAC0C;CAC1C,IAAI;EACF,MAAM,sBAAsB,MAAM,0BAA0B,WAAW;EACvE,MAAM,YAAY,UAAU,OAAO,WAAW,IAAI,KAAA;EAClD,MAAM,eAA4B;GAChC,QAAQ;GACR,SAAS;IACP,gBAAgB;IAChB,cAAc;IACd,GAAG,iCACD,qBACA,gBACF;IACA,GAAI,aAAa,OACb,GAAG,uCAAuC,UAAU,IACpD,CAAC;GACP;GACA,MAAM,KAAK,UAAU,IAAI;GACjB;EACV;EAEA,MAAM,aAAa,uBAAuB,UAAU,KAAK;EACzD,IAAI,cAAc,MAChB,aAAa,QAAQ;EAGvB,IAAI;EACJ,MAAM,4BAAkC;GACtC,IAAI,aAAa,QAAQ,uBAAuB,MAC9C;GAEF,uBAAuB,YAA2B;IAChD,MAAM,yBAAyB,IAAI,gBAAgB;IACnD,MAAM,UAAU,iBACR,uBAAuB,MAAM,GACnC,+BACF;IACA,IAAI;KACF,MAAM,gBAA6B;MACjC,QAAQ;MACR,SAAS;OACP,gBAAgB;OAChB,cAAc;OACd,GAAG,iCACD,qBACA,gBACF;MACF;MACA,MAAM,KAAK,UAAU,EAAE,YAAY,UAAU,CAAC;MAC9C,QAAQ,uBAAuB;KACjC;KACA,IAAI,cAAc,MAChB,cAAc,QAAQ;KAExB,MAAM,MAAM,GAAG,SAAS,UAAU,aAAa;IACjD,QAAQ,CAIR,UAAU;KACR,aAAa,OAAO;IACtB;GACF,EAAA,CAAG;EACL;EACA,QAAQ,iBAAiB,SAAS,qBAAqB,EAAE,MAAM,KAAK,CAAC;EACrE,IAAI,QAAQ,YAAY,MAAM,oBAAoB;EAElD,IAAI;EACJ,IAAI;GACF,WAAW,MAAM,MAAM,UAAU,YAAY;EAC/C,SAAS,OAAO;GACd,IAAI,QAAQ,YAAY,MAAM;IAC5B,oBAAoB;IACpB,MAAM;GACR;GACA,MAAM;EACR,UAAU;GACR,QAAQ,oBAAoB,SAAS,mBAAmB;EAC1D;EAEA,IAAI,CAAC,SAAS,IACZ,MAAM,IAAI,oBACR,MAAM,6BAA6B,QAAQ,UAAU,UAAU,EAC7D,SAAS,iBACX,CAAC,CACH;EAGF,OAAQ,MAAM,SAAS,KAAK;CAC9B,SAAS,OAAO;EACd,MAAM,6BAA6B,KAAK;CAC1C;AACF;AASA,SAAgB,mBACd,QACA,WACS;CAET,IAAI,CAAC,WACH,OAAO;CAMT,MAAM,kBAAkB,UAA4B;EAClD,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GACpE,OAAO;EAGT,OAAO,OAAOA,MAAI,SAAS;CAC7B;CAKA,MAAM,uBAAuB,QAA4B;EACvD,OAAO,IAAI,SAAS,KAAK,IAAI,MAAM,cAAc;CACnD;CAMA,MAAM,wBAAwB,UAAkC;EAC9D,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM,OAAO;EACxD,MAAM,IAAI;EACV,IAAI,EAAE,SAAS,UAAU,OAAO,EAAE,SAAS,UACzC,OAAO,EAAE;EAEX,OAAO;CACT;CAMA,MAAM,0BAA0B,YAAoC;EAElE,IACE,OAAO,YAAY,YACnB,YAAY,QACZ,CAAC,MAAM,QAAQ,OAAO,GACtB;GACA,MAAM,OAAO,qBAAqB,OAAO;GACzC,IAAI,SAAS,MAAM,OAAO;EAC5B;EAGA,IAAI,MAAM,QAAQ,OAAO,KAAK,QAAQ,SAAS,GAAG;GAChD,MAAM,QAAQ,QACX,IAAI,oBAAoB,CAAC,CACzB,QAAQ,MAAmB,MAAM,IAAI;GACxC,IAAI,MAAM,SAAS,GACjB,OAAO,MAAM,KAAK,IAAI;EAE1B;EAEA,OAAO;CACT;CAKA,MAAM,kBAAkB,QAAyB;EAC/C,MAAM,UAAU,IAAI,KAAK;EACzB,IAAI,QAAQ,WAAW,GAAG,KAAK,QAAQ,WAAW,GAAG,GACnD,IAAI;GACF,OAAO,KAAK,MAAM,OAAO;EAC3B,QAAQ;GACN,OAAO;EACT;EAEF,OAAO;CACT;CAIA,IAAI,MAAM,QAAQ,MAAM,KAAK,oBAAoB,MAAM,GAAG;EACxD,MAAM,gBAAgB,uBAAuB,MAAM;EACnD,IAAI,kBAAkB,MACpB,OAAO,eAAe,aAAa;CAEvC;CAGA,IAAI,MAAM,QAAQ,MAAM,KAAK,OAAO,UAAU,GAAG;EAC/C,MAAM,CAAC,WAAW;EAGlB,IAAI,OAAO,YAAY,UACrB,OAAO,eAAe,OAAO;EAI/B,MAAM,gBAAgB,uBAAuB,OAAO;EACpD,IAAI,kBAAkB,MACpB,OAAO,eAAe,aAAa;EAIrC,IAAI,OAAO,YAAY,YAAY,YAAY,MAC7C,OAAO;CAEX;CAGA,MAAM,gBAAgB,uBAAuB,MAAM;CACnD,IAAI,kBAAkB,MACpB,OAAO,eAAe,aAAa;CAIrC,OAAO;AACT;AAOA,SAAS,iBAAiB,QAAsC;CAC9D,MAAM,OAA4B;EAAE,QAAQ;EAAO,QAAQ;CAAM;CAEjE,IAAI,UAAU,QAAQ,OAAO,WAAW,UACtC,OAAO;CAGT,MAAM,iBAAkB,OAA8B;CACtD,IAAI,mBAAmB,UACrB,KAAK,SAAS;MACT,IAAI,mBAAmB,UAC5B,KAAK,SAAS;MACT,IAAI,MAAM,QAAQ,cAAc,GAAG;EACxC,KAAK,SAAS,eAAe,SAAS,QAAQ;EAC9C,KAAK,SAAS,eAAe,SAAS,QAAQ;CAChD;CAEA,MAAM,SAAU,OAA8B;CAC9C,IAAI,UAAU,QAAQ,OAAO,WAAW,UACtC,OAAO;CAGT,MAAM,UAAW,OAAkD;CACnE,MAAM,cAAe,OAClB;CAEH,IAAI,YAAY,YAAY,gBAAgB,aAC1C,KAAK,SAAS;MACT,IAAI,YAAY,YAAY,gBAAgB,aACjD,KAAK,SAAS;CAGhB,MAAM,cAEF,OAKA,aAAc,OAAgC;CAClD,IAAI,eAAe,MAAM;EACvB,MAAM,YAAY,iBAAiB,WAAW;EAC9C,KAAK,WAAW,UAAU;EAC1B,KAAK,WAAW,UAAU;CAC5B;CAEA,MAAM,UAAW,OAAiC;CAClD,IAAI,MAAM,QAAQ,OAAO,GACvB,KAAK,MAAM,UAAU,SAAS;EAC5B,MAAM,aAAa,iBAAiB,MAAM;EAC1C,KAAK,WAAW,WAAW;EAC3B,KAAK,WAAW,WAAW;CAC7B;CAGF,OAAO;AACT;AAEA,SAAS,uBAAuB,MAA0C;CACxE,IAAI,KAAK,YAAY,SAAS,eAC5B,OAAO;EAAE,QAAQ;EAAO,QAAQ;CAAK;CAGvC,MAAM,SAAU,KAA8B;CAC9C,OAAO,iBAAiB,MAAM;AAChC;AAEA,SAAS,mBACP,OACA,MACwB;CACxB,MAAM,aAAa,uBAAuB,IAAI;CAE9C,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,CAAC,WAAW,UAAU,WAAW,QACnC,OAAO;EAIT,IAAI,OADgB,MAA8B,UACxB,UACxB,OAAO;EAGT,OAAO,KAAK,UAAU,KAAK;CAC7B;CAEA,IAAI,CAAC,WAAW,UAAU,WAAW,QACnC,OAAO;CAGT,MAAM,UAAU,MAAM,KAAK;CAC3B,IAAI,CAAC,QAAQ,WAAW,GAAG,GACzB,OAAO;CAGT,IAAI;EACF,MAAM,SAAkB,KAAK,MAAM,OAAO;EAC1C,IACE,OAAO,WAAW,YAClB,WAAW,QACX,CAAC,MAAM,QAAQ,MAAM,GAErB,OAAO;CAEX,QAAQ;EACN,OAAO;CACT;CAEA,OAAO;AACT;AAUA,eAAsB,aACpB,WACA,SACA,uBAAA,uBAC4B;CAC5B,MAAM,aAAa,UAAU,IAAI,OAAO,SAAmC;EACzE,MAAM,OAAO,QAAQ,IAAI,KAAK,IAAI;EAElC,IAAI,CAAC,MACH,OAAO;GACL,SAAS,KAAK;GACd,QAAQ;GACR,UAAU;GACV,eAAe,SAAS,KAAK,KAAK,gCAAgC,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;EACxG;EAGF,IAAI;GAMF,MAAM,kBAAkB,mBAAmB,MALtB,KAAK,OAAO,mBAAmB,KAAK,OAAO,IAAI,GAAG,EACrE,UAAU,GAAG,uBAAuB,KAAK,EAC3C,CAAC,GAEiB,KAAK,QAAQ,IAC6B;GAE5D,OAAO;IACL,SAAS,KAAK;IACd,QAAQ;IACR,UAAU;GACZ;EACF,SAAS,OAAO;GACd,OAAO;IACL,SAAS,KAAK;IACd,QAAQ;IACR,UAAU;IACV,eAAgB,MAAgB,WAAW;GAC7C;EACF;CACF,CAAC;CAED,OAAO,MAAM,QAAQ,IAAI,UAAU;AACrC;AAYA,SAAgB,wBACd,UACA,aAAa,IACb,kBAA2C,WACA;CAC3C,IAAI,YAAY;CAEhB,IAAI,SAAS,UAAU,QAAQ,SAAS,WAAW,IACjD,aAAa,YAAY,SAAS,OAAO;MAEzC,aAAa;CAGf,IAAI,SAAS,UAAU,QAAQ,SAAS,WAAW,IACjD,aAAa,YAAY,SAAS,OAAO;CAG3C,MAAM,qBAAqB,yBAAyB,WAAW,UAAU;CACzE,MAAM,mBAAmB,iCACvB,SAAS,iBACX;CACA,MAAM,4BAA4B,8BAChC,oBACA,gBACF;CAEA,OAAO,CACL,oBAAoB,cAChB,mCAAmC,2BAA2B,SAAS,KAAK,IAC5E,6BAA6B,2BAA2B,SAAS,KAAK,GAC1E;EACE,YAAY,SAAS;EACrB,OAAO,SAAS;EAChB,GAAI,SAAS,iBAAiB,OAC1B,EAAE,eAAe,SAAS,cAAc,IACxC,CAAC;EACL,GAAI,oBAAoB,OACpB,EAAE,mBAAmB,iBAAiB,IACtC,CAAC;EACL,GAAI,SAAS,sBAAsB,OAC/B;GACA,oBAAoB,SAAS;GAC7B,gBAAgB,SAAS;EAC3B,IACE,CAAC;CACP,CACF;AACF;AAUA,SAAgB,4BAA4B,UAA0B;CAMpE,OACE;;EANe,SACd,MAAM,IAAI,CAAC,CACX,KAAK,SAAU,KAAK,KAAK,MAAM,KAAK,KAAK,OAAO,MAAO,CAAC,CACxD,KAAK,IAKI,EAAE;;;;;AAMhB;AAWA,eAAsB,kBAAkB,MAgBe;CAuBrD,OAAO,wBAAwB,MAtBR,YACrB,qBAAqB,KAAK,SAAS,MAAM,GACzC;EACE,MAAM,KAAK;EACX,MACE,KAAK,SAAS,OAAO,4BAA4B,KAAK,IAAI,IAAI,KAAK;EACrE,GAAI,KAAK,WAAW,OAAO,EAAE,SAAS,KAAK,QAAQ,IAAI,CAAC;EACxD,GAAI,KAAK,aAAa,QAAQ,KAAK,cAAc,KAC7C,EAAE,YAAY,KAAK,UAAU,IAC7B,CAAC;EACL,GAAI,KAAK,SAAS,QAAQ,KAAK,MAAM,SAAS,IAC1C,EAAE,OAAO,KAAK,MAAM,IACpB,CAAC;EACL,GAAI,KAAK,sBAAsB,OAC3B,EAAE,sBAAsB,KAAK,mBAAmB,IAChD,CAAC;CACP,GACA,KAAK,OACL,KAAK,aACL,KAAK,gBACP,GAEyC,KAAK,IAAI;AACpD;AAyBA,SAAgB,kCACd,aAA8C,CAAC,GACxB;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,cAAc;CAC5D,MAAM,gBAAgB,qBAAqB,SAAS,mBAAmB;CAEvE,OAAO,KACL,OAAO,WAAW,WAAW;EAC3B,MAAM,SAAS;EACf,MAAM,EAAE,SAAS;EACjB,MAAM,UAAU,yBAAyB,OAAO,SAAS,eAAe;EAGxE,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,6BACA,oBACF;EAEA,MAAM,mBAAmB,2BACvB,2BAAW,IAAI,IAAI,GACnB,cACF;EAEA,IAAI,YAAY;EAEhB,IAAI;GAKF,IAAI,OAEF,QAAQ,IACN,uBAAuB,eAAe,OAAO,+BACzB,UAAU,UAAU,EAAE,EAC5C;GASF,IAAI;GACJ,IAAI,mBAAmB,gBAAgB,SAAS,GAC9C,QAAQ;QACH,IAAI,cAAc,QAAQ,WAAW,SAAS,GACnD,qBACE,2BACA,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;GAEN,IAAI,cACF,OAAO,MAAM,kBAAkB;IAC7B;IACA,MAAM;IACN;IACA;IACA,WAAW;IACX;IACA;IACA;IACA,aAAa,WAAW;IACxB,kBAAkB,WAAW;GAC/B,CAAC;GAGH,IAAI,WAAW,MAAM,YACnB,eACA;IACE;IACA,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,WAAW,aACX,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,0BAA0B,UAAU,IAAI,SAAS,YAAY,UAAU,EAAE,oBAC3E;IAGF,MAAM,cAAc,MAAM,aACxB,SAAS,cAAc,CAAC,GACxB,gBACF;IAEA,WAAW,MAAM,YACf,eACA;KACE,oBAAoB,SAAS;KAC7B,cAAc;IAChB,GACA,OACA,WAAW,aACX,WAAW,kBACX,OAAO,MACT;GACF;GAMA,IAAI,SAAS,WAAW,aACtB,OAAO,wBAAwB,UAAU,IAAI;GAG/C,IAAI,SAAS,WAAW,SACtB,MAAM,IAAI,MAAM,kCAAkC,QAAQ,CAAC;GAG7D,MAAM,IAAI,oBAAoB;EAChC,SAAS,OAAO;GAKd,MAAM,UAAU,kCAJY,kCACzB,MAAgB,SACjB,IAEkE;GACpE,IAAI,iBAAiB,qBACnB,MAAM,IAAI,oBAAoB,OAAO;GAEvC,MAAM,IAAI,MAAM,SAAS,EAAE,OAAO,MAAM,CAAC;EAC3C;CACF,GACA;EACE,MAAA;EACA,aAAa;EACb,QAAQ,oCAAoC,eAAe;EAC3D,gBAAA;CACF,CACF;AACF"}
|
|
@@ -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 ??
|
|
199
|
+
function fileIdentityKey(file, fallbackSessionId = "") {
|
|
200
|
+
return `${file.storage_session_id ?? fallbackSessionId}\0${file.id}`;
|
|
201
201
|
}
|
|
202
|
-
function
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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,
|