@librechat/agents 3.3.5 → 3.3.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.
Files changed (127) hide show
  1. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +1 -1
  2. package/dist/cjs/llm/openai/index.cjs +51 -6
  3. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  4. package/dist/cjs/main.cjs +14 -0
  5. package/dist/cjs/session/JsonlSessionStore.cjs +1 -1
  6. package/dist/cjs/stream.cjs +6 -1
  7. package/dist/cjs/stream.cjs.map +1 -1
  8. package/dist/cjs/tools/BashExecutor.cjs +3 -1
  9. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  10. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +2 -0
  11. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  12. package/dist/cjs/tools/CodeExecutor.cjs +19 -16
  13. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  14. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +2 -0
  15. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  16. package/dist/cjs/tools/ReadFile.cjs +8 -4
  17. package/dist/cjs/tools/ReadFile.cjs.map +1 -1
  18. package/dist/cjs/tools/SkillTool.cjs +2 -0
  19. package/dist/cjs/tools/SkillTool.cjs.map +1 -1
  20. package/dist/cjs/tools/SubagentTool.cjs +3 -0
  21. package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
  22. package/dist/cjs/tools/ToolNode.cjs +88 -27
  23. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  24. package/dist/cjs/tools/ToolSearch.cjs +5 -1
  25. package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
  26. package/dist/cjs/tools/intentArg.cjs +230 -0
  27. package/dist/cjs/tools/intentArg.cjs.map +1 -0
  28. package/dist/cjs/tools/local/CompileCheckTool.cjs +3 -2
  29. package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
  30. package/dist/cjs/tools/local/LocalCodingTools.cjs +13 -12
  31. package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
  32. package/dist/cjs/tools/local/LocalExecutionEngine.cjs +2 -2
  33. package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
  34. package/dist/cjs/tools/search/schema.cjs +2 -0
  35. package/dist/cjs/tools/search/schema.cjs.map +1 -1
  36. package/dist/cjs/tools/search/tool.cjs +31 -1
  37. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  38. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +1 -0
  39. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  40. package/dist/cjs/tools/toolOutputReferences.cjs +41 -7
  41. package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
  42. package/dist/esm/hooks/createWorkspacePolicyHook.mjs +1 -1
  43. package/dist/esm/llm/openai/index.mjs +51 -6
  44. package/dist/esm/llm/openai/index.mjs.map +1 -1
  45. package/dist/esm/main.mjs +4 -3
  46. package/dist/esm/session/JsonlSessionStore.mjs +1 -1
  47. package/dist/esm/stream.mjs +6 -1
  48. package/dist/esm/stream.mjs.map +1 -1
  49. package/dist/esm/tools/BashExecutor.mjs +3 -1
  50. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  51. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +2 -0
  52. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  53. package/dist/esm/tools/CodeExecutor.mjs +19 -16
  54. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  55. package/dist/esm/tools/ProgrammaticToolCalling.mjs +2 -0
  56. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  57. package/dist/esm/tools/ReadFile.mjs +8 -4
  58. package/dist/esm/tools/ReadFile.mjs.map +1 -1
  59. package/dist/esm/tools/SkillTool.mjs +2 -0
  60. package/dist/esm/tools/SkillTool.mjs.map +1 -1
  61. package/dist/esm/tools/SubagentTool.mjs +3 -0
  62. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  63. package/dist/esm/tools/ToolNode.mjs +88 -28
  64. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  65. package/dist/esm/tools/ToolSearch.mjs +5 -1
  66. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  67. package/dist/esm/tools/intentArg.mjs +220 -0
  68. package/dist/esm/tools/intentArg.mjs.map +1 -0
  69. package/dist/esm/tools/local/CompileCheckTool.mjs +3 -2
  70. package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
  71. package/dist/esm/tools/local/LocalCodingTools.mjs +13 -12
  72. package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
  73. package/dist/esm/tools/local/LocalExecutionEngine.mjs +2 -2
  74. package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
  75. package/dist/esm/tools/search/schema.mjs +2 -0
  76. package/dist/esm/tools/search/schema.mjs.map +1 -1
  77. package/dist/esm/tools/search/tool.mjs +31 -2
  78. package/dist/esm/tools/search/tool.mjs.map +1 -1
  79. package/dist/esm/tools/subagent/SubagentExecutor.mjs +1 -0
  80. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  81. package/dist/esm/tools/toolOutputReferences.mjs +41 -7
  82. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
  83. package/dist/types/index.d.ts +1 -0
  84. package/dist/types/llm/openai/index.d.ts +0 -11
  85. package/dist/types/tools/BashExecutor.d.ts +18 -0
  86. package/dist/types/tools/CodeExecutor.d.ts +18 -0
  87. package/dist/types/tools/ReadFile.d.ts +18 -0
  88. package/dist/types/tools/SkillTool.d.ts +18 -0
  89. package/dist/types/tools/SubagentTool.d.ts +9 -0
  90. package/dist/types/tools/ToolNode.d.ts +37 -5
  91. package/dist/types/tools/ToolSearch.d.ts +18 -0
  92. package/dist/types/tools/intentArg.d.ts +119 -0
  93. package/dist/types/tools/ptcTimeout.d.ts +2 -0
  94. package/dist/types/tools/search/schema.d.ts +18 -0
  95. package/dist/types/tools/search/tool.d.ts +18 -0
  96. package/dist/types/tools/toolOutputReferences.d.ts +12 -2
  97. package/dist/types/types/stream.d.ts +12 -0
  98. package/dist/types/types/tools.d.ts +27 -2
  99. package/package.json +1 -1
  100. package/src/index.ts +1 -0
  101. package/src/llm/openai/index.ts +74 -10
  102. package/src/llm/openai/llm.spec.ts +105 -0
  103. package/src/stream.ts +12 -1
  104. package/src/tools/BashExecutor.ts +6 -0
  105. package/src/tools/BashProgrammaticToolCalling.ts +2 -0
  106. package/src/tools/CodeExecutor.ts +6 -0
  107. package/src/tools/ProgrammaticToolCalling.ts +2 -0
  108. package/src/tools/ReadFile.ts +2 -0
  109. package/src/tools/SkillTool.ts +2 -0
  110. package/src/tools/SubagentTool.ts +3 -0
  111. package/src/tools/ToolNode.ts +190 -43
  112. package/src/tools/ToolSearch.ts +3 -0
  113. package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +174 -0
  114. package/src/tools/__tests__/intentArg.test.ts +281 -0
  115. package/src/tools/__tests__/intentCoverage.test.ts +139 -0
  116. package/src/tools/__tests__/toolOutputReferences.test.ts +83 -0
  117. package/src/tools/intentArg.ts +323 -0
  118. package/src/tools/local/CompileCheckTool.ts +4 -3
  119. package/src/tools/local/LocalCodingTools.ts +14 -13
  120. package/src/tools/ptcTimeout.ts +2 -0
  121. package/src/tools/search/outcome.test.ts +90 -0
  122. package/src/tools/search/schema.ts +3 -0
  123. package/src/tools/search/tool.ts +47 -1
  124. package/src/tools/subagent/SubagentExecutor.ts +2 -1
  125. package/src/tools/toolOutputReferences.ts +77 -9
  126. package/src/types/stream.ts +12 -0
  127. package/src/types/tools.ts +24 -2
package/dist/cjs/main.cjs CHANGED
@@ -26,6 +26,7 @@ require("./messages/index.cjs");
26
26
  const require_graph = require("./utils/graph.cjs");
27
27
  const require_llm = require("./utils/llm.cjs");
28
28
  const require_handlers = require("./tools/handlers.cjs");
29
+ const require_intentArg = require("./tools/intentArg.cjs");
29
30
  const require_stream = require("./stream.cjs");
30
31
  const require_events = require("./events.cjs");
31
32
  const require_handlers$1 = require("./utils/handlers.cjs");
@@ -219,6 +220,9 @@ Object.defineProperty(exports, "HumanMessage", {
219
220
  }
220
221
  });
221
222
  exports.IMAGE_TOKEN_SAFETY_MARGIN = require_tokens.IMAGE_TOKEN_SAFETY_MARGIN;
223
+ exports.INTENT_ARG = require_intentArg.INTENT_ARG;
224
+ exports.INTENT_DESCRIPTION = require_intentArg.INTENT_DESCRIPTION;
225
+ exports.INTENT_PROPERTY = require_intentArg.INTENT_PROPERTY;
222
226
  Object.defineProperty(exports, "INTERRUPT", {
223
227
  enumerable: true,
224
228
  get: function() {
@@ -367,6 +371,7 @@ exports.appendPredecessorHandoffCue = require_handoffCue.appendPredecessorHandof
367
371
  exports.appendTmpScratchReminder = require_CodeExecutor.appendTmpScratchReminder;
368
372
  exports.applyContextPruning = require_contextPruning.applyContextPruning;
369
373
  exports.applyEdit = require_editStrategies.applyEdit;
374
+ exports.applyOutcome = require_intentArg.applyOutcome;
370
375
  exports.applyPreToolUseHooksForBridge = require_LocalProgrammaticToolCalling.applyPreToolUseHooksForBridge;
371
376
  exports.apportionTokenCounts = require_tokens.apportionTokenCounts;
372
377
  exports.askUserQuestion = require_askUserQuestion.askUserQuestion;
@@ -446,6 +451,7 @@ exports.createSchemaOnlyTools = require_schema$1.createSchemaOnlyTools;
446
451
  exports.createSearchTool = require_tool.createSearchTool;
447
452
  exports.createSubagentToolDefinition = require_SubagentTool.createSubagentToolDefinition;
448
453
  exports.createTokenCounter = require_tokens.createTokenCounter;
454
+ exports.createToolErrorOwnership = require_ToolNode.createToolErrorOwnership;
449
455
  exports.createToolPolicyHook = require_createToolPolicyHook.createToolPolicyHook;
450
456
  exports.createToolSearch = require_ToolSearch.createToolSearch;
451
457
  exports.createWorkspacePolicyHook = require_createWorkspacePolicyHook.createWorkspacePolicyHook;
@@ -560,6 +566,7 @@ exports.isDangerousPattern = require_ToolSearch.isDangerousPattern;
560
566
  exports.isFromAnyMcpServer = require_ToolSearch.isFromAnyMcpServer;
561
567
  exports.isFromMcpServer = require_ToolSearch.isFromMcpServer;
562
568
  exports.isGoogleLike = require_llm.isGoogleLike;
569
+ exports.isIntentLabelProperty = require_intentArg.isIntentLabelProperty;
563
570
  Object.defineProperty(exports, "isInterrupted", {
564
571
  enumerable: true,
565
572
  get: function() {
@@ -594,6 +601,7 @@ exports.normalizeCodeApiRequestError = require_CodeExecutor.normalizeCodeApiRequ
594
601
  exports.normalizeServerFilter = require_ToolSearch.normalizeServerFilter;
595
602
  exports.normalizeToBashIdentifier = require_BashProgrammaticToolCalling.normalizeToBashIdentifier;
596
603
  exports.normalizeToPythonIdentifier = require_ProgrammaticToolCalling.normalizeToPythonIdentifier;
604
+ exports.outcomeFieldsFromResult = require_intentArg.outcomeFieldsFromResult;
597
605
  exports.parseBooleanEnv = require_misc.parseBooleanEnv;
598
606
  exports.partitionAndMarkAnthropicToolCache = require_anthropicToolCache.partitionAndMarkAnthropicToolCache;
599
607
  exports.performLocalSearch = require_ToolSearch.performLocalSearch;
@@ -613,6 +621,8 @@ exports.projectStructuredToolOutputsToText = require_core.projectStructuredToolO
613
621
  exports.projectToolCallInputs = require_prune.projectToolCallInputs;
614
622
  exports.projectToolStreamContentForProvider = require_core.projectToolStreamContentForProvider;
615
623
  exports.querySchema = require_schema$2.querySchema;
624
+ exports.readIntent = require_intentArg.readIntent;
625
+ exports.readOutcomeFields = require_intentArg.readOutcomeFields;
616
626
  exports.removePredecessorHandoffCue = require_handoffCue.removePredecessorHandoffCue;
617
627
  exports.repairOrphanedToolMessages = require_prune.repairOrphanedToolMessages;
618
628
  exports.resetIfNotEmpty = require_graph.resetIfNotEmpty;
@@ -625,7 +635,9 @@ exports.resolveLocalExecutionTools = require_resolveLocalExecutionTools.resolveL
625
635
  exports.resolveLocalToolRegistry = require_resolveLocalExecutionTools.resolveLocalToolRegistry;
626
636
  exports.resolveLocalToolsForBinding = require_resolveLocalExecutionTools.resolveLocalToolsForBinding;
627
637
  exports.resolvePromptCacheTtl = require_cache.resolvePromptCacheTtl;
638
+ exports.resolveSearchOutcome = require_tool.resolveSearchOutcome;
628
639
  exports.resolveSubagentConfigs = require_SubagentExecutor.resolveSubagentConfigs;
640
+ exports.resolveToolOutcome = require_intentArg.resolveToolOutcome;
629
641
  exports.resolveWorkspacePath = require_LocalExecutionEngine.resolveWorkspacePath;
630
642
  exports.resolveWorkspacePathSafe = require_LocalExecutionEngine.resolveWorkspacePathSafe;
631
643
  exports.runBashAstChecks = require_bashAst.runBashAstChecks;
@@ -644,6 +656,7 @@ exports.strictAlternationProviders = require_alternation.strictAlternationProvid
644
656
  exports.stripAnthropicCacheControl = require_cache.stripAnthropicCacheControl;
645
657
  exports.stripBedrockCacheControl = require_cache.stripBedrockCacheControl;
646
658
  exports.stripCodeSessionFileSummary = require_CodeSessionFileSummary.stripCodeSessionFileSummary;
659
+ exports.stripIntent = require_intentArg.stripIntent;
647
660
  exports.summarizeEvent = require_SubagentExecutor.summarizeEvent;
648
661
  exports.supportsBedrockToolCache = require_cache.supportsBedrockToolCache;
649
662
  exports.syncBudgetDerivedFields = require_budget.syncBudgetDerivedFields;
@@ -666,4 +679,5 @@ exports.validateBashCommand = require_LocalExecutionEngine.validateBashCommand;
666
679
  exports.validateCloudflareBashCommand = require_CloudflareSandboxExecutionEngine.validateCloudflareBashCommand;
667
680
  exports.videosSchema = require_schema$2.videosSchema;
668
681
  exports.withClientTimeout = require_CloudflareSandboxExecutionEngine.withClientTimeout;
682
+ exports.withIntent = require_intentArg.withIntent;
669
683
  exports.withMessageRole = require_format.withMessageRole;
@@ -2,9 +2,9 @@ const require_messageSerialization = require("./messageSerialization.cjs");
2
2
  const require_ids = require("./ids.cjs");
3
3
  let _langchain_core_messages = require("@langchain/core/messages");
4
4
  let path = require("path");
5
- let fs_promises = require("fs/promises");
6
5
  let os = require("os");
7
6
  let crypto = require("crypto");
7
+ let fs_promises = require("fs/promises");
8
8
  //#region src/session/JsonlSessionStore.ts
9
9
  const SESSION_VERSION = 1;
10
10
  const DEFAULT_SESSION_ROOT = (0, path.join)((0, os.homedir)(), ".librechat", "agents", "sessions");
@@ -9,6 +9,7 @@ const require_llm = require("./utils/llm.cjs");
9
9
  const require_streamedToolCallSeals = require("./tools/streamedToolCallSeals.cjs");
10
10
  const require_eagerEventExecution = require("./tools/eagerEventExecution.cjs");
11
11
  const require_handlers = require("./tools/handlers.cjs");
12
+ const require_intentArg = require("./tools/intentArg.cjs");
12
13
  const require_toolOutputReferences = require("./tools/toolOutputReferences.cjs");
13
14
  //#region src/stream.ts
14
15
  const LOCAL_CODING_BUNDLE_NAME_SET = new Set(require_enum.LOCAL_CODING_BUNDLE_NAMES);
@@ -360,6 +361,7 @@ async function dispatchEagerToolCompletions(args) {
360
361
  if (result.status === "error") output = require_truncation.truncateToolResultContent(`Error: ${result.errorMessage ?? "Unknown error"}\n Please fix your mistakes.`, maxToolResultChars);
361
362
  else if (typeof result.content === "string") output = require_truncation.truncateToolResultContent(result.content, maxToolResultChars);
362
363
  else output = require_toolContent.serializeStructuredValueBounded(result.content, maxToolResultChars).content;
364
+ const outcome = require_intentArg.resolveToolOutcome(record.request.args, require_intentArg.outcomeFieldsFromResult(result), { isError: result.status === "error" });
363
365
  try {
364
366
  if (await require_events.safeDispatchCustomEvent("on_run_step_completed", { result: {
365
367
  id: stepId,
@@ -371,7 +373,8 @@ async function dispatchEagerToolCompletions(args) {
371
373
  name: record.toolName,
372
374
  id: result.toolCallId,
373
375
  output,
374
- progress: 1
376
+ progress: 1,
377
+ ...outcome != null && { outcome }
375
378
  }
376
379
  } }, graph.config) === false) continue;
377
380
  record.completionDispatched = true;
@@ -967,6 +970,8 @@ function createContentAggregator() {
967
970
  if (finalUpdate) {
968
971
  newToolCall.progress = 1;
969
972
  newToolCall.output = contentPart.tool_call.output;
973
+ const outcome = contentPart.tool_call.outcome;
974
+ if (outcome != null) newToolCall.outcome = outcome;
970
975
  }
971
976
  contentParts[index] = {
972
977
  type: "tool_call",