@librechat/agents 3.2.46 → 3.2.52

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.
Files changed (57) hide show
  1. package/dist/cjs/graphs/MultiAgentGraph.cjs +6 -6
  2. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  3. package/dist/cjs/llm/anthropic/index.cjs +4 -3
  4. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  5. package/dist/cjs/llm/anthropic/utils/tools.cjs +2 -1
  6. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
  7. package/dist/cjs/llm/bedrock/cachePoints.cjs +28 -0
  8. package/dist/cjs/llm/bedrock/cachePoints.cjs.map +1 -0
  9. package/dist/cjs/llm/bedrock/index.cjs +10 -1
  10. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  11. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  12. package/dist/cjs/run.cjs +21 -3
  13. package/dist/cjs/run.cjs.map +1 -1
  14. package/dist/cjs/tools/ToolNode.cjs +26 -5
  15. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  16. package/dist/esm/graphs/MultiAgentGraph.mjs +7 -7
  17. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  18. package/dist/esm/llm/anthropic/index.mjs +4 -3
  19. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  20. package/dist/esm/llm/anthropic/utils/tools.mjs +2 -1
  21. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
  22. package/dist/esm/llm/bedrock/cachePoints.mjs +28 -0
  23. package/dist/esm/llm/bedrock/cachePoints.mjs.map +1 -0
  24. package/dist/esm/llm/bedrock/index.mjs +10 -1
  25. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  26. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  27. package/dist/esm/run.mjs +21 -3
  28. package/dist/esm/run.mjs.map +1 -1
  29. package/dist/esm/tools/ToolNode.mjs +26 -5
  30. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  31. package/dist/types/llm/anthropic/utils/tools.d.ts +1 -1
  32. package/dist/types/llm/bedrock/cachePoints.d.ts +9 -0
  33. package/dist/types/run.d.ts +15 -1
  34. package/dist/types/tools/ToolNode.d.ts +9 -2
  35. package/package.json +16 -21
  36. package/src/graphs/MultiAgentGraph.ts +7 -12
  37. package/src/llm/anthropic/index.ts +13 -2
  38. package/src/llm/anthropic/inherited-content-utils.spec.ts +244 -0
  39. package/src/llm/anthropic/inherited-stream-events.spec.ts +752 -0
  40. package/src/llm/anthropic/inherited-strict.spec.ts +302 -0
  41. package/src/llm/anthropic/llm.spec.ts +65 -0
  42. package/src/llm/anthropic/utils/tools.ts +7 -1
  43. package/src/llm/bedrock/cachePoints.ts +86 -0
  44. package/src/llm/bedrock/index.ts +9 -0
  45. package/src/llm/bedrock/inherited-cache.spec.ts +144 -0
  46. package/src/llm/bedrock/inherited.spec.ts +724 -0
  47. package/src/llm/google/inherited-stream-events.spec.ts +350 -0
  48. package/src/llm/openai/inherited-deepseek.spec.ts +347 -0
  49. package/src/llm/openai/inherited-xai.spec.ts +416 -0
  50. package/src/llm/openai/llm.spec.ts +1568 -0
  51. package/src/llm/openrouter/index.ts +1 -3
  52. package/src/llm/vertexai/inherited-stream-events.spec.ts +271 -0
  53. package/src/run.ts +31 -3
  54. package/src/scripts/handoff-test.ts +5 -6
  55. package/src/tools/ToolNode.ts +43 -5
  56. package/src/tools/__tests__/ToolNode.runtimeState.test.ts +120 -0
  57. package/src/tools/__tests__/hitl.test.ts +162 -0
@@ -470,7 +470,7 @@ var ToolNode = class extends RunnableCallable {
470
470
  * substitutions. Omit when no registration should occur.
471
471
  */
472
472
  async runTool(call, config, batchContext = {}) {
473
- const { batchIndex, turn, batchScopeId, resolvedArgsByCallId, preBatchSnapshot } = batchContext;
473
+ const { batchIndex, turn, batchScopeId, resolvedArgsByCallId, preBatchSnapshot, runInput } = batchContext;
474
474
  const tool = this.toolMap.get(call.name);
475
475
  const registry = this.toolOutputRegistry;
476
476
  let resolveFn;
@@ -578,7 +578,24 @@ var ToolNode = class extends RunnableCallable {
578
578
  if (codeSession?.files != null && codeSession.files.length > 0) invokeParams._injected_files = codeSession.files.map((file) => toInjectedFileRef(file, execSessionId));
579
579
  }
580
580
  }
581
- const output = await tool.invoke(invokeParams, config);
581
+ /**
582
+ * Forward the graph state as langgraph 1.4's `runtime.state` so
583
+ * tools can read it off their second argument instead of the
584
+ * deprecated `getCurrentTaskInput()` (which relies on
585
+ * `node:async_hooks` and is browser-incompatible). Shape mirrors
586
+ * langgraph's prebuilt ToolNode runtime exactly.
587
+ */
588
+ const lgConfig = config;
589
+ const runtime = {
590
+ ...config,
591
+ state: runInput,
592
+ toolCallId: call.id ?? "",
593
+ config,
594
+ context: lgConfig.context,
595
+ store: lgConfig.store ?? null,
596
+ writer: lgConfig.writer ?? config.configurable?.writer ?? null
597
+ };
598
+ const output = await tool.invoke(invokeParams, runtime);
582
599
  if (isCommand(output)) return output;
583
600
  if (isBaseMessage(output) && output._getType() === "tool") {
584
601
  const toolMsg = output;
@@ -1924,12 +1941,14 @@ var ToolNode = class extends RunnableCallable {
1924
1941
  batchScopeId
1925
1942
  });
1926
1943
  const directAdditionalContexts = [];
1944
+ const { lg_tool_call: _sendToolCall, ...sendState } = input;
1927
1945
  const sendOutput = await this.runDirectToolWithLifecycleHooks(input.lg_tool_call, config, {
1928
1946
  batchIndex: 0,
1929
1947
  turn,
1930
1948
  batchScopeId,
1931
1949
  resolvedArgsByCallId,
1932
- additionalContextsSink: directAdditionalContexts
1950
+ additionalContextsSink: directAdditionalContexts,
1951
+ runInput: sendState
1933
1952
  });
1934
1953
  outputs = directAdditionalContexts.length > 0 ? [sendOutput, new HumanMessage({
1935
1954
  content: directAdditionalContexts.join("\n\n"),
@@ -2030,7 +2049,8 @@ var ToolNode = class extends RunnableCallable {
2030
2049
  batchScopeId,
2031
2050
  resolvedArgsByCallId,
2032
2051
  preBatchSnapshot,
2033
- additionalContextsSink: directAdditionalContexts
2052
+ additionalContextsSink: directAdditionalContexts,
2053
+ runInput: input
2034
2054
  }))) : [];
2035
2055
  if (directCalls.length > 0 && directOutputs.length > 0) await this.handleRunToolCompletions(directCalls, directOutputs, config, resolvedArgsByCallId);
2036
2056
  const eventResult = eventCalls.length > 0 ? await this.dispatchToolEvents(eventCalls, config, {
@@ -2065,7 +2085,8 @@ var ToolNode = class extends RunnableCallable {
2065
2085
  batchScopeId,
2066
2086
  resolvedArgsByCallId,
2067
2087
  preBatchSnapshot,
2068
- additionalContextsSink: directAdditionalContexts
2088
+ additionalContextsSink: directAdditionalContexts,
2089
+ runInput: input
2069
2090
  })));
2070
2091
  await this.handleRunToolCompletions(filteredCalls, toolOutputs, config, resolvedArgsByCallId);
2071
2092
  outputs = directAdditionalContexts.length > 0 ? [...toolOutputs, new HumanMessage({