@librechat/agents 3.4.3 → 3.4.5

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 (99) hide show
  1. package/dist/cjs/graphs/Graph.cjs +27 -14
  2. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  3. package/dist/cjs/graphs/MultiAgentGraph.cjs +1 -1
  4. package/dist/cjs/hitl/askUserQuestions.cjs +66 -0
  5. package/dist/cjs/hitl/askUserQuestions.cjs.map +1 -0
  6. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs +46 -0
  7. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs.map +1 -0
  8. package/dist/cjs/hitl/index.cjs +2 -0
  9. package/dist/cjs/instrumentation.cjs +3 -3
  10. package/dist/cjs/langfuse.cjs +3 -3
  11. package/dist/cjs/langfuseRuntimeScope.cjs +1 -1
  12. package/dist/cjs/langfuseToolOutputTracing.cjs +2 -2
  13. package/dist/cjs/main.cjs +11 -1
  14. package/dist/cjs/messages/assistantPhase.cjs +59 -0
  15. package/dist/cjs/messages/assistantPhase.cjs.map +1 -0
  16. package/dist/cjs/messages/index.cjs +1 -0
  17. package/dist/cjs/prompts/activityLabel.cjs +76 -0
  18. package/dist/cjs/prompts/activityLabel.cjs.map +1 -1
  19. package/dist/cjs/run.cjs +200 -10
  20. package/dist/cjs/run.cjs.map +1 -1
  21. package/dist/cjs/session/AgentSession.cjs +1 -1
  22. package/dist/cjs/stream.cjs +45 -8
  23. package/dist/cjs/stream.cjs.map +1 -1
  24. package/dist/cjs/tools/ToolNode.cjs +3 -3
  25. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +81 -6
  26. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  27. package/dist/cjs/types/hitl.cjs +13 -0
  28. package/dist/cjs/types/hitl.cjs.map +1 -0
  29. package/dist/cjs/utils/callbacks.cjs +8 -0
  30. package/dist/cjs/utils/callbacks.cjs.map +1 -1
  31. package/dist/esm/graphs/Graph.mjs +27 -14
  32. package/dist/esm/graphs/Graph.mjs.map +1 -1
  33. package/dist/esm/graphs/MultiAgentGraph.mjs +1 -1
  34. package/dist/esm/hitl/askUserQuestions.mjs +66 -0
  35. package/dist/esm/hitl/askUserQuestions.mjs.map +1 -0
  36. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs +43 -0
  37. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs.map +1 -0
  38. package/dist/esm/hitl/index.mjs +2 -0
  39. package/dist/esm/instrumentation.mjs +3 -3
  40. package/dist/esm/langfuse.mjs +3 -3
  41. package/dist/esm/langfuseRuntimeScope.mjs +1 -1
  42. package/dist/esm/langfuseToolOutputTracing.mjs +2 -2
  43. package/dist/esm/main.mjs +5 -2
  44. package/dist/esm/messages/assistantPhase.mjs +57 -0
  45. package/dist/esm/messages/assistantPhase.mjs.map +1 -0
  46. package/dist/esm/messages/index.mjs +1 -0
  47. package/dist/esm/prompts/activityLabel.mjs +74 -1
  48. package/dist/esm/prompts/activityLabel.mjs.map +1 -1
  49. package/dist/esm/run.mjs +202 -12
  50. package/dist/esm/run.mjs.map +1 -1
  51. package/dist/esm/session/AgentSession.mjs +1 -1
  52. package/dist/esm/stream.mjs +45 -8
  53. package/dist/esm/stream.mjs.map +1 -1
  54. package/dist/esm/tools/ToolNode.mjs +3 -3
  55. package/dist/esm/tools/subagent/SubagentExecutor.mjs +81 -6
  56. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  57. package/dist/esm/types/hitl.mjs +13 -0
  58. package/dist/esm/types/hitl.mjs.map +1 -0
  59. package/dist/esm/utils/callbacks.mjs +8 -1
  60. package/dist/esm/utils/callbacks.mjs.map +1 -1
  61. package/dist/types/hitl/askUserQuestions.d.ts +24 -0
  62. package/dist/types/hitl/askUserQuestionsInterrupt.d.ts +11 -0
  63. package/dist/types/hitl/index.d.ts +2 -0
  64. package/dist/types/messages/assistantPhase.d.ts +22 -0
  65. package/dist/types/messages/index.d.ts +1 -0
  66. package/dist/types/prompts/activityLabel.d.ts +21 -1
  67. package/dist/types/run.d.ts +15 -2
  68. package/dist/types/types/activityLabel.d.ts +63 -0
  69. package/dist/types/types/assistantPhase.d.ts +6 -0
  70. package/dist/types/types/graph.d.ts +8 -1
  71. package/dist/types/types/hitl.d.ts +31 -2
  72. package/dist/types/types/index.d.ts +1 -0
  73. package/dist/types/types/stream.d.ts +11 -0
  74. package/dist/types/utils/callbacks.d.ts +1 -0
  75. package/package.json +2 -1
  76. package/src/graphs/Graph.ts +33 -9
  77. package/src/graphs/__tests__/Graph.reasoning.test.ts +57 -0
  78. package/src/hitl/askUserQuestions.ts +126 -0
  79. package/src/hitl/askUserQuestionsInterrupt.ts +115 -0
  80. package/src/hitl/index.ts +6 -0
  81. package/src/messages/assistantPhase.test.ts +75 -0
  82. package/src/messages/assistantPhase.ts +91 -0
  83. package/src/messages/index.ts +1 -0
  84. package/src/prompts/activityLabel.ts +177 -1
  85. package/src/run.ts +403 -21
  86. package/src/specs/activity-label-prompt.test.ts +123 -1
  87. package/src/specs/activity-phase-label.test.ts +306 -0
  88. package/src/specs/ask-user-questions.live.test.ts +185 -0
  89. package/src/specs/ask-user-questions.test.ts +293 -0
  90. package/src/stream.ts +69 -12
  91. package/src/tools/__tests__/SubagentExecutor.test.ts +436 -0
  92. package/src/tools/subagent/SubagentExecutor.ts +160 -8
  93. package/src/types/activityLabel.ts +65 -0
  94. package/src/types/assistantPhase.ts +6 -0
  95. package/src/types/graph.ts +8 -0
  96. package/src/types/hitl.ts +36 -2
  97. package/src/types/index.ts +1 -0
  98. package/src/types/stream.ts +9 -0
  99. package/src/utils/callbacks.ts +21 -0
@@ -1,12 +1,12 @@
1
1
  const require_SubagentReplay = require("../tools/subagent/SubagentReplay.cjs");
2
2
  const require_misc = require("../utils/misc.cjs");
3
3
  const require_langfuseConfig = require("../langfuseConfig.cjs");
4
- const require_langfuseRuntimeScope = require("../langfuseRuntimeScope.cjs");
5
- const require_langfuse = require("../langfuse.cjs");
6
4
  const require_constants = require("../common/constants.cjs");
7
5
  const require_enum = require("../common/enum.cjs");
8
6
  require("../common/index.cjs");
7
+ const require_langfuseRuntimeScope = require("../langfuseRuntimeScope.cjs");
9
8
  const require_langfuseToolOutputTracing = require("../langfuseToolOutputTracing.cjs");
9
+ const require_langfuse = require("../langfuse.cjs");
10
10
  const require_callbacks = require("../utils/callbacks.cjs");
11
11
  const require_applyGraphRuntimeConfig = require("./applyGraphRuntimeConfig.cjs");
12
12
  const require_truncation = require("../utils/truncation.cjs");
@@ -28,11 +28,12 @@ const require_alternation = require("../messages/alternation.cjs");
28
28
  const require_handoffCue = require("../messages/handoffCue.cjs");
29
29
  const require_reducer = require("../messages/reducer.cjs");
30
30
  const require_recency = require("../messages/recency.cjs");
31
+ const require_assistantPhase = require("../messages/assistantPhase.cjs");
31
32
  require("../messages/index.cjs");
32
33
  const require_graph = require("../utils/graph.cjs");
33
34
  const require_llm = require("../utils/llm.cjs");
34
- const require_handlers = require("../tools/handlers.cjs");
35
35
  const require_streamLimits = require("../llm/streamLimits.cjs");
36
+ const require_handlers = require("../tools/handlers.cjs");
36
37
  const require_toolOutputReferences = require("../tools/toolOutputReferences.cjs");
37
38
  const require_events$1 = require("../events.cjs");
38
39
  const require_run = require("../utils/run.cjs");
@@ -62,8 +63,8 @@ const require_schema = require("../tools/schema.cjs");
62
63
  const require_AgentContext = require("../agents/AgentContext.cjs");
63
64
  const require_fake = require("../llm/fake.cjs");
64
65
  let nanoid = require("nanoid");
65
- let _langchain_core_messages = require("@langchain/core/messages");
66
66
  let _langchain_langgraph = require("@langchain/langgraph");
67
+ let _langchain_core_messages = require("@langchain/core/messages");
67
68
  let _langchain_core_tools = require("@langchain/core/tools");
68
69
  let uuid = require("uuid");
69
70
  let _langchain_core_errors = require("@langchain/core/errors");
@@ -199,10 +200,13 @@ function minDefined(left, right) {
199
200
  if (right == null) return left;
200
201
  return Math.min(left, right);
201
202
  }
202
- async function dispatchMessageCreationStep({ graph, stepKey, messageId, metadata }) {
203
+ async function dispatchMessageCreationStep({ graph, stepKey, messageId, content, contentType, metadata }) {
203
204
  await graph.dispatchRunStep(stepKey, {
204
205
  type: "message_creation",
205
- message_creation: { message_id: messageId }
206
+ message_creation: {
207
+ message_id: messageId,
208
+ ...require_assistantPhase.getMessageCreationContentMetadata(content, contentType)
209
+ }
206
210
  }, metadata);
207
211
  return graph.getStepIdByKey(stepKey);
208
212
  }
@@ -215,19 +219,25 @@ async function dispatchTextMessageContent({ graph, stepKey, provider, content, m
215
219
  graph,
216
220
  stepKey,
217
221
  messageId,
222
+ content: [contentPart],
218
223
  metadata
219
224
  });
220
225
  await graph.dispatchMessageDelta(stepId, { content: [contentPart] }, metadata);
221
226
  }
222
227
  return true;
223
228
  }
224
- const stepId = await dispatchMessageCreationStep({
225
- graph,
226
- stepKey,
227
- messageId,
228
- metadata
229
- });
230
- await graph.dispatchMessageDelta(stepId, { content }, metadata);
229
+ const contentGroups = Array.isArray(content) ? require_assistantPhase.splitAssistantTextContentByPhase(content) : [content];
230
+ for (const contentGroup of contentGroups) {
231
+ const stepId = await dispatchMessageCreationStep({
232
+ graph,
233
+ stepKey,
234
+ messageId,
235
+ content: contentGroup,
236
+ contentType: "text",
237
+ metadata
238
+ });
239
+ await graph.dispatchMessageDelta(stepId, { content: contentGroup }, metadata);
240
+ }
231
241
  return true;
232
242
  }
233
243
  async function dispatchReasoningContent({ graph, agentContext, reasoningContent, metadata }) {
@@ -246,7 +256,10 @@ async function dispatchReasoningContent({ graph, agentContext, reasoningContent,
246
256
  }
247
257
  await graph.dispatchRunStep(stepKey, {
248
258
  type: "message_creation",
249
- message_creation: { message_id: messageId }
259
+ message_creation: {
260
+ message_id: messageId,
261
+ content_type: "think"
262
+ }
250
263
  }, metadata);
251
264
  const stepId = graph.getStepIdByKey(stepKey);
252
265
  await graph.dispatchReasoningDelta(stepId, { content: [{