@librechat/agents 3.4.7 → 3.5.1

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 (924) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +0 -356
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/agents/projection.cjs +0 -9
  4. package/dist/cjs/agents/projection.cjs.map +1 -1
  5. package/dist/cjs/common/constants.cjs +0 -26
  6. package/dist/cjs/common/constants.cjs.map +1 -1
  7. package/dist/cjs/common/enum.cjs +0 -85
  8. package/dist/cjs/common/enum.cjs.map +1 -1
  9. package/dist/cjs/events.cjs +0 -14
  10. package/dist/cjs/events.cjs.map +1 -1
  11. package/dist/cjs/graphs/Graph.cjs +1 -909
  12. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  13. package/dist/cjs/graphs/MultiAgentGraph.cjs +7 -272
  14. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  15. package/dist/cjs/graphs/applyGraphRuntimeConfig.cjs.map +1 -1
  16. package/dist/cjs/graphs/createGraph.cjs.map +1 -1
  17. package/dist/cjs/hitl/askUserQuestion.cjs +0 -53
  18. package/dist/cjs/hitl/askUserQuestion.cjs.map +1 -1
  19. package/dist/cjs/hitl/askUserQuestions.cjs +0 -20
  20. package/dist/cjs/hitl/askUserQuestions.cjs.map +1 -1
  21. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs +0 -6
  22. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs.map +1 -1
  23. package/dist/cjs/hooks/HookRegistry.cjs +0 -127
  24. package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
  25. package/dist/cjs/hooks/createToolPolicyHook.cjs +0 -38
  26. package/dist/cjs/hooks/createToolPolicyHook.cjs.map +1 -1
  27. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +0 -77
  28. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs.map +1 -1
  29. package/dist/cjs/hooks/executeHooks.cjs +0 -79
  30. package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
  31. package/dist/cjs/hooks/index.cjs +0 -16
  32. package/dist/cjs/hooks/index.cjs.map +1 -1
  33. package/dist/cjs/hooks/matchers.cjs +0 -104
  34. package/dist/cjs/hooks/matchers.cjs.map +1 -1
  35. package/dist/cjs/hooks/types.cjs +0 -8
  36. package/dist/cjs/hooks/types.cjs.map +1 -1
  37. package/dist/cjs/instrumentation.cjs +0 -14
  38. package/dist/cjs/instrumentation.cjs.map +1 -1
  39. package/dist/cjs/langfuse.cjs +0 -75
  40. package/dist/cjs/langfuse.cjs.map +1 -1
  41. package/dist/cjs/langfuseConfig.cjs.map +1 -1
  42. package/dist/cjs/langfuseRuntimeContext.cjs +0 -13
  43. package/dist/cjs/langfuseRuntimeContext.cjs.map +1 -1
  44. package/dist/cjs/langfuseRuntimeScope.cjs +0 -4
  45. package/dist/cjs/langfuseRuntimeScope.cjs.map +1 -1
  46. package/dist/cjs/langfuseSpanRegistry.cjs +0 -28
  47. package/dist/cjs/langfuseSpanRegistry.cjs.map +1 -1
  48. package/dist/cjs/langfuseToolOutputTracing.cjs +0 -3
  49. package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
  50. package/dist/cjs/langfuseTraceShaping.cjs +0 -74
  51. package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
  52. package/dist/cjs/llm/anthropic/index.cjs +0 -3
  53. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  54. package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
  55. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +1 -111
  56. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  57. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +0 -1
  58. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
  59. package/dist/cjs/llm/anthropic/utils/stream_events.cjs +0 -8
  60. package/dist/cjs/llm/anthropic/utils/stream_events.cjs.map +1 -1
  61. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
  62. package/dist/cjs/llm/bedrock/cachePoints.cjs.map +1 -1
  63. package/dist/cjs/llm/bedrock/index.cjs +1 -95
  64. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  65. package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
  66. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +0 -78
  67. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
  68. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +0 -24
  69. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
  70. package/dist/cjs/llm/contextOverflowRecovery.cjs +0 -62
  71. package/dist/cjs/llm/contextOverflowRecovery.cjs.map +1 -1
  72. package/dist/cjs/llm/fake.cjs.map +1 -1
  73. package/dist/cjs/llm/google/index.cjs +2 -21
  74. package/dist/cjs/llm/google/index.cjs.map +1 -1
  75. package/dist/cjs/llm/google/utils/common.cjs +0 -35
  76. package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
  77. package/dist/cjs/llm/init.cjs +0 -9
  78. package/dist/cjs/llm/init.cjs.map +1 -1
  79. package/dist/cjs/llm/invoke.cjs +1 -270
  80. package/dist/cjs/llm/invoke.cjs.map +1 -1
  81. package/dist/cjs/llm/mistral/index.cjs.map +1 -1
  82. package/dist/cjs/llm/openai/index.cjs +0 -99
  83. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  84. package/dist/cjs/llm/openai/streamMetadata.cjs +0 -21
  85. package/dist/cjs/llm/openai/streamMetadata.cjs.map +1 -1
  86. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  87. package/dist/cjs/llm/openrouter/index.cjs +0 -1
  88. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  89. package/dist/cjs/llm/openrouter/toolCache.cjs +0 -6
  90. package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
  91. package/dist/cjs/llm/preempt.cjs +0 -75
  92. package/dist/cjs/llm/preempt.cjs.map +1 -1
  93. package/dist/cjs/llm/providers.cjs.map +1 -1
  94. package/dist/cjs/llm/request.cjs +0 -10
  95. package/dist/cjs/llm/request.cjs.map +1 -1
  96. package/dist/cjs/llm/stream/chunkAdapters.cjs +0 -62
  97. package/dist/cjs/llm/stream/chunkAdapters.cjs.map +1 -1
  98. package/dist/cjs/llm/stream/smoother.cjs +0 -58
  99. package/dist/cjs/llm/stream/smoother.cjs.map +1 -1
  100. package/dist/cjs/llm/streamLimits.cjs +4 -293
  101. package/dist/cjs/llm/streamLimits.cjs.map +1 -1
  102. package/dist/cjs/llm/truncation.cjs +0 -36
  103. package/dist/cjs/llm/truncation.cjs.map +1 -1
  104. package/dist/cjs/llm/vertexai/index.cjs +0 -330
  105. package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
  106. package/dist/cjs/messages/alternation.cjs +0 -43
  107. package/dist/cjs/messages/alternation.cjs.map +1 -1
  108. package/dist/cjs/messages/anthropicToolCache.cjs +0 -45
  109. package/dist/cjs/messages/anthropicToolCache.cjs.map +1 -1
  110. package/dist/cjs/messages/assistantPhase.cjs +0 -12
  111. package/dist/cjs/messages/assistantPhase.cjs.map +1 -1
  112. package/dist/cjs/messages/budget.cjs +0 -9
  113. package/dist/cjs/messages/budget.cjs.map +1 -1
  114. package/dist/cjs/messages/cache.cjs +0 -172
  115. package/dist/cjs/messages/cache.cjs.map +1 -1
  116. package/dist/cjs/messages/content.cjs +0 -9
  117. package/dist/cjs/messages/content.cjs.map +1 -1
  118. package/dist/cjs/messages/contextPruning.cjs +0 -15
  119. package/dist/cjs/messages/contextPruning.cjs.map +1 -1
  120. package/dist/cjs/messages/contextPruningSettings.cjs +0 -3
  121. package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -1
  122. package/dist/cjs/messages/core.cjs +0 -48
  123. package/dist/cjs/messages/core.cjs.map +1 -1
  124. package/dist/cjs/messages/format.cjs +1 -345
  125. package/dist/cjs/messages/format.cjs.map +1 -1
  126. package/dist/cjs/messages/handoffCue.cjs +0 -36
  127. package/dist/cjs/messages/handoffCue.cjs.map +1 -1
  128. package/dist/cjs/messages/ids.cjs.map +1 -1
  129. package/dist/cjs/messages/injected.cjs +0 -33
  130. package/dist/cjs/messages/injected.cjs.map +1 -1
  131. package/dist/cjs/messages/langchain.cjs +0 -14
  132. package/dist/cjs/messages/langchain.cjs.map +1 -1
  133. package/dist/cjs/messages/prune.cjs +1 -184
  134. package/dist/cjs/messages/prune.cjs.map +1 -1
  135. package/dist/cjs/messages/recency.cjs +0 -32
  136. package/dist/cjs/messages/recency.cjs.map +1 -1
  137. package/dist/cjs/messages/reducer.cjs +0 -30
  138. package/dist/cjs/messages/reducer.cjs.map +1 -1
  139. package/dist/cjs/messages/tools.cjs +0 -14
  140. package/dist/cjs/messages/tools.cjs.map +1 -1
  141. package/dist/cjs/openai/index.cjs.map +1 -1
  142. package/dist/cjs/prompts/activityLabel.cjs +9 -79
  143. package/dist/cjs/prompts/activityLabel.cjs.map +1 -1
  144. package/dist/cjs/responses/index.cjs.map +1 -1
  145. package/dist/cjs/run.cjs +2 -538
  146. package/dist/cjs/run.cjs.map +1 -1
  147. package/dist/cjs/session/AgentSession.cjs +1 -17
  148. package/dist/cjs/session/AgentSession.cjs.map +1 -1
  149. package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
  150. package/dist/cjs/session/handlers.cjs +0 -7
  151. package/dist/cjs/session/handlers.cjs.map +1 -1
  152. package/dist/cjs/session/ids.cjs.map +1 -1
  153. package/dist/cjs/session/messageSerialization.cjs +0 -4
  154. package/dist/cjs/session/messageSerialization.cjs.map +1 -1
  155. package/dist/cjs/stream.cjs +1 -93
  156. package/dist/cjs/stream.cjs.map +1 -1
  157. package/dist/cjs/summarization/index.cjs +0 -27
  158. package/dist/cjs/summarization/index.cjs.map +1 -1
  159. package/dist/cjs/summarization/node.cjs +0 -273
  160. package/dist/cjs/summarization/node.cjs.map +1 -1
  161. package/dist/cjs/tools/BashExecutor.cjs +0 -35
  162. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  163. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +0 -24
  164. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  165. package/dist/cjs/tools/Calculator.cjs.map +1 -1
  166. package/dist/cjs/tools/CodeExecutor.cjs +0 -13
  167. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  168. package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
  169. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +0 -101
  170. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  171. package/dist/cjs/tools/ReadFile.cjs.map +1 -1
  172. package/dist/cjs/tools/SkillTool.cjs +0 -5
  173. package/dist/cjs/tools/SkillTool.cjs.map +1 -1
  174. package/dist/cjs/tools/SubagentTool.cjs +0 -10
  175. package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
  176. package/dist/cjs/tools/ToolNode.cjs +6 -1038
  177. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  178. package/dist/cjs/tools/ToolSearch.cjs +0 -179
  179. package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
  180. package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -1
  181. package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -1
  182. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +0 -39
  183. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -1
  184. package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -1
  185. package/dist/cjs/tools/eagerEventExecution.cjs +0 -6
  186. package/dist/cjs/tools/eagerEventExecution.cjs.map +1 -1
  187. package/dist/cjs/tools/handlers.cjs +1 -41
  188. package/dist/cjs/tools/handlers.cjs.map +1 -1
  189. package/dist/cjs/tools/intentArg.cjs +1 -132
  190. package/dist/cjs/tools/intentArg.cjs.map +1 -1
  191. package/dist/cjs/tools/local/CompileCheckTool.cjs +0 -25
  192. package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
  193. package/dist/cjs/tools/local/FileCheckpointer.cjs +0 -23
  194. package/dist/cjs/tools/local/FileCheckpointer.cjs.map +1 -1
  195. package/dist/cjs/tools/local/LocalCodingTools.cjs +0 -80
  196. package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
  197. package/dist/cjs/tools/local/LocalExecutionEngine.cjs +0 -126
  198. package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
  199. package/dist/cjs/tools/local/LocalExecutionTools.cjs.map +1 -1
  200. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +0 -12
  201. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
  202. package/dist/cjs/tools/local/attachments.cjs +0 -44
  203. package/dist/cjs/tools/local/attachments.cjs.map +1 -1
  204. package/dist/cjs/tools/local/bashAst.cjs +0 -16
  205. package/dist/cjs/tools/local/bashAst.cjs.map +1 -1
  206. package/dist/cjs/tools/local/editStrategies.cjs +0 -14
  207. package/dist/cjs/tools/local/editStrategies.cjs.map +1 -1
  208. package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
  209. package/dist/cjs/tools/local/syntaxCheck.cjs +0 -31
  210. package/dist/cjs/tools/local/syntaxCheck.cjs.map +1 -1
  211. package/dist/cjs/tools/local/textEncoding.cjs +0 -11
  212. package/dist/cjs/tools/local/textEncoding.cjs.map +1 -1
  213. package/dist/cjs/tools/local/workspaceFS.cjs +0 -33
  214. package/dist/cjs/tools/local/workspaceFS.cjs.map +1 -1
  215. package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
  216. package/dist/cjs/tools/schema.cjs +0 -8
  217. package/dist/cjs/tools/schema.cjs.map +1 -1
  218. package/dist/cjs/tools/search/anthropic.cjs +0 -9
  219. package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
  220. package/dist/cjs/tools/search/content.cjs.map +1 -1
  221. package/dist/cjs/tools/search/crw-scraper.cjs +0 -33
  222. package/dist/cjs/tools/search/crw-scraper.cjs.map +1 -1
  223. package/dist/cjs/tools/search/crw-search.cjs +0 -2
  224. package/dist/cjs/tools/search/crw-search.cjs.map +1 -1
  225. package/dist/cjs/tools/search/firecrawl.cjs +0 -25
  226. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
  227. package/dist/cjs/tools/search/format.cjs +0 -30
  228. package/dist/cjs/tools/search/format.cjs.map +1 -1
  229. package/dist/cjs/tools/search/highlights.cjs +0 -16
  230. package/dist/cjs/tools/search/highlights.cjs.map +1 -1
  231. package/dist/cjs/tools/search/keenable-scraper.cjs +0 -8
  232. package/dist/cjs/tools/search/keenable-scraper.cjs.map +1 -1
  233. package/dist/cjs/tools/search/keenable-search.cjs +0 -7
  234. package/dist/cjs/tools/search/keenable-search.cjs.map +1 -1
  235. package/dist/cjs/tools/search/rerankers.cjs +0 -35
  236. package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
  237. package/dist/cjs/tools/search/schema.cjs +0 -1
  238. package/dist/cjs/tools/search/schema.cjs.map +1 -1
  239. package/dist/cjs/tools/search/search.cjs +1 -14
  240. package/dist/cjs/tools/search/search.cjs.map +1 -1
  241. package/dist/cjs/tools/search/serper-scraper.cjs +0 -46
  242. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
  243. package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -1
  244. package/dist/cjs/tools/search/tavily-search.cjs.map +1 -1
  245. package/dist/cjs/tools/search/tool.cjs +0 -25
  246. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  247. package/dist/cjs/tools/search/utils.cjs +0 -8
  248. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  249. package/dist/cjs/tools/skillCatalog.cjs +0 -6
  250. package/dist/cjs/tools/skillCatalog.cjs.map +1 -1
  251. package/dist/cjs/tools/streamedToolCallSeals.cjs +0 -6
  252. package/dist/cjs/tools/streamedToolCallSeals.cjs.map +1 -1
  253. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +0 -2
  254. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
  255. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +3 -213
  256. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  257. package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
  258. package/dist/cjs/tools/subagent/childGraphConfig.cjs +0 -4
  259. package/dist/cjs/tools/subagent/childGraphConfig.cjs.map +1 -1
  260. package/dist/cjs/tools/subagent/runtimeLimits.cjs.map +1 -1
  261. package/dist/cjs/tools/toolOutputReferences.cjs +1 -322
  262. package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
  263. package/dist/cjs/types/hitl.cjs +0 -5
  264. package/dist/cjs/types/hitl.cjs.map +1 -1
  265. package/dist/cjs/utils/callbacks.cjs.map +1 -1
  266. package/dist/cjs/utils/errors.cjs +14 -165
  267. package/dist/cjs/utils/errors.cjs.map +1 -1
  268. package/dist/cjs/utils/events.cjs +0 -10
  269. package/dist/cjs/utils/events.cjs.map +1 -1
  270. package/dist/cjs/utils/graph.cjs.map +1 -1
  271. package/dist/cjs/utils/handlers.cjs +0 -3
  272. package/dist/cjs/utils/handlers.cjs.map +1 -1
  273. package/dist/cjs/utils/llm.cjs +0 -1
  274. package/dist/cjs/utils/llm.cjs.map +1 -1
  275. package/dist/cjs/utils/misc.cjs +0 -16
  276. package/dist/cjs/utils/misc.cjs.map +1 -1
  277. package/dist/cjs/utils/proxy.cjs +0 -26
  278. package/dist/cjs/utils/proxy.cjs.map +1 -1
  279. package/dist/cjs/utils/run.cjs +0 -6
  280. package/dist/cjs/utils/run.cjs.map +1 -1
  281. package/dist/cjs/utils/schema.cjs +0 -5
  282. package/dist/cjs/utils/schema.cjs.map +1 -1
  283. package/dist/cjs/utils/title.cjs +0 -6
  284. package/dist/cjs/utils/title.cjs.map +1 -1
  285. package/dist/cjs/utils/tokens.cjs +0 -113
  286. package/dist/cjs/utils/tokens.cjs.map +1 -1
  287. package/dist/cjs/utils/toolContent.cjs +0 -41
  288. package/dist/cjs/utils/toolContent.cjs.map +1 -1
  289. package/dist/cjs/utils/truncation.cjs +0 -61
  290. package/dist/cjs/utils/truncation.cjs.map +1 -1
  291. package/dist/esm/agents/AgentContext.mjs +0 -356
  292. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  293. package/dist/esm/agents/projection.mjs +0 -9
  294. package/dist/esm/agents/projection.mjs.map +1 -1
  295. package/dist/esm/common/constants.mjs +0 -26
  296. package/dist/esm/common/constants.mjs.map +1 -1
  297. package/dist/esm/common/enum.mjs +0 -85
  298. package/dist/esm/common/enum.mjs.map +1 -1
  299. package/dist/esm/events.mjs +0 -14
  300. package/dist/esm/events.mjs.map +1 -1
  301. package/dist/esm/graphs/Graph.mjs +1 -909
  302. package/dist/esm/graphs/Graph.mjs.map +1 -1
  303. package/dist/esm/graphs/MultiAgentGraph.mjs +7 -272
  304. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  305. package/dist/esm/graphs/applyGraphRuntimeConfig.mjs.map +1 -1
  306. package/dist/esm/graphs/createGraph.mjs.map +1 -1
  307. package/dist/esm/hitl/askUserQuestion.mjs +0 -53
  308. package/dist/esm/hitl/askUserQuestion.mjs.map +1 -1
  309. package/dist/esm/hitl/askUserQuestions.mjs +0 -20
  310. package/dist/esm/hitl/askUserQuestions.mjs.map +1 -1
  311. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs +0 -6
  312. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs.map +1 -1
  313. package/dist/esm/hooks/HookRegistry.mjs +0 -127
  314. package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
  315. package/dist/esm/hooks/createToolPolicyHook.mjs +0 -38
  316. package/dist/esm/hooks/createToolPolicyHook.mjs.map +1 -1
  317. package/dist/esm/hooks/createWorkspacePolicyHook.mjs +0 -77
  318. package/dist/esm/hooks/createWorkspacePolicyHook.mjs.map +1 -1
  319. package/dist/esm/hooks/executeHooks.mjs +0 -79
  320. package/dist/esm/hooks/executeHooks.mjs.map +1 -1
  321. package/dist/esm/hooks/index.mjs +0 -16
  322. package/dist/esm/hooks/index.mjs.map +1 -1
  323. package/dist/esm/hooks/matchers.mjs +0 -104
  324. package/dist/esm/hooks/matchers.mjs.map +1 -1
  325. package/dist/esm/hooks/types.mjs +0 -8
  326. package/dist/esm/hooks/types.mjs.map +1 -1
  327. package/dist/esm/instrumentation.mjs +0 -14
  328. package/dist/esm/instrumentation.mjs.map +1 -1
  329. package/dist/esm/langfuse.mjs +0 -75
  330. package/dist/esm/langfuse.mjs.map +1 -1
  331. package/dist/esm/langfuseConfig.mjs.map +1 -1
  332. package/dist/esm/langfuseRuntimeContext.mjs +0 -13
  333. package/dist/esm/langfuseRuntimeContext.mjs.map +1 -1
  334. package/dist/esm/langfuseRuntimeScope.mjs +0 -4
  335. package/dist/esm/langfuseRuntimeScope.mjs.map +1 -1
  336. package/dist/esm/langfuseSpanRegistry.mjs +0 -28
  337. package/dist/esm/langfuseSpanRegistry.mjs.map +1 -1
  338. package/dist/esm/langfuseToolOutputTracing.mjs +0 -3
  339. package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
  340. package/dist/esm/langfuseTraceShaping.mjs +0 -74
  341. package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
  342. package/dist/esm/llm/anthropic/index.mjs +0 -3
  343. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  344. package/dist/esm/llm/anthropic/types.mjs.map +1 -1
  345. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +1 -111
  346. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  347. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +0 -1
  348. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
  349. package/dist/esm/llm/anthropic/utils/stream_events.mjs +0 -8
  350. package/dist/esm/llm/anthropic/utils/stream_events.mjs.map +1 -1
  351. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
  352. package/dist/esm/llm/bedrock/cachePoints.mjs.map +1 -1
  353. package/dist/esm/llm/bedrock/index.mjs +1 -95
  354. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  355. package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
  356. package/dist/esm/llm/bedrock/utils/message_inputs.mjs +0 -78
  357. package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
  358. package/dist/esm/llm/bedrock/utils/message_outputs.mjs +0 -24
  359. package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
  360. package/dist/esm/llm/contextOverflowRecovery.mjs +0 -62
  361. package/dist/esm/llm/contextOverflowRecovery.mjs.map +1 -1
  362. package/dist/esm/llm/fake.mjs.map +1 -1
  363. package/dist/esm/llm/google/index.mjs +2 -21
  364. package/dist/esm/llm/google/index.mjs.map +1 -1
  365. package/dist/esm/llm/google/utils/common.mjs +0 -35
  366. package/dist/esm/llm/google/utils/common.mjs.map +1 -1
  367. package/dist/esm/llm/init.mjs +0 -9
  368. package/dist/esm/llm/init.mjs.map +1 -1
  369. package/dist/esm/llm/invoke.mjs +1 -270
  370. package/dist/esm/llm/invoke.mjs.map +1 -1
  371. package/dist/esm/llm/mistral/index.mjs.map +1 -1
  372. package/dist/esm/llm/openai/index.mjs +0 -99
  373. package/dist/esm/llm/openai/index.mjs.map +1 -1
  374. package/dist/esm/llm/openai/streamMetadata.mjs +0 -21
  375. package/dist/esm/llm/openai/streamMetadata.mjs.map +1 -1
  376. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  377. package/dist/esm/llm/openrouter/index.mjs +0 -1
  378. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  379. package/dist/esm/llm/openrouter/toolCache.mjs +0 -6
  380. package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
  381. package/dist/esm/llm/preempt.mjs +0 -75
  382. package/dist/esm/llm/preempt.mjs.map +1 -1
  383. package/dist/esm/llm/providers.mjs.map +1 -1
  384. package/dist/esm/llm/request.mjs +0 -10
  385. package/dist/esm/llm/request.mjs.map +1 -1
  386. package/dist/esm/llm/stream/chunkAdapters.mjs +0 -62
  387. package/dist/esm/llm/stream/chunkAdapters.mjs.map +1 -1
  388. package/dist/esm/llm/stream/smoother.mjs +0 -58
  389. package/dist/esm/llm/stream/smoother.mjs.map +1 -1
  390. package/dist/esm/llm/streamLimits.mjs +4 -293
  391. package/dist/esm/llm/streamLimits.mjs.map +1 -1
  392. package/dist/esm/llm/truncation.mjs +0 -36
  393. package/dist/esm/llm/truncation.mjs.map +1 -1
  394. package/dist/esm/llm/vertexai/index.mjs +0 -330
  395. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  396. package/dist/esm/messages/alternation.mjs +0 -43
  397. package/dist/esm/messages/alternation.mjs.map +1 -1
  398. package/dist/esm/messages/anthropicToolCache.mjs +0 -45
  399. package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
  400. package/dist/esm/messages/assistantPhase.mjs +0 -12
  401. package/dist/esm/messages/assistantPhase.mjs.map +1 -1
  402. package/dist/esm/messages/budget.mjs +0 -9
  403. package/dist/esm/messages/budget.mjs.map +1 -1
  404. package/dist/esm/messages/cache.mjs +0 -172
  405. package/dist/esm/messages/cache.mjs.map +1 -1
  406. package/dist/esm/messages/content.mjs +0 -9
  407. package/dist/esm/messages/content.mjs.map +1 -1
  408. package/dist/esm/messages/contextPruning.mjs +0 -15
  409. package/dist/esm/messages/contextPruning.mjs.map +1 -1
  410. package/dist/esm/messages/contextPruningSettings.mjs +0 -3
  411. package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
  412. package/dist/esm/messages/core.mjs +0 -48
  413. package/dist/esm/messages/core.mjs.map +1 -1
  414. package/dist/esm/messages/format.mjs +1 -345
  415. package/dist/esm/messages/format.mjs.map +1 -1
  416. package/dist/esm/messages/handoffCue.mjs +0 -36
  417. package/dist/esm/messages/handoffCue.mjs.map +1 -1
  418. package/dist/esm/messages/ids.mjs.map +1 -1
  419. package/dist/esm/messages/injected.mjs +0 -33
  420. package/dist/esm/messages/injected.mjs.map +1 -1
  421. package/dist/esm/messages/langchain.mjs +0 -14
  422. package/dist/esm/messages/langchain.mjs.map +1 -1
  423. package/dist/esm/messages/prune.mjs +1 -184
  424. package/dist/esm/messages/prune.mjs.map +1 -1
  425. package/dist/esm/messages/recency.mjs +0 -32
  426. package/dist/esm/messages/recency.mjs.map +1 -1
  427. package/dist/esm/messages/reducer.mjs +0 -30
  428. package/dist/esm/messages/reducer.mjs.map +1 -1
  429. package/dist/esm/messages/tools.mjs +0 -14
  430. package/dist/esm/messages/tools.mjs.map +1 -1
  431. package/dist/esm/openai/index.mjs.map +1 -1
  432. package/dist/esm/prompts/activityLabel.mjs +9 -79
  433. package/dist/esm/prompts/activityLabel.mjs.map +1 -1
  434. package/dist/esm/responses/index.mjs.map +1 -1
  435. package/dist/esm/run.mjs +2 -538
  436. package/dist/esm/run.mjs.map +1 -1
  437. package/dist/esm/session/AgentSession.mjs +1 -17
  438. package/dist/esm/session/AgentSession.mjs.map +1 -1
  439. package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
  440. package/dist/esm/session/handlers.mjs +0 -7
  441. package/dist/esm/session/handlers.mjs.map +1 -1
  442. package/dist/esm/session/ids.mjs.map +1 -1
  443. package/dist/esm/session/messageSerialization.mjs +0 -4
  444. package/dist/esm/session/messageSerialization.mjs.map +1 -1
  445. package/dist/esm/stream.mjs +1 -93
  446. package/dist/esm/stream.mjs.map +1 -1
  447. package/dist/esm/summarization/index.mjs +0 -27
  448. package/dist/esm/summarization/index.mjs.map +1 -1
  449. package/dist/esm/summarization/node.mjs +0 -273
  450. package/dist/esm/summarization/node.mjs.map +1 -1
  451. package/dist/esm/tools/BashExecutor.mjs +0 -35
  452. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  453. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +0 -24
  454. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  455. package/dist/esm/tools/Calculator.mjs.map +1 -1
  456. package/dist/esm/tools/CodeExecutor.mjs +0 -13
  457. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  458. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  459. package/dist/esm/tools/ProgrammaticToolCalling.mjs +0 -101
  460. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  461. package/dist/esm/tools/ReadFile.mjs.map +1 -1
  462. package/dist/esm/tools/SkillTool.mjs +0 -5
  463. package/dist/esm/tools/SkillTool.mjs.map +1 -1
  464. package/dist/esm/tools/SubagentTool.mjs +0 -10
  465. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  466. package/dist/esm/tools/ToolNode.mjs +6 -1038
  467. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  468. package/dist/esm/tools/ToolSearch.mjs +0 -179
  469. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  470. package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
  471. package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
  472. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +0 -39
  473. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
  474. package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
  475. package/dist/esm/tools/eagerEventExecution.mjs +0 -6
  476. package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
  477. package/dist/esm/tools/handlers.mjs +1 -41
  478. package/dist/esm/tools/handlers.mjs.map +1 -1
  479. package/dist/esm/tools/intentArg.mjs +1 -132
  480. package/dist/esm/tools/intentArg.mjs.map +1 -1
  481. package/dist/esm/tools/local/CompileCheckTool.mjs +0 -25
  482. package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
  483. package/dist/esm/tools/local/FileCheckpointer.mjs +0 -23
  484. package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
  485. package/dist/esm/tools/local/LocalCodingTools.mjs +0 -80
  486. package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
  487. package/dist/esm/tools/local/LocalExecutionEngine.mjs +0 -126
  488. package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
  489. package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
  490. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +0 -12
  491. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
  492. package/dist/esm/tools/local/attachments.mjs +0 -44
  493. package/dist/esm/tools/local/attachments.mjs.map +1 -1
  494. package/dist/esm/tools/local/bashAst.mjs +0 -16
  495. package/dist/esm/tools/local/bashAst.mjs.map +1 -1
  496. package/dist/esm/tools/local/editStrategies.mjs +0 -14
  497. package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
  498. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
  499. package/dist/esm/tools/local/syntaxCheck.mjs +0 -31
  500. package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
  501. package/dist/esm/tools/local/textEncoding.mjs +0 -11
  502. package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
  503. package/dist/esm/tools/local/workspaceFS.mjs +0 -33
  504. package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
  505. package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
  506. package/dist/esm/tools/schema.mjs +0 -8
  507. package/dist/esm/tools/schema.mjs.map +1 -1
  508. package/dist/esm/tools/search/anthropic.mjs +0 -9
  509. package/dist/esm/tools/search/anthropic.mjs.map +1 -1
  510. package/dist/esm/tools/search/content.mjs.map +1 -1
  511. package/dist/esm/tools/search/crw-scraper.mjs +0 -33
  512. package/dist/esm/tools/search/crw-scraper.mjs.map +1 -1
  513. package/dist/esm/tools/search/crw-search.mjs +0 -2
  514. package/dist/esm/tools/search/crw-search.mjs.map +1 -1
  515. package/dist/esm/tools/search/firecrawl.mjs +0 -25
  516. package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
  517. package/dist/esm/tools/search/format.mjs +0 -30
  518. package/dist/esm/tools/search/format.mjs.map +1 -1
  519. package/dist/esm/tools/search/highlights.mjs +0 -16
  520. package/dist/esm/tools/search/highlights.mjs.map +1 -1
  521. package/dist/esm/tools/search/keenable-scraper.mjs +0 -8
  522. package/dist/esm/tools/search/keenable-scraper.mjs.map +1 -1
  523. package/dist/esm/tools/search/keenable-search.mjs +0 -7
  524. package/dist/esm/tools/search/keenable-search.mjs.map +1 -1
  525. package/dist/esm/tools/search/rerankers.mjs +0 -35
  526. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  527. package/dist/esm/tools/search/schema.mjs +0 -1
  528. package/dist/esm/tools/search/schema.mjs.map +1 -1
  529. package/dist/esm/tools/search/search.mjs +1 -14
  530. package/dist/esm/tools/search/search.mjs.map +1 -1
  531. package/dist/esm/tools/search/serper-scraper.mjs +0 -46
  532. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
  533. package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
  534. package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
  535. package/dist/esm/tools/search/tool.mjs +0 -25
  536. package/dist/esm/tools/search/tool.mjs.map +1 -1
  537. package/dist/esm/tools/search/utils.mjs +0 -8
  538. package/dist/esm/tools/search/utils.mjs.map +1 -1
  539. package/dist/esm/tools/skillCatalog.mjs +0 -6
  540. package/dist/esm/tools/skillCatalog.mjs.map +1 -1
  541. package/dist/esm/tools/streamedToolCallSeals.mjs +0 -6
  542. package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
  543. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -2
  544. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
  545. package/dist/esm/tools/subagent/SubagentExecutor.mjs +3 -213
  546. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  547. package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
  548. package/dist/esm/tools/subagent/childGraphConfig.mjs +0 -4
  549. package/dist/esm/tools/subagent/childGraphConfig.mjs.map +1 -1
  550. package/dist/esm/tools/subagent/runtimeLimits.mjs.map +1 -1
  551. package/dist/esm/tools/toolOutputReferences.mjs +1 -322
  552. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
  553. package/dist/esm/types/hitl.mjs +0 -5
  554. package/dist/esm/types/hitl.mjs.map +1 -1
  555. package/dist/esm/utils/callbacks.mjs.map +1 -1
  556. package/dist/esm/utils/errors.mjs +14 -165
  557. package/dist/esm/utils/errors.mjs.map +1 -1
  558. package/dist/esm/utils/events.mjs +0 -10
  559. package/dist/esm/utils/events.mjs.map +1 -1
  560. package/dist/esm/utils/graph.mjs.map +1 -1
  561. package/dist/esm/utils/handlers.mjs +0 -3
  562. package/dist/esm/utils/handlers.mjs.map +1 -1
  563. package/dist/esm/utils/llm.mjs +0 -1
  564. package/dist/esm/utils/llm.mjs.map +1 -1
  565. package/dist/esm/utils/misc.mjs +0 -16
  566. package/dist/esm/utils/misc.mjs.map +1 -1
  567. package/dist/esm/utils/proxy.mjs +0 -26
  568. package/dist/esm/utils/proxy.mjs.map +1 -1
  569. package/dist/esm/utils/run.mjs +0 -6
  570. package/dist/esm/utils/run.mjs.map +1 -1
  571. package/dist/esm/utils/schema.mjs +0 -5
  572. package/dist/esm/utils/schema.mjs.map +1 -1
  573. package/dist/esm/utils/title.mjs +0 -6
  574. package/dist/esm/utils/title.mjs.map +1 -1
  575. package/dist/esm/utils/tokens.mjs +0 -113
  576. package/dist/esm/utils/tokens.mjs.map +1 -1
  577. package/dist/esm/utils/toolContent.mjs +0 -41
  578. package/dist/esm/utils/toolContent.mjs.map +1 -1
  579. package/dist/esm/utils/truncation.mjs +0 -61
  580. package/dist/esm/utils/truncation.mjs.map +1 -1
  581. package/package.json +35 -32
  582. package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +0 -52
  583. package/dist/types/test/mockTools.d.ts +0 -28
  584. package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +0 -40
  585. package/src/__tests__/stream.eagerArgsDivergence.test.ts +0 -911
  586. package/src/__tests__/stream.eagerEventExecution.test.ts +0 -5046
  587. package/src/__tests__/stream.streamLimits.test.ts +0 -1982
  588. package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +0 -448
  589. package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +0 -655
  590. package/src/agents/__tests__/AgentContext.openrouter.live.test.ts +0 -128
  591. package/src/agents/__tests__/AgentContext.overflow.test.ts +0 -205
  592. package/src/agents/__tests__/AgentContext.test.ts +0 -2425
  593. package/src/agents/__tests__/projection.test.ts +0 -73
  594. package/src/agents/__tests__/promptCacheLiveHelpers.ts +0 -175
  595. package/src/aggregator.test.ts +0 -1214
  596. package/src/graphs/__tests__/Graph.breakerLifecycle.test.ts +0 -273
  597. package/src/graphs/__tests__/Graph.closeRunStep.test.ts +0 -385
  598. package/src/graphs/__tests__/Graph.contextOverflow.test.ts +0 -1766
  599. package/src/graphs/__tests__/Graph.preemptSignal.test.ts +0 -126
  600. package/src/graphs/__tests__/Graph.reasoning.test.ts +0 -1717
  601. package/src/graphs/__tests__/Graph.subagentResumeState.test.ts +0 -80
  602. package/src/graphs/__tests__/MultiAgentGraph.test.ts +0 -177
  603. package/src/graphs/__tests__/composition.smoke.test.ts +0 -509
  604. package/src/graphs/__tests__/createGraph.test.ts +0 -206
  605. package/src/hooks/__tests__/HookRegistry.test.ts +0 -334
  606. package/src/hooks/__tests__/compactHooks.test.ts +0 -250
  607. package/src/hooks/__tests__/createToolPolicyHook.test.ts +0 -268
  608. package/src/hooks/__tests__/createWorkspacePolicyHook.test.ts +0 -405
  609. package/src/hooks/__tests__/executeHooks.test.ts +0 -1294
  610. package/src/hooks/__tests__/integration.test.ts +0 -337
  611. package/src/hooks/__tests__/matchers.test.ts +0 -238
  612. package/src/hooks/__tests__/preemptBoundary.test.ts +0 -152
  613. package/src/hooks/__tests__/toolHooks.test.ts +0 -669
  614. package/src/llm/__tests__/contextOverflowRecovery.test.ts +0 -401
  615. package/src/llm/__tests__/fallbackOverflow.test.ts +0 -287
  616. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  617. package/src/llm/anthropic/inherited-content-utils.spec.ts +0 -249
  618. package/src/llm/anthropic/inherited-stream-events.spec.ts +0 -1259
  619. package/src/llm/anthropic/inherited-strict.spec.ts +0 -302
  620. package/src/llm/anthropic/llm.spec.ts +0 -3394
  621. package/src/llm/anthropic/utils/cross-provider-reasoning.test.ts +0 -383
  622. package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +0 -110
  623. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -508
  624. package/src/llm/anthropic/utils/streaming-tool-input.test.ts +0 -361
  625. package/src/llm/anthropic/utils/stripPrefillCache.test.ts +0 -111
  626. package/src/llm/anthropic/utils/tool-id-normalization.test.ts +0 -287
  627. package/src/llm/bedrock/inherited-cache.spec.ts +0 -144
  628. package/src/llm/bedrock/inherited.spec.ts +0 -724
  629. package/src/llm/bedrock/llm.spec.ts +0 -1533
  630. package/src/llm/bedrock/streamSealDispatch.test.ts +0 -331
  631. package/src/llm/bedrock/toolCache.test.ts +0 -194
  632. package/src/llm/bedrock/utils/cross-provider-reasoning.test.ts +0 -131
  633. package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +0 -122
  634. package/src/llm/bedrock/utils/message_inputs.test.ts +0 -650
  635. package/src/llm/bedrock/utils/message_outputs.test.ts +0 -85
  636. package/src/llm/bedrock/utils/toolResultCachePoint.test.ts +0 -118
  637. package/src/llm/custom-chat-models.smoke.test.ts +0 -1966
  638. package/src/llm/google/data/gettysburg10.wav +0 -0
  639. package/src/llm/google/data/hotdog.jpg +0 -0
  640. package/src/llm/google/inherited-stream-events.spec.ts +0 -350
  641. package/src/llm/google/llm.spec.ts +0 -1388
  642. package/src/llm/google/streamSmoothing.test.ts +0 -121
  643. package/src/llm/google/utils/common.test.ts +0 -196
  644. package/src/llm/invoke.alternation.test.ts +0 -87
  645. package/src/llm/invoke.handoffCue.test.ts +0 -112
  646. package/src/llm/invoke.streamLimits.test.ts +0 -142
  647. package/src/llm/invoke.test.ts +0 -1198
  648. package/src/llm/mistral/streamSmoothing.test.ts +0 -97
  649. package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
  650. package/src/llm/openai/contentBlocks.test.ts +0 -381
  651. package/src/llm/openai/deepseek.test.ts +0 -747
  652. package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
  653. package/src/llm/openai/inherited-xai.spec.ts +0 -416
  654. package/src/llm/openai/llm.spec.ts +0 -1774
  655. package/src/llm/openai/managedRequests.test.ts +0 -182
  656. package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
  657. package/src/llm/openai/streamMetadata.spec.ts +0 -86
  658. package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
  659. package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
  660. package/src/llm/openai/utils/messages.test.ts +0 -488
  661. package/src/llm/openrouter/reasoning.test.ts +0 -561
  662. package/src/llm/openrouter/toolCache.test.ts +0 -134
  663. package/src/llm/preempt.test.ts +0 -323
  664. package/src/llm/stream/chunkAdapters.test.ts +0 -202
  665. package/src/llm/stream/reassembly.test.ts +0 -241
  666. package/src/llm/stream/smoother.bench.test.ts +0 -155
  667. package/src/llm/stream/smoother.test.ts +0 -519
  668. package/src/llm/streamLimits.test.ts +0 -450
  669. package/src/llm/truncation.test.ts +0 -242
  670. package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
  671. package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
  672. package/src/llm/vertexai/llm.spec.ts +0 -159
  673. package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
  674. package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
  675. package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
  676. package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
  677. package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
  678. package/src/messages/__tests__/observationMasking.test.ts +0 -312
  679. package/src/messages/__tests__/recency.test.ts +0 -267
  680. package/src/messages/__tests__/tools.test.ts +0 -473
  681. package/src/messages/alternation.test.ts +0 -212
  682. package/src/messages/assistantPhase.test.ts +0 -75
  683. package/src/messages/cache.tail.test.ts +0 -533
  684. package/src/messages/cache.test.ts +0 -2166
  685. package/src/messages/content.test.ts +0 -362
  686. package/src/messages/contextPruning.test.ts +0 -184
  687. package/src/messages/ensureThinkingBlock.test.ts +0 -1427
  688. package/src/messages/foldToollessToolBlocks.test.ts +0 -596
  689. package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
  690. package/src/messages/formatAgentMessages.skills.test.ts +0 -513
  691. package/src/messages/formatAgentMessages.steer.test.ts +0 -598
  692. package/src/messages/formatAgentMessages.test.ts +0 -8111
  693. package/src/messages/formatAgentMessages.tools.test.ts +0 -522
  694. package/src/messages/formatMessage.test.ts +0 -693
  695. package/src/messages/handoffCue.test.ts +0 -96
  696. package/src/messages/injected.test.ts +0 -107
  697. package/src/messages/labelContentByAgent.test.ts +0 -962
  698. package/src/messages/reducer.spec.ts +0 -32
  699. package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
  700. package/src/messages/tailCacheConversion.test.ts +0 -161
  701. package/src/openai/__tests__/openai.test.ts +0 -337
  702. package/src/responses/__tests__/responses.test.ts +0 -652
  703. package/src/scripts/abort.ts +0 -157
  704. package/src/scripts/activity-labels/captured.json +0 -56
  705. package/src/scripts/activity-labels/checks.cjs +0 -205
  706. package/src/scripts/activity-labels/corpus.cjs +0 -473
  707. package/src/scripts/activity-labels/report.cjs +0 -203
  708. package/src/scripts/activity-labels/rescore.cjs +0 -102
  709. package/src/scripts/activity-labels/run.ts +0 -705
  710. package/src/scripts/activity-labels/variants.ts +0 -71
  711. package/src/scripts/ant_web_search.ts +0 -159
  712. package/src/scripts/ant_web_search_edge_case.ts +0 -163
  713. package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
  714. package/src/scripts/args.ts +0 -48
  715. package/src/scripts/bedrock-cache-debug.ts +0 -250
  716. package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
  717. package/src/scripts/bedrock-merge-test.ts +0 -107
  718. package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
  719. package/src/scripts/bench-prompt-cache.ts +0 -479
  720. package/src/scripts/caching.ts +0 -132
  721. package/src/scripts/cli.ts +0 -172
  722. package/src/scripts/cli2.ts +0 -133
  723. package/src/scripts/cli3.ts +0 -184
  724. package/src/scripts/cli4.ts +0 -191
  725. package/src/scripts/cli5.ts +0 -191
  726. package/src/scripts/code_exec.ts +0 -214
  727. package/src/scripts/code_exec_files.ts +0 -237
  728. package/src/scripts/code_exec_multi_session.ts +0 -237
  729. package/src/scripts/code_exec_ptc.ts +0 -335
  730. package/src/scripts/code_exec_session.ts +0 -283
  731. package/src/scripts/code_exec_simple.ts +0 -148
  732. package/src/scripts/compare_pi_vs_ours.ts +0 -1259
  733. package/src/scripts/content.ts +0 -139
  734. package/src/scripts/context-overflow-probe.ts +0 -997
  735. package/src/scripts/empty_input.ts +0 -137
  736. package/src/scripts/handoff-test.ts +0 -134
  737. package/src/scripts/local_engine.ts +0 -166
  738. package/src/scripts/local_engine_checkpointer.ts +0 -205
  739. package/src/scripts/local_engine_compile.ts +0 -263
  740. package/src/scripts/local_engine_hooks.ts +0 -226
  741. package/src/scripts/local_engine_image.ts +0 -201
  742. package/src/scripts/local_engine_ptc.ts +0 -151
  743. package/src/scripts/local_engine_workspace.ts +0 -258
  744. package/src/scripts/memory.ts +0 -107
  745. package/src/scripts/multi-agent-chain.ts +0 -332
  746. package/src/scripts/multi-agent-conditional.ts +0 -222
  747. package/src/scripts/multi-agent-document-review-chain.ts +0 -198
  748. package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
  749. package/src/scripts/multi-agent-parallel-start.ts +0 -265
  750. package/src/scripts/multi-agent-parallel.ts +0 -395
  751. package/src/scripts/multi-agent-sequence.ts +0 -217
  752. package/src/scripts/multi-agent-subagent.ts +0 -246
  753. package/src/scripts/multi-agent-supervisor.ts +0 -366
  754. package/src/scripts/multi-agent-test.ts +0 -187
  755. package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
  756. package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
  757. package/src/scripts/parallel-full-metadata-test.ts +0 -241
  758. package/src/scripts/parallel-tools-test.ts +0 -341
  759. package/src/scripts/preempt-probe.ts +0 -330
  760. package/src/scripts/preempt-scenarios.ts +0 -388
  761. package/src/scripts/programmatic_exec.ts +0 -387
  762. package/src/scripts/programmatic_exec_agent.ts +0 -232
  763. package/src/scripts/search.ts +0 -147
  764. package/src/scripts/sequential-full-metadata-test.ts +0 -198
  765. package/src/scripts/session_live.ts +0 -548
  766. package/src/scripts/simple.ts +0 -226
  767. package/src/scripts/single-agent-metadata-test.ts +0 -196
  768. package/src/scripts/stream.ts +0 -141
  769. package/src/scripts/subagent-configurable-inheritance.ts +0 -252
  770. package/src/scripts/subagent-event-driven-debug.ts +0 -190
  771. package/src/scripts/subagent-tools-debug.ts +0 -160
  772. package/src/scripts/subagent-usage-sink.ts +0 -176
  773. package/src/scripts/summarization-recency.ts +0 -462
  774. package/src/scripts/test-custom-prompt-key.ts +0 -145
  775. package/src/scripts/test-handoff-input.ts +0 -170
  776. package/src/scripts/test-handoff-preamble.ts +0 -278
  777. package/src/scripts/test-handoff-steering.ts +0 -430
  778. package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
  779. package/src/scripts/test-parallel-agent-labeling.ts +0 -327
  780. package/src/scripts/test-parallel-handoffs.ts +0 -292
  781. package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
  782. package/src/scripts/test-thinking-handoff.ts +0 -156
  783. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
  784. package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
  785. package/src/scripts/test-tools-before-handoff.ts +0 -222
  786. package/src/scripts/test_code_api.ts +0 -354
  787. package/src/scripts/thinking-bedrock.ts +0 -160
  788. package/src/scripts/thinking-vertexai.ts +0 -168
  789. package/src/scripts/thinking.ts +0 -172
  790. package/src/scripts/tool_search.ts +0 -153
  791. package/src/scripts/tools.ts +0 -163
  792. package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
  793. package/src/session/__tests__/handlers.test.ts +0 -161
  794. package/src/specs/activity-label-observability.live.test.ts +0 -262
  795. package/src/specs/activity-label-observability.test.ts +0 -167
  796. package/src/specs/activity-label-prompt.test.ts +0 -359
  797. package/src/specs/activity-label-trace-seed.test.ts +0 -47
  798. package/src/specs/activity-phase-label.test.ts +0 -306
  799. package/src/specs/agent-handoffs.live.test.ts +0 -140
  800. package/src/specs/agent-handoffs.test.ts +0 -2465
  801. package/src/specs/anthropic.simple.test.ts +0 -453
  802. package/src/specs/ask-user-question-batch.test.ts +0 -289
  803. package/src/specs/ask-user-questions.live.test.ts +0 -185
  804. package/src/specs/ask-user-questions.test.ts +0 -293
  805. package/src/specs/azure.simple.test.ts +0 -502
  806. package/src/specs/bedrock-toolless.live.test.ts +0 -123
  807. package/src/specs/bedrock-truncation.live.test.ts +0 -191
  808. package/src/specs/cache.simple.test.ts +0 -416
  809. package/src/specs/context-accuracy.live.test.ts +0 -409
  810. package/src/specs/context-overflow-recovery.live.test.ts +0 -213
  811. package/src/specs/context-usage-event.test.ts +0 -117
  812. package/src/specs/context-usage.live.test.ts +0 -297
  813. package/src/specs/custom-event-await.test.ts +0 -304
  814. package/src/specs/deepseek.simple.test.ts +0 -290
  815. package/src/specs/deterministic-trace-id.test.ts +0 -43
  816. package/src/specs/discovered-tools.test.ts +0 -217
  817. package/src/specs/durability-checkpoint.integration.test.ts +0 -243
  818. package/src/specs/graph-subagent.live.test.ts +0 -242
  819. package/src/specs/graph-subagent.test.ts +0 -322
  820. package/src/specs/handoffCue.test.ts +0 -165
  821. package/src/specs/langfuse-callbacks.test.ts +0 -1578
  822. package/src/specs/langfuse-config.test.ts +0 -247
  823. package/src/specs/langfuse-instrumentation.test.ts +0 -393
  824. package/src/specs/langfuse-metadata.test.ts +0 -245
  825. package/src/specs/langfuse-routing.integration.test.ts +0 -844
  826. package/src/specs/langfuse-runtime-context.test.ts +0 -92
  827. package/src/specs/langfuse-span-registry.test.ts +0 -87
  828. package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
  829. package/src/specs/langfuse-trace-shaping.test.ts +0 -591
  830. package/src/specs/moonshot.simple.test.ts +0 -367
  831. package/src/specs/multi-agent-summarization.test.ts +0 -396
  832. package/src/specs/openai.simple.test.ts +0 -315
  833. package/src/specs/openrouter.simple.test.ts +0 -275
  834. package/src/specs/preemptSeal.test.ts +0 -678
  835. package/src/specs/prune.test.ts +0 -3741
  836. package/src/specs/reasoning.test.ts +0 -201
  837. package/src/specs/run-step-timestamps.test.ts +0 -414
  838. package/src/specs/spec.utils.ts +0 -15
  839. package/src/specs/subagent.test.ts +0 -864
  840. package/src/specs/summarization-unit.test.ts +0 -973
  841. package/src/specs/summarization.test.ts +0 -3823
  842. package/src/specs/summarize-prune.test.ts +0 -376
  843. package/src/specs/thinking-handoff.test.ts +0 -621
  844. package/src/specs/thinking-prune.test.ts +0 -827
  845. package/src/specs/token-accounting-e2e.test.ts +0 -1034
  846. package/src/specs/token-accounting-pipeline.test.ts +0 -1008
  847. package/src/specs/token-distribution-edge-case.test.ts +0 -315
  848. package/src/specs/token-memoization.test.ts +0 -40
  849. package/src/specs/tokens.test.ts +0 -1000
  850. package/src/specs/tool-error-resume.test.ts +0 -194
  851. package/src/specs/tool-error.test.ts +0 -198
  852. package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
  853. package/src/stream.dispatch.test.ts +0 -63
  854. package/src/stream.test.ts +0 -144
  855. package/src/summarization/__tests__/aggregator.test.ts +0 -236
  856. package/src/summarization/__tests__/node.test.ts +0 -1996
  857. package/src/summarization/__tests__/trigger.test.ts +0 -149
  858. package/src/summarization/chunkHandler.test.ts +0 -196
  859. package/src/test/mockTools.ts +0 -386
  860. package/src/tools/Calculator.test.ts +0 -278
  861. package/src/tools/__tests__/BashExecutor.test.ts +0 -108
  862. package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
  863. package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
  864. package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
  865. package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
  866. package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
  867. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
  868. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
  869. package/src/tools/__tests__/ReadFile.test.ts +0 -44
  870. package/src/tools/__tests__/SkillTool.test.ts +0 -442
  871. package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
  872. package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
  873. package/src/tools/__tests__/SubagentTool.test.ts +0 -149
  874. package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
  875. package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
  876. package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
  877. package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
  878. package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
  879. package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
  880. package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
  881. package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
  882. package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
  883. package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
  884. package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
  885. package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
  886. package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
  887. package/src/tools/__tests__/directToolHooks.test.ts +0 -700
  888. package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
  889. package/src/tools/__tests__/handlers.test.ts +0 -997
  890. package/src/tools/__tests__/hitl.test.ts +0 -4663
  891. package/src/tools/__tests__/intentArg.test.ts +0 -357
  892. package/src/tools/__tests__/intentCoverage.test.ts +0 -139
  893. package/src/tools/__tests__/localToolNames.test.ts +0 -75
  894. package/src/tools/__tests__/skillCatalog.test.ts +0 -161
  895. package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
  896. package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
  897. package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
  898. package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
  899. package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
  900. package/src/tools/search/content.test.ts +0 -173
  901. package/src/tools/search/crw.test.ts +0 -836
  902. package/src/tools/search/format.test.ts +0 -242
  903. package/src/tools/search/http-agent.test.ts +0 -133
  904. package/src/tools/search/jina-reranker.test.ts +0 -306
  905. package/src/tools/search/keenable-scraper.test.ts +0 -153
  906. package/src/tools/search/keenable.test.ts +0 -183
  907. package/src/tools/search/outcome.test.ts +0 -90
  908. package/src/tools/search/output.md +0 -2775
  909. package/src/tools/search/rag-api-reranker.test.ts +0 -891
  910. package/src/tools/search/source-processing.test.ts +0 -516
  911. package/src/tools/search/tavily.test.ts +0 -965
  912. package/src/tools/search/test.html +0 -884
  913. package/src/tools/search/test.md +0 -643
  914. package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
  915. package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
  916. package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
  917. package/src/utils/__tests__/apportion.test.ts +0 -32
  918. package/src/utils/__tests__/errors.test.ts +0 -270
  919. package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
  920. package/src/utils/__tests__/redactSecrets.test.ts +0 -56
  921. package/src/utils/__tests__/truncation.test.ts +0 -66
  922. package/src/utils/llm.test.ts +0 -18
  923. package/src/utils/proxy.test.ts +0 -176
  924. package/src/utils/toolContent.test.ts +0 -1432
@@ -1 +1 @@
1
- {"version":3,"file":"run.cjs","names":["stripSubagentResumeManifest","BaseMessage","HandlerRegistry","createGraph","MemorySaver","executeHooks","HumanMessage","createTokenCounter","encodingForModel","resolveLangfuseConfig","Command","resolveMaxSeals","SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY","SUBAGENT_RESUME_MANIFEST_CONFIG_KEY","BaseCallbackHandler","appendCallbacks","createLangfuseTraceMetadata","getLangfuseTraceName","resolveLangfuseRuntimeScope","createLangfuseHandler","INTERRUPT","withLangfuseRuntimeScope","withLangfuseAttributes","disposeLangfuseHandler","requireValidSubagentResumeManifest","getTraceIdSeed","PromptTemplate","initializeModel","isOpenAILike","ChatOpenAI","AzureChatOpenAI","RunnableLambda","createCompletionTitleRunnable","createTitleRunnable","findCallback","isLangfuseCallbackHandler","hasToolOutputTracingConfig","resolveToolOutputTracingConfig","buildActivityLabelPrompt","SystemMessage","ACTIVITY_LABEL_PROMPT","filterCallbacks","buildActivityPhaseLabelPrompt","ACTIVITY_PHASE_LABEL_PROMPT","normalizeActivityPhaseLabel","AIMessage"],"sources":["../../src/run.ts"],"sourcesContent":["// src/run.ts\nimport { nanoid } from 'nanoid';\nimport { PromptTemplate } from '@langchain/core/prompts';\nimport { RunnableLambda } from '@langchain/core/runnables';\nimport { AzureChatOpenAI, ChatOpenAI } from '@langchain/openai';\nimport { BaseCallbackHandler } from '@langchain/core/callbacks/base';\nimport {\n Command,\n INTERRUPT,\n MemorySaver,\n isInterrupted,\n} from '@langchain/langgraph';\nimport {\n AIMessage,\n BaseMessage,\n HumanMessage,\n SystemMessage,\n} from '@langchain/core/messages';\nimport type { StringPromptValue } from '@langchain/core/prompt_values';\nimport type { MessageContentComplex } from '@langchain/core/messages';\nimport type { RunnableConfig } from '@langchain/core/runnables';\nimport type { MultiAgentGraph } from '@/graphs/MultiAgentGraph';\nimport type { StandardGraph } from '@/graphs/Graph';\nimport type { HookRegistry } from '@/hooks';\nimport type * as t from '@/types';\nimport {\n requireValidSubagentResumeManifest,\n stripSubagentResumeManifest,\n SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY,\n SUBAGENT_RESUME_MANIFEST_CONFIG_KEY,\n} from '@/tools/subagent/SubagentReplay';\nimport {\n ACTIVITY_PHASE_LABEL_PROMPT,\n ACTIVITY_LABEL_PROMPT,\n buildActivityLabelPrompt,\n buildActivityPhaseLabelPrompt,\n normalizeActivityPhaseLabel,\n} from '@/prompts/activityLabel';\nimport {\n createLangfuseTraceMetadata,\n createLangfuseHandler,\n disposeLangfuseHandler,\n getLangfuseTraceName,\n isLangfuseCallbackHandler,\n withLangfuseAttributes,\n} from '@/langfuse';\nimport {\n hasToolOutputTracingConfig,\n resolveLangfuseConfig,\n resolveToolOutputTracingConfig,\n} from '@/langfuseConfig';\nimport {\n appendCallbacks,\n filterCallbacks,\n findCallback,\n type CallbackEntry,\n} from '@/utils/callbacks';\nimport {\n resolveLangfuseRuntimeScope,\n withLangfuseRuntimeScope,\n} from '@/langfuseRuntimeScope';\nimport {\n Callback,\n GraphEvents,\n TitleMethod,\n DEFAULT_RECURSION_LIMIT,\n} from '@/common';\nimport {\n createCompletionTitleRunnable,\n createTitleRunnable,\n} from '@/utils/title';\nimport { applyGraphRuntimeConfig } from '@/graphs/applyGraphRuntimeConfig';\nimport { createTokenCounter, encodingForModel } from '@/utils/tokens';\nimport { initializeLangfuseTracing } from './instrumentation';\nimport { getTraceIdSeed } from '@/langfuseRuntimeContext';\nimport { createGraph } from '@/graphs/createGraph';\nimport { resolveMaxSeals } from '@/llm/preempt';\nimport { initializeModel } from '@/llm/init';\nimport { HandlerRegistry } from '@/events';\nimport { isOpenAILike } from '@/utils/llm';\nimport { executeHooks } from '@/hooks';\n\nexport const defaultOmitOptions = new Set([\n 'stream',\n 'thinking',\n 'streaming',\n 'maxTokens',\n 'clientOptions',\n 'thinkingConfig',\n 'thinkingBudget',\n 'includeThoughts',\n 'maxOutputTokens',\n 'additionalModelRequestFields',\n]);\n\nconst ACTIVITY_LABEL_TRACE_NAME = 'LibreChat Activity Label';\nconst ACTIVITY_PHASE_TRACE_NAME = 'LibreChat Activity Phase';\n\nconst CUSTOM_GRAPH_EVENTS = new Set<string>([\n GraphEvents.ON_AGENT_UPDATE,\n GraphEvents.ON_RUN_STEP,\n GraphEvents.ON_RUN_STEP_DELTA,\n GraphEvents.ON_RUN_STEP_COMPLETED,\n GraphEvents.ON_RUN_STEP_CLOSED,\n GraphEvents.ON_MESSAGE_DELTA,\n GraphEvents.ON_REASONING_DELTA,\n GraphEvents.ON_TOOL_EXECUTE,\n GraphEvents.ON_SUMMARIZE_START,\n GraphEvents.ON_SUMMARIZE_DELTA,\n GraphEvents.ON_SUMMARIZE_COMPLETE,\n GraphEvents.ON_SUBAGENT_UPDATE,\n GraphEvents.ON_AGENT_LOG,\n GraphEvents.ON_CONTEXT_USAGE,\n GraphEvents.ON_CUSTOM_EVENT,\n]);\n\nconst DIRECT_DISPATCHED_STEP_EVENTS = new Set<string>([\n GraphEvents.ON_RUN_STEP,\n GraphEvents.ON_RUN_STEP_DELTA,\n GraphEvents.ON_RUN_STEP_CLOSED,\n GraphEvents.ON_MESSAGE_DELTA,\n GraphEvents.ON_REASONING_DELTA,\n]);\n\nfunction getStepScopedEventId(data: unknown): string | undefined {\n if (data == null || typeof data !== 'object') {\n return undefined;\n }\n const candidate = data as { id?: unknown };\n return typeof candidate.id === 'string' ? candidate.id : undefined;\n}\n\n/**\n * Narrows an ON_RUN_STEP_COMPLETED payload (`{ result: ToolCompleteEvent }`)\n * to the ids step closure needs. Returns undefined for malformed payloads and\n * the resume race's empty step id.\n */\nfunction getToolCompletion(\n data: unknown\n): { stepId: string; toolCallId?: string; completedAt?: number } | undefined {\n if (data == null || typeof data !== 'object') {\n return undefined;\n }\n const { result } = data as { result?: unknown };\n if (result == null || typeof result !== 'object') {\n return undefined;\n }\n const candidate = result as {\n id?: unknown;\n tool_call?: { id?: unknown };\n completed_at?: unknown;\n };\n if (typeof candidate.id !== 'string' || candidate.id === '') {\n return undefined;\n }\n const toolCallId = candidate.tool_call?.id;\n const completedAt = candidate.completed_at;\n return {\n stepId: candidate.id,\n ...(typeof toolCallId === 'string' ? { toolCallId } : {}),\n ...(typeof completedAt === 'number' ? { completedAt } : {}),\n };\n}\n\nfunction isLangGraphResumeMapForInterrupt(\n value: unknown,\n interruptId: string\n): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object' || Array.isArray(value)) {\n return false;\n }\n return Object.prototype.hasOwnProperty.call(value, interruptId);\n}\n\nfunction getInterruptHookSessionId(payload: unknown): string | undefined {\n const publicPayload = stripSubagentResumeManifest(payload);\n if (\n publicPayload == null ||\n typeof publicPayload !== 'object' ||\n (publicPayload as { type?: unknown }).type !== 'tool_approval'\n ) {\n return undefined;\n }\n const sessionId = (publicPayload as { hook_session_id?: unknown })\n .hook_session_id;\n return typeof sessionId === 'string' && sessionId.length > 0\n ? sessionId\n : undefined;\n}\n\ntype InterruptStateSnapshot = {\n config?: RunnableConfig;\n values?: { messages?: BaseMessage[] };\n tasks?: Array<{\n interrupts?: Array<{ id?: string; value?: unknown }>;\n }>;\n};\n\ntype WorkflowWithStateHistory = {\n getState?(config: RunnableConfig): Promise<InterruptStateSnapshot>;\n getStateHistory?(\n config: RunnableConfig\n ): AsyncIterableIterator<InterruptStateSnapshot>;\n};\n\nfunction getFirstPersistedInterrupt(\n snapshot: InterruptStateSnapshot\n): { id: string; value: unknown } | undefined {\n for (const task of snapshot.tasks ?? []) {\n for (const pendingInterrupt of task.interrupts ?? []) {\n if (\n typeof pendingInterrupt.id === 'string' &&\n pendingInterrupt.id.length > 0\n ) {\n return { id: pendingInterrupt.id, value: pendingInterrupt.value };\n }\n }\n }\n return undefined;\n}\n\nfunction getPersistedMessages(\n snapshot: InterruptStateSnapshot\n): BaseMessage[] | undefined {\n const messages = snapshot.values?.messages;\n if (!Array.isArray(messages) || !messages.every(BaseMessage.isInstance)) {\n return undefined;\n }\n return messages;\n}\n\ntype ResumeCommandUpdate = ConstructorParameters<typeof Command>[0]['update'];\n\nfunction getResumeUpdateMessages(\n update: ResumeCommandUpdate\n): BaseMessage[] | undefined {\n if (update == null) {\n return undefined;\n }\n const messages = Array.isArray(update)\n ? update.find(([key]) => key === 'messages')?.[1]\n : update.messages;\n if (BaseMessage.isInstance(messages)) {\n return [messages];\n }\n if (!Array.isArray(messages) || !messages.every(BaseMessage.isInstance)) {\n return undefined;\n }\n return messages;\n}\n\nexport class Run<_T extends t.BaseGraphState> {\n id: string;\n private tokenCounter?: t.TokenCounter;\n private handlerRegistry?: HandlerRegistry;\n private hookRegistry?: HookRegistry;\n private humanInTheLoop?: t.HumanInTheLoopConfig;\n private langfuse?: t.LangfuseConfig;\n private toolOutputReferences?: t.ToolOutputReferencesConfig;\n private eagerEventToolExecution?: t.EagerEventToolExecutionConfig;\n private codeSessionToolNames?: string[];\n private interruptingToolNames?: string[];\n private toolExecution?: t.ToolExecutionConfig;\n private subagentUsageSink?: t.SubagentUsageSink;\n private preemption?: t.StreamPreemption;\n private streamLimits?: t.StreamLimits;\n private indexTokenCountMap?: Record<string, number>;\n calibrationRatio: number = 1;\n graphRunnable?: t.CompiledStateWorkflow;\n Graph: StandardGraph | MultiAgentGraph | undefined;\n returnContent: boolean = false;\n private skipCleanup: boolean = false;\n /**\n * Whether the compiled graph was built with a checkpointer (host-supplied\n * or the HITL `MemorySaver` fallback). Captured at graph creation because\n * the constructor can later overwrite `Graph.compileOptions` with the raw\n * caller options, dropping the fallback checkpointer from that metadata.\n */\n private hasCheckpointer: boolean = false;\n private _streamResult: t.MessageContentComplex[] | undefined;\n /**\n * Captured interrupt payload typed as `unknown` because the SDK\n * does not validate the runtime shape — custom graph nodes can\n * raise interrupts with arbitrary payloads (not just the SDK's\n * `HumanInterruptPayload` union). The public `getInterrupt<T>()`\n * lets callers assert the type they expect.\n */\n private _interrupt: t.RunInterruptResult<unknown> | undefined;\n /** Per-run sequence for batch-unique activity-label trace-seed fallbacks. */\n private activityLabelSeq = 0;\n /** Per-run sequence for parent activity-phase trace and invocation ids. */\n private activityPhaseLabelSeq = 0;\n /** Latest user turn used to keep detached phase roots conversation-shaped. */\n private activityPhaseTraceInput?: string;\n /** Distinguishes sibling forks started from the same explicit checkpoint. */\n private checkpointForkSeq = 0;\n private _haltedReason: string | undefined;\n\n private constructor(config: Partial<t.RunConfig>) {\n const runId = config.runId ?? '';\n if (!runId) {\n throw new Error('Run ID not provided');\n }\n\n this.id = runId;\n this.tokenCounter = config.tokenCounter;\n this.indexTokenCountMap = config.indexTokenCountMap;\n if (config.calibrationRatio != null && config.calibrationRatio > 0) {\n this.calibrationRatio = config.calibrationRatio;\n }\n\n const handlerRegistry = new HandlerRegistry();\n\n if (config.customHandlers) {\n for (const [eventType, handler] of Object.entries(\n config.customHandlers\n )) {\n handlerRegistry.register(eventType, handler);\n }\n }\n\n this.handlerRegistry = handlerRegistry;\n this.hookRegistry = config.hooks;\n this.humanInTheLoop = config.humanInTheLoop;\n this.langfuse = config.langfuse;\n this.toolOutputReferences = config.toolOutputReferences;\n this.eagerEventToolExecution = config.eagerEventToolExecution;\n this.codeSessionToolNames = config.codeSessionToolNames;\n this.interruptingToolNames = config.interruptingToolNames;\n this.toolExecution = config.toolExecution;\n this.subagentUsageSink = config.subagentUsageSink;\n this.preemption = config.preemption;\n this.streamLimits = config.streamLimits;\n\n if (!config.graphConfig) {\n throw new Error('Graph config not provided');\n }\n\n /** Handle different graph types */\n if (config.graphConfig.type === 'multi-agent') {\n this.graphRunnable = this.createMultiAgentGraph(config.graphConfig);\n if (this.Graph) {\n this.Graph.handlerRegistry = handlerRegistry;\n }\n } else {\n /** Default to legacy graph for 'standard' or undefined type */\n this.graphRunnable = this.createLegacyGraph(config.graphConfig);\n if (this.Graph) {\n this.Graph.handlerRegistry = handlerRegistry;\n }\n }\n\n if (config.initialSessions && this.Graph) {\n for (const [key, value] of config.initialSessions) {\n this.Graph.sessions.set(key, value);\n }\n }\n\n this.returnContent = config.returnContent ?? false;\n this.skipCleanup = config.skipCleanup ?? false;\n }\n\n private createLegacyGraph(\n config: t.LegacyGraphConfig | t.StandardGraphConfig\n ): t.CompiledStateWorkflow {\n let agentConfig: t.AgentInputs;\n let signal: AbortSignal | undefined;\n\n /** Check if this is a multi-agent style config (has agents array) */\n if ('agents' in config && Array.isArray(config.agents)) {\n if (config.agents.length === 0) {\n throw new Error('At least one agent must be provided');\n }\n agentConfig = config.agents[0];\n signal = config.signal;\n } else {\n /** Legacy path: build agent config from llmConfig */\n const {\n type: _type,\n llmConfig,\n signal: legacySignal,\n tools = [],\n ...agentInputs\n } = config as t.LegacyGraphConfig;\n const { provider, ...clientOptions } = llmConfig;\n\n agentConfig = {\n ...agentInputs,\n tools,\n provider,\n clientOptions,\n agentId: 'default',\n };\n signal = legacySignal;\n }\n\n const standardGraph = createGraph({\n kind: 'standard',\n input: {\n signal,\n runId: this.id,\n agents: [agentConfig],\n langfuse: this.langfuse,\n tokenCounter: this.tokenCounter,\n indexTokenCountMap: this.indexTokenCountMap,\n calibrationRatio: this.calibrationRatio,\n subagentUsageSink: this.subagentUsageSink,\n preemption: this.preemption,\n streamLimits: this.streamLimits,\n },\n });\n /** Propagate compile options from graph config */\n standardGraph.compileOptions = this.applyHITLCheckpointerFallback(\n config.compileOptions\n );\n this.hasCheckpointer = standardGraph.compileOptions?.checkpointer != null;\n applyGraphRuntimeConfig(standardGraph, {\n hookRegistry: this.hookRegistry,\n humanInTheLoop: this.humanInTheLoop,\n toolOutputReferences: this.toolOutputReferences,\n eagerEventToolExecution: this.eagerEventToolExecution,\n codeSessionToolNames: this.codeSessionToolNames,\n interruptingToolNames: this.interruptingToolNames,\n toolExecution: this.toolExecution,\n });\n this.Graph = standardGraph;\n return standardGraph.createWorkflow();\n }\n\n private createMultiAgentGraph(\n config: t.MultiAgentGraphConfig\n ): t.CompiledStateWorkflow {\n const { agents, edges, compileOptions } = config;\n\n const multiAgentGraph = createGraph({\n kind: 'multi-agent',\n input: {\n runId: this.id,\n agents,\n edges,\n langfuse: this.langfuse,\n tokenCounter: this.tokenCounter,\n indexTokenCountMap: this.indexTokenCountMap,\n calibrationRatio: this.calibrationRatio,\n subagentUsageSink: this.subagentUsageSink,\n preemption: this.preemption,\n streamLimits: this.streamLimits,\n },\n });\n\n multiAgentGraph.compileOptions =\n this.applyHITLCheckpointerFallback(compileOptions);\n this.hasCheckpointer = multiAgentGraph.compileOptions?.checkpointer != null;\n\n applyGraphRuntimeConfig(multiAgentGraph, {\n hookRegistry: this.hookRegistry,\n humanInTheLoop: this.humanInTheLoop,\n toolOutputReferences: this.toolOutputReferences,\n eagerEventToolExecution: this.eagerEventToolExecution,\n codeSessionToolNames: this.codeSessionToolNames,\n interruptingToolNames: this.interruptingToolNames,\n toolExecution: this.toolExecution,\n });\n this.Graph = multiAgentGraph;\n return multiAgentGraph.createWorkflow();\n }\n\n /**\n * When the host opted into HITL via `humanInTheLoop: { enabled: true }`\n * and did not supply a checkpointer, install an in-memory `MemorySaver`\n * so `interrupt()` can persist checkpoints and `Command({ resume })`\n * can rebuild state. The fallback is intentionally process-local:\n * production hosts that need durable resumption across processes /\n * restarts must provide their own checkpointer (Redis, Postgres, etc.)\n * on `compileOptions.checkpointer`.\n *\n * No-op when HITL is off (the default — omitted, or\n * `{ enabled: false }`) or the host already supplied a checkpointer\n * of their own. See `HumanInTheLoopConfig` JSDoc for the rationale\n * behind the default-off stance.\n */\n private applyHITLCheckpointerFallback(\n compileOptions: t.CompileOptions | undefined\n ): t.CompileOptions | undefined {\n if (this.humanInTheLoop?.enabled !== true) {\n return compileOptions;\n }\n if (compileOptions?.checkpointer != null) {\n return compileOptions;\n }\n return {\n ...(compileOptions ?? {}),\n checkpointer: new MemorySaver(),\n };\n }\n\n /**\n * Run RunStart + UserPromptSubmit hooks before the graph stream\n * begins, accumulate any `additionalContext` strings into the input\n * messages, and short-circuit when a hook signals the run should not\n * proceed (deny / ask decision on the prompt, or `preventContinuation`\n * on either hook).\n *\n * Returns `true` when the caller should bail with `undefined` (run\n * was halted before any model call); returns `false` to proceed\n * into the stream loop.\n *\n * ## Side effects\n *\n * On the success path:\n * - Mutates `stateInputs.messages` in place to append a\n * consolidated `HumanMessage` carrying any hook\n * `additionalContext` strings. Safe because the host owns the\n * array and `processStream` is the only consumer until LangGraph\n * reads it.\n *\n * On the halt path (returning `true`):\n * - Sets `this._haltedReason` so callers (and the eventual host)\n * can distinguish a hook-driven halt from a natural completion.\n * - Calls `registry.clearSession(this.id)` and\n * `registry.clearHaltSignal(this.id)` because no resume is\n * expected from a pre-stream halt — the run never entered the\n * graph, so the session/halt state for this run would otherwise\n * leak to the next `processStream` invocation on the same\n * registry. Other concurrent runs on the same registry are\n * untouched (halt signals are scoped per session id).\n * - Sets `config.callbacks = undefined` to drop the callback\n * references the caller built (langfuse handler, custom event\n * handler, etc.) since they won't be exercised. Mirrors the\n * equivalent cleanup the `processStream` `finally` block does\n * on the natural-completion path.\n */\n private async runPreStreamHooks(\n stateInputs: t.IState,\n threadId: string | undefined,\n config: Partial<RunnableConfig>\n ): Promise<boolean> {\n const registry = this.hookRegistry;\n /**\n * Defensive guard: `processStream` already validated `this.Graph`\n * before calling this helper, but TypeScript can't propagate that\n * narrowing across method boundaries. The check keeps the body\n * free of `this.Graph!` non-null assertions.\n */\n if (registry == null || this.Graph == null) {\n return false;\n }\n\n const preStreamContexts: string[] = [];\n\n const runStartResult = await executeHooks({\n registry,\n input: {\n hook_event_name: 'RunStart',\n runId: this.id,\n threadId,\n agentId: this.Graph.defaultAgentId,\n messages: stateInputs.messages,\n },\n sessionId: this.id,\n });\n for (const ctx of runStartResult.additionalContexts) {\n preStreamContexts.push(ctx);\n }\n /**\n * Honor `preventContinuation` from RunStart before the stream\n * starts. Mid-flight halts (from tool/compact/subagent hooks)\n * route through `HookRegistry.haltRun` and are polled by the\n * stream loop in `processStream` — different mechanism, same\n * intent.\n */\n if (runStartResult.preventContinuation === true) {\n this._haltedReason = runStartResult.stopReason ?? 'preventContinuation';\n registry.clearSession(this.id);\n registry.clearHaltSignal(this.id);\n config.callbacks = undefined;\n return true;\n }\n\n const lastHuman = findLastMessageOfType(stateInputs.messages, 'human');\n if (lastHuman != null) {\n const promptResult = await executeHooks({\n registry,\n input: {\n hook_event_name: 'UserPromptSubmit',\n runId: this.id,\n threadId,\n agentId: this.Graph.defaultAgentId,\n prompt: extractPromptText(lastHuman),\n // attachments: not yet wired — Phase 2 will extract\n // non-text content blocks (images, files) from messages\n },\n sessionId: this.id,\n });\n if (\n promptResult.decision === 'deny' ||\n promptResult.decision === 'ask' ||\n promptResult.preventContinuation === true\n ) {\n /**\n * Always set `_haltedReason` so the host can call\n * `getHaltReason()` and distinguish a hook-blocked prompt\n * from a natural empty-output completion. Three signals can\n * land here, each with its own canonical reason string when\n * the hook didn't supply one.\n */\n if (promptResult.preventContinuation === true) {\n this._haltedReason = promptResult.stopReason ?? 'preventContinuation';\n } else if (promptResult.decision === 'deny') {\n this._haltedReason = promptResult.reason ?? 'prompt_denied';\n } else {\n this._haltedReason =\n promptResult.reason ?? 'prompt_requires_approval';\n }\n registry.clearSession(this.id);\n registry.clearHaltSignal(this.id);\n config.callbacks = undefined;\n return true;\n }\n for (const ctx of promptResult.additionalContexts) {\n preStreamContexts.push(ctx);\n }\n }\n\n if (preStreamContexts.length > 0) {\n /**\n * Wraps the joined hook contexts as a `HumanMessage` even though\n * the intent is system-level guidance. Using a `SystemMessage`\n * mid-conversation is rejected by Anthropic and Google providers\n * (system messages must be the leading entry), so the LangChain\n * convention — also used by `ToolNode.convertInjectedMessages`\n * — is `HumanMessage` carrying `additional_kwargs.role` as a\n * marker for hosts inspecting state. The model still sees a\n * user-role message; the `role: 'system'` field is metadata\n * only. Hosts that want a true system message should compose\n * it into the agent's `instructions` config instead.\n */\n stateInputs.messages.push(\n new HumanMessage({\n content: preStreamContexts.join('\\n\\n'),\n additional_kwargs: { role: 'system', source: 'hook' },\n })\n );\n }\n\n return false;\n }\n\n static async create<T extends t.BaseGraphState>(\n config: t.RunConfig\n ): Promise<Run<T>> {\n /** Create tokenCounter if indexTokenCountMap is provided but tokenCounter is not */\n if (config.indexTokenCountMap && !config.tokenCounter) {\n const gc = config.graphConfig;\n const clientOpts =\n 'agents' in gc ? gc.agents[0]?.clientOptions : gc.clientOptions;\n const model = (clientOpts as { model?: string } | undefined)?.model ?? '';\n config.tokenCounter = await createTokenCounter(encodingForModel(model));\n }\n return new Run<T>(config);\n }\n\n getRunMessages(): BaseMessage[] | undefined {\n if (!this.Graph) {\n throw new Error(\n 'Graph not initialized. Make sure to use Run.create() to instantiate the Run.'\n );\n }\n return this.Graph.getRunMessages();\n }\n\n getChildCheckpointThreadIds(): string[] {\n return this.Graph?.getChildCheckpointThreadIds() ?? [];\n }\n\n /**\n * Returns a defensive snapshot of tools discovered by the current run.\n * Pass an agent id for that context, or omit it for the ordered union across\n * contexts. Interrupted state is available immediately for host persistence;\n * completed runs retain their final snapshot through graph cleanup.\n */\n getDiscoveredTools(agentId?: string): string[] {\n if (!this.Graph) {\n throw new Error(\n 'Graph not initialized. Make sure to use Run.create() to instantiate the Run.'\n );\n }\n return this.Graph.getDiscoveredTools(agentId);\n }\n\n /**\n * Returns the current calibration ratio (EMA of provider-vs-estimate token ratios).\n * Hosts should persist this value and pass it back as `RunConfig.calibrationRatio`\n * on the next run for the same conversation so the pruner starts with an accurate\n * scaling factor instead of the default (1).\n */\n getCalibrationRatio(): number {\n return this.calibrationRatio;\n }\n\n getResolvedInstructionOverhead(): number | undefined {\n return this.Graph?.getResolvedInstructionOverhead();\n }\n\n /**\n * Cooperative-seal counters for this run. `emptyBoundaries` is the one to\n * watch: it counts seals whose `PreemptBoundary` produced nothing to\n * inject, which ends the turn early and leaves the answer unfinished.\n */\n getPreemptStats(): t.PreemptStats {\n return this.Graph?.getPreemptStats() ?? { seals: 0, emptyBoundaries: 0 };\n }\n\n getToolCount(): number {\n return this.Graph?.getToolCount() ?? 0;\n }\n\n /**\n * Creates a custom event callback handler that intercepts custom events\n * and processes them through our handler registry instead of EventStreamCallbackHandler\n */\n private createCustomEventCallback() {\n return async (\n eventName: string,\n data: unknown,\n runId: string,\n tags?: string[],\n metadata?: Record<string, unknown>\n ): Promise<void> => {\n // Step-scoped SDK events are dispatched directly via the handler\n // registry first. Skip callback-based echoes to prevent double\n // handling when LangGraph invokes custom callbacks more than once.\n const stepScopedEventId = getStepScopedEventId(data);\n if (\n DIRECT_DISPATCHED_STEP_EVENTS.has(eventName) &&\n this.Graph != null &&\n stepScopedEventId != null &&\n this.Graph.hasHandlerDispatchedEvent(eventName, stepScopedEventId)\n ) {\n return;\n }\n const handler = this.handlerRegistry?.getHandler(eventName);\n /**\n * Tool completions arriving over the custom-event channel are the only\n * signal ToolNode (which holds no graph reference) emits — observe them\n * here to drive step closure. Runs in `finally`, independent of handler\n * registration, so an absent or throwing host handler cannot lose the\n * close; duplicate callback echoes are absorbed by the terminal-status\n * guard in `closeRunStep`.\n */\n try {\n if (handler && this.Graph) {\n return await handler.handle(\n eventName,\n data as\n | t.StreamEventData\n | t.ModelEndData\n | t.RunStep\n | t.RunStepDeltaEvent\n | t.RunStepClosedEvent\n | t.MessageDeltaEvent\n | t.ReasoningDeltaEvent\n | { result: t.ToolEndEvent },\n metadata,\n this.Graph\n );\n }\n } finally {\n if (\n eventName === GraphEvents.ON_RUN_STEP_COMPLETED &&\n this.Graph != null\n ) {\n const completion = getToolCompletion(data);\n if (completion != null) {\n /**\n * The producer stamped `completed_at` before dispatch. Carrying it\n * through keeps the recorded duration the tool's, not the host\n * handler's — this runs after an arbitrarily slow handler resolves.\n */\n await this.Graph.recordStepCompletion(completion.stepId, {\n toolCallId: completion.toolCallId,\n metadata,\n at: completion.completedAt,\n });\n }\n }\n }\n };\n }\n\n private shouldClearHookSession(streamThrew: boolean): boolean {\n return this._interrupt == null || this._haltedReason != null || streamThrew;\n }\n\n private isAwaitingResume(streamThrew: boolean): boolean {\n return (\n this._interrupt != null && this._haltedReason == null && !streamThrew\n );\n }\n\n /**\n * Terminal status for steps still open at end-of-run: `cancelled` for\n * intentional stops (caller abort, hook halt), `failed` for unexpected\n * stream errors, `completed` for a natural finish. Reads `_haltedReason`\n * behind a method boundary on purpose — it is assigned inside the\n * `consumeStream` closure, which control-flow narrowing cannot see.\n */\n private resolveSweepStatus(\n streamThrew: boolean,\n streamAborted: boolean\n ): Exclude<t.RunStepStatus, 'in_progress'> {\n if (streamThrew) {\n return streamAborted ? 'cancelled' : 'failed';\n }\n if (this._haltedReason != null) {\n return 'cancelled';\n }\n return 'completed';\n }\n\n private getStreamLangfuseConfig(\n graph: StandardGraph | MultiAgentGraph\n ): t.LangfuseConfig | undefined {\n const primaryContext = graph.agentContexts.get(graph.defaultAgentId);\n if (primaryContext != null) {\n return resolveLangfuseConfig(this.langfuse, primaryContext.langfuse);\n }\n\n for (const context of graph.agentContexts.values()) {\n const langfuse = resolveLangfuseConfig(this.langfuse, context.langfuse);\n if (langfuse != null) {\n return langfuse;\n }\n }\n\n return this.langfuse;\n }\n\n private getStreamToolOutputTracingLangfuseConfig(\n graph: StandardGraph | MultiAgentGraph\n ): t.LangfuseConfig | undefined {\n const toolOutputTracingConfigs = Array.from(graph.agentContexts.values())\n .map((context) => {\n return resolveLangfuseConfig(this.langfuse, context.langfuse)\n ?.toolOutputTracing;\n })\n .filter((config): config is t.LangfuseToolOutputTracingConfig => {\n return config != null;\n });\n\n if (toolOutputTracingConfigs.length === 0) {\n return this.langfuse?.toolOutputTracing != null\n ? { toolOutputTracing: this.langfuse.toolOutputTracing }\n : undefined;\n }\n if (toolOutputTracingConfigs.length === 1) {\n return { toolOutputTracing: toolOutputTracingConfigs[0] };\n }\n\n let enabled: boolean | undefined;\n let redactionText: string | undefined;\n let redactedToolNameMatchMode: 'exact' | 'partial' | undefined;\n const redactedToolNames = new Set<string>();\n\n for (const config of toolOutputTracingConfigs) {\n if (config.enabled === false) {\n enabled = false;\n } else if (enabled !== false && config.enabled != null) {\n enabled = config.enabled;\n }\n\n redactionText ??= config.redactionText;\n if (config.redactedToolNameMatchMode === 'partial') {\n redactedToolNameMatchMode = 'partial';\n } else {\n redactedToolNameMatchMode ??= config.redactedToolNameMatchMode;\n }\n\n for (const toolName of config.redactedToolNames ?? []) {\n redactedToolNames.add(toolName);\n }\n }\n\n return {\n toolOutputTracing: {\n ...(enabled != null ? { enabled } : {}),\n ...(redactedToolNames.size > 0\n ? { redactedToolNames: Array.from(redactedToolNames) }\n : {}),\n ...(redactedToolNameMatchMode != null\n ? { redactedToolNameMatchMode }\n : {}),\n ...(redactionText != null ? { redactionText } : {}),\n },\n };\n }\n\n async processStream(\n inputs: t.IState | Command,\n callerConfig: t.RunStreamConfig,\n streamOptions?: t.EventStreamOptions\n ): Promise<MessageContentComplex[] | undefined> {\n if (this.graphRunnable == null) {\n throw new Error(\n 'Run not initialized. Make sure to use Run.create() to instantiate the Run.'\n );\n }\n if (!this.Graph) {\n throw new Error(\n 'Graph not initialized. Make sure to use Run.create() to instantiate the Run.'\n );\n }\n const graphRunnable = this.graphRunnable;\n const graph = this.Graph;\n\n /**\n * `Command` inputs (`Command({ resume, update?, goto? })`) are\n * resume-mode invocations: LangGraph rebuilds graph state from the\n * checkpointer, so we skip RunStart / UserPromptSubmit hooks (no\n * new prompt to evaluate) and read run-state from the Graph wrapper\n * instead of `inputs.messages`.\n */\n const isResume = inputs instanceof Command;\n const stateInputs = isResume ? undefined : (inputs as t.IState);\n if (stateInputs != null) {\n this.activityPhaseTraceInput = findActivityPhaseTraceInput(\n stateInputs.messages\n );\n }\n\n /**\n * Every honored seal costs one extra superstep, so a preemption-enabled\n * run reserves headroom for its whole seal budget. Without it, a\n * tool-heavy agent that gets preempted could hit `GraphRecursionError` —\n * which surfaces as a thrown stream, setting `streamThrew`, firing\n * `StopFailure`, and wiping via `clearHeavyState()` exactly the partial\n * content the seal existed to preserve.\n */\n const recursionLimit =\n (callerConfig.recursionLimit ?? DEFAULT_RECURSION_LIMIT) +\n (this.preemption != null ? resolveMaxSeals(this.preemption.maxSeals) : 0);\n\n const config: t.RunStreamConfig = {\n ...callerConfig,\n recursionLimit,\n configurable: { ...callerConfig.configurable },\n };\n if (!isResume) {\n delete config.configurable?.[SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY];\n delete config.configurable?.[SUBAGENT_RESUME_MANIFEST_CONFIG_KEY];\n }\n\n /**\n * Cancellation can arrive either at graph construction or per-call through\n * `callerConfig.signal`, and boundary hooks need to observe both — for a\n * multi-agent run the construction signal does not exist at all, since\n * `MultiAgentGraphConfig` exposes none. Carried on its own field, assigned\n * unconditionally: writing into `graph.signal` would leak this call's\n * controller into later calls (model-call config and subagent\n * parentSignal read that field, and `clearHeavyState()` is skipped on\n * HITL interrupts), while a conditional write would keep observing a\n * stale controller the host has since aborted. The boundary dispatch\n * composes both channels; see `dispatchPreemptBoundary`.\n */\n graph.callerSignal = callerConfig.signal;\n\n /**\n * Skip `resetValues` on resume — we're continuing an in-flight\n * run, not starting a fresh one. Resetting would wipe the\n * sidecars (`toolCallStepIds`, `stepKeyIds`, accumulated\n * `messages`, etc.) the resumed `ToolNode` needs to dispatch\n * tool completions with the correct step ids and re-resolve\n * `{{tool<i>turn<n>}}` references. Pairs with the\n * `awaitingResume` gate on `clearHeavyState` in the `finally`\n * block so the sidecars survive both ends of the interrupt\n * boundary.\n */\n if (!isResume) {\n const checkpointThreadId =\n typeof config.configurable?.thread_id === 'string'\n ? config.configurable.thread_id\n : undefined;\n const checkpointNamespace =\n typeof config.configurable?.checkpoint_ns === 'string'\n ? config.configurable.checkpoint_ns\n : '';\n const checkpointId =\n typeof config.configurable?.checkpoint_id === 'string'\n ? config.configurable.checkpoint_id\n : '';\n const checkpointScope =\n checkpointThreadId == null\n ? undefined\n : JSON.stringify([\n checkpointThreadId,\n checkpointNamespace,\n checkpointId,\n checkpointId === '' ? 0 : ++this.checkpointForkSeq,\n ]);\n graph.resetValues(streamOptions?.keepContent, checkpointScope);\n }\n this._interrupt = undefined;\n this._haltedReason = undefined;\n this.hookRegistry?.clearHaltSignal(this.id);\n\n /** Custom event callback to intercept and handle custom events */\n const customEventCallback = this.createCustomEventCallback();\n\n const streamCallbacks = streamOptions?.callbacks\n ? this.getCallbacks(streamOptions.callbacks)\n : undefined;\n\n const customHandler = BaseCallbackHandler.fromMethods({\n [Callback.CUSTOM_EVENT]: customEventCallback,\n });\n customHandler.awaitHandlers = true;\n\n config.callbacks = appendCallbacks(\n config.callbacks,\n streamCallbacks ? [streamCallbacks, customHandler] : [customHandler]\n );\n\n const primaryContext = graph.agentContexts.get(graph.defaultAgentId);\n const userId =\n typeof config.configurable?.user_id === 'string'\n ? config.configurable.user_id\n : undefined;\n const sessionId =\n typeof config.configurable?.thread_id === 'string'\n ? config.configurable.thread_id\n : undefined;\n const traceMetadata = createLangfuseTraceMetadata({\n messageId: this.id,\n parentMessageId: config.configurable?.requestBody?.parentMessageId,\n agentId: graph.defaultAgentId,\n agentName: primaryContext?.name,\n });\n const traceName = config.runName ?? getLangfuseTraceName(traceMetadata);\n const streamLangfuseConfig = this.getStreamLangfuseConfig(graph);\n initializeLangfuseTracing(streamLangfuseConfig);\n const streamRuntimeScope = resolveLangfuseRuntimeScope({\n runLangfuse: streamLangfuseConfig,\n langfuseOverlay: this.getStreamToolOutputTracingLangfuseConfig(graph),\n traceIdSeed:\n streamLangfuseConfig?.deterministicTraceId === true\n ? this.id\n : undefined,\n // The graph's per-execution stamp, NOT the public run id: public ids\n // may repeat across concurrent executions (retries, tenant-local\n // message ids), and equal stamps defeat foreign-scope rejection.\n runId: graph.langfuseScopeRunId,\n });\n const langfuseHandler = createLangfuseHandler({\n langfuse: streamLangfuseConfig,\n userId,\n sessionId,\n traceMetadata,\n tags: ['librechat', 'agent'],\n traceIdSeed:\n streamLangfuseConfig?.deterministicTraceId === true\n ? this.id\n : undefined,\n runId: graph.langfuseScopeRunId,\n // The aggregate multi-agent policy from the runtime scope — the\n // handler must restore THIS (not the primary agent's config-derived\n // policy) when rejecting a foreign scope.\n toolOutputTracing: streamRuntimeScope.toolOutputTracing,\n traceName,\n });\n if (langfuseHandler != null) {\n config.runName = traceName;\n config.callbacks = appendCallbacks(config.callbacks, [langfuseHandler]);\n }\n\n if (!this.id) {\n throw new Error('Run ID not provided');\n }\n\n config.run_id = this.id;\n config.configurable = Object.assign(config.configurable ?? {}, {\n run_id: this.id,\n });\n\n /**\n * Default `durability: 'exit'` whenever a checkpointer is active so\n * runs skip per-superstep checkpoint writes and persist only at the\n * exit/interrupt boundary (all HITL/resume needs). An explicit caller\n * value wins; no checkpointer leaves it unset (langgraph default).\n */\n if (config.durability == null && this.hasCheckpointer) {\n config.durability = 'exit';\n }\n\n const threadId = config.configurable.thread_id as string | undefined;\n\n if (this.hookRegistry != null && stateInputs != null) {\n const shouldHalt = await this.runPreStreamHooks(\n stateInputs,\n threadId,\n config\n );\n if (shouldHalt) {\n return undefined;\n }\n }\n\n /**\n * Tracks whether the stream loop threw. Used by the `finally`\n * block to decide whether to honor the interrupt-preservation\n * guard for session hooks: a captured `_interrupt` is only\n * meaningful if the stream completed cleanly. If the loop errored\n * after stashing an interrupt (e.g. a downstream handler throws\n * after the interrupt event landed), the interrupt is stale —\n * preserving session hooks would leak them into the next run.\n */\n let streamThrew = false;\n let streamAborted = false;\n /**\n * When the stream itself ended — captured before the post-stream work in\n * the `finally` (Stop/StopFailure hooks, Langfuse disposal, which can\n * force-flush) so a slow hook cannot inflate the terminal stamps that the\n * sweep writes onto steps that were still open.\n */\n let terminalAt: number | undefined;\n\n const consumeStream = async (): Promise<void> => {\n /**\n * `streamEvents` accepts both state inputs and `Command` (resume) at\n * runtime, but our `CompiledStateWorkflow` type narrows the first\n * arg to `BaseGraphState`. Cast on the call so the resume path\n * type-checks without widening the wrapper for every caller.\n */\n const stream = graphRunnable.streamEvents(inputs as t.IState, config, {\n raiseError: true,\n /**\n * Prevent EventStreamCallbackHandler from processing custom events.\n * Custom events are already handled via our createCustomEventCallback()\n * which routes them through the handlerRegistry.\n * Without this flag, EventStreamCallbackHandler throws errors when\n * custom events are dispatched for run IDs not in its internal map\n * (due to timing issues in parallel execution or after run cleanup).\n */\n ignoreCustomEvent: true,\n });\n\n for await (const event of stream) {\n const { data, metadata, ...info } = event;\n\n const eventName: t.EventName = info.event;\n\n /** Skip custom events as they're handled by our callback */\n if (CUSTOM_GRAPH_EVENTS.has(eventName)) {\n continue;\n }\n\n /**\n * Detect interrupts surfaced by LangGraph as a synthetic\n * `__interrupt__` field on the streamed chunk and stash the\n * first one for the host to read via `run.getInterrupt()`\n * once the stream drains. Captured as `unknown` because the\n * SDK does not validate the runtime payload shape — the\n * built-in ToolNode raises a `HumanInterruptPayload`\n * (`tool_approval` / `ask_user_question`), but custom nodes\n * can pass any payload to `interrupt()`. Callers narrow with\n * the `isToolApprovalInterrupt` / `isAskUserQuestionInterrupt`\n * guards or assert via `getInterrupt<T>()`.\n */\n if (\n this._interrupt == null &&\n data.chunk != null &&\n isInterrupted<unknown>(data.chunk)\n ) {\n const interrupts = data.chunk[INTERRUPT];\n if (interrupts.length > 0) {\n const first = interrupts[0];\n /**\n * Capture the interrupt unconditionally — `interrupt(null)`\n * and `interrupt(undefined)` are valid pauses (a custom\n * node may want to pause without metadata) and the host\n * still needs to know the run is awaiting resume. Gating\n * on `payload != null` would silently downgrade a paused\n * run to \"completed\" and let the `Stop` hook fire,\n * breaking host resume handling.\n */\n this._interrupt = {\n interruptId: first.id ?? '',\n threadId,\n payload: first.value,\n };\n }\n }\n\n /**\n * Stamped before the handler runs: the close below happens after an\n * arbitrarily slow host handler resolves, and the step's duration\n * should end when the model did, not when the host finished with it.\n */\n const modelEndAt =\n eventName === GraphEvents.CHAT_MODEL_END ? Date.now() : undefined;\n const handler = this.handlerRegistry?.getHandler(eventName);\n if (handler) {\n await handler.handle(eventName, data, metadata, this.Graph);\n }\n\n /**\n * A finished model call ends its lane's open message step. Placed\n * here — not in `ModelEndHandler` — because hosts replace the\n * CHAT_MODEL_END handler with their own instance, which would\n * silently drop the close.\n */\n if (eventName === GraphEvents.CHAT_MODEL_END && this.Graph != null) {\n await this.Graph.closeOpenMessageStep(metadata, modelEndAt);\n }\n\n /**\n * Mid-flight halt: any hook (PreToolUse, PostToolUse,\n * PostToolBatch, SubagentStart/Stop, PreCompact, PostCompact)\n * that returned `preventContinuation: true` raises a halt\n * signal on the registry via `executeHooks`. We poll between\n * stream events and break out as soon as one is set so the\n * graph doesn't take another model turn after the halting\n * operation completes.\n *\n * This `break` is NOT graceful, despite what a `continue: false`\n * reading suggests. Leaving the `for await` calls the iterator's\n * `return()`, which cancels the reader\n * (`@langchain/core/utils/stream`), and langgraph's stream wrapper\n * turns that cancel into `_abortController.abort()`\n * (`pregel/stream.js`). The in-flight model call or tool batch is\n * torn down where it stands — it does not finish first.\n *\n * A halt is therefore the wrong tool for \"stop generating but keep\n * what you have\". That is what `RunConfig.preemption` is for: it\n * seals the stream at a provider-safe boundary and keeps the run.\n */\n const haltSignal = this.hookRegistry?.getHaltSignal(this.id);\n if (haltSignal != null) {\n this._haltedReason = haltSignal.reason;\n break;\n }\n }\n\n terminalAt = Date.now();\n\n if (this._interrupt != null) {\n await this.resolveInterruptResumeConfig(config);\n }\n\n /**\n * Skip the Stop hook when the run paused on a HITL interrupt\n * (still pending human input) or was halted by a hook (the host\n * already chose to stop, so a Stop hook firing now would be\n * misleading). The host fires Stop on the resumed-and-completed\n * run instead.\n */\n if (\n this._interrupt == null &&\n this._haltedReason == null &&\n this.hookRegistry?.hasHookFor('Stop', this.id) === true\n ) {\n await executeHooks({\n registry: this.hookRegistry,\n input: {\n hook_event_name: 'Stop',\n runId: this.id,\n threadId,\n agentId: graph.defaultAgentId,\n messages: graph.getRunMessages() ?? stateInputs?.messages ?? [],\n /**\n * A seal whose boundary ended the turn early must say so. The\n * hook-supplied reason wins when a `PreemptBoundary` hook halted\n * with one — a persistence/audit `Stop` hook should record the\n * actual cause, not the generic label — and `preempt_incomplete`\n * is reserved for the boundary that simply had nothing to inject.\n */\n stopReason:\n graph.preemptHaltReason ??\n (graph.preemptIncomplete ? 'preempt_incomplete' : undefined),\n stopHookActive: false, // will be true when stop is triggered by a hook (Phase 2)\n },\n sessionId: this.id,\n }).catch(() => {\n /* Stop hook errors must not masquerade as stream failures */\n });\n }\n\n /**\n * A `PreemptBoundary` hook that returned `preventContinuation` has its\n * registry halt cleared by the graph — that is what stops the halt from\n * cancelling the stream before the sealed turn commits — so the reason\n * is carried across on the graph instead. Surfaced here, AFTER the\n * `Stop` dispatch above, so the host still receives a completion signal\n * to persist the partial answer with while `getHaltReason()` correctly\n * reports that a hook stopped the run rather than the model finishing.\n *\n * An empty boundary — sealed, but nothing to inject because the host's\n * queue was drained or cancelled in the meantime — cut the answer short\n * just as surely, only without a hook-supplied reason. It surfaces\n * through the same channel under the same name the `Stop` dispatch\n * already used for its `stopReason`, so terminal consumers\n * (`AgentSession` emits `run.halted`, not `run.completed`) cannot\n * finalize a truncated answer as a natural finish.\n */\n if (this._haltedReason == null && graph.preemptHaltReason != null) {\n this._haltedReason = graph.preemptHaltReason;\n } else if (this._haltedReason == null && graph.preemptIncomplete) {\n this._haltedReason = 'preempt_incomplete';\n }\n };\n\n try {\n // When opted in, seed the root trace id from this run's id so feedback /\n // other external signals can be attached to the trace later without a\n // lookup (see SeededTraceIdGenerator in ./instrumentation).\n await withLangfuseRuntimeScope(streamRuntimeScope, () =>\n withLangfuseAttributes(\n {\n langfuse: streamLangfuseConfig,\n userId,\n sessionId,\n traceName,\n traceMetadata,\n tags: ['librechat', 'agent'],\n },\n consumeStream\n )\n );\n } catch (err) {\n terminalAt = Date.now();\n streamThrew = true;\n /**\n * Corroborate cancellation against an actually-aborted signal. A\n * provider SDK or host handler can reject with an `AbortError` while\n * nothing was cancelled — that is an unexpected failure (it also fires\n * `StopFailure`), and naming it `cancelled` would misreport abort\n * forensics.\n */\n streamAborted =\n config.signal?.aborted === true || this.Graph.signal?.aborted === true;\n if (this.hookRegistry?.hasHookFor('StopFailure', this.id) === true) {\n const runMessages = this.Graph.getRunMessages() ?? [];\n await executeHooks({\n registry: this.hookRegistry,\n input: {\n hook_event_name: 'StopFailure',\n runId: this.id,\n threadId,\n agentId: this.Graph.defaultAgentId,\n error: err instanceof Error ? err.message : String(err),\n lastAssistantMessage: findLastMessageOfType(runMessages, 'ai'),\n },\n sessionId: this.id,\n }).catch(() => {\n /* swallow hook errors — the original error must propagate */\n });\n }\n throw err;\n } finally {\n /**\n * Preserve session-scoped hooks when the run paused on a HITL\n * interrupt — the very next call will be `Run.resume()`, which\n * needs the same policy hooks (e.g., the `PreToolUse` matcher\n * that triggered the interrupt) to fire on the re-executed node\n * and uphold the approval flow. Clearing here would leak the\n * approval gate on resume. The session is cleared instead at\n * natural completion, error (including errors that happen AFTER\n * an interrupt was captured — those interrupts are stale), or\n * hook-driven halt (including hooks that returned BOTH `ask`\n * and `preventContinuation` — the halt wins, no resume is\n * expected, sessions must drop). Every state where no resume\n * is expected clears.\n */\n if (this.shouldClearHookSession(streamThrew)) {\n this.hookRegistry?.clearSession(this.id);\n }\n /**\n * Drop any halt signal raised mid-stream for this run so a\n * subsequent `processStream` / `resume` starts with clean state.\n * The Run captured `_haltedReason` already; the registry entry\n * for this `sessionId` would otherwise spuriously trip the next\n * loop. Other concurrent runs sharing this registry are\n * unaffected — their entries live under their own session ids.\n */\n this.hookRegistry?.clearHaltSignal(this.id);\n await disposeLangfuseHandler(langfuseHandler);\n\n /**\n * Terminal sweep: close every step that never reached a terminal\n * status — `completed` on a natural end, `cancelled` on caller abort\n * or hook halt, `failed` on an unexpected stream error. Skipped on a\n * HITL pause, where the open steps continue after `resume()`.\n *\n * Runs BEFORE the callback teardown below, so a caller observing\n * lifecycle events only through `RunnableConfig.callbacks` still\n * receives these closures rather than being left with unmatched\n * starts, and before `getContentParts()` so terminal stamps flow into\n * content and session serialization.\n */\n if (!this.isAwaitingResume(streamThrew)) {\n try {\n await this.Graph.closeUnfinishedRunSteps(\n this.resolveSweepStatus(streamThrew, streamAborted),\n terminalAt\n );\n } catch {\n /* the sweep must never mask the stream outcome */\n }\n }\n\n /**\n * Break the reference chain that keeps heavy data alive via\n * LangGraph's internal `__pregel_scratchpad.currentTaskInput` →\n * `@langchain/core` `RunTree.extra[lc:child_config]` →\n * Node.js `AsyncLocalStorage` context captured by timers/promises.\n *\n * Without this, base64-encoded images/PDFs in message content remain\n * reachable from lingering `Timeout` handles until GC runs.\n */\n if (!this.skipCleanup) {\n if (\n (config.configurable as Record<string, unknown> | undefined) != null\n ) {\n for (const key of Object.getOwnPropertySymbols(config.configurable)) {\n const val = config.configurable[key as unknown as string] as\n | Record<string, unknown>\n | undefined;\n if (\n val != null &&\n typeof val === 'object' &&\n 'currentTaskInput' in val\n ) {\n (val as Record<string, unknown>).currentTaskInput = undefined;\n }\n delete config.configurable[key as unknown as string];\n }\n config.configurable = undefined;\n }\n config.callbacks = undefined;\n }\n\n const result = this.returnContent\n ? this.Graph.getContentParts()\n : undefined;\n\n this.calibrationRatio = this.Graph.getCalibrationRatio();\n\n /**\n * Skip `clearHeavyState()` when the run paused on a clean HITL\n * interrupt awaiting resume — `Run.resume()` re-enters the same\n * `ToolNode` instance and needs the sidecars `clearHeavyState`\n * would wipe (`toolCallStepIds` for completion-event step ids,\n * the `_toolOutputRegistry` for `{{tool<i>turn<n>}}`\n * substitutions, `sessions` for code-env continuity, plus the\n * `hookRegistry` and `humanInTheLoop` config the interrupt\n * branch itself relies on). Without preservation, the resumed\n * tool completion would dispatch `ON_RUN_STEP_COMPLETED` with\n * an empty step id and downstream stream consumers would drop\n * the result.\n *\n * The natural-completion / error / hook-driven-halt paths still\n * clean up — `_haltedReason != null` or `streamThrew` mean no\n * resume is expected. Cross-process resume (host rebuilds the\n * Run from scratch) is a separate concern; see\n * `HumanInTheLoopConfig` JSDoc.\n */\n const awaitingResume = this.isAwaitingResume(streamThrew);\n if (!this.skipCleanup && !awaitingResume) {\n this.Graph.clearHeavyState();\n }\n\n this._streamResult = result;\n }\n\n return this._streamResult;\n }\n\n /**\n * Returns the pending interrupt captured during the most recent\n * `processStream` (or `resume`) invocation. `undefined` when the run\n * either has not been streamed yet or completed without pausing.\n *\n * Hosts call this immediately after `processStream` returns to decide\n * whether the run is awaiting human input. Persist the returned\n * descriptor (alongside `thread_id` and the agent run config) so a\n * later `resume(decisions)` can rebuild the run.\n *\n * The default `TPayload` is the SDK's `HumanInterruptPayload` union\n * (`tool_approval` / `ask_user_question`), suitable for the common\n * case where interrupts come from the built-in ToolNode or\n * `askUserQuestion()` helper. Hosts that raise custom interrupts\n * from custom graph nodes pass their own type — the SDK does not\n * validate the runtime shape, it just transports whatever the\n * `interrupt()` call carried. When in doubt, narrow with the\n * `isToolApprovalInterrupt` / `isAskUserQuestionInterrupt` type\n * guards (which accept `unknown`) before reading variant-specific\n * fields.\n */\n getInterrupt<TPayload = t.HumanInterruptPayload>():\n | t.RunInterruptResult<TPayload>\n | undefined {\n if (this._interrupt == null) {\n return undefined;\n }\n return {\n ...this._interrupt,\n payload: stripSubagentResumeManifest(this._interrupt.payload),\n } as t.RunInterruptResult<TPayload>;\n }\n\n /**\n * Returns the reason a hook halted the run via\n * `preventContinuation: true`, or `undefined` if no hook halted.\n *\n * Hosts inspect this after `processStream` returns to distinguish a\n * natural completion (`undefined`) from a hook-driven halt (a\n * truthy string). Independent from `getInterrupt()` — a halted run\n * has no interrupt; an interrupted run has no halt reason.\n */\n getHaltReason(): string | undefined {\n return this._haltedReason;\n }\n\n /**\n * Resume a paused HITL run with the value the user (or whatever\n * decided the interrupt) supplied. The default `TResume` covers the\n * `tool_approval` interrupt (the common case): an array of decisions\n * in `action_requests` order, or a record keyed by `tool_call_id`.\n *\n * For other interrupt types (e.g., `ask_user_question` →\n * `AskUserQuestionResolution`, or any custom interrupt a host raises\n * from a custom node), pass the type parameter and the SDK forwards\n * the value through unchanged. LangGraph delivers it as the return\n * value of the original `interrupt()` call inside the paused node.\n *\n * The host MUST construct this Run with the same `thread_id` and the\n * same checkpointer as the original paused run; LangGraph rebuilds\n * graph state from the checkpoint and re-enters the interrupted node\n * from the start.\n */\n /**\n * Returns the per-Run file checkpointer when\n * `toolExecution.local.fileCheckpointing === true` was set on the\n * RunConfig. Hosts can capture extra paths or call `rewind()`\n * directly. Returns undefined when checkpointing is disabled.\n *\n * Construction-time invariant: the checkpointer is shared across\n * every ToolNode the graph compiles (single-agent and multi-agent),\n * so a `rewind()` call here unwinds writes made by ANY agent in the\n * run.\n */\n getFileCheckpointer(): t.LocalFileCheckpointer | undefined {\n return this.Graph?.getOrCreateFileCheckpointer();\n }\n\n /**\n * Convenience wrapper that calls `rewind()` on the per-Run file\n * checkpointer. Restores every file the local engine snapshotted\n * during this Run to its pre-write content (and deletes any path\n * that didn't exist before being created). Returns the count of\n * paths processed; returns 0 when checkpointing is disabled.\n */\n async rewindFiles(): Promise<number> {\n const cp = this.getFileCheckpointer();\n return cp == null ? 0 : cp.rewind();\n }\n\n /**\n * Resume an interrupted run. `commandOptions` forwards langgraph 1.4.5\n * `Command` fields applied together with `resume` in one superstep:\n * - `update`: channel updates committed at the resume point. On a *rebuilt*\n * Run (new instance + durable checkpointer), `update.messages` are the first\n * write the fresh wrapper sees, so they seed the `getRunMessages()` /\n * `returnContent` baseline and are excluded from them (still committed to the\n * checkpoint). Hosts that rebuild + inject messages should persist them\n * directly or read from `getState`. Unreachable without a durable checkpointer.\n * - `goto`: a *dynamic* edge that does not cancel static `addEdge` routes. On\n * the built-in standard graph the fixed `toolNode -> agentNode/END` edge still\n * fires, so `goto` adds rather than replaces (e.g. `goto: END` will not stop a\n * tool-node resume). Intended for custom, Command-routed graphs.\n */\n async resume<TResume = t.ToolApprovalDecision[] | t.ToolApprovalDecisionMap>(\n resumeValue: TResume,\n callerConfig: t.RunStreamConfig,\n streamOptions?: t.EventStreamOptions,\n commandOptions?: Pick<\n ConstructorParameters<typeof Command>[0],\n 'update' | 'goto'\n >\n ): Promise<MessageContentComplex[] | undefined> {\n const resumeConfig = await this.resolveInterruptResumeConfig(\n callerConfig,\n commandOptions?.update\n );\n const interruptId = this._interrupt?.interruptId;\n const scopedResume =\n typeof interruptId === 'string' &&\n interruptId.length > 0 &&\n !isLangGraphResumeMapForInterrupt(resumeValue, interruptId)\n ? { [interruptId]: resumeValue }\n : resumeValue;\n // langgraph 1.4.5 applies resume + state update + reroute in one superstep\n // (single checkpoint). `update`/`goto` are omitted unless the caller sets them.\n return this.processStream(\n new Command({\n resume: scopedResume,\n ...(commandOptions?.update !== undefined\n ? { update: commandOptions.update }\n : {}),\n ...(commandOptions?.goto !== undefined\n ? { goto: commandOptions.goto }\n : {}),\n }),\n resumeConfig,\n streamOptions\n );\n }\n\n private async resolveInterruptResumeConfig(\n callerConfig: t.RunStreamConfig,\n resumeUpdate?: ResumeCommandUpdate\n ): Promise<t.RunStreamConfig> {\n await this.restoreInterruptFromCheckpoint(callerConfig, resumeUpdate);\n const interrupt = this._interrupt;\n const resumeManifest = requireValidSubagentResumeManifest(\n interrupt?.payload\n );\n const resumeConfigurable = { ...callerConfig.configurable };\n delete resumeConfigurable[SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY];\n delete resumeConfigurable[SUBAGENT_RESUME_MANIFEST_CONFIG_KEY];\n resumeConfigurable[SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY] = nanoid();\n if (resumeManifest != null) {\n resumeConfigurable[SUBAGENT_RESUME_MANIFEST_CONFIG_KEY] = resumeManifest;\n }\n const manifestConfig = {\n ...callerConfig,\n configurable: resumeConfigurable,\n };\n const hookSessionId = getInterruptHookSessionId(interrupt?.payload);\n if (hookSessionId != null) {\n this.hookRegistry?.copySession(hookSessionId, this.id);\n }\n const interruptId = interrupt?.interruptId;\n const workflow = this.graphRunnable as\n | (t.CompiledStateWorkflow & WorkflowWithStateHistory)\n | undefined;\n const stateHistory = workflow?.getStateHistory;\n if (interrupt?.checkpointId != null && interrupt.checkpointId.length > 0) {\n return {\n ...manifestConfig,\n configurable: {\n ...manifestConfig.configurable,\n checkpoint_id: interrupt.checkpointId,\n ...(typeof interrupt.checkpointNs === 'string'\n ? { checkpoint_ns: interrupt.checkpointNs }\n : {}),\n },\n };\n }\n if (\n interrupt == null ||\n typeof interruptId !== 'string' ||\n interruptId.length === 0 ||\n typeof stateHistory !== 'function'\n ) {\n return manifestConfig;\n }\n\n for await (const snapshot of stateHistory.call(\n this.graphRunnable,\n manifestConfig as RunnableConfig\n )) {\n const hasMatchingInterrupt =\n snapshot.tasks?.some(\n (task) =>\n task.interrupts?.some(\n (interrupt) => interrupt.id === interruptId\n ) === true\n ) === true;\n const checkpointConfigurable = snapshot.config?.configurable;\n if (!hasMatchingInterrupt || checkpointConfigurable == null) {\n continue;\n }\n\n const checkpointId = checkpointConfigurable.checkpoint_id;\n const checkpointNs = checkpointConfigurable.checkpoint_ns;\n if (typeof checkpointId === 'string' && checkpointId.length > 0) {\n this._interrupt = {\n ...interrupt,\n checkpointId,\n ...(typeof checkpointNs === 'string' ? { checkpointNs } : {}),\n };\n return {\n ...manifestConfig,\n configurable: {\n ...manifestConfig.configurable,\n checkpoint_id: checkpointId,\n ...(typeof checkpointNs === 'string'\n ? { checkpoint_ns: checkpointNs }\n : {}),\n },\n };\n }\n }\n\n return manifestConfig;\n }\n\n private async restoreInterruptFromCheckpoint(\n callerConfig: t.RunStreamConfig,\n resumeUpdate?: ResumeCommandUpdate\n ): Promise<void> {\n if (this._interrupt != null || this.humanInTheLoop?.enabled !== true) {\n return;\n }\n const workflow = this.graphRunnable as\n | (t.CompiledStateWorkflow & WorkflowWithStateHistory)\n | undefined;\n if (typeof workflow?.getState !== 'function') {\n return;\n }\n\n const snapshot = await workflow.getState(callerConfig as RunnableConfig);\n const persistedInterrupt = getFirstPersistedInterrupt(snapshot);\n if (persistedInterrupt == null) {\n return;\n }\n const persistedMessages = getPersistedMessages(snapshot);\n if (persistedMessages != null) {\n const resumeMessages = getResumeUpdateMessages(resumeUpdate);\n this.Graph?.restoreCheckpointMessages(persistedMessages, resumeMessages);\n this.activityPhaseTraceInput = findActivityPhaseTraceInput(\n resumeMessages == null\n ? persistedMessages\n : [...persistedMessages, ...resumeMessages]\n );\n }\n\n const checkpointConfigurable = snapshot.config?.configurable;\n const checkpointId = checkpointConfigurable?.checkpoint_id;\n const checkpointNs = checkpointConfigurable?.checkpoint_ns;\n const threadId = callerConfig.configurable?.thread_id;\n this._interrupt = {\n interruptId: persistedInterrupt.id,\n payload: persistedInterrupt.value,\n ...(typeof threadId === 'string' ? { threadId } : {}),\n ...(typeof checkpointId === 'string' ? { checkpointId } : {}),\n ...(typeof checkpointNs === 'string' ? { checkpointNs } : {}),\n };\n }\n\n private createSystemCallback<K extends keyof t.ClientCallbacks>(\n clientCallbacks: t.ClientCallbacks,\n key: K\n ): t.SystemCallbacks[K] {\n return ((...args: unknown[]) => {\n const clientCallback = clientCallbacks[key];\n if (clientCallback && this.Graph) {\n (clientCallback as (...args: unknown[]) => void)(this.Graph, ...args);\n }\n }) as t.SystemCallbacks[K];\n }\n\n getCallbacks(clientCallbacks: t.ClientCallbacks): t.SystemCallbacks {\n return {\n [Callback.TOOL_ERROR]: this.createSystemCallback(\n clientCallbacks,\n Callback.TOOL_ERROR\n ),\n [Callback.TOOL_START]: this.createSystemCallback(\n clientCallbacks,\n Callback.TOOL_START\n ),\n [Callback.TOOL_END]: this.createSystemCallback(\n clientCallbacks,\n Callback.TOOL_END\n ),\n };\n }\n\n async generateTitle({\n provider,\n inputText,\n contentParts,\n titlePrompt,\n clientOptions,\n chainOptions,\n skipLanguage,\n titleMethod = TitleMethod.COMPLETION,\n titlePromptTemplate,\n }: t.RunTitleOptions): Promise<{ language?: string; title?: string }> {\n let titleLangfuseHandler: CallbackEntry | undefined;\n let titleUserId: string | undefined;\n let titleSessionId: string | undefined;\n const titleContext =\n this.Graph == null\n ? undefined\n : this.Graph.agentContexts.get(this.Graph.defaultAgentId);\n const titleLangfuseConfig = resolveLangfuseConfig(\n this.langfuse,\n titleContext?.langfuse\n );\n const traceMetadata = createLangfuseTraceMetadata({\n messageId: 'title-' + this.id,\n agentName: titleContext?.name,\n });\n const titleRunName = getLangfuseTraceName(traceMetadata, 'LibreChat Title');\n /** Scope identity carries an opaque per-execution component: public run\n * ids are unrestricted, so a purely derived id (`title-<runId>`) could\n * collide with an ordinary concurrent run literally named that way and\n * defeat foreign-scope rejection. */\n const titleScopeRunId = `title:${this.id}:${nanoid()}`;\n /** Seed policy mirrors `generateActivityLabel`:\n * `runWithLangfuseRuntimeContext` SPREADS the surrounding context, so an\n * absent seed INHERITS an active parent run's and collapses the title\n * into that run's trace. Seeded when determinism is opted into OR a\n * parent seed is live; otherwise unseeded, matching the other paths. */\n const inheritedTraceSeed = getTraceIdSeed();\n const titleRuntimeScope = resolveLangfuseRuntimeScope({\n runLangfuse: this.langfuse,\n langfuseOverlay: titleContext?.langfuse,\n traceIdSeed:\n titleLangfuseConfig?.deterministicTraceId === true ||\n inheritedTraceSeed != null\n ? 'title-' + this.id\n : undefined,\n runId: titleScopeRunId,\n });\n\n if (chainOptions != null) {\n titleUserId =\n typeof chainOptions.configurable?.user_id === 'string'\n ? chainOptions.configurable.user_id\n : undefined;\n titleSessionId =\n typeof chainOptions.configurable?.thread_id === 'string'\n ? chainOptions.configurable.thread_id\n : undefined;\n initializeLangfuseTracing(titleLangfuseConfig);\n titleLangfuseHandler = createLangfuseHandler({\n langfuse: titleLangfuseConfig,\n userId: titleUserId,\n sessionId: titleSessionId,\n traceMetadata,\n tags: ['librechat', 'title'],\n traceIdSeed:\n titleLangfuseConfig?.deterministicTraceId === true\n ? 'title-' + this.id\n : undefined,\n runId: titleScopeRunId,\n toolOutputTracing: titleRuntimeScope.toolOutputTracing,\n traceName: chainOptions.runName ?? titleRunName,\n });\n\n if (titleLangfuseHandler != null) {\n chainOptions.callbacks = appendCallbacks(chainOptions.callbacks, [\n titleLangfuseHandler,\n ]);\n }\n }\n\n const convoTemplate = PromptTemplate.fromTemplate(\n titlePromptTemplate ?? 'User: {input}\\nAI: {output}'\n );\n\n const response = contentParts\n .map((part) => {\n if (part?.type === 'text') return part.text;\n return '';\n })\n .join('\\n');\n\n const model = initializeModel({\n provider,\n clientOptions,\n }) as t.ChatModelInstance;\n\n if (\n isOpenAILike(provider) &&\n (model instanceof ChatOpenAI || model instanceof AzureChatOpenAI)\n ) {\n model.temperature = (clientOptions as t.OpenAIClientOptions | undefined)\n ?.temperature as number;\n model.topP = (clientOptions as t.OpenAIClientOptions | undefined)\n ?.topP as number;\n model.frequencyPenalty = (\n clientOptions as t.OpenAIClientOptions | undefined\n )?.frequencyPenalty as number;\n model.presencePenalty = (\n clientOptions as t.OpenAIClientOptions | undefined\n )?.presencePenalty as number;\n model.n = (clientOptions as t.OpenAIClientOptions | undefined)\n ?.n as number;\n }\n\n const convoToTitleInput = new RunnableLambda({\n func: (\n promptValue: StringPromptValue\n ): { convo: string; inputText: string; skipLanguage?: boolean } => ({\n convo: promptValue.value,\n inputText,\n skipLanguage,\n }),\n }).withConfig({ runName: 'PrepareTitleInput' });\n\n const titleChain =\n titleMethod === TitleMethod.COMPLETION\n ? await createCompletionTitleRunnable(model, titlePrompt)\n : await createTitleRunnable(model, titlePrompt);\n\n /** Pipes `convoTemplate` -> `transformer` -> `titleChain` */\n const fullChain = convoTemplate\n .withConfig({ runName: 'FormatConversation' })\n .pipe(convoToTitleInput)\n .pipe(titleChain)\n .withConfig({ runName: 'GenerateConversationTitle' });\n\n const invokeConfig = Object.assign({}, chainOptions, {\n run_id: this.id,\n runId: this.id,\n runName: chainOptions?.runName ?? titleRunName,\n });\n\n const invokeTitleChain = (\n runtimeConfig: Partial<RunnableConfig>\n ): Promise<{ language?: string; title?: string }> =>\n withLangfuseAttributes(\n {\n langfuse: titleLangfuseConfig,\n userId: titleUserId,\n sessionId: titleSessionId,\n traceName: runtimeConfig.runName ?? titleRunName,\n traceMetadata,\n tags: ['librechat', 'title'],\n },\n () =>\n fullChain.invoke(\n { input: inputText, output: response },\n runtimeConfig\n )\n );\n\n try {\n try {\n return await withLangfuseRuntimeScope(titleRuntimeScope, () =>\n invokeTitleChain(invokeConfig)\n );\n } catch (_e) {\n // Fallback: strip callbacks to avoid EventStream tracer errors in certain environments\n // but preserve Langfuse tracing if it exists.\n const langfuseHandler = findCallback(\n invokeConfig.callbacks,\n isLangfuseCallbackHandler\n );\n const { callbacks: _cb, ...rest } = invokeConfig;\n const safeConfig = Object.assign({}, rest, {\n callbacks: langfuseHandler ? [langfuseHandler] : [],\n });\n return await withLangfuseRuntimeScope(titleRuntimeScope, () =>\n invokeTitleChain(safeConfig as Partial<RunnableConfig>)\n );\n }\n } finally {\n await disposeLangfuseHandler(titleLangfuseHandler);\n }\n }\n\n /**\n * Generates a short activity label for a completed tool/reasoning block\n * using a fast model. Mirrors `generateTitle`'s Langfuse wiring so the\n * call is traced under the conversation's session (sessionId from\n * `chainOptions.configurable.thread_id`) with its own tags — never as an\n * orphan trace. The payload contains no human messages by design: intent\n * comes from `lastAssistantText`, content from reasoning excerpts and\n * tool entries.\n */\n async generateActivityLabel({\n provider,\n clientOptions,\n entries,\n thinkingExcerpts,\n lastAssistantText,\n lastAssistantPhase,\n previousLabels,\n prompt,\n charLimit = 600,\n chainOptions,\n traceSeed,\n agentId,\n }: t.RunActivityLabelOptions): Promise<{ label?: string }> {\n if (\n entries.length === 0 &&\n !(thinkingExcerpts && thinkingExcerpts.length > 0)\n ) {\n return {};\n }\n const labelSeq = ++this.activityLabelSeq;\n\n /** Resolve the LABELED agent's context: its Langfuse overlay carries the\n * trace metadata and the tool-output redaction policy that must govern\n * this label. */\n const requestedContext =\n this.Graph == null || agentId == null\n ? undefined\n : this.Graph.agentContexts.get(agentId);\n /** Fail closed: an explicit but unknown/stale `agentId` must NOT silently\n * fall back to the default agent, whose redaction policy may be weaker\n * than the labeled agent's. Skip generation entirely instead. */\n if (agentId != null && requestedContext == null) {\n return {};\n }\n const labelContext =\n this.Graph == null\n ? undefined\n : (requestedContext ??\n this.Graph.agentContexts.get(this.Graph.defaultAgentId));\n /** Shallow-cloned: activity labels run once per tool batch, and writing\n * the Langfuse handler back onto a host-reused `chainOptions` would\n * accumulate duplicate callbacks across batches. */\n const labelChainOptions = {\n ...(chainOptions ?? {}),\n } as Partial<RunnableConfig> & {\n configurable?: Record<string, unknown> & {\n requestBody?: { parentMessageId?: unknown };\n };\n };\n const labelUserId =\n typeof labelChainOptions.configurable?.user_id === 'string'\n ? (labelChainOptions.configurable.user_id as string)\n : undefined;\n const labelSessionId =\n typeof labelChainOptions.configurable?.thread_id === 'string'\n ? (labelChainOptions.configurable.thread_id as string)\n : undefined;\n const labelIndex = labelSeq - 1;\n const labelParentMessageId =\n labelChainOptions.configurable?.requestBody?.parentMessageId;\n /** An omitted `agentId` is attributable only when exactly one context\n * exists. Multi-agent callers remain unattributed instead of being\n * incorrectly assigned to the graph's default agent. */\n const labelAgentId =\n agentId ??\n (this.Graph?.agentContexts.size === 1\n ? this.Graph.defaultAgentId\n : undefined);\n const labelAgentName =\n labelAgentId == null ? undefined : labelContext?.name;\n const labelMetadata: Record<string, unknown> = {\n sourceRunId: this.id,\n responseId: this.id,\n activityIndex: labelIndex,\n ...(typeof labelParentMessageId === 'string'\n ? { parentMessageId: labelParentMessageId }\n : {}),\n ...(labelAgentId == null ? {} : { agentId: labelAgentId }),\n ...(labelAgentName == null ? {} : { agentName: labelAgentName }),\n };\n const traceMetadata = {\n ...createLangfuseTraceMetadata({\n messageId: 'activity-label-' + this.id,\n parentMessageId: labelParentMessageId,\n agentId: labelAgentId,\n agentName: labelAgentName,\n }),\n sourceRunId: this.id,\n responseId: this.id,\n activityIndex: String(labelIndex),\n };\n const labelRunName = labelChainOptions.runName ?? ACTIVITY_LABEL_TRACE_NAME;\n const labelTags = ['librechat', 'activity-label'];\n const labelLangfuseConfig = resolveLangfuseConfig(\n this.langfuse,\n labelContext?.langfuse\n );\n initializeLangfuseTracing(labelLangfuseConfig);\n /** Seed policy, threading two constraints:\n * 1. `runWithLangfuseRuntimeContext` SPREADS the surrounding context, so\n * an absent seed INHERITS the parent run's and collapses every label\n * into that trace. When a parent seed is active we must override it\n * with a per-label one.\n * 2. Without deterministic tracing there is no parent seed, and forcing\n * one here would make label trace ids deterministic when neither\n * `processStream` nor `generateTitle` are — so leave it unset.\n * Seeded when determinism is opted into OR a parent seed is live;\n * otherwise unseeded, matching the other generation paths. */\n const inheritedTraceSeed = getTraceIdSeed();\n const labelTraceSeed =\n labelLangfuseConfig?.deterministicTraceId === true ||\n inheritedTraceSeed != null\n ? (traceSeed ?? `activity-label-${this.id}-${labelSeq}`)\n : undefined;\n /** Opaque per-execution component: see `titleScopeRunId`. */\n const labelScopeRunId = `activity-label:${this.id}:${labelSeq}:${nanoid()}`;\n const labelRuntimeScope = resolveLangfuseRuntimeScope({\n runLangfuse: this.langfuse,\n langfuseOverlay: labelContext?.langfuse,\n traceIdSeed: labelTraceSeed,\n runId: labelScopeRunId,\n });\n /** Handler only when a session id resolved from\n * `chainOptions.configurable.thread_id`: without it the label call has\n * no conversation identity, and tracing it would create an orphan\n * trace outside any session — worse than not tracing at all. */\n /** Declared then conditionally assigned (title precedent): a ternary\n * around the object literal makes eslint's indent rule and prettier\n * disagree, and both gate CI. */\n let labelLangfuseHandler: CallbackEntry | undefined;\n if (labelSessionId != null) {\n labelLangfuseHandler = createLangfuseHandler({\n langfuse: labelLangfuseConfig,\n userId: labelUserId,\n sessionId: labelSessionId,\n traceMetadata,\n tags: labelTags,\n traceIdSeed:\n labelLangfuseConfig?.deterministicTraceId === true\n ? labelTraceSeed\n : undefined,\n runId: labelScopeRunId,\n toolOutputTracing: labelRuntimeScope.toolOutputTracing,\n traceName: labelRunName,\n });\n }\n if (labelLangfuseHandler != null) {\n labelChainOptions.callbacks = appendCallbacks(\n labelChainOptions.callbacks,\n [labelLangfuseHandler]\n );\n }\n\n /** The label prompt becomes Langfuse generation input, so the resolved\n * tool-output redaction policy (global disable / redactedToolNames)\n * applies to it exactly as to structured tool observations. */\n let redaction = hasToolOutputTracingConfig(\n this.langfuse,\n labelContext?.langfuse\n )\n ? resolveToolOutputTracingConfig(this.langfuse, labelContext?.langfuse)\n : undefined;\n /** Multi-agent graph with no `agentId`: the caller did not say WHICH\n * agent ran this batch, so resolving from the default agent could trace\n * raw output that a stricter sibling's policy forbids. Fold every\n * agent's policy into the strictest one instead of guessing. */\n const agentContexts = this.Graph?.agentContexts;\n if (agentId == null && agentContexts != null && agentContexts.size > 1) {\n for (const context of agentContexts.values()) {\n if (!hasToolOutputTracingConfig(this.langfuse, context.langfuse)) {\n continue;\n }\n const candidate = resolveToolOutputTracingConfig(\n this.langfuse,\n context.langfuse\n );\n if (redaction == null) {\n redaction = candidate;\n continue;\n }\n redaction = {\n enabled: redaction.enabled === false ? false : candidate.enabled,\n redactedToolNames: new Set([\n ...redaction.redactedToolNames,\n ...candidate.redactedToolNames,\n ]),\n redactedToolNameMatchMode:\n redaction.redactedToolNameMatchMode === 'partial' ||\n candidate.redactedToolNameMatchMode === 'partial'\n ? 'partial'\n : 'exact',\n redactionText: redaction.redactionText,\n };\n }\n }\n /** An active redaction policy suppresses free-form reasoning/intent, so\n * a reasoning-only block has nothing describable left — skip the model\n * call rather than paying for a label built from the prompt alone. */\n const freeFormSuppressed =\n redaction != null &&\n (redaction.enabled === false || redaction.redactedToolNames.size > 0);\n if (entries.length === 0 && freeFormSuppressed) {\n return {};\n }\n const userPrompt = buildActivityLabelPrompt({\n entries,\n charLimit,\n thinkingExcerpts,\n lastAssistantText:\n lastAssistantPhase === 'final_answer' ? undefined : lastAssistantText,\n previousLabels,\n redaction,\n });\n\n const model = initializeModel({\n provider,\n clientOptions: {\n ...(clientOptions ?? {}),\n streaming: false,\n } as t.ClientOptions,\n }) as t.ChatModelInstance;\n\n /** Distinct run id per label call: callback/tracing integrations key\n * in-flight runs by it, so reusing the parent run's id would collide\n * across successive (or concurrent) label batches. */\n const labelRunId = `${this.id}-activity-${labelSeq}`;\n const invokeConfig = Object.assign({}, labelChainOptions, {\n run_id: labelRunId,\n runId: labelRunId,\n runName: labelRunName,\n tags: [...new Set([...(labelChainOptions.tags ?? []), ...labelTags])],\n metadata: {\n ...(labelChainOptions.metadata ?? {}),\n ...labelMetadata,\n },\n }) as Partial<RunnableConfig>;\n\n const invokeLabel = (\n runtimeConfig: Partial<RunnableConfig>\n ): Promise<unknown> =>\n withLangfuseAttributes(\n {\n langfuse: labelLangfuseConfig,\n userId: labelUserId,\n sessionId: labelSessionId,\n traceName: labelRunName,\n traceMetadata,\n tags: labelTags,\n },\n () =>\n model.invoke(\n [\n new SystemMessage(prompt ?? ACTIVITY_LABEL_PROMPT),\n new HumanMessage(userPrompt),\n ],\n runtimeConfig\n )\n );\n\n const extractLabel = (response: unknown): string => {\n const content = (response as { content?: unknown } | null)?.content;\n let text = '';\n if (typeof content === 'string') {\n text = content;\n } else if (Array.isArray(content)) {\n text = content\n .map((block) =>\n typeof block === 'string'\n ? block\n : ((block as { text?: string }).text ?? '')\n )\n .join('');\n }\n /** Collapsed to one line at the source: a header renders as a single\n * row, and hosts feed committed labels back as continuity context —\n * so a multi-line result would carry its line breaks into every later\n * prompt in the run. */\n return text\n .replace(/\\s+/g, ' ')\n .trim()\n .replace(/^[\"']|[\"']$/g, '');\n };\n\n try {\n let response: unknown;\n try {\n response = await withLangfuseRuntimeScope(labelRuntimeScope, () =>\n invokeLabel(invokeConfig)\n );\n } catch (error) {\n /** Retry ONLY recognized callback/tracer failures (the EventStream\n * tracer class of errors the stripped-callbacks fallback exists\n * for). Aborts and provider failures rethrow — retrying those\n * doubles traffic/cost and can restart cancelled requests. */\n const aborted =\n (labelChainOptions as { signal?: AbortSignal }).signal?.aborted ===\n true || (error as Error | null)?.name === 'AbortError';\n const callbackFailure = /callback|tracer|event.?stream/i.test(\n String(\n (error as Error | null)?.stack ??\n (error as Error | null)?.message ??\n ''\n )\n );\n if (aborted || !callbackFailure) {\n throw error;\n }\n const langfuseHandler = findCallback(\n invokeConfig.callbacks,\n isLangfuseCallbackHandler\n );\n const { callbacks, ...rest } = invokeConfig;\n const safeConfig = Object.assign({}, rest, {\n callbacks: filterCallbacks(\n callbacks,\n (callback) => callback === langfuseHandler\n ),\n });\n response = await withLangfuseRuntimeScope(labelRuntimeScope, () =>\n invokeLabel(safeConfig as Partial<RunnableConfig>)\n );\n }\n const label = extractLabel(response);\n return label.length > 0 ? { label } : {};\n } finally {\n await disposeLangfuseHandler(labelLangfuseHandler);\n }\n }\n\n /**\n * Generates one parent summary for two or more logical activities. The\n * summary model is traced as a dedicated activity-phase chain root in the\n * conversation session, with the model callback recorded as its generation\n * child. No session id means no phase trace, avoiding orphan observations.\n */\n async generateActivityPhaseLabel({\n provider,\n clientOptions,\n activities,\n totalActivityCount,\n assistantContext,\n closingTextPhase,\n prompt,\n charLimit = 600,\n chainOptions,\n traceSeed,\n sourceRunId,\n sourceTraceId,\n responseId,\n phaseIndex,\n status = 'completed',\n agentIds,\n }: t.RunActivityPhaseLabelOptions): Promise<{ label?: string }> {\n if (activities.length < 2) {\n return {};\n }\n\n const phaseSeq = ++this.activityPhaseLabelSeq;\n const hasUnattributedActivity = activities.some(\n (activity) => activity.agentId == null\n );\n const hasOmittedActivitiesWithoutAgentIds =\n agentIds == null &&\n (totalActivityCount ?? activities.length) > activities.length;\n const contributingAgentIds = [\n ...new Set([\n ...(agentIds ?? []),\n ...activities.flatMap((activity) =>\n activity.agentId == null ? [] : [activity.agentId]\n ),\n ]),\n ];\n const agentContexts = this.Graph?.agentContexts;\n if (\n contributingAgentIds.some(\n (agentId) => agentContexts?.get(agentId) == null\n )\n ) {\n return {};\n }\n const phaseContext =\n this.Graph == null\n ? undefined\n : this.Graph.agentContexts.get(this.Graph.defaultAgentId);\n const phaseLangfuseConfig = resolveLangfuseConfig(\n this.langfuse,\n phaseContext?.langfuse\n );\n\n let redaction = hasToolOutputTracingConfig(\n this.langfuse,\n phaseContext?.langfuse\n )\n ? resolveToolOutputTracingConfig(this.langfuse, phaseContext?.langfuse)\n : undefined;\n const redactionContexts =\n contributingAgentIds.length > 0 &&\n !hasUnattributedActivity &&\n !hasOmittedActivitiesWithoutAgentIds\n ? contributingAgentIds.flatMap((agentId) => {\n const context = agentContexts?.get(agentId);\n return context == null ? [] : [context];\n })\n : Array.from(agentContexts?.values() ?? []);\n for (const context of redactionContexts) {\n if (!hasToolOutputTracingConfig(this.langfuse, context.langfuse)) {\n continue;\n }\n const candidate = resolveToolOutputTracingConfig(\n this.langfuse,\n context.langfuse\n );\n if (redaction == null) {\n redaction = candidate;\n continue;\n }\n redaction = {\n enabled: redaction.enabled === false ? false : candidate.enabled,\n redactedToolNames: new Set([\n ...redaction.redactedToolNames,\n ...candidate.redactedToolNames,\n ]),\n redactedToolNameMatchMode:\n redaction.redactedToolNameMatchMode === 'partial' ||\n candidate.redactedToolNameMatchMode === 'partial'\n ? 'partial'\n : 'exact',\n redactionText: redaction.redactionText,\n };\n }\n\n const userPrompt = buildActivityPhaseLabelPrompt({\n activities,\n totalActivityCount,\n charLimit,\n assistantContext,\n redaction,\n });\n if (userPrompt === '') {\n return {};\n }\n const phaseChainOptions = {\n ...(chainOptions ?? {}),\n } as Partial<RunnableConfig> & {\n configurable?: Record<string, unknown> & {\n requestBody?: { parentMessageId?: unknown };\n };\n };\n const phaseUserId =\n typeof phaseChainOptions.configurable?.user_id === 'string'\n ? phaseChainOptions.configurable.user_id\n : undefined;\n const phaseSessionId =\n typeof phaseChainOptions.configurable?.thread_id === 'string'\n ? phaseChainOptions.configurable.thread_id\n : undefined;\n const resolvedPhaseIndex = phaseIndex ?? phaseSeq - 1;\n const phaseMessageId =\n responseId ?? `activity-phase-${this.id}-${resolvedPhaseIndex}`;\n const phaseAgentId = this.Graph?.defaultAgentId;\n const phaseAgentName = phaseContext?.name;\n const phaseParentMessageId =\n phaseChainOptions.configurable?.requestBody?.parentMessageId;\n const phaseMetadata: Record<string, unknown> = {\n sourceRunId: sourceRunId ?? this.id,\n ...(sourceTraceId == null ? {} : { sourceTraceId }),\n responseId: phaseMessageId,\n phaseIndex: resolvedPhaseIndex,\n activityCount: Math.max(activities.length, totalActivityCount ?? 0),\n status,\n contributingAgentIds,\n ...(typeof phaseParentMessageId === 'string'\n ? { parentMessageId: phaseParentMessageId }\n : {}),\n ...(phaseAgentId == null ? {} : { agentId: phaseAgentId }),\n ...(phaseAgentName == null ? {} : { agentName: phaseAgentName }),\n ...(closingTextPhase == null ? {} : { closingTextPhase }),\n };\n const traceMetadata = {\n ...createLangfuseTraceMetadata({\n messageId: phaseMessageId,\n parentMessageId: phaseParentMessageId,\n agentId: phaseAgentId,\n agentName: phaseAgentName,\n }),\n sourceRunId: String(phaseMetadata.sourceRunId),\n ...(sourceTraceId == null ? {} : { sourceTraceId }),\n responseId: phaseMessageId,\n phaseIndex: String(resolvedPhaseIndex),\n activityCount: String(phaseMetadata.activityCount),\n status,\n ...(contributingAgentIds.length === 0\n ? {}\n : { contributingAgentIds: contributingAgentIds.join(',') }),\n ...(closingTextPhase == null ? {} : { closingTextPhase }),\n };\n const phaseTraceName =\n phaseChainOptions.runName ?? ACTIVITY_PHASE_TRACE_NAME;\n const phaseTags = [\n 'librechat',\n 'activity-phase',\n 'agent-run-summary',\n 'agent',\n ];\n initializeLangfuseTracing(phaseLangfuseConfig);\n\n const inheritedTraceSeed = getTraceIdSeed();\n const phaseTraceSeed =\n phaseLangfuseConfig?.deterministicTraceId === true ||\n inheritedTraceSeed != null\n ? (traceSeed ?? `activity-phase-${this.id}-${resolvedPhaseIndex}`)\n : undefined;\n const phaseScopeRunId = `activity-phase:${this.id}:${phaseSeq}:${nanoid()}`;\n const phaseRuntimeScope = resolveLangfuseRuntimeScope({\n runLangfuse: this.langfuse,\n langfuseOverlay: phaseContext?.langfuse,\n traceIdSeed: phaseTraceSeed,\n runId: phaseScopeRunId,\n });\n let phaseLangfuseHandler: CallbackEntry | undefined;\n const sourceUserText =\n this.activityPhaseTraceInput ??\n findActivityPhaseTraceInput(this.Graph?.getRunMessages() ?? []);\n if (phaseSessionId != null && sourceUserText != null) {\n phaseLangfuseHandler = createLangfuseHandler({\n langfuse: phaseLangfuseConfig,\n userId: phaseUserId,\n sessionId: phaseSessionId,\n traceMetadata,\n tags: phaseTags,\n traceIdSeed:\n phaseLangfuseConfig?.deterministicTraceId === true\n ? phaseTraceSeed\n : undefined,\n runId: phaseScopeRunId,\n toolOutputTracing: phaseRuntimeScope.toolOutputTracing,\n traceName: phaseTraceName,\n });\n }\n if (phaseLangfuseHandler != null) {\n phaseChainOptions.callbacks = appendCallbacks(\n phaseChainOptions.callbacks,\n [phaseLangfuseHandler]\n );\n }\n\n const model = initializeModel({\n provider,\n clientOptions: {\n ...(clientOptions ?? {}),\n streaming: false,\n } as t.ClientOptions,\n }) as t.ChatModelInstance;\n const phaseRunId = `${this.id}-activity-phase-${phaseSeq}`;\n const invokeConfig = Object.assign({}, phaseChainOptions, {\n run_id: phaseRunId,\n runId: phaseRunId,\n runName: 'summarize-activity-phase',\n tags: [...new Set([...(phaseChainOptions.tags ?? []), ...phaseTags])],\n metadata: {\n ...(phaseChainOptions.metadata ?? {}),\n ...phaseMetadata,\n },\n }) as Partial<RunnableConfig>;\n const invokeModel = (\n runtimeConfig: Partial<RunnableConfig>\n ): Promise<unknown> =>\n model.invoke(\n [\n new SystemMessage(prompt ?? ACTIVITY_PHASE_LABEL_PROMPT),\n new HumanMessage(userPrompt),\n ],\n runtimeConfig\n );\n const invokeWithCallbackFallback = async (\n runtimeConfig: Partial<RunnableConfig>\n ): Promise<unknown> => {\n try {\n return await invokeModel(runtimeConfig);\n } catch (error) {\n const aborted =\n (runtimeConfig as { signal?: AbortSignal }).signal?.aborted ===\n true || (error as Error | null)?.name === 'AbortError';\n const callbackFailure = /callback|tracer|event.?stream/i.test(\n String(\n (error as Error | null)?.stack ??\n (error as Error | null)?.message ??\n ''\n )\n );\n if (aborted || !callbackFailure) {\n throw error;\n }\n const langfuseHandler = findCallback(\n runtimeConfig.callbacks,\n isLangfuseCallbackHandler\n );\n const { callbacks, ...rest } = runtimeConfig;\n const safeConfig = Object.assign({}, rest, {\n callbacks: filterCallbacks(\n callbacks,\n (callback) => callback === langfuseHandler\n ),\n });\n return invokeModel(safeConfig as Partial<RunnableConfig>);\n }\n };\n const extractPhaseLabel = (response: unknown): string => {\n const content = (response as { content?: unknown } | null)?.content;\n if (typeof content === 'string') {\n return normalizeActivityPhaseLabel(content);\n }\n if (!Array.isArray(content)) {\n return '';\n }\n return normalizeActivityPhaseLabel(\n content\n .map((block) =>\n typeof block === 'string'\n ? block\n : ((block as { text?: string }).text ?? '')\n )\n .join('')\n );\n };\n const phaseRunnable = new RunnableLambda({\n func: async (\n _input: { messages: BaseMessage[] },\n runtimeConfig?: Partial<RunnableConfig>\n ): Promise<{ label?: string; messages: BaseMessage[] }> => {\n const response = await invokeWithCallbackFallback(runtimeConfig ?? {});\n const label = extractPhaseLabel(response);\n return label.length > 0\n ? { label, messages: [new AIMessage(label)] }\n : { messages: [] };\n },\n }).withConfig({ runName: 'summarize-activity-phase' });\n\n try {\n const result = await withLangfuseRuntimeScope(phaseRuntimeScope, () =>\n withLangfuseAttributes(\n {\n langfuse: phaseLangfuseConfig,\n userId: phaseUserId,\n sessionId: phaseSessionId,\n traceName: phaseTraceName,\n traceMetadata,\n tags: phaseTags,\n },\n () =>\n phaseRunnable.invoke(\n {\n messages:\n sourceUserText == null\n ? []\n : [new HumanMessage(sourceUserText)],\n },\n invokeConfig\n )\n )\n );\n return result.label == null ? {} : { label: result.label };\n } finally {\n await disposeLangfuseHandler(phaseLangfuseHandler);\n }\n }\n}\n\nfunction findLastMessageOfType(\n messages: BaseMessage[],\n type: string\n): BaseMessage | undefined {\n for (let i = messages.length - 1; i >= 0; i--) {\n if (messages[i].getType() === type) {\n return messages[i];\n }\n }\n return undefined;\n}\n\nfunction findActivityPhaseTraceInput(\n messages: BaseMessage[]\n): string | undefined {\n for (let i = messages.length - 1; i >= 0; i--) {\n const message = messages[i];\n if (\n message.getType() !== 'human' ||\n message.additional_kwargs?.role === 'system' ||\n message.additional_kwargs?.isMeta === true\n ) {\n continue;\n }\n const input = extractPromptText(message).trim();\n if (input !== '') {\n return input;\n }\n }\n return undefined;\n}\n\nfunction extractPromptText(message: BaseMessage): string {\n const content = message.content;\n if (typeof content === 'string') {\n return content;\n }\n if (!Array.isArray(content)) {\n return String(content);\n }\n const parts: string[] = [];\n for (const block of content) {\n const textBlock = block as { type?: unknown; text?: unknown } | null;\n if (\n textBlock != null &&\n (textBlock.type === 'text' || textBlock.type === 'input_text') &&\n typeof textBlock.text === 'string'\n ) {\n parts.push(textBlock.text);\n }\n }\n return parts.join('\\n');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"run.cjs","names":["stripSubagentResumeManifest","BaseMessage","HandlerRegistry","createGraph","MemorySaver","executeHooks","HumanMessage","createTokenCounter","encodingForModel","resolveLangfuseConfig","Command","resolveMaxSeals","SUBAGENT_RESUME_ATTEMPT_CONFIG_KEY","SUBAGENT_RESUME_MANIFEST_CONFIG_KEY","BaseCallbackHandler","appendCallbacks","createLangfuseTraceMetadata","getLangfuseTraceName","resolveLangfuseRuntimeScope","createLangfuseHandler","INTERRUPT","withLangfuseRuntimeScope","withLangfuseAttributes","disposeLangfuseHandler","requireValidSubagentResumeManifest","getTraceIdSeed","PromptTemplate","initializeModel","isOpenAILike","ChatOpenAI","AzureChatOpenAI","RunnableLambda","createCompletionTitleRunnable","createTitleRunnable","findCallback","isLangfuseCallbackHandler","hasToolOutputTracingConfig","resolveToolOutputTracingConfig","buildActivityLabelPrompt","SystemMessage","ACTIVITY_LABEL_PROMPT","filterCallbacks","buildActivityPhaseLabelPrompt","ACTIVITY_PHASE_LABEL_PROMPT","normalizeActivityPhaseLabel","AIMessage"],"sources":["../../src/run.ts"],"mappings":"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"}
@@ -326,7 +326,6 @@ function createAgentInputFromGraphConfig(graphConfig, initialSummary, retainRece
326
326
  function createManualCompactGraph(params) {
327
327
  const contentData = [];
328
328
  const contentIndexMap = /* @__PURE__ */ new Map();
329
- /** Stamps the terminal state and publishes the single terminal event. */
330
329
  const closeStep = async (runStep, status, at) => {
331
330
  if (runStep.status !== "in_progress") return;
332
331
  runStep.status = status;
@@ -345,12 +344,6 @@ function createManualCompactGraph(params) {
345
344
  await params.customHandlers?.["on_run_step_closed"]?.handle("on_run_step_closed", closedEvent);
346
345
  };
347
346
  const result = {
348
- /**
349
- * Terminal sweep for compaction, which runs outside `Run.processStream`
350
- * and so has no stream-level equivalent: a summarization model that
351
- * rejects, aborts, or trips a stream limit after the step was published
352
- * would otherwise strand observers with a permanently open step.
353
- */
354
347
  closeOpenSteps: async (status) => {
355
348
  const closedAt = Date.now();
356
349
  for (const runStep of contentData) try {
@@ -834,16 +827,7 @@ var AgentSession = class AgentSession {
834
827
  metadata: { run_id: compactRunId }
835
828
  });
836
829
  } catch (error) {
837
- /**
838
- * `failed`, not `cancelled`: manual compaction is invoked without a
839
- * caller abort signal, so there is no cancellation source to
840
- * corroborate against. An error that merely carries the `AbortError`
841
- * name is an unexpected failure here, and it propagates to the caller
842
- * either way.
843
- */
844
- await graph.closeOpenSteps("failed").catch(() => {
845
- /** the sweep must never mask the summarization failure */
846
- });
830
+ await graph.closeOpenSteps("failed").catch(() => {});
847
831
  throw error;
848
832
  }
849
833
  await graph.closeOpenSteps("completed");