@librechat/agents 3.9.2 → 3.9.4
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/README.md +32 -0
- package/dist/cjs/common/enum.cjs +2 -0
- package/dist/cjs/common/enum.cjs.map +1 -1
- package/dist/cjs/events.cjs +11 -0
- package/dist/cjs/events.cjs.map +1 -1
- package/dist/cjs/graphs/Graph.cjs +54 -5
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/graphs/MultiAgentGraph.cjs +97 -5
- package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
- package/dist/cjs/graphs/acceptedModelResponse.cjs +168 -0
- package/dist/cjs/graphs/acceptedModelResponse.cjs.map +1 -0
- package/dist/cjs/graphs/handoff.cjs +195 -0
- package/dist/cjs/graphs/handoff.cjs.map +1 -0
- package/dist/cjs/graphs/index.cjs +1 -0
- package/dist/cjs/llm/invoke.cjs +10 -5
- package/dist/cjs/llm/invoke.cjs.map +1 -1
- package/dist/cjs/llm/streamLimits.cjs +1 -1
- package/dist/cjs/llm/streamLimits.cjs.map +1 -1
- package/dist/cjs/main.cjs +4 -0
- package/dist/cjs/messages/fading.cjs +14 -6
- package/dist/cjs/messages/fading.cjs.map +1 -1
- package/dist/cjs/messages/prune.cjs +95 -36
- package/dist/cjs/messages/prune.cjs.map +1 -1
- package/dist/cjs/openai/index.cjs +2 -0
- package/dist/cjs/openai/index.cjs.map +1 -1
- package/dist/cjs/openai/toolProjection.cjs +196 -0
- package/dist/cjs/openai/toolProjection.cjs.map +1 -0
- package/dist/cjs/run.cjs +41 -4
- package/dist/cjs/run.cjs.map +1 -1
- package/dist/cjs/session/AgentSession.cjs +1 -1
- package/dist/cjs/session/AgentSession.cjs.map +1 -1
- package/dist/cjs/stream.cjs +9 -4
- package/dist/cjs/stream.cjs.map +1 -1
- package/dist/cjs/tools/ToolNode.cjs +5 -1
- package/dist/cjs/tools/ToolNode.cjs.map +1 -1
- package/dist/cjs/tools/subagent/SubagentReplay.cjs +4 -1
- package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
- package/dist/cjs/utils/acceptedToolArguments.cjs +143 -0
- package/dist/cjs/utils/acceptedToolArguments.cjs.map +1 -0
- package/dist/esm/common/enum.mjs +2 -0
- package/dist/esm/common/enum.mjs.map +1 -1
- package/dist/esm/events.mjs +11 -0
- package/dist/esm/events.mjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +54 -5
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/graphs/MultiAgentGraph.mjs +97 -5
- package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
- package/dist/esm/graphs/acceptedModelResponse.mjs +165 -0
- package/dist/esm/graphs/acceptedModelResponse.mjs.map +1 -0
- package/dist/esm/graphs/handoff.mjs +193 -0
- package/dist/esm/graphs/handoff.mjs.map +1 -0
- package/dist/esm/graphs/index.mjs +1 -0
- package/dist/esm/llm/invoke.mjs +10 -5
- package/dist/esm/llm/invoke.mjs.map +1 -1
- package/dist/esm/llm/streamLimits.mjs +1 -1
- package/dist/esm/llm/streamLimits.mjs.map +1 -1
- package/dist/esm/main.mjs +4 -3
- package/dist/esm/messages/fading.mjs +14 -7
- package/dist/esm/messages/fading.mjs.map +1 -1
- package/dist/esm/messages/prune.mjs +95 -37
- package/dist/esm/messages/prune.mjs.map +1 -1
- package/dist/esm/openai/index.mjs +2 -1
- package/dist/esm/openai/index.mjs.map +1 -1
- package/dist/esm/openai/toolProjection.mjs +196 -0
- package/dist/esm/openai/toolProjection.mjs.map +1 -0
- package/dist/esm/run.mjs +41 -4
- package/dist/esm/run.mjs.map +1 -1
- package/dist/esm/session/AgentSession.mjs +1 -1
- package/dist/esm/session/AgentSession.mjs.map +1 -1
- package/dist/esm/stream.mjs +9 -4
- package/dist/esm/stream.mjs.map +1 -1
- package/dist/esm/tools/ToolNode.mjs +5 -1
- package/dist/esm/tools/ToolNode.mjs.map +1 -1
- package/dist/esm/tools/subagent/SubagentReplay.mjs +5 -2
- package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
- package/dist/esm/utils/acceptedToolArguments.mjs +142 -0
- package/dist/esm/utils/acceptedToolArguments.mjs.map +1 -0
- package/dist/types/common/enum.d.ts +4 -0
- package/dist/types/graphs/Graph.d.ts +5 -1
- package/dist/types/graphs/MultiAgentGraph.d.ts +3 -0
- package/dist/types/graphs/acceptedModelResponse.d.ts +15 -0
- package/dist/types/graphs/handoff.d.ts +28 -0
- package/dist/types/graphs/index.d.ts +1 -0
- package/dist/types/messages/fading.d.ts +14 -2
- package/dist/types/messages/prune.d.ts +7 -0
- package/dist/types/openai/arguments.d.ts +2 -0
- package/dist/types/openai/index.d.ts +2 -0
- package/dist/types/openai/toolProjection.d.ts +30 -0
- package/dist/types/run.d.ts +5 -0
- package/dist/types/tools/ToolNode.d.ts +2 -1
- package/dist/types/types/graph.d.ts +51 -4
- package/dist/types/types/run.d.ts +8 -1
- package/dist/types/types/stream.d.ts +22 -1
- package/dist/types/types/tools.d.ts +5 -0
- package/dist/types/utils/acceptedToolArguments.d.ts +10 -0
- package/package.json +1 -1
- package/src/common/enum.ts +5 -0
- package/src/events.ts +24 -1
- package/src/graphs/Graph.ts +103 -0
- package/src/graphs/MultiAgentGraph.ts +142 -4
- package/src/graphs/acceptedModelResponse.ts +307 -0
- package/src/graphs/handoff.ts +263 -0
- package/src/graphs/index.ts +2 -0
- package/src/llm/invoke.ts +39 -14
- package/src/llm/streamLimits.ts +1 -1
- package/src/messages/fading.ts +30 -5
- package/src/messages/prune.ts +168 -55
- package/src/openai/arguments.ts +2 -0
- package/src/openai/index.ts +6 -0
- package/src/openai/toolProjection.ts +318 -0
- package/src/run.ts +75 -2
- package/src/session/AgentSession.ts +2 -2
- package/src/stream.ts +21 -1
- package/src/tools/ToolNode.ts +19 -6
- package/src/tools/subagent/SubagentReplay.ts +10 -9
- package/src/types/graph.ts +59 -10
- package/src/types/run.ts +8 -1
- package/src/types/stream.ts +26 -0
- package/src/types/tools.ts +5 -0
- package/src/utils/acceptedToolArguments.ts +204 -0
|
@@ -4,6 +4,7 @@ require("../common/index.cjs");
|
|
|
4
4
|
const require_truncation = require("../utils/truncation.cjs");
|
|
5
5
|
const require_toolContent = require("../utils/toolContent.cjs");
|
|
6
6
|
const require_provenance = require("../messages/provenance.cjs");
|
|
7
|
+
const require_handoff = require("./handoff.cjs");
|
|
7
8
|
const require_handoffCue = require("../messages/handoffCue.cjs");
|
|
8
9
|
const require_Graph = require("./Graph.cjs");
|
|
9
10
|
let _langchain_core_prompts = require("@langchain/core/prompts");
|
|
@@ -168,6 +169,7 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
168
169
|
handoffSourceIds = /* @__PURE__ */ new Set();
|
|
169
170
|
resultAgentId;
|
|
170
171
|
memberRecursionLimit;
|
|
172
|
+
reachableAgentIds;
|
|
171
173
|
handoffPromptLabels = /* @__PURE__ */ new Map();
|
|
172
174
|
agentParallelGroups = /* @__PURE__ */ new Map();
|
|
173
175
|
constructor(input, dependencies) {
|
|
@@ -181,8 +183,76 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
181
183
|
this.categorizeEdges();
|
|
182
184
|
this.validateCommandRoutedDirectEdges();
|
|
183
185
|
this.analyzeGraph();
|
|
186
|
+
if (input.entryAgentId != null) {
|
|
187
|
+
if (!this.agentContexts.has(input.entryAgentId)) throw new Error(`MultiAgentGraph: unknown entryAgentId "${input.entryAgentId}"`);
|
|
188
|
+
this.startingNodes = new Set([input.entryAgentId]);
|
|
189
|
+
this.defaultAgentId = input.entryAgentId;
|
|
190
|
+
this.computeParallelCapability();
|
|
191
|
+
this.reachableAgentIds = this.resolveEntryReachability(input.entryAgentId);
|
|
192
|
+
}
|
|
193
|
+
if (input.maxHandoffs != null && (!Number.isSafeInteger(input.maxHandoffs) || input.maxHandoffs < 0)) throw new Error("MultiAgentGraph: maxHandoffs must be a non-negative safe integer");
|
|
194
|
+
const directDestinations = /* @__PURE__ */ new Map();
|
|
195
|
+
for (const edge of this.directEdges) {
|
|
196
|
+
if (edge.handoffScope != null) throw new Error("handoffScope is only valid on handoff edges");
|
|
197
|
+
for (const source of Array.isArray(edge.from) ? edge.from : [edge.from]) {
|
|
198
|
+
const targets = directDestinations.get(source) ?? /* @__PURE__ */ new Set();
|
|
199
|
+
for (const target of Array.isArray(edge.to) ? edge.to : [edge.to]) targets.add(target);
|
|
200
|
+
directDestinations.set(source, targets);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
this.handoffRouting = new require_handoff.HandoffRouting(this.startingNodes.values().next().value ?? this.defaultAgentId, input.maxHandoffs, this.startingNodes.size > 1 || [...directDestinations.values()].some((targets) => targets.size > 1));
|
|
204
|
+
this.validateHandoffScopes();
|
|
184
205
|
this.createHandoffTools();
|
|
185
206
|
}
|
|
207
|
+
validateHandoffScopes() {
|
|
208
|
+
const scopes = /* @__PURE__ */ new Map();
|
|
209
|
+
for (const edge of this.handoffEdges) {
|
|
210
|
+
const scope = edge.handoffScope ?? "turn";
|
|
211
|
+
if (!["turn", "conversation"].includes(scope)) throw new Error("Invalid handoffScope");
|
|
212
|
+
for (const source of Array.isArray(edge.from) ? edge.from : [edge.from]) {
|
|
213
|
+
const destinations = Array.isArray(edge.to) ? edge.to : [edge.to];
|
|
214
|
+
const targets = edge.condition != null ? ["conditional_transfer"] : destinations;
|
|
215
|
+
for (const target of targets) {
|
|
216
|
+
const key = JSON.stringify([source, target]);
|
|
217
|
+
const previous = scopes.get(key);
|
|
218
|
+
if (previous != null && previous !== scope) throw new Error("Conflicting handoffScope for the same transfer tool");
|
|
219
|
+
scopes.set(key, scope);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
resolveEntryReachability(entryAgentId) {
|
|
225
|
+
const reachable = new Set([entryAgentId]);
|
|
226
|
+
const direct = new Set(this.directEdges);
|
|
227
|
+
const outgoing = /* @__PURE__ */ new Map();
|
|
228
|
+
const remaining = /* @__PURE__ */ new Map();
|
|
229
|
+
for (const edge of this.edges) {
|
|
230
|
+
const sources = new Set(Array.isArray(edge.from) ? edge.from : [edge.from]);
|
|
231
|
+
remaining.set(edge, direct.has(edge) ? sources.size : 1);
|
|
232
|
+
for (const source of sources) {
|
|
233
|
+
const edges = outgoing.get(source) ?? [];
|
|
234
|
+
edges.push(edge);
|
|
235
|
+
outgoing.set(source, edges);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
const queue = [entryAgentId];
|
|
239
|
+
for (let i = 0; i < queue.length; i++) for (const edge of outgoing.get(queue[i]) ?? []) {
|
|
240
|
+
const pending = remaining.get(edge) ?? 0;
|
|
241
|
+
if (pending === 0) continue;
|
|
242
|
+
remaining.set(edge, pending - 1);
|
|
243
|
+
if (pending > 1) continue;
|
|
244
|
+
for (const target of Array.isArray(edge.to) ? edge.to : [edge.to]) {
|
|
245
|
+
if (reachable.has(target)) continue;
|
|
246
|
+
reachable.add(target);
|
|
247
|
+
queue.push(target);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
for (const edge of this.directEdges) {
|
|
251
|
+
const sources = Array.isArray(edge.from) ? edge.from : [edge.from];
|
|
252
|
+
if (sources.some((source) => reachable.has(source)) && !sources.every((source) => reachable.has(source))) throw new Error("entryAgentId cannot satisfy a grouped direct edge prerequisite");
|
|
253
|
+
}
|
|
254
|
+
return reachable;
|
|
255
|
+
}
|
|
186
256
|
validateEdgeAgents() {
|
|
187
257
|
const known = new Set(this.agentContexts.keys());
|
|
188
258
|
const unknown = /* @__PURE__ */ new Set();
|
|
@@ -341,6 +411,7 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
341
411
|
destination = destinations[0];
|
|
342
412
|
} else if (typeof result === "string") destination = result;
|
|
343
413
|
else destination = Array.isArray(result) ? result[0] : destinations[0];
|
|
414
|
+
if (!destinations.includes(destination)) throw new Error(`Conditional handoff selected undeclared destination "${destination}"`);
|
|
344
415
|
const handoffInstructions = getHandoffInstructions(input, promptKey, hasHandoffInput);
|
|
345
416
|
let content = `Conditionally transferred to ${destination}`;
|
|
346
417
|
if (handoffInstructions !== null) content += `\n\n${formatHandoffPromptLabel(promptKey)}: ${handoffInstructions}`;
|
|
@@ -356,7 +427,15 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
356
427
|
});
|
|
357
428
|
return new _langchain_langgraph.Command({
|
|
358
429
|
goto: destination,
|
|
359
|
-
update: {
|
|
430
|
+
update: {
|
|
431
|
+
messages: state.messages.concat(toolMessage),
|
|
432
|
+
handoffRequest: {
|
|
433
|
+
sourceAgentId,
|
|
434
|
+
targetAgentId: destination,
|
|
435
|
+
toolCallId,
|
|
436
|
+
scope: edge.handoffScope ?? "turn"
|
|
437
|
+
}
|
|
438
|
+
},
|
|
360
439
|
graph: _langchain_langgraph.Command.PARENT
|
|
361
440
|
});
|
|
362
441
|
}, {
|
|
@@ -426,7 +505,15 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
426
505
|
} else filteredMessages = messages.concat(toolMessage);
|
|
427
506
|
return new _langchain_langgraph.Command({
|
|
428
507
|
goto: destination,
|
|
429
|
-
update: {
|
|
508
|
+
update: {
|
|
509
|
+
messages: filteredMessages,
|
|
510
|
+
handoffRequest: {
|
|
511
|
+
sourceAgentId,
|
|
512
|
+
targetAgentId: destination,
|
|
513
|
+
toolCallId,
|
|
514
|
+
scope: edge.handoffScope ?? "turn"
|
|
515
|
+
}
|
|
516
|
+
},
|
|
430
517
|
graph: _langchain_langgraph.Command.PARENT
|
|
431
518
|
});
|
|
432
519
|
}, {
|
|
@@ -579,7 +666,8 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
579
666
|
reducer: (_current, update) => update,
|
|
580
667
|
default: () => void 0
|
|
581
668
|
}),
|
|
582
|
-
runStepState: this.createRunStepStateAnnotation()
|
|
669
|
+
runStepState: this.createRunStepStateAnnotation(),
|
|
670
|
+
handoffState: require_handoff.handoffStateAnnotation()
|
|
583
671
|
}));
|
|
584
672
|
const addDirectEdge = (sources, destination) => {
|
|
585
673
|
if (sources.length === 0) return;
|
|
@@ -587,9 +675,12 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
587
675
|
builder.addEdge(source, destination);
|
|
588
676
|
};
|
|
589
677
|
const summarizeOnlyAgentId = this.summarizeOnlyAgentId;
|
|
590
|
-
const agentIds = summarizeOnlyAgentId != null ? [summarizeOnlyAgentId] : [...this.agentContexts.keys()];
|
|
678
|
+
const agentIds = summarizeOnlyAgentId != null ? [summarizeOnlyAgentId] : [...this.reachableAgentIds ?? this.agentContexts.keys()];
|
|
591
679
|
const handoffEdges = summarizeOnlyAgentId != null ? [] : this.handoffEdges;
|
|
592
|
-
const directEdges = summarizeOnlyAgentId != null ? [] : this.directEdges
|
|
680
|
+
const directEdges = summarizeOnlyAgentId != null ? [] : this.directEdges.filter((edge) => {
|
|
681
|
+
if (this.reachableAgentIds == null) return true;
|
|
682
|
+
return (Array.isArray(edge.from) ? edge.from : [edge.from]).every((id) => this.reachableAgentIds.has(id));
|
|
683
|
+
});
|
|
593
684
|
for (const agentId of agentIds) {
|
|
594
685
|
const handoffDestinations = /* @__PURE__ */ new Set();
|
|
595
686
|
const directDestinations = /* @__PURE__ */ new Set();
|
|
@@ -602,6 +693,7 @@ var MultiAgentGraph = class extends require_Graph.StandardGraph {
|
|
|
602
693
|
if (handoffDestinations.size > 0 || directDestinations.size === 0) allDestinations.add(_langchain_langgraph.END);
|
|
603
694
|
const agentSubgraph = this.createAgentSubgraph(agentId);
|
|
604
695
|
const agentWrapper = async (state, config) => {
|
|
696
|
+
this.handoffRouting?.restore(state.handoffState);
|
|
605
697
|
let result;
|
|
606
698
|
let inputMessages = state.messages;
|
|
607
699
|
const agentContext = this.agentContexts.get(agentId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiAgentGraph.cjs","names":["stampSyntheticProviderMessage","HumanMessage","inspectProviderSourceMessageIds","inspectProviderMessageProvenance","hasBijectiveProviderContentPartMapping","StandardGraph","MULTI_AGENT_GRAPH_RUN_NAME","ToolMessage","Command","aiMsg","AIMessage","HARD_MAX_TOOL_RESULT_CHARS","calculateMaxToolResultChars","serializeToolContentBounded","StateGraph","Annotation","END","withInstructionlessHandoffCue","START","PromptTemplate"],"sources":["../../../src/graphs/MultiAgentGraph.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiAgentGraph.cjs","names":["stampSyntheticProviderMessage","HumanMessage","inspectProviderSourceMessageIds","inspectProviderMessageProvenance","hasBijectiveProviderContentPartMapping","StandardGraph","MULTI_AGENT_GRAPH_RUN_NAME","HandoffRouting","ToolMessage","Command","aiMsg","AIMessage","HARD_MAX_TOOL_RESULT_CHARS","calculateMaxToolResultChars","serializeToolContentBounded","StateGraph","Annotation","handoffStateAnnotation","END","withInstructionlessHandoffCue","START","PromptTemplate"],"sources":["../../../src/graphs/MultiAgentGraph.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
const require_streamLimits = require("../llm/streamLimits.cjs");
|
|
2
|
+
const require_acceptedToolArguments = require("../utils/acceptedToolArguments.cjs");
|
|
3
|
+
let node_util = require("node:util");
|
|
4
|
+
//#region src/graphs/acceptedModelResponse.ts
|
|
5
|
+
const MAX_SNAPSHOT_BYTES = 4 * 1024 * 1024;
|
|
6
|
+
const MAX_SNAPSHOT_CALLS = 1024;
|
|
7
|
+
var InvalidModelToolCallError = class extends Error {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.name = "InvalidModelToolCallError";
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
function detachValidatedModelToolCalls(message, partial = false) {
|
|
14
|
+
try {
|
|
15
|
+
const toolCalls = snapshotToolCalls(message, true, partial);
|
|
16
|
+
const chunks = snapshotToolRecords(message, "tool_call_chunks");
|
|
17
|
+
const invalid = snapshotToolRecords(message, "invalid_tool_calls");
|
|
18
|
+
Object.defineProperties(message, {
|
|
19
|
+
tool_calls: {
|
|
20
|
+
value: toolCalls,
|
|
21
|
+
enumerable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
configurable: true
|
|
24
|
+
},
|
|
25
|
+
tool_call_chunks: {
|
|
26
|
+
value: chunks,
|
|
27
|
+
enumerable: true,
|
|
28
|
+
writable: true,
|
|
29
|
+
configurable: true
|
|
30
|
+
},
|
|
31
|
+
invalid_tool_calls: {
|
|
32
|
+
value: invalid,
|
|
33
|
+
enumerable: true,
|
|
34
|
+
writable: true,
|
|
35
|
+
configurable: true
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
} catch (error) {
|
|
39
|
+
throw new InvalidModelToolCallError(error instanceof Error ? error.message : "Accepted model response contains non-serializable tool calls");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function snapshotToolCalls(finalResponse, allowInvalidDiagnostics, allowFragmentArgs = false) {
|
|
43
|
+
if (node_util.types.isProxy(finalResponse)) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
44
|
+
const calls = Object.getOwnPropertyDescriptor(finalResponse, "tool_calls");
|
|
45
|
+
const diagnostics = Object.getOwnPropertyDescriptor(finalResponse, "invalid_tool_calls");
|
|
46
|
+
const readArray = (descriptor) => {
|
|
47
|
+
if (descriptor === void 0) return [];
|
|
48
|
+
if (!("value" in descriptor)) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
49
|
+
const value = descriptor.value;
|
|
50
|
+
if (value === void 0) return [];
|
|
51
|
+
if (node_util.types.isProxy(value) || !Array.isArray(value)) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
52
|
+
return value;
|
|
53
|
+
};
|
|
54
|
+
if (readArray(diagnostics).length > 0 && !allowInvalidDiagnostics) throw new Error("Accepted model response contains invalid tool calls");
|
|
55
|
+
const source = readArray(calls);
|
|
56
|
+
if (!allowInvalidDiagnostics && source.length > MAX_SNAPSHOT_CALLS) throw new Error("Accepted model response exceeds snapshot limits");
|
|
57
|
+
const toolCalls = [];
|
|
58
|
+
let remaining = allowInvalidDiagnostics ? Infinity : MAX_SNAPSHOT_BYTES;
|
|
59
|
+
for (let index = 0; index < source.length; index++) {
|
|
60
|
+
const entry = Object.getOwnPropertyDescriptor(source, String(index));
|
|
61
|
+
if (entry == null || !("value" in entry) || entry.enumerable !== true) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
62
|
+
const call = entry.value;
|
|
63
|
+
if (call == null || typeof call !== "object" || node_util.types.isProxy(call)) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
64
|
+
const name = Object.getOwnPropertyDescriptor(call, "name");
|
|
65
|
+
const originalId = Object.getOwnPropertyDescriptor(call, "id");
|
|
66
|
+
const originalArgs = Object.getOwnPropertyDescriptor(call, "args");
|
|
67
|
+
if (name == null || !("value" in name) || typeof name.value !== "string" || originalArgs == null || !("value" in originalArgs) || originalId != null && !("value" in originalId)) throw new Error("Accepted model response contains non-serializable tool calls");
|
|
68
|
+
const providerId = originalId?.value;
|
|
69
|
+
if (providerId !== void 0 && typeof providerId !== "string") throw new Error("Accepted model response contains non-serializable tool calls");
|
|
70
|
+
let args;
|
|
71
|
+
if (allowInvalidDiagnostics) args = allowFragmentArgs && typeof originalArgs.value === "string" ? originalArgs.value : require_acceptedToolArguments.cloneToolArguments(originalArgs.value);
|
|
72
|
+
else {
|
|
73
|
+
remaining -= Buffer.byteLength(name.value, "utf8") + (typeof providerId === "string" ? Buffer.byteLength(providerId, "utf8") : 0);
|
|
74
|
+
const encoded = require_acceptedToolArguments.serializeToolArguments(originalArgs.value, remaining);
|
|
75
|
+
remaining -= Buffer.byteLength(encoded, "utf8");
|
|
76
|
+
args = JSON.parse(encoded);
|
|
77
|
+
}
|
|
78
|
+
toolCalls.push({
|
|
79
|
+
name: name.value,
|
|
80
|
+
id: providerId,
|
|
81
|
+
args,
|
|
82
|
+
type: "tool_call"
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
return toolCalls;
|
|
86
|
+
}
|
|
87
|
+
function snapshotAcceptedModelResponse(finalResponse, id, agentId, providerExecutedIds, clientDelegatedToolNames) {
|
|
88
|
+
const toolCalls = snapshotToolCalls(finalResponse, false);
|
|
89
|
+
const hasClientCall = toolCalls.some((call) => clientDelegatedToolNames?.has(call.name) === true);
|
|
90
|
+
if (hasClientCall && (toolCalls.some((call) => clientDelegatedToolNames?.has(call.name) !== true || call.id != null && providerExecutedIds?.has(call.id) === true) || (finalResponse.invalid_tool_calls?.length ?? 0) > 0)) throw new InvalidModelToolCallError("Mixed client and graph-owned tool calls require separate model turns");
|
|
91
|
+
return {
|
|
92
|
+
type: "model_response",
|
|
93
|
+
id,
|
|
94
|
+
agentId,
|
|
95
|
+
...finalResponse.id != null ? { messageId: finalResponse.id } : {},
|
|
96
|
+
toolCalls,
|
|
97
|
+
toolCallDispositions: toolCalls.map((call) => {
|
|
98
|
+
if (hasClientCall) return "client";
|
|
99
|
+
return call.id != null && providerExecutedIds?.has(call.id) === true ? "provider" : "sdk";
|
|
100
|
+
}),
|
|
101
|
+
invalidToolCalls: []
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
function snapshotToolRecords(message, field) {
|
|
105
|
+
function invalid() {
|
|
106
|
+
throw new Error("Accepted model response contains non-serializable tool calls");
|
|
107
|
+
}
|
|
108
|
+
const descriptor = Object.getOwnPropertyDescriptor(message, field);
|
|
109
|
+
if (descriptor == null) return [];
|
|
110
|
+
if (!("value" in descriptor)) invalid();
|
|
111
|
+
const source = descriptor.value;
|
|
112
|
+
if (source === void 0) return [];
|
|
113
|
+
if (source == null || node_util.types.isProxy(source) || !Array.isArray(source)) invalid();
|
|
114
|
+
const result = [];
|
|
115
|
+
for (let index = 0; index < source.length; index++) {
|
|
116
|
+
const entry = Object.getOwnPropertyDescriptor(source, String(index));
|
|
117
|
+
if (entry == null || !("value" in entry)) invalid();
|
|
118
|
+
const record = entry.value;
|
|
119
|
+
if (record == null || typeof record !== "object" || node_util.types.isProxy(record)) invalid();
|
|
120
|
+
const copy = {};
|
|
121
|
+
for (const key of Reflect.ownKeys(record)) {
|
|
122
|
+
if (typeof key !== "string") invalid();
|
|
123
|
+
const property = Object.getOwnPropertyDescriptor(record, key);
|
|
124
|
+
if (property == null || !("value" in property)) invalid();
|
|
125
|
+
const value = property.value;
|
|
126
|
+
if (value != null && (key === "index" ? typeof value !== "number" || !Number.isSafeInteger(value) || value < 0 : typeof value !== "string")) invalid();
|
|
127
|
+
Object.defineProperty(copy, key, {
|
|
128
|
+
value,
|
|
129
|
+
enumerable: true,
|
|
130
|
+
writable: true,
|
|
131
|
+
configurable: true
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
result.push(copy);
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
function snapshotValidatedModelChunk(message, partial = true) {
|
|
139
|
+
if (node_util.types.isProxy(message)) throw new InvalidModelToolCallError("Accepted model response contains non-serializable tool calls");
|
|
140
|
+
const descriptors = Object.getOwnPropertyDescriptors(message);
|
|
141
|
+
for (const descriptor of Object.values(descriptors)) {
|
|
142
|
+
descriptor.configurable = true;
|
|
143
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
144
|
+
}
|
|
145
|
+
const kwargs = descriptors.lc_kwargs;
|
|
146
|
+
if (Object.hasOwn(descriptors, "lc_kwargs") && "value" in kwargs) {
|
|
147
|
+
const value = kwargs.value;
|
|
148
|
+
if (value === null || typeof value !== "object" || node_util.types.isProxy(value)) throw new InvalidModelToolCallError("Invalid model response metadata");
|
|
149
|
+
const fields = Object.getOwnPropertyDescriptors(value);
|
|
150
|
+
for (const field of Object.values(fields)) {
|
|
151
|
+
if (!("value" in field)) throw new InvalidModelToolCallError("Invalid model response metadata");
|
|
152
|
+
field.configurable = true;
|
|
153
|
+
field.writable = true;
|
|
154
|
+
}
|
|
155
|
+
kwargs.value = Object.create(Object.getPrototypeOf(value), fields);
|
|
156
|
+
}
|
|
157
|
+
const copy = Object.create(Object.getPrototypeOf(message), descriptors);
|
|
158
|
+
detachValidatedModelToolCalls(copy, partial);
|
|
159
|
+
if (partial) require_streamLimits.linkStreamLimitCanonical(copy, message);
|
|
160
|
+
return copy;
|
|
161
|
+
}
|
|
162
|
+
//#endregion
|
|
163
|
+
exports.InvalidModelToolCallError = InvalidModelToolCallError;
|
|
164
|
+
exports.detachValidatedModelToolCalls = detachValidatedModelToolCalls;
|
|
165
|
+
exports.snapshotAcceptedModelResponse = snapshotAcceptedModelResponse;
|
|
166
|
+
exports.snapshotValidatedModelChunk = snapshotValidatedModelChunk;
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=acceptedModelResponse.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acceptedModelResponse.cjs","names":["types","cloneToolArguments","serializeToolArguments"],"sources":["../../../src/graphs/acceptedModelResponse.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
let nanoid = require("nanoid");
|
|
2
|
+
let _langchain_langgraph = require("@langchain/langgraph");
|
|
3
|
+
//#region src/graphs/handoff.ts
|
|
4
|
+
function isSupportedVersion(version) {
|
|
5
|
+
return version === 1;
|
|
6
|
+
}
|
|
7
|
+
function isSend(value) {
|
|
8
|
+
return typeof value !== "string" && value.lg_name === "Send";
|
|
9
|
+
}
|
|
10
|
+
function sameTransition(a, b) {
|
|
11
|
+
return a.id === b.id && a.sourceAgentId === b.sourceAgentId && a.targetAgentId === b.targetAgentId && a.toolCallId === b.toolCallId && a.scope === b.scope && a.depth === b.depth;
|
|
12
|
+
}
|
|
13
|
+
function mergeHandoffState(current, update) {
|
|
14
|
+
if (update == null) return current;
|
|
15
|
+
if (current == null) return update;
|
|
16
|
+
if (current.executionId !== update.executionId) throw new Error("Cannot merge handoffs from different logical turns");
|
|
17
|
+
if (current.entryAgentId !== update.entryAgentId || current.maxHandoffs !== update.maxHandoffs) throw new Error("Conflicting handoff checkpoint configuration");
|
|
18
|
+
const transitions = new Map(current.transitions.map((item) => [item.id, item]));
|
|
19
|
+
for (const transition of update.transitions) {
|
|
20
|
+
const existing = transitions.get(transition.id);
|
|
21
|
+
if (existing != null && !sameTransition(existing, transition)) throw new Error("Conflicting replayed handoff transition");
|
|
22
|
+
transitions.set(transition.id, transition);
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
...current,
|
|
26
|
+
parallel: current.parallel || update.parallel,
|
|
27
|
+
historyComplete: current.historyComplete !== false && update.historyComplete !== false,
|
|
28
|
+
transitions: [...transitions.values()].sort((a, b) => a.depth - b.depth || a.id.localeCompare(b.id))
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
function handoffStateAnnotation() {
|
|
32
|
+
return (0, _langchain_langgraph.Annotation)({
|
|
33
|
+
reducer: mergeHandoffState,
|
|
34
|
+
default: () => void 0
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
var HandoffLimitError = class extends Error {
|
|
38
|
+
limit;
|
|
39
|
+
constructor(limit) {
|
|
40
|
+
super(`Agent handoff limit (${limit}) reached`);
|
|
41
|
+
this.limit = limit;
|
|
42
|
+
this.name = "HandoffLimitError";
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var HandoffRouting = class {
|
|
46
|
+
entryAgentId;
|
|
47
|
+
maxHandoffs;
|
|
48
|
+
parallel;
|
|
49
|
+
state;
|
|
50
|
+
constructor(entryAgentId, maxHandoffs, parallel) {
|
|
51
|
+
this.entryAgentId = entryAgentId;
|
|
52
|
+
this.maxHandoffs = maxHandoffs;
|
|
53
|
+
this.parallel = parallel;
|
|
54
|
+
this.state = this.freshState();
|
|
55
|
+
}
|
|
56
|
+
freshState() {
|
|
57
|
+
return {
|
|
58
|
+
version: 1,
|
|
59
|
+
executionId: (0, nanoid.nanoid)(),
|
|
60
|
+
entryAgentId: this.entryAgentId,
|
|
61
|
+
...this.maxHandoffs == null ? {} : { maxHandoffs: this.maxHandoffs },
|
|
62
|
+
transitions: [],
|
|
63
|
+
parallel: this.parallel
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
start() {
|
|
67
|
+
this.state = this.freshState();
|
|
68
|
+
return this.snapshot();
|
|
69
|
+
}
|
|
70
|
+
resume(state) {
|
|
71
|
+
if (state != null) {
|
|
72
|
+
this.restore(state);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
if (this.maxHandoffs != null) throw new Error("Cannot enforce a handoff budget on a legacy checkpoint without routing state");
|
|
76
|
+
this.state = {
|
|
77
|
+
...this.state,
|
|
78
|
+
historyComplete: false
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
restore(state) {
|
|
82
|
+
if (state == null) return;
|
|
83
|
+
if (!isSupportedVersion(state.version)) throw new Error("Unsupported handoff checkpoint version");
|
|
84
|
+
if (state.entryAgentId !== this.entryAgentId || state.maxHandoffs !== this.maxHandoffs) throw new Error("Cannot resume with a different handoff entry or budget");
|
|
85
|
+
if (this.state.executionId !== state.executionId) {
|
|
86
|
+
if (this.state.transitions.length > 0) throw new Error("Cannot resume a different handoff execution");
|
|
87
|
+
this.state = {
|
|
88
|
+
...state,
|
|
89
|
+
transitions: state.transitions.map((item) => ({ ...item }))
|
|
90
|
+
};
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.state = mergeHandoffState(this.state, state);
|
|
94
|
+
}
|
|
95
|
+
snapshot() {
|
|
96
|
+
return {
|
|
97
|
+
...this.state,
|
|
98
|
+
transitions: this.state.transitions.map((item) => ({ ...item }))
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
finalize(commands, input, config) {
|
|
102
|
+
this.restore(input.handoffState);
|
|
103
|
+
const updates = [];
|
|
104
|
+
let parallel = this.state.parallel;
|
|
105
|
+
for (const command of commands) {
|
|
106
|
+
if (command.graph !== _langchain_langgraph.Command.PARENT) continue;
|
|
107
|
+
const sends = Array.isArray(command.goto) ? command.goto.filter(isSend) : [];
|
|
108
|
+
parallel ||= sends.length > 1;
|
|
109
|
+
if (sends.length > 0) for (const send of sends) updates.push(send.args);
|
|
110
|
+
else if (command.update != null) updates.push(command.update);
|
|
111
|
+
}
|
|
112
|
+
const accepted = new Map(this.state.transitions.map((item) => [item.id, item]));
|
|
113
|
+
const requests = updates.filter((update) => update.handoffRequest != null);
|
|
114
|
+
if (requests.length === 0) return;
|
|
115
|
+
const depth = input.handoffState?.transitions.length ?? this.state.transitions.length;
|
|
116
|
+
const lastMessage = input.messages.at(-1);
|
|
117
|
+
for (const update of requests) {
|
|
118
|
+
const request = update.handoffRequest;
|
|
119
|
+
const id = JSON.stringify([
|
|
120
|
+
this.state.executionId,
|
|
121
|
+
config.configurable?.checkpoint_ns ?? "",
|
|
122
|
+
request.sourceAgentId,
|
|
123
|
+
lastMessage?.id ?? input.messages.length,
|
|
124
|
+
request.toolCallId
|
|
125
|
+
]);
|
|
126
|
+
const transition = {
|
|
127
|
+
...request,
|
|
128
|
+
id,
|
|
129
|
+
depth
|
|
130
|
+
};
|
|
131
|
+
const existing = accepted.get(id);
|
|
132
|
+
if (existing != null && (existing.targetAgentId !== transition.targetAgentId || existing.scope !== transition.scope)) throw new Error("Handoff replay changed its destination or scope");
|
|
133
|
+
accepted.set(id, existing ?? transition);
|
|
134
|
+
}
|
|
135
|
+
if (this.maxHandoffs != null && accepted.size > this.maxHandoffs) throw new HandoffLimitError(this.maxHandoffs);
|
|
136
|
+
this.state = {
|
|
137
|
+
...this.state,
|
|
138
|
+
transitions: [...accepted.values()],
|
|
139
|
+
parallel
|
|
140
|
+
};
|
|
141
|
+
for (const update of requests) delete update.handoffRequest;
|
|
142
|
+
for (const command of commands) {
|
|
143
|
+
if (command.graph !== _langchain_langgraph.Command.PARENT) continue;
|
|
144
|
+
command.update = {
|
|
145
|
+
...command.update,
|
|
146
|
+
handoffState: this.snapshot()
|
|
147
|
+
};
|
|
148
|
+
if (!Array.isArray(command.goto)) continue;
|
|
149
|
+
command.goto = command.goto.map((destination) => isSend(destination) ? new _langchain_langgraph.Send(destination.node, {
|
|
150
|
+
...destination.args,
|
|
151
|
+
handoffState: this.snapshot()
|
|
152
|
+
}) : destination);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
outcome(reason) {
|
|
156
|
+
const state = this.snapshot();
|
|
157
|
+
const base = {
|
|
158
|
+
executionId: state.executionId,
|
|
159
|
+
entryAgentId: state.entryAgentId,
|
|
160
|
+
transitions: state.transitions
|
|
161
|
+
};
|
|
162
|
+
if (reason != null) return {
|
|
163
|
+
...base,
|
|
164
|
+
status: "incomplete",
|
|
165
|
+
reason
|
|
166
|
+
};
|
|
167
|
+
if (state.historyComplete === false) return {
|
|
168
|
+
...base,
|
|
169
|
+
status: "incomplete",
|
|
170
|
+
reason: "legacy_checkpoint"
|
|
171
|
+
};
|
|
172
|
+
const persistent = state.transitions.filter((item) => item.scope === "conversation");
|
|
173
|
+
if (persistent.length === 0) return {
|
|
174
|
+
...base,
|
|
175
|
+
status: "unchanged"
|
|
176
|
+
};
|
|
177
|
+
if (state.parallel) return {
|
|
178
|
+
...base,
|
|
179
|
+
status: "ambiguous"
|
|
180
|
+
};
|
|
181
|
+
const last = persistent.reduce((a, b) => a.depth > b.depth ? a : b);
|
|
182
|
+
return {
|
|
183
|
+
...base,
|
|
184
|
+
status: "candidate",
|
|
185
|
+
agentId: last.targetAgentId,
|
|
186
|
+
transitionId: last.id
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
//#endregion
|
|
191
|
+
exports.HandoffLimitError = HandoffLimitError;
|
|
192
|
+
exports.HandoffRouting = HandoffRouting;
|
|
193
|
+
exports.handoffStateAnnotation = handoffStateAnnotation;
|
|
194
|
+
|
|
195
|
+
//# sourceMappingURL=handoff.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handoff.cjs","names":["Command","Send"],"sources":["../../../src/graphs/handoff.ts"],"mappings":"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"}
|