@librechat/agents 3.8.4 → 3.8.6
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/agents/AgentContext.cjs +1 -1
- package/dist/cjs/common/constants.cjs +2 -0
- package/dist/cjs/common/constants.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +18 -9
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/hitl/approvalReview.cjs +1 -1
- package/dist/cjs/hooks/types.cjs.map +1 -1
- package/dist/cjs/main.cjs +7 -6
- package/dist/cjs/messages/index.cjs +1 -1
- package/dist/cjs/messages/prune.cjs +1 -1
- package/dist/cjs/run.cjs +7 -3
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/stream.cjs +13 -3
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/summarization/node.cjs +3 -1
- package/dist/cjs/summarization/node.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +134 -32
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +1 -0
- package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +0 -1
- package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs +123 -29
- package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
- package/dist/cjs/tools/toolBatchReplay.cjs +65 -13
- package/dist/cjs/tools/toolBatchReplay.cjs.map +1 -1
- package/dist/cjs/utils/index.cjs +1 -1
- package/dist/esm/agents/AgentContext.mjs +1 -1
- package/dist/esm/common/constants.mjs +2 -1
- package/dist/esm/common/constants.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +17 -8
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/hitl/approvalReview.mjs +1 -1
- package/dist/esm/hooks/types.mjs.map +1 -1
- package/dist/esm/main.mjs +6 -6
- package/dist/esm/messages/index.mjs +1 -1
- package/dist/esm/messages/prune.mjs +1 -1
- package/dist/esm/run.mjs +7 -3
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/stream.mjs +13 -3
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/summarization/node.mjs +3 -1
- package/dist/esm/summarization/node.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +135 -33
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +1 -0
- package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -1
- package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentExecutor.mjs +123 -29
- package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
- package/dist/esm/tools/toolBatchReplay.mjs +64 -13
- package/dist/esm/tools/toolBatchReplay.mjs.map +1 -1
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/types/common/constants.d.ts +2 -0
- package/dist/types/graphs/Graph.d.ts +3 -2
- package/dist/types/hooks/types.d.ts +3 -0
- package/dist/types/run.d.ts +1 -0
- package/dist/types/summarization/node.d.ts +1 -0
- package/dist/types/tools/ToolNode.d.ts +4 -2
- package/dist/types/tools/subagent/SubagentExecutor.d.ts +7 -4
- package/dist/types/tools/toolBatchReplay.d.ts +6 -3
- package/dist/types/types/graph.d.ts +28 -0
- package/dist/types/types/run.d.ts +2 -0
- package/dist/types/types/tools.d.ts +11 -1
- package/package.json +1 -1
- package/src/common/constants.ts +3 -0
- package/src/graphs/Graph.ts +32 -18
- package/src/hooks/types.ts +3 -0
- package/src/run.ts +30 -15
- package/src/stream.ts +27 -5
- package/src/summarization/node.ts +3 -0
- package/src/tools/ToolNode.ts +528 -149
- package/src/tools/local/LocalProgrammaticToolCalling.ts +1 -0
- package/src/tools/subagent/SubagentExecutionRegistry.ts +0 -1
- package/src/tools/subagent/SubagentExecutor.ts +216 -48
- package/src/tools/toolBatchReplay.ts +121 -20
- package/src/types/graph.ts +37 -0
- package/src/types/run.ts +2 -0
- package/src/types/tools.ts +11 -1
- package/src/utils/llmConfig.ts +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
const require_runStepResume = require("./runStepResume.cjs");
|
|
2
2
|
const require_SubagentReplay = require("./subagent/SubagentReplay.cjs");
|
|
3
3
|
const require_hitl = require("../types/hitl.cjs");
|
|
4
|
-
const require_approvalReview = require("../hitl/approvalReview.cjs");
|
|
5
4
|
require("../hooks/types.cjs");
|
|
5
|
+
const require_approvalReview = require("../hitl/approvalReview.cjs");
|
|
6
6
|
let _langchain_core_messages = require("@langchain/core/messages");
|
|
7
7
|
let _langchain_langgraph = require("@langchain/langgraph");
|
|
8
8
|
//#region src/tools/toolBatchReplay.ts
|
|
@@ -13,10 +13,35 @@ const serializer = new _langchain_langgraph.MemorySaver().serde;
|
|
|
13
13
|
function isRecord(value) {
|
|
14
14
|
return value != null && typeof value === "object" && !Array.isArray(value);
|
|
15
15
|
}
|
|
16
|
+
function bindLegacyReplayOwner(owner, configurable) {
|
|
17
|
+
let identity;
|
|
18
|
+
try {
|
|
19
|
+
identity = JSON.parse(owner);
|
|
20
|
+
} catch {
|
|
21
|
+
return owner;
|
|
22
|
+
}
|
|
23
|
+
if (!Array.isArray(identity) || identity.length !== 3) return owner;
|
|
24
|
+
return JSON.stringify([
|
|
25
|
+
...identity,
|
|
26
|
+
typeof configurable.user_id === "string" ? configurable.user_id : "",
|
|
27
|
+
typeof configurable.thread_id === "string" ? configurable.thread_id : ""
|
|
28
|
+
]);
|
|
29
|
+
}
|
|
30
|
+
function bindLegacyReplayState(state, configurable) {
|
|
31
|
+
if (state == null) return void 0;
|
|
32
|
+
return {
|
|
33
|
+
...state,
|
|
34
|
+
approvalOwner: state.approvalOwner == null ? void 0 : bindLegacyReplayOwner(state.approvalOwner, configurable),
|
|
35
|
+
records: state.records.map((record) => ({
|
|
36
|
+
...record,
|
|
37
|
+
owner: bindLegacyReplayOwner(record.owner, configurable)
|
|
38
|
+
}))
|
|
39
|
+
};
|
|
40
|
+
}
|
|
16
41
|
function restoreToolReplayConfig(configurable, interruptId, payload) {
|
|
17
42
|
delete configurable[TOOL_BATCH_REPLAY_KEY];
|
|
18
43
|
delete configurable[require_approvalReview.TOOL_APPROVAL_REVIEW_CONFIG_KEY];
|
|
19
|
-
const state = getToolBatchReplayState(payload);
|
|
44
|
+
const state = bindLegacyReplayState(getToolBatchReplayState(payload), configurable);
|
|
20
45
|
const publicPayload = getPublicToolInterruptPayload(payload);
|
|
21
46
|
const review = require_approvalReview.createToolApprovalReviewEvidence(interruptId, publicPayload, state?.approvalOwner);
|
|
22
47
|
if (require_hitl.isToolApprovalInterrupt(publicPayload) && (review == null || state != null && state.approvalOwner == null)) throw new Error("Invalid tool approval checkpoint");
|
|
@@ -26,20 +51,44 @@ function restoreToolReplayConfig(configurable, interruptId, payload) {
|
|
|
26
51
|
};
|
|
27
52
|
if (review != null) configurable[require_approvalReview.TOOL_APPROVAL_REVIEW_CONFIG_KEY] = review;
|
|
28
53
|
}
|
|
29
|
-
function
|
|
54
|
+
function getToolReplayResumeStatus(config, interruptId, isChildReplay) {
|
|
30
55
|
const resumeMap = config.configurable?.__pregel_resume_map;
|
|
31
|
-
if (interruptId != null && resumeMap != null && !Object.prototype.hasOwnProperty.call(resumeMap, interruptId)) return false;
|
|
32
|
-
if (isChildReplay && resumeMap != null) return true;
|
|
33
56
|
const scratchpad = config.configurable?.__pregel_scratchpad;
|
|
34
|
-
|
|
57
|
+
if (!isRecord(scratchpad) || !Array.isArray(scratchpad.resume)) return "unverifiable";
|
|
58
|
+
if (scratchpad.nullResume !== void 0) return "active";
|
|
59
|
+
const hasResume = scratchpad.resume.length > 0;
|
|
60
|
+
if (!isRecord(resumeMap)) return hasResume ? "unverifiable" : "stale";
|
|
61
|
+
if (interruptId == null) {
|
|
62
|
+
if (!hasResume) return "stale";
|
|
63
|
+
return Object.keys(resumeMap).length === 1 ? "active" : "unverifiable";
|
|
64
|
+
}
|
|
65
|
+
if (!Object.prototype.hasOwnProperty.call(resumeMap, interruptId)) return hasResume ? "unverifiable" : "stale";
|
|
66
|
+
if (isChildReplay) return "active";
|
|
67
|
+
return hasResume ? "active" : "stale";
|
|
35
68
|
}
|
|
36
69
|
function getToolBatchReplayOwner(config, agentId) {
|
|
37
70
|
return JSON.stringify([
|
|
38
71
|
getToolBatchReplayScope(config),
|
|
39
72
|
config.configurable?.["__librechat_tool_approval_execution_scope"] == null ? config.configurable?.checkpoint_ns ?? "" : "",
|
|
40
|
-
agentId
|
|
73
|
+
agentId,
|
|
74
|
+
typeof config.configurable?.user_id === "string" ? config.configurable.user_id : "",
|
|
75
|
+
typeof config.configurable?.thread_id === "string" ? config.configurable.thread_id : ""
|
|
41
76
|
]);
|
|
42
77
|
}
|
|
78
|
+
function clearStaleToolApprovalConfig(configurable, owner, batch) {
|
|
79
|
+
delete configurable[require_approvalReview.TOOL_APPROVAL_REVIEW_CONFIG_KEY];
|
|
80
|
+
const state = getToolBatchReplayState(configurable);
|
|
81
|
+
const records = batch == null ? [] : state?.records.filter((record) => record.owner === owner && record.batch === batch) ?? [];
|
|
82
|
+
if (state == null || records.length === 0) {
|
|
83
|
+
delete configurable[TOOL_BATCH_REPLAY_KEY];
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
configurable[TOOL_BATCH_REPLAY_KEY] = {
|
|
87
|
+
version: 1,
|
|
88
|
+
records,
|
|
89
|
+
wrappedPayload: state.wrappedPayload
|
|
90
|
+
};
|
|
91
|
+
}
|
|
43
92
|
function getToolBatchReplayScope(config) {
|
|
44
93
|
const scope = config.configurable?.["__librechat_tool_approval_execution_scope"] ?? config.configurable?.thread_id;
|
|
45
94
|
return typeof scope === "string" && scope.length > 0 ? scope : void 0;
|
|
@@ -48,7 +97,7 @@ function isChildToolReplayOwner(config, owner, trustedParentCallIds) {
|
|
|
48
97
|
const manifest = require_SubagentReplay.requireValidSubagentResumeManifest(config.configurable);
|
|
49
98
|
if (manifest == null || trustedParentCallIds.size === 0) return false;
|
|
50
99
|
const identity = JSON.parse(owner);
|
|
51
|
-
if (!Array.isArray(identity) || identity.length !== 3 || identity[1] !== "") return false;
|
|
100
|
+
if (!Array.isArray(identity) || identity.length !== 3 && identity.length !== 5 || identity[1] !== "") return false;
|
|
52
101
|
const pending = manifest.executions.filter((execution) => trustedParentCallIds.has(execution.parentToolCallId));
|
|
53
102
|
while (pending.length > 0) {
|
|
54
103
|
const execution = pending.pop();
|
|
@@ -57,11 +106,13 @@ function isChildToolReplayOwner(config, owner, trustedParentCallIds) {
|
|
|
57
106
|
}
|
|
58
107
|
return false;
|
|
59
108
|
}
|
|
60
|
-
function rebindToolBatchReplayScope(configurable, sourceScope, destinationScope) {
|
|
109
|
+
function rebindToolBatchReplayScope(configurable, sourceScope, destinationScope, destinationThreadId) {
|
|
61
110
|
const rebind = (key) => {
|
|
62
111
|
const parts = JSON.parse(key);
|
|
63
112
|
if (!Array.isArray(parts) || parts[0] !== sourceScope) return key;
|
|
64
|
-
|
|
113
|
+
const rebound = [destinationScope, ...parts.slice(1)];
|
|
114
|
+
if (rebound.length === 5 && destinationThreadId != null) rebound[4] = destinationThreadId;
|
|
115
|
+
return JSON.stringify(rebound);
|
|
65
116
|
};
|
|
66
117
|
const review = require_approvalReview.getToolApprovalReviewEvidence({ configurable });
|
|
67
118
|
if (review?.owner != null) configurable[require_approvalReview.TOOL_APPROVAL_REVIEW_CONFIG_KEY] = {
|
|
@@ -79,12 +130,12 @@ function rebindToolBatchReplayScope(configurable, sourceScope, destinationScope)
|
|
|
79
130
|
}))
|
|
80
131
|
};
|
|
81
132
|
}
|
|
82
|
-
function rebindToolBatchReplayPayload(payload, sourceScope, destinationScope) {
|
|
133
|
+
function rebindToolBatchReplayPayload(payload, sourceScope, destinationScope, destinationThreadId) {
|
|
83
134
|
const state = getToolBatchReplayState(payload);
|
|
84
135
|
const value = require_runStepResume.stripRunStepResumeState(payload);
|
|
85
136
|
if (state == null || !isRecord(value)) return payload;
|
|
86
137
|
const configurable = { [TOOL_BATCH_REPLAY_KEY]: state };
|
|
87
|
-
rebindToolBatchReplayScope(configurable, sourceScope, destinationScope);
|
|
138
|
+
rebindToolBatchReplayScope(configurable, sourceScope, destinationScope, destinationThreadId);
|
|
88
139
|
const rebound = {
|
|
89
140
|
...value,
|
|
90
141
|
[TOOL_BATCH_REPLAY_KEY]: configurable[TOOL_BATCH_REPLAY_KEY]
|
|
@@ -183,12 +234,13 @@ async function restoreToolBatchReplayState(config, owner) {
|
|
|
183
234
|
//#endregion
|
|
184
235
|
exports.TOOL_BATCH_REPLAY_KEY = TOOL_BATCH_REPLAY_KEY;
|
|
185
236
|
exports.attachToolBatchReplayState = attachToolBatchReplayState;
|
|
237
|
+
exports.clearStaleToolApprovalConfig = clearStaleToolApprovalConfig;
|
|
186
238
|
exports.getPublicToolInterruptPayload = getPublicToolInterruptPayload;
|
|
187
239
|
exports.getToolBatchReplayOwner = getToolBatchReplayOwner;
|
|
188
240
|
exports.getToolBatchReplayScope = getToolBatchReplayScope;
|
|
189
241
|
exports.getToolBatchReplayState = getToolBatchReplayState;
|
|
242
|
+
exports.getToolReplayResumeStatus = getToolReplayResumeStatus;
|
|
190
243
|
exports.isChildToolReplayOwner = isChildToolReplayOwner;
|
|
191
|
-
exports.isToolReplayResume = isToolReplayResume;
|
|
192
244
|
exports.rebindToolBatchReplayPayload = rebindToolBatchReplayPayload;
|
|
193
245
|
exports.rebindToolBatchReplayScope = rebindToolBatchReplayScope;
|
|
194
246
|
exports.restoreToolBatchReplayState = restoreToolBatchReplayState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolBatchReplay.cjs","names":["MemorySaver","TOOL_APPROVAL_REVIEW_CONFIG_KEY","createToolApprovalReviewEvidence","isToolApprovalInterrupt","requireValidSubagentResumeManifest","getToolApprovalReviewEvidence","stripRunStepResumeState","getRunStepResumeState","attachRunStepResumeState","isToolNodeResumeState","isToolOutputReferenceState","stripSubagentResumeManifest","Command"],"sources":["../../../src/tools/toolBatchReplay.ts"],"mappings":";;;;;;;;AAyBA,MAAa,wBAAwB;AACrC,MAAM,yBAAyB;AAC/B,MAAM,yBAAyB;
|
|
1
|
+
{"version":3,"file":"toolBatchReplay.cjs","names":["MemorySaver","TOOL_APPROVAL_REVIEW_CONFIG_KEY","createToolApprovalReviewEvidence","isToolApprovalInterrupt","requireValidSubagentResumeManifest","getToolApprovalReviewEvidence","stripRunStepResumeState","getRunStepResumeState","attachRunStepResumeState","isToolNodeResumeState","isToolOutputReferenceState","stripSubagentResumeManifest","Command"],"sources":["../../../src/tools/toolBatchReplay.ts"],"mappings":"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"}
|
package/dist/cjs/utils/index.cjs
CHANGED
|
@@ -10,10 +10,10 @@ import { syncBudgetDerivedFields } from "../messages/budget.mjs";
|
|
|
10
10
|
import { snapshotCompactionSemanticIndex } from "../summarization/semanticIndex.mjs";
|
|
11
11
|
import "../messages/index.mjs";
|
|
12
12
|
import { toJsonSchema } from "../utils/schema.mjs";
|
|
13
|
+
import { buildSummaryCarrierText } from "../summarization/shared.mjs";
|
|
13
14
|
import { allowsToolCaller, applyCallerCapabilityDefinitionOverrides, createCallerCapabilityProjectionSnapshot, isProgrammaticControlTool, isToolDefinitionActive, mergeCallerCapabilityDefinitions, resolveCallerCapabilityProjection } from "../tools/CallerCapabilities.mjs";
|
|
14
15
|
import { isProgrammaticRunnerAutoBound, isProgrammaticRunnerResolvedDirectly, resolveLocalImplementationNames, resolveLocalToolRegistry } from "../tools/local/resolveLocalExecutionTools.mjs";
|
|
15
16
|
import { createExactTokenCountCache } from "../llm/contextPressureMeter.mjs";
|
|
16
|
-
import { buildSummaryCarrierText } from "../summarization/shared.mjs";
|
|
17
17
|
import { createSchemaOnlyTools } from "../tools/schema.mjs";
|
|
18
18
|
import { RunnableLambda } from "@langchain/core/runnables";
|
|
19
19
|
import { HumanMessage, SystemMessage, coerceMessageLikeToMessage } from "@langchain/core/messages";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
//#region src/common/constants.ts
|
|
2
|
+
const SUBAGENT_CONTEXT_VERSION = 1;
|
|
2
3
|
const ANTHROPIC_TOOL_TOKEN_MULTIPLIER = 2.6;
|
|
3
4
|
const DEFAULT_TOOL_TOKEN_MULTIPLIER = 1.4;
|
|
4
5
|
const DEFAULT_MAX_SEALS = 8;
|
|
@@ -23,6 +24,6 @@ const COMPACTION_SEMANTIC_INDEX_LIMITS = Object.freeze({
|
|
|
23
24
|
maxSourceContentIndex: 4095
|
|
24
25
|
});
|
|
25
26
|
//#endregion
|
|
26
|
-
export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, COMPACTION_SEMANTIC_INDEX_LIMITS, DEFAULT_MAX_SEALS, DEFAULT_MAX_STOP_CONTINUATIONS, DEFAULT_PREEMPT_RESTART_GRACE_MS, DEFAULT_RECURSION_LIMIT, DEFAULT_TOOL_TOKEN_MULTIPLIER, MULTI_AGENT_GRAPH_RUN_NAME, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, REASONING_LABEL_RUN_NAME, STANDARD_GRAPH_RUN_NAME };
|
|
27
|
+
export { ACTIVITY_LABEL_RUN_NAME, ACTIVITY_PHASE_LABEL_RUN_NAME, ACTIVITY_PHASE_RUN_NAME, AGENT_MODEL_CALL_RUN_NAME, ANTHROPIC_TOOL_TOKEN_MULTIPLIER, COMPACTION_SEMANTIC_INDEX_LIMITS, DEFAULT_MAX_SEALS, DEFAULT_MAX_STOP_CONTINUATIONS, DEFAULT_PREEMPT_RESTART_GRACE_MS, DEFAULT_RECURSION_LIMIT, DEFAULT_TOOL_TOKEN_MULTIPLIER, MULTI_AGENT_GRAPH_RUN_NAME, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, REASONING_LABEL_RUN_NAME, STANDARD_GRAPH_RUN_NAME, SUBAGENT_CONTEXT_VERSION };
|
|
27
28
|
|
|
28
29
|
//# sourceMappingURL=constants.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/common/constants.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/common/constants.ts"],"mappings":";AACA,MAAa,2BAA2B;AAQxC,MAAa,kCAAkC;AAO/C,MAAa,gCAAgC;AAO7C,MAAa,oBAAoB;AAejC,MAAa,mCAAmC;AAQhD,MAAa,iCAAiC;AAQ9C,MAAa,mCAAmC;AAMhD,MAAa,0BAA0B;AAGvC,MAAa,0BAA0B;AACvC,MAAa,6BAA6B;AAC1C,MAAa,4BAA4B;AACzC,MAAa,0BAA0B;AACvC,MAAa,2BAA2B;AACxC,MAAa,0BAA0B;AACvC,MAAa,gCAAgC;AAG7C,MAAa,mCAAmC,OAAO,OAAO;CAC5D,iBAAiB;CACjB,YAAY;CACZ,eAAe;CACf,eAAe;CACf,mBAAmB;CACnB,kBAAkB;CAClB,uBAAuB;AACzB,CAAU"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { AGENT_MODEL_CALL_RUN_NAME, PREEMPT_BOUNDARY_HOOK_TIMEOUT_MS, STANDARD_GRAPH_RUN_NAME } from "../common/constants.mjs";
|
|
2
2
|
import { GraphNodeKeys } from "../common/enum.mjs";
|
|
3
3
|
import "../common/index.mjs";
|
|
4
|
-
import { calculateMaxToolCallInputChars, calculateMaxToolResultChars } from "../utils/truncation.mjs";
|
|
5
|
-
import { isFadingTier, isInformativeFadingTier } from "../messages/fading.mjs";
|
|
6
|
-
import { isRunStepResumeState } from "../tools/runStepResume.mjs";
|
|
7
|
-
import { SUBAGENT_REPLAY_CONTROLLER } from "../tools/subagent/SubagentReplay.mjs";
|
|
8
4
|
import { composeAbortSignals } from "../utils/misc.mjs";
|
|
9
5
|
import { hasToolOutputTracingConfig, resolveLangfuseConfig, resolveToolOutputTracingConfig } from "../langfuseConfig.mjs";
|
|
10
6
|
import { resolveLangfuseRuntimeScope, withLangfuseRuntimeScope } from "../langfuseRuntimeScope.mjs";
|
|
11
7
|
import { shouldTraceToolNodeForLangfuse } from "../langfuseToolOutputTracing.mjs";
|
|
8
|
+
import { calculateMaxToolCallInputChars, calculateMaxToolResultChars } from "../utils/truncation.mjs";
|
|
12
9
|
import { getToolContentCharLength, serializeToolContentBounded } from "../utils/toolContent.mjs";
|
|
13
10
|
import { stampSyntheticProviderMessage } from "../messages/provenance.mjs";
|
|
14
11
|
import { addBedrockTailCacheControl, addTailCacheControl, cloneMessage, resolveBedrockPromptCacheTtl, resolvePromptCacheTtl } from "../messages/cache.mjs";
|
|
@@ -19,6 +16,9 @@ import { convertMessagesToContent, projectAnthropicArtifactContent, projectArtif
|
|
|
19
16
|
import { resolveMaxSeals } from "../llm/preempt.mjs";
|
|
20
17
|
import { appendCallbacks, findCallback } from "../utils/callbacks.mjs";
|
|
21
18
|
import { createLangfuseHandler, createLangfuseTraceMetadata, disposeLangfuseHandler, isLangfuseCallbackHandler } from "../langfuse.mjs";
|
|
19
|
+
import { isFadingTier, isInformativeFadingTier } from "../messages/fading.mjs";
|
|
20
|
+
import { isRunStepResumeState } from "../tools/runStepResume.mjs";
|
|
21
|
+
import { SUBAGENT_REPLAY_CONTROLLER } from "../tools/subagent/SubagentReplay.mjs";
|
|
22
22
|
import { applyGraphRuntimeConfig } from "./applyGraphRuntimeConfig.mjs";
|
|
23
23
|
import { apportionTokenCounts } from "../utils/tokens.mjs";
|
|
24
24
|
import { isAnthropicLike, isGoogleLike, isOpenAILike } from "../utils/llm.mjs";
|
|
@@ -57,6 +57,8 @@ import { prepareProviderRequest, usesNativeOpenAIResponses } from "../llm/prepar
|
|
|
57
57
|
import { getTruncationStopReason } from "../llm/truncation.mjs";
|
|
58
58
|
import { initializeModel } from "../llm/init.mjs";
|
|
59
59
|
import { attemptInvoke, getFallbackErrorContext, getFallbackOverflowCandidates, tryFallbackProviders } from "../llm/invoke.mjs";
|
|
60
|
+
import { ManualSummarizationSkippedError } from "../summarization/shared.mjs";
|
|
61
|
+
import { shouldTriggerSummarization } from "../summarization/index.mjs";
|
|
60
62
|
import { createLocalCodingToolBundle } from "../tools/local/LocalCodingTools.mjs";
|
|
61
63
|
import { createCloudflareCodingToolBundle } from "../tools/cloudflare/CloudflareSandboxTools.mjs";
|
|
62
64
|
import "../tools/cloudflare/index.mjs";
|
|
@@ -66,8 +68,6 @@ import { ToolNode, toolsCondition } from "../tools/ToolNode.mjs";
|
|
|
66
68
|
import { createContextPressureMeter } from "../llm/contextPressureMeter.mjs";
|
|
67
69
|
import { prepareToolsForPromptCache } from "../llm/promptCacheTools.mjs";
|
|
68
70
|
import { buildSubagentToolParams } from "../tools/SubagentTool.mjs";
|
|
69
|
-
import { ManualSummarizationSkippedError } from "../summarization/shared.mjs";
|
|
70
|
-
import { shouldTriggerSummarization } from "../summarization/index.mjs";
|
|
71
71
|
import { createSummarizeNode } from "../summarization/node.mjs";
|
|
72
72
|
import { createSchemaOnlyTools } from "../tools/schema.mjs";
|
|
73
73
|
import { AgentContext } from "../agents/AgentContext.mjs";
|
|
@@ -553,6 +553,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
553
553
|
subagentScope;
|
|
554
554
|
subagentTasks;
|
|
555
555
|
subagentExecutionContext;
|
|
556
|
+
subagentContext;
|
|
556
557
|
preemption;
|
|
557
558
|
streamLimits;
|
|
558
559
|
streamedToolCallArgTallies = /* @__PURE__ */ new Map();
|
|
@@ -580,7 +581,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
580
581
|
preemptHaltReason;
|
|
581
582
|
pendingPreemptReturn = /* @__PURE__ */ new Set();
|
|
582
583
|
preemptRestartPending = /* @__PURE__ */ new Set();
|
|
583
|
-
constructor({ runId, signal, agents, langfuse, tokenCounter, indexTokenCountMap, calibrationRatio, fadingTier, fadingTiers, subagentUsageSink, subagentTasks, subagentScope, subagentExecutionContext, preemption, streamLimits, toolExecution }, dependencies) {
|
|
584
|
+
constructor({ runId, signal, agents, langfuse, tokenCounter, indexTokenCountMap, calibrationRatio, fadingTier, fadingTiers, subagentUsageSink, subagentTasks, subagentScope, subagentExecutionContext, subagentContext, preemption, streamLimits, toolExecution }, dependencies) {
|
|
584
585
|
super();
|
|
585
586
|
this.supportsMultiAgentChildren = dependencies != null;
|
|
586
587
|
this.graphFactory = dependencies?.graphFactory ?? ((request) => {
|
|
@@ -595,6 +596,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
595
596
|
this.subagentTasks = subagentTasks;
|
|
596
597
|
this.subagentScope = subagentScope === true;
|
|
597
598
|
this.subagentExecutionContext = subagentExecutionContext;
|
|
599
|
+
this.subagentContext = subagentContext;
|
|
598
600
|
this.preemption = preemption;
|
|
599
601
|
this.streamLimits = resolveStreamLimits(streamLimits);
|
|
600
602
|
this.toolExecution = toolExecution;
|
|
@@ -1154,6 +1156,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1154
1156
|
toolDefinitions: toolDefMap,
|
|
1155
1157
|
agentId: this.subagentScope ? agentContext?.agentId : void 0,
|
|
1156
1158
|
executingAgentId: agentContext?.agentId,
|
|
1159
|
+
executionContext: this.subagentExecutionContext,
|
|
1157
1160
|
executingAgentName: agentContext?.name,
|
|
1158
1161
|
rootAgentId: this.defaultAgentId,
|
|
1159
1162
|
rootAgentName: this.agentContexts.get(this.defaultAgentId)?.name,
|
|
@@ -1198,6 +1201,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1198
1201
|
agentLangfuse: agentContext?.langfuse,
|
|
1199
1202
|
agentId: this.subagentScope ? agentContext?.agentId : void 0,
|
|
1200
1203
|
executingAgentId: agentContext?.agentId,
|
|
1204
|
+
executionContext: this.subagentExecutionContext,
|
|
1201
1205
|
executingAgentName: agentContext?.name,
|
|
1202
1206
|
rootAgentId: this.defaultAgentId,
|
|
1203
1207
|
rootAgentName: this.agentContexts.get(this.defaultAgentId)?.name,
|
|
@@ -2091,6 +2095,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
2091
2095
|
runId,
|
|
2092
2096
|
threadId: configurable?.thread_id,
|
|
2093
2097
|
agentId: this.subagentScope ? agentId : void 0,
|
|
2098
|
+
executionContext: this.subagentExecutionContext,
|
|
2094
2099
|
executingAgentId: agentId,
|
|
2095
2100
|
sealCount: this.preemptSealCount
|
|
2096
2101
|
},
|
|
@@ -2191,6 +2196,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
2191
2196
|
tokenCounter: agentContext.tokenCounter,
|
|
2192
2197
|
usageSink: this.subagentUsageSink,
|
|
2193
2198
|
taskConfig: this.subagentTasks,
|
|
2199
|
+
subagentContext: this.subagentContext,
|
|
2194
2200
|
streamLimits: this.streamLimits,
|
|
2195
2201
|
humanInTheLoop: this.humanInTheLoop,
|
|
2196
2202
|
checkpointer: this.compileOptions?.checkpointer,
|
|
@@ -2233,7 +2239,9 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
2233
2239
|
tool: "subagent",
|
|
2234
2240
|
message: "Child-thread continuation requires run_in_background."
|
|
2235
2241
|
});
|
|
2236
|
-
|
|
2242
|
+
const result = await executor.execute(executeParams);
|
|
2243
|
+
if (result.retryableDelivery === true) throw new Error(result.content);
|
|
2244
|
+
return result.content;
|
|
2237
2245
|
}, buildSubagentToolParams(executableConfigs, {
|
|
2238
2246
|
background: this.subagentTasks != null,
|
|
2239
2247
|
threadContinuation: this.subagentTasks?.store.supportsThreadContinuation === true
|
|
@@ -2326,6 +2334,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
2326
2334
|
},
|
|
2327
2335
|
runId: this.runId,
|
|
2328
2336
|
isMultiAgent: this.isMultiAgentGraph(),
|
|
2337
|
+
getSubagentExecutionContext: () => this.subagentExecutionContext,
|
|
2329
2338
|
hookRegistry: this.hookRegistry,
|
|
2330
2339
|
getToolsForBinding: (provider, clientOptions) => this.getPreparedToolsForBinding(agentContext, provider, clientOptions),
|
|
2331
2340
|
streamLimits: this.streamLimits,
|