@librechat/agents 3.2.64 → 3.2.66
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/graphs/Graph.cjs +18 -2
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/instrumentation.cjs +15 -3
- package/dist/cjs/instrumentation.cjs.map +1 -1
- package/dist/cjs/langfuseToolOutputTracing.cjs +1 -2
- package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
- package/dist/cjs/langfuseTraceShaping.cjs +51 -24
- package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/index.cjs +73 -9
- package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +49 -9
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +3 -1
- package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
- package/dist/cjs/llm/anthropic/utils/stream_events.cjs +337 -0
- package/dist/cjs/llm/anthropic/utils/stream_events.cjs.map +1 -0
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +8 -0
- package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
- package/dist/cjs/tools/BashExecutor.cjs +9 -8
- package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
- package/dist/cjs/tools/CodeExecutor.cjs +9 -7
- package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
- package/dist/cjs/tools/search/crw-scraper.cjs +165 -0
- package/dist/cjs/tools/search/crw-scraper.cjs.map +1 -0
- package/dist/cjs/tools/search/crw-search.cjs +105 -0
- package/dist/cjs/tools/search/crw-search.cjs.map +1 -0
- package/dist/cjs/tools/search/search.cjs +4 -2
- package/dist/cjs/tools/search/search.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs +15 -3
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +18 -2
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/instrumentation.mjs +15 -3
- package/dist/esm/instrumentation.mjs.map +1 -1
- package/dist/esm/langfuseToolOutputTracing.mjs +1 -2
- package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
- package/dist/esm/langfuseTraceShaping.mjs +51 -24
- package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
- package/dist/esm/llm/anthropic/index.mjs +73 -9
- package/dist/esm/llm/anthropic/index.mjs.map +1 -1
- package/dist/esm/llm/anthropic/types.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs +49 -9
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs +3 -2
- package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
- package/dist/esm/llm/anthropic/utils/stream_events.mjs +337 -0
- package/dist/esm/llm/anthropic/utils/stream_events.mjs.map +1 -0
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs +8 -0
- package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
- package/dist/esm/tools/BashExecutor.mjs +9 -8
- package/dist/esm/tools/BashExecutor.mjs.map +1 -1
- package/dist/esm/tools/CodeExecutor.mjs +9 -7
- package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
- package/dist/esm/tools/search/crw-scraper.mjs +163 -0
- package/dist/esm/tools/search/crw-scraper.mjs.map +1 -0
- package/dist/esm/tools/search/crw-search.mjs +103 -0
- package/dist/esm/tools/search/crw-search.mjs.map +1 -0
- package/dist/esm/tools/search/search.mjs +4 -2
- package/dist/esm/tools/search/search.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs +15 -3
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/types/graphs/Graph.d.ts +2 -0
- package/dist/types/langfuseTraceShaping.d.ts +12 -6
- package/dist/types/llm/anthropic/index.d.ts +2 -0
- package/dist/types/llm/anthropic/types.d.ts +2 -0
- package/dist/types/llm/anthropic/utils/message_outputs.d.ts +1 -2
- package/dist/types/llm/anthropic/utils/stream_events.d.ts +25 -0
- package/dist/types/tools/BashExecutor.d.ts +7 -6
- package/dist/types/tools/CodeExecutor.d.ts +7 -5
- package/dist/types/tools/search/crw-scraper.d.ts +41 -0
- package/dist/types/tools/search/crw-search.d.ts +4 -0
- package/dist/types/tools/search/types.d.ts +88 -3
- package/dist/types/types/graph.d.ts +10 -3
- package/package.json +1 -1
- package/src/graphs/Graph.ts +36 -3
- package/src/instrumentation.ts +20 -0
- package/src/langfuseToolOutputTracing.ts +2 -4
- package/src/langfuseTraceShaping.ts +73 -20
- package/src/llm/anthropic/index.ts +134 -10
- package/src/llm/anthropic/inherited-content-utils.spec.ts +10 -5
- package/src/llm/anthropic/inherited-stream-events.spec.ts +513 -9
- package/src/llm/anthropic/llm.spec.ts +100 -16
- package/src/llm/anthropic/types.ts +3 -0
- package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +110 -0
- package/src/llm/anthropic/utils/message_inputs.ts +75 -3
- package/src/llm/anthropic/utils/message_outputs.ts +10 -2
- package/src/llm/anthropic/utils/stream_events.ts +471 -0
- package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +122 -0
- package/src/llm/bedrock/utils/message_inputs.ts +13 -0
- package/src/specs/langfuse-instrumentation.test.ts +64 -0
- package/src/specs/langfuse-routing.integration.test.ts +49 -4
- package/src/specs/langfuse-tool-output-tracing.test.ts +5 -4
- package/src/specs/langfuse-trace-shaping.test.ts +80 -9
- package/src/specs/subagent.test.ts +180 -0
- package/src/tools/BashExecutor.ts +9 -8
- package/src/tools/CodeExecutor.ts +9 -7
- package/src/tools/__tests__/BashExecutor.test.ts +16 -5
- package/src/tools/__tests__/CodeExecutor.stateful.test.ts +17 -6
- package/src/tools/search/crw-scraper.ts +244 -0
- package/src/tools/search/crw-search.ts +167 -0
- package/src/tools/search/crw.test.ts +836 -0
- package/src/tools/search/search.ts +7 -1
- package/src/tools/search/tool.ts +23 -3
- package/src/tools/search/types.ts +103 -3
- package/src/types/graph.ts +10 -3
|
@@ -23,6 +23,7 @@ const require_graph = require("../utils/graph.cjs");
|
|
|
23
23
|
const require_llm = require("../utils/llm.cjs");
|
|
24
24
|
const require_handlers = require("../tools/handlers.cjs");
|
|
25
25
|
const require_toolOutputReferences = require("../tools/toolOutputReferences.cjs");
|
|
26
|
+
const require_events$1 = require("../events.cjs");
|
|
26
27
|
const require_run = require("../utils/run.cjs");
|
|
27
28
|
require("../utils/index.cjs");
|
|
28
29
|
const require_toolCache = require("../llm/openrouter/toolCache.cjs");
|
|
@@ -52,6 +53,13 @@ let nanoid = require("nanoid");
|
|
|
52
53
|
const { AGENT, TOOLS, SUMMARIZE } = require_enum.GraphNodeKeys;
|
|
53
54
|
/** Minimum relative variance before calibrated toolSchemaTokens overrides current value. */
|
|
54
55
|
const CALIBRATION_VARIANCE_THRESHOLD = .15;
|
|
56
|
+
function createToolHandlerRegistry(source) {
|
|
57
|
+
const toolHandler = source?.getHandler("on_tool_execute");
|
|
58
|
+
if (toolHandler == null) return;
|
|
59
|
+
const registry = new require_events$1.HandlerRegistry();
|
|
60
|
+
registry.register("on_tool_execute", toolHandler);
|
|
61
|
+
return registry;
|
|
62
|
+
}
|
|
55
63
|
/**
|
|
56
64
|
* Start index of the span post-prune formatters can mutate in place: the
|
|
57
65
|
* trailing tool batch plus its owning AI message (artifact formatting touches
|
|
@@ -242,6 +250,8 @@ var Graph = class {
|
|
|
242
250
|
/** Set of invoked tool call IDs from non-message run steps completed mid-run, if any */
|
|
243
251
|
invokedToolIds;
|
|
244
252
|
handlerRegistry;
|
|
253
|
+
/** Host registry retained only for forwarding tools from nested child graphs. */
|
|
254
|
+
parentToolHandlerRegistry;
|
|
245
255
|
/**
|
|
246
256
|
* True when event-driven tool execution can be routed through callbacks even
|
|
247
257
|
* though this graph intentionally does not own the full handler registry.
|
|
@@ -324,6 +334,7 @@ var Graph = class {
|
|
|
324
334
|
this.prelimMessageIdsByStepKey = /* @__PURE__ */ new Map();
|
|
325
335
|
this.invokedToolIds = void 0;
|
|
326
336
|
this.handlerRegistry = void 0;
|
|
337
|
+
this.parentToolHandlerRegistry = void 0;
|
|
327
338
|
this.hookRegistry = void 0;
|
|
328
339
|
this.humanInTheLoop = void 0;
|
|
329
340
|
this.toolOutputReferences = void 0;
|
|
@@ -602,10 +613,12 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
602
613
|
return keyList.some((key) => key === void 0);
|
|
603
614
|
}
|
|
604
615
|
getRunMessages() {
|
|
616
|
+
if (this.messages == null) return this.cachedRunMessages;
|
|
605
617
|
if (this.messages.length === 0 && this.cachedRunMessages != null) return this.cachedRunMessages;
|
|
606
618
|
return this.messages.slice(this.startIndex);
|
|
607
619
|
}
|
|
608
620
|
getContentParts() {
|
|
621
|
+
if (this.messages == null) return;
|
|
609
622
|
return require_core.convertMessagesToContent(this.messages.slice(this.startIndex));
|
|
610
623
|
}
|
|
611
624
|
getCalibrationRatio() {
|
|
@@ -622,6 +635,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
622
635
|
* Get all run steps, optionally filtered by agent ID
|
|
623
636
|
*/
|
|
624
637
|
getRunSteps(agentId) {
|
|
638
|
+
if (this.contentData == null) return [];
|
|
625
639
|
if (agentId == null || agentId === "") return [...this.contentData];
|
|
626
640
|
return this.contentData.filter((step) => step.agentId === agentId);
|
|
627
641
|
}
|
|
@@ -1240,7 +1254,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1240
1254
|
if (agentContext.subagentConfigs != null && agentContext.subagentConfigs.length > 0 && effectiveSubagentDepth > 0) {
|
|
1241
1255
|
const resolvedConfigs = require_SubagentExecutor.resolveSubagentConfigs(agentContext.subagentConfigs, agentContext);
|
|
1242
1256
|
if (resolvedConfigs.length > 0) {
|
|
1243
|
-
const getParentHandlerRegistry = () => this.handlerRegistry;
|
|
1257
|
+
const getParentHandlerRegistry = () => this.handlerRegistry ?? this.parentToolHandlerRegistry;
|
|
1244
1258
|
const executor = new require_SubagentExecutor.SubagentExecutor({
|
|
1245
1259
|
configs: new Map(resolvedConfigs.map((c) => [c.type, c])),
|
|
1246
1260
|
parentSignal: this.signal,
|
|
@@ -1257,6 +1271,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1257
1271
|
maxDepth: effectiveSubagentDepth,
|
|
1258
1272
|
createChildGraph: (input) => {
|
|
1259
1273
|
const childGraph = new StandardGraph(input);
|
|
1274
|
+
const toolHandlerRegistry = createToolHandlerRegistry(getParentHandlerRegistry());
|
|
1260
1275
|
childGraph.hookRegistry = this.hookRegistry;
|
|
1261
1276
|
/**
|
|
1262
1277
|
* Do not propagate `humanInTheLoop` into the child graph yet:
|
|
@@ -1269,7 +1284,8 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1269
1284
|
childGraph.codeSessionToolNames = this.codeSessionToolNames;
|
|
1270
1285
|
childGraph.interruptingToolNames = this.interruptingToolNames;
|
|
1271
1286
|
childGraph.toolExecution = this.toolExecution;
|
|
1272
|
-
childGraph.
|
|
1287
|
+
childGraph.parentToolHandlerRegistry = toolHandlerRegistry;
|
|
1288
|
+
childGraph.eventToolExecutionAvailable = toolHandlerRegistry != null;
|
|
1273
1289
|
return childGraph;
|
|
1274
1290
|
}
|
|
1275
1291
|
});
|