@librechat/agents 3.2.65 → 3.2.67
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 +15 -2
- package/dist/cjs/graphs/Graph.cjs.map +1 -1
- package/dist/cjs/hooks/createToolPolicyHook.cjs +5 -5
- package/dist/cjs/hooks/createToolPolicyHook.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/utils/message_inputs.cjs +8 -0
- package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
- 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/ToolSearch.cjs +59 -14
- package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
- package/dist/cjs/tools/search/tool.cjs +5 -3
- package/dist/cjs/tools/search/tool.cjs.map +1 -1
- package/dist/esm/graphs/Graph.mjs +15 -2
- package/dist/esm/graphs/Graph.mjs.map +1 -1
- package/dist/esm/hooks/createToolPolicyHook.mjs +5 -5
- package/dist/esm/hooks/createToolPolicyHook.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/utils/message_inputs.mjs +8 -0
- package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
- 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/ToolSearch.mjs +59 -14
- package/dist/esm/tools/ToolSearch.mjs.map +1 -1
- package/dist/esm/tools/search/tool.mjs +5 -3
- package/dist/esm/tools/search/tool.mjs.map +1 -1
- package/dist/types/graphs/Graph.d.ts +2 -0
- package/dist/types/hooks/createToolPolicyHook.d.ts +12 -15
- package/dist/types/langfuseTraceShaping.d.ts +12 -6
- package/dist/types/tools/BashExecutor.d.ts +7 -6
- package/dist/types/tools/CodeExecutor.d.ts +7 -5
- package/dist/types/tools/search/types.d.ts +2 -0
- package/dist/types/types/graph.d.ts +10 -3
- package/package.json +1 -1
- package/src/graphs/Graph.ts +21 -3
- package/src/hooks/__tests__/createToolPolicyHook.test.ts +13 -4
- package/src/hooks/createToolPolicyHook.ts +16 -19
- package/src/instrumentation.ts +20 -0
- package/src/langfuseToolOutputTracing.ts +2 -4
- package/src/langfuseTraceShaping.ts +73 -20
- package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +110 -0
- package/src/llm/anthropic/utils/message_inputs.ts +15 -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/ToolSearch.ts +81 -23
- package/src/tools/__tests__/BashExecutor.test.ts +16 -5
- package/src/tools/__tests__/CodeExecutor.stateful.test.ts +17 -6
- package/src/tools/__tests__/ToolSearch.test.ts +151 -0
- package/src/tools/__tests__/hitl.test.ts +114 -1
- package/src/tools/search/source-processing.test.ts +57 -0
- package/src/tools/search/tool.ts +13 -1
- package/src/tools/search/types.ts +2 -0
- 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;
|
|
@@ -1243,7 +1254,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1243
1254
|
if (agentContext.subagentConfigs != null && agentContext.subagentConfigs.length > 0 && effectiveSubagentDepth > 0) {
|
|
1244
1255
|
const resolvedConfigs = require_SubagentExecutor.resolveSubagentConfigs(agentContext.subagentConfigs, agentContext);
|
|
1245
1256
|
if (resolvedConfigs.length > 0) {
|
|
1246
|
-
const getParentHandlerRegistry = () => this.handlerRegistry;
|
|
1257
|
+
const getParentHandlerRegistry = () => this.handlerRegistry ?? this.parentToolHandlerRegistry;
|
|
1247
1258
|
const executor = new require_SubagentExecutor.SubagentExecutor({
|
|
1248
1259
|
configs: new Map(resolvedConfigs.map((c) => [c.type, c])),
|
|
1249
1260
|
parentSignal: this.signal,
|
|
@@ -1260,6 +1271,7 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1260
1271
|
maxDepth: effectiveSubagentDepth,
|
|
1261
1272
|
createChildGraph: (input) => {
|
|
1262
1273
|
const childGraph = new StandardGraph(input);
|
|
1274
|
+
const toolHandlerRegistry = createToolHandlerRegistry(getParentHandlerRegistry());
|
|
1263
1275
|
childGraph.hookRegistry = this.hookRegistry;
|
|
1264
1276
|
/**
|
|
1265
1277
|
* Do not propagate `humanInTheLoop` into the child graph yet:
|
|
@@ -1272,7 +1284,8 @@ var StandardGraph = class StandardGraph extends Graph {
|
|
|
1272
1284
|
childGraph.codeSessionToolNames = this.codeSessionToolNames;
|
|
1273
1285
|
childGraph.interruptingToolNames = this.interruptingToolNames;
|
|
1274
1286
|
childGraph.toolExecution = this.toolExecution;
|
|
1275
|
-
childGraph.
|
|
1287
|
+
childGraph.parentToolHandlerRegistry = toolHandlerRegistry;
|
|
1288
|
+
childGraph.eventToolExecutionAvailable = toolHandlerRegistry != null;
|
|
1276
1289
|
return childGraph;
|
|
1277
1290
|
}
|
|
1278
1291
|
});
|