@librechat/agents 3.3.5 → 3.3.7

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 +16 -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 +256 -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 +244 -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 +181 -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 +18 -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 +357 -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 +357 -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 +18 -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,10 @@ 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_LABEL_MARKER = require_intentArg.INTENT_LABEL_MARKER;
226
+ exports.INTENT_PROPERTY = require_intentArg.INTENT_PROPERTY;
222
227
  Object.defineProperty(exports, "INTERRUPT", {
223
228
  enumerable: true,
224
229
  get: function() {
@@ -367,6 +372,7 @@ exports.appendPredecessorHandoffCue = require_handoffCue.appendPredecessorHandof
367
372
  exports.appendTmpScratchReminder = require_CodeExecutor.appendTmpScratchReminder;
368
373
  exports.applyContextPruning = require_contextPruning.applyContextPruning;
369
374
  exports.applyEdit = require_editStrategies.applyEdit;
375
+ exports.applyOutcome = require_intentArg.applyOutcome;
370
376
  exports.applyPreToolUseHooksForBridge = require_LocalProgrammaticToolCalling.applyPreToolUseHooksForBridge;
371
377
  exports.apportionTokenCounts = require_tokens.apportionTokenCounts;
372
378
  exports.askUserQuestion = require_askUserQuestion.askUserQuestion;
@@ -446,6 +452,7 @@ exports.createSchemaOnlyTools = require_schema$1.createSchemaOnlyTools;
446
452
  exports.createSearchTool = require_tool.createSearchTool;
447
453
  exports.createSubagentToolDefinition = require_SubagentTool.createSubagentToolDefinition;
448
454
  exports.createTokenCounter = require_tokens.createTokenCounter;
455
+ exports.createToolErrorOwnership = require_ToolNode.createToolErrorOwnership;
449
456
  exports.createToolPolicyHook = require_createToolPolicyHook.createToolPolicyHook;
450
457
  exports.createToolSearch = require_ToolSearch.createToolSearch;
451
458
  exports.createWorkspacePolicyHook = require_createWorkspacePolicyHook.createWorkspacePolicyHook;
@@ -560,6 +567,7 @@ exports.isDangerousPattern = require_ToolSearch.isDangerousPattern;
560
567
  exports.isFromAnyMcpServer = require_ToolSearch.isFromAnyMcpServer;
561
568
  exports.isFromMcpServer = require_ToolSearch.isFromMcpServer;
562
569
  exports.isGoogleLike = require_llm.isGoogleLike;
570
+ exports.isIntentLabelProperty = require_intentArg.isIntentLabelProperty;
563
571
  Object.defineProperty(exports, "isInterrupted", {
564
572
  enumerable: true,
565
573
  get: function() {
@@ -594,6 +602,7 @@ exports.normalizeCodeApiRequestError = require_CodeExecutor.normalizeCodeApiRequ
594
602
  exports.normalizeServerFilter = require_ToolSearch.normalizeServerFilter;
595
603
  exports.normalizeToBashIdentifier = require_BashProgrammaticToolCalling.normalizeToBashIdentifier;
596
604
  exports.normalizeToPythonIdentifier = require_ProgrammaticToolCalling.normalizeToPythonIdentifier;
605
+ exports.outcomeFieldsFromResult = require_intentArg.outcomeFieldsFromResult;
597
606
  exports.parseBooleanEnv = require_misc.parseBooleanEnv;
598
607
  exports.partitionAndMarkAnthropicToolCache = require_anthropicToolCache.partitionAndMarkAnthropicToolCache;
599
608
  exports.performLocalSearch = require_ToolSearch.performLocalSearch;
@@ -613,6 +622,8 @@ exports.projectStructuredToolOutputsToText = require_core.projectStructuredToolO
613
622
  exports.projectToolCallInputs = require_prune.projectToolCallInputs;
614
623
  exports.projectToolStreamContentForProvider = require_core.projectToolStreamContentForProvider;
615
624
  exports.querySchema = require_schema$2.querySchema;
625
+ exports.readIntent = require_intentArg.readIntent;
626
+ exports.readOutcomeFields = require_intentArg.readOutcomeFields;
616
627
  exports.removePredecessorHandoffCue = require_handoffCue.removePredecessorHandoffCue;
617
628
  exports.repairOrphanedToolMessages = require_prune.repairOrphanedToolMessages;
618
629
  exports.resetIfNotEmpty = require_graph.resetIfNotEmpty;
@@ -625,7 +636,9 @@ exports.resolveLocalExecutionTools = require_resolveLocalExecutionTools.resolveL
625
636
  exports.resolveLocalToolRegistry = require_resolveLocalExecutionTools.resolveLocalToolRegistry;
626
637
  exports.resolveLocalToolsForBinding = require_resolveLocalExecutionTools.resolveLocalToolsForBinding;
627
638
  exports.resolvePromptCacheTtl = require_cache.resolvePromptCacheTtl;
639
+ exports.resolveSearchOutcome = require_tool.resolveSearchOutcome;
628
640
  exports.resolveSubagentConfigs = require_SubagentExecutor.resolveSubagentConfigs;
641
+ exports.resolveToolOutcome = require_intentArg.resolveToolOutcome;
629
642
  exports.resolveWorkspacePath = require_LocalExecutionEngine.resolveWorkspacePath;
630
643
  exports.resolveWorkspacePathSafe = require_LocalExecutionEngine.resolveWorkspacePathSafe;
631
644
  exports.runBashAstChecks = require_bashAst.runBashAstChecks;
@@ -644,6 +657,7 @@ exports.strictAlternationProviders = require_alternation.strictAlternationProvid
644
657
  exports.stripAnthropicCacheControl = require_cache.stripAnthropicCacheControl;
645
658
  exports.stripBedrockCacheControl = require_cache.stripBedrockCacheControl;
646
659
  exports.stripCodeSessionFileSummary = require_CodeSessionFileSummary.stripCodeSessionFileSummary;
660
+ exports.stripIntent = require_intentArg.stripIntent;
647
661
  exports.summarizeEvent = require_SubagentExecutor.summarizeEvent;
648
662
  exports.supportsBedrockToolCache = require_cache.supportsBedrockToolCache;
649
663
  exports.syncBudgetDerivedFields = require_budget.syncBudgetDerivedFields;
@@ -666,4 +680,6 @@ exports.validateBashCommand = require_LocalExecutionEngine.validateBashCommand;
666
680
  exports.validateCloudflareBashCommand = require_CloudflareSandboxExecutionEngine.validateCloudflareBashCommand;
667
681
  exports.videosSchema = require_schema$2.videosSchema;
668
682
  exports.withClientTimeout = require_CloudflareSandboxExecutionEngine.withClientTimeout;
683
+ exports.withIntent = require_intentArg.withIntent;
669
684
  exports.withMessageRole = require_format.withMessageRole;
685
+ exports.withoutIntent = require_intentArg.withoutIntent;
@@ -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",