@librechat/agents 3.4.7 → 3.5.0

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 (1026) 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/dist/types/agents/AgentContext.d.ts +3 -3
  582. package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +3 -3
  583. package/dist/types/agents/projection.d.ts +1 -1
  584. package/dist/types/events.d.ts +2 -2
  585. package/dist/types/graphs/Graph.d.ts +11 -11
  586. package/dist/types/graphs/MultiAgentGraph.d.ts +2 -2
  587. package/dist/types/graphs/createGraph.d.ts +4 -4
  588. package/dist/types/graphs/graphFactory.d.ts +1 -1
  589. package/dist/types/hitl/askUserQuestion.d.ts +1 -1
  590. package/dist/types/hitl/askUserQuestions.d.ts +1 -1
  591. package/dist/types/hitl/askUserQuestionsInterrupt.d.ts +1 -1
  592. package/dist/types/hooks/types.d.ts +1 -1
  593. package/dist/types/instrumentation.d.ts +1 -1
  594. package/dist/types/langfuse.d.ts +3 -3
  595. package/dist/types/langfuseConfig.d.ts +2 -2
  596. package/dist/types/langfuseRuntimeContext.d.ts +1 -1
  597. package/dist/types/langfuseRuntimeScope.d.ts +2 -2
  598. package/dist/types/langfuseSpanRegistry.d.ts +1 -1
  599. package/dist/types/langfuseToolOutputTracing.d.ts +3 -3
  600. package/dist/types/llm/anthropic/index.d.ts +1 -1
  601. package/dist/types/llm/bedrock/index.d.ts +1 -1
  602. package/dist/types/llm/bedrock/toolCache.d.ts +2 -2
  603. package/dist/types/llm/contextOverflowRecovery.d.ts +2 -2
  604. package/dist/types/llm/google/index.d.ts +1 -1
  605. package/dist/types/llm/init.d.ts +2 -2
  606. package/dist/types/llm/invoke.d.ts +6 -6
  607. package/dist/types/llm/mistral/index.d.ts +1 -1
  608. package/dist/types/llm/openai/index.d.ts +2 -2
  609. package/dist/types/llm/openrouter/index.d.ts +2 -2
  610. package/dist/types/llm/openrouter/toolCache.d.ts +2 -2
  611. package/dist/types/llm/providers.d.ts +2 -2
  612. package/dist/types/llm/request.d.ts +2 -2
  613. package/dist/types/llm/stream/chunkAdapters.d.ts +1 -1
  614. package/dist/types/llm/streamLimits.d.ts +1 -1
  615. package/dist/types/llm/truncation.d.ts +1 -1
  616. package/dist/types/llm/vertexai/index.d.ts +1 -1
  617. package/dist/types/messages/alternation.d.ts +1 -1
  618. package/dist/types/messages/anthropicToolCache.d.ts +2 -2
  619. package/dist/types/messages/assistantPhase.d.ts +3 -3
  620. package/dist/types/messages/budget.d.ts +1 -1
  621. package/dist/types/messages/cache.d.ts +1 -1
  622. package/dist/types/messages/contextPruning.d.ts +2 -2
  623. package/dist/types/messages/core.d.ts +2 -2
  624. package/dist/types/messages/format.d.ts +2 -2
  625. package/dist/types/messages/ids.d.ts +2 -2
  626. package/dist/types/messages/injected.d.ts +1 -1
  627. package/dist/types/messages/langchain.d.ts +1 -1
  628. package/dist/types/messages/prune.d.ts +3 -3
  629. package/dist/types/openai/index.d.ts +1 -1
  630. package/dist/types/prompts/activityLabel.d.ts +2 -2
  631. package/dist/types/responses/index.d.ts +1 -1
  632. package/dist/types/run.d.ts +3 -3
  633. package/dist/types/session/handlers.d.ts +1 -1
  634. package/dist/types/session/types.d.ts +1 -1
  635. package/dist/types/stream.d.ts +4 -4
  636. package/dist/types/summarization/index.d.ts +1 -1
  637. package/dist/types/summarization/node.d.ts +6 -6
  638. package/dist/types/test/mockTools.d.ts +1 -1
  639. package/dist/types/tools/BashExecutor.d.ts +2 -2
  640. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +2 -2
  641. package/dist/types/tools/CodeExecutor.d.ts +3 -3
  642. package/dist/types/tools/CodeSessionFileSummary.d.ts +1 -1
  643. package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
  644. package/dist/types/tools/ReadFile.d.ts +1 -1
  645. package/dist/types/tools/SkillTool.d.ts +1 -1
  646. package/dist/types/tools/SubagentTool.d.ts +3 -3
  647. package/dist/types/tools/ToolNode.d.ts +5 -5
  648. package/dist/types/tools/ToolSearch.d.ts +2 -2
  649. package/dist/types/tools/cloudflare/CloudflareBridgeRuntime.d.ts +1 -1
  650. package/dist/types/tools/cloudflare/CloudflareProgrammaticToolCalling.d.ts +1 -1
  651. package/dist/types/tools/cloudflare/CloudflareSandboxExecutionEngine.d.ts +2 -2
  652. package/dist/types/tools/cloudflare/CloudflareSandboxTools.d.ts +1 -1
  653. package/dist/types/tools/eagerEventExecution.d.ts +1 -1
  654. package/dist/types/tools/handlers.d.ts +3 -3
  655. package/dist/types/tools/intentArg.d.ts +1 -1
  656. package/dist/types/tools/local/CompileCheckTool.d.ts +2 -2
  657. package/dist/types/tools/local/FileCheckpointer.d.ts +1 -1
  658. package/dist/types/tools/local/LocalCodingTools.d.ts +2 -2
  659. package/dist/types/tools/local/LocalExecutionEngine.d.ts +1 -1
  660. package/dist/types/tools/local/LocalExecutionTools.d.ts +1 -1
  661. package/dist/types/tools/local/LocalProgrammaticToolCalling.d.ts +1 -1
  662. package/dist/types/tools/local/bashAst.d.ts +1 -1
  663. package/dist/types/tools/local/resolveLocalExecutionTools.d.ts +1 -1
  664. package/dist/types/tools/local/syntaxCheck.d.ts +1 -1
  665. package/dist/types/tools/ptcTimeout.d.ts +1 -1
  666. package/dist/types/tools/schema.d.ts +1 -1
  667. package/dist/types/tools/search/anthropic.d.ts +1 -1
  668. package/dist/types/tools/skillCatalog.d.ts +1 -1
  669. package/dist/types/tools/subagent/SubagentExecutor.d.ts +5 -5
  670. package/dist/types/tools/subagent/SubagentReplay.d.ts +3 -3
  671. package/dist/types/tools/subagent/childGraphConfig.d.ts +2 -2
  672. package/dist/types/types/activityLabel.d.ts +3 -3
  673. package/dist/types/types/graph.d.ts +7 -7
  674. package/dist/types/types/llm.d.ts +9 -9
  675. package/dist/types/types/run.d.ts +7 -7
  676. package/dist/types/types/stream.d.ts +5 -5
  677. package/dist/types/types/summarize.d.ts +2 -2
  678. package/dist/types/types/tools.d.ts +5 -5
  679. package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +1 -1
  680. package/dist/types/utils/errors.d.ts +1 -1
  681. package/dist/types/utils/events.d.ts +1 -1
  682. package/dist/types/utils/handlers.d.ts +3 -3
  683. package/dist/types/utils/llm.d.ts +1 -1
  684. package/dist/types/utils/llmConfig.d.ts +1 -1
  685. package/dist/types/utils/title.d.ts +1 -1
  686. package/package.json +10 -3
  687. package/src/__tests__/stream.eagerArgsDivergence.test.ts +0 -911
  688. package/src/__tests__/stream.eagerEventExecution.test.ts +0 -5046
  689. package/src/__tests__/stream.streamLimits.test.ts +0 -1982
  690. package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +0 -448
  691. package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +0 -655
  692. package/src/agents/__tests__/AgentContext.openrouter.live.test.ts +0 -128
  693. package/src/agents/__tests__/AgentContext.overflow.test.ts +0 -205
  694. package/src/agents/__tests__/AgentContext.test.ts +0 -2425
  695. package/src/agents/__tests__/projection.test.ts +0 -73
  696. package/src/agents/__tests__/promptCacheLiveHelpers.ts +0 -175
  697. package/src/aggregator.test.ts +0 -1214
  698. package/src/graphs/__tests__/Graph.breakerLifecycle.test.ts +0 -273
  699. package/src/graphs/__tests__/Graph.closeRunStep.test.ts +0 -385
  700. package/src/graphs/__tests__/Graph.contextOverflow.test.ts +0 -1766
  701. package/src/graphs/__tests__/Graph.preemptSignal.test.ts +0 -126
  702. package/src/graphs/__tests__/Graph.reasoning.test.ts +0 -1717
  703. package/src/graphs/__tests__/Graph.subagentResumeState.test.ts +0 -80
  704. package/src/graphs/__tests__/MultiAgentGraph.test.ts +0 -177
  705. package/src/graphs/__tests__/composition.smoke.test.ts +0 -509
  706. package/src/graphs/__tests__/createGraph.test.ts +0 -206
  707. package/src/hooks/__tests__/HookRegistry.test.ts +0 -334
  708. package/src/hooks/__tests__/compactHooks.test.ts +0 -250
  709. package/src/hooks/__tests__/createToolPolicyHook.test.ts +0 -268
  710. package/src/hooks/__tests__/createWorkspacePolicyHook.test.ts +0 -405
  711. package/src/hooks/__tests__/executeHooks.test.ts +0 -1294
  712. package/src/hooks/__tests__/integration.test.ts +0 -337
  713. package/src/hooks/__tests__/matchers.test.ts +0 -238
  714. package/src/hooks/__tests__/preemptBoundary.test.ts +0 -152
  715. package/src/hooks/__tests__/toolHooks.test.ts +0 -669
  716. package/src/llm/__tests__/contextOverflowRecovery.test.ts +0 -401
  717. package/src/llm/__tests__/fallbackOverflow.test.ts +0 -287
  718. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  719. package/src/llm/anthropic/inherited-content-utils.spec.ts +0 -249
  720. package/src/llm/anthropic/inherited-stream-events.spec.ts +0 -1259
  721. package/src/llm/anthropic/inherited-strict.spec.ts +0 -302
  722. package/src/llm/anthropic/llm.spec.ts +0 -3394
  723. package/src/llm/anthropic/utils/cross-provider-reasoning.test.ts +0 -383
  724. package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +0 -110
  725. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -508
  726. package/src/llm/anthropic/utils/streaming-tool-input.test.ts +0 -361
  727. package/src/llm/anthropic/utils/stripPrefillCache.test.ts +0 -111
  728. package/src/llm/anthropic/utils/tool-id-normalization.test.ts +0 -287
  729. package/src/llm/bedrock/inherited-cache.spec.ts +0 -144
  730. package/src/llm/bedrock/inherited.spec.ts +0 -724
  731. package/src/llm/bedrock/llm.spec.ts +0 -1533
  732. package/src/llm/bedrock/streamSealDispatch.test.ts +0 -331
  733. package/src/llm/bedrock/toolCache.test.ts +0 -194
  734. package/src/llm/bedrock/utils/cross-provider-reasoning.test.ts +0 -131
  735. package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +0 -122
  736. package/src/llm/bedrock/utils/message_inputs.test.ts +0 -650
  737. package/src/llm/bedrock/utils/message_outputs.test.ts +0 -85
  738. package/src/llm/bedrock/utils/toolResultCachePoint.test.ts +0 -118
  739. package/src/llm/custom-chat-models.smoke.test.ts +0 -1966
  740. package/src/llm/google/data/gettysburg10.wav +0 -0
  741. package/src/llm/google/data/hotdog.jpg +0 -0
  742. package/src/llm/google/inherited-stream-events.spec.ts +0 -350
  743. package/src/llm/google/llm.spec.ts +0 -1388
  744. package/src/llm/google/streamSmoothing.test.ts +0 -121
  745. package/src/llm/google/utils/common.test.ts +0 -196
  746. package/src/llm/invoke.alternation.test.ts +0 -87
  747. package/src/llm/invoke.handoffCue.test.ts +0 -112
  748. package/src/llm/invoke.streamLimits.test.ts +0 -142
  749. package/src/llm/invoke.test.ts +0 -1198
  750. package/src/llm/mistral/streamSmoothing.test.ts +0 -97
  751. package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
  752. package/src/llm/openai/contentBlocks.test.ts +0 -381
  753. package/src/llm/openai/deepseek.test.ts +0 -747
  754. package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
  755. package/src/llm/openai/inherited-xai.spec.ts +0 -416
  756. package/src/llm/openai/llm.spec.ts +0 -1774
  757. package/src/llm/openai/managedRequests.test.ts +0 -182
  758. package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
  759. package/src/llm/openai/streamMetadata.spec.ts +0 -86
  760. package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
  761. package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
  762. package/src/llm/openai/utils/messages.test.ts +0 -488
  763. package/src/llm/openrouter/reasoning.test.ts +0 -561
  764. package/src/llm/openrouter/toolCache.test.ts +0 -134
  765. package/src/llm/preempt.test.ts +0 -323
  766. package/src/llm/stream/chunkAdapters.test.ts +0 -202
  767. package/src/llm/stream/reassembly.test.ts +0 -241
  768. package/src/llm/stream/smoother.bench.test.ts +0 -155
  769. package/src/llm/stream/smoother.test.ts +0 -519
  770. package/src/llm/streamLimits.test.ts +0 -450
  771. package/src/llm/truncation.test.ts +0 -242
  772. package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
  773. package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
  774. package/src/llm/vertexai/llm.spec.ts +0 -159
  775. package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
  776. package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
  777. package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
  778. package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
  779. package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
  780. package/src/messages/__tests__/observationMasking.test.ts +0 -312
  781. package/src/messages/__tests__/recency.test.ts +0 -267
  782. package/src/messages/__tests__/tools.test.ts +0 -473
  783. package/src/messages/alternation.test.ts +0 -212
  784. package/src/messages/assistantPhase.test.ts +0 -75
  785. package/src/messages/cache.tail.test.ts +0 -533
  786. package/src/messages/cache.test.ts +0 -2166
  787. package/src/messages/content.test.ts +0 -362
  788. package/src/messages/contextPruning.test.ts +0 -184
  789. package/src/messages/ensureThinkingBlock.test.ts +0 -1427
  790. package/src/messages/foldToollessToolBlocks.test.ts +0 -596
  791. package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
  792. package/src/messages/formatAgentMessages.skills.test.ts +0 -513
  793. package/src/messages/formatAgentMessages.steer.test.ts +0 -598
  794. package/src/messages/formatAgentMessages.test.ts +0 -8111
  795. package/src/messages/formatAgentMessages.tools.test.ts +0 -522
  796. package/src/messages/formatMessage.test.ts +0 -693
  797. package/src/messages/handoffCue.test.ts +0 -96
  798. package/src/messages/injected.test.ts +0 -107
  799. package/src/messages/labelContentByAgent.test.ts +0 -962
  800. package/src/messages/reducer.spec.ts +0 -32
  801. package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
  802. package/src/messages/tailCacheConversion.test.ts +0 -161
  803. package/src/openai/__tests__/openai.test.ts +0 -337
  804. package/src/responses/__tests__/responses.test.ts +0 -652
  805. package/src/scripts/abort.ts +0 -157
  806. package/src/scripts/activity-labels/captured.json +0 -56
  807. package/src/scripts/activity-labels/checks.cjs +0 -205
  808. package/src/scripts/activity-labels/corpus.cjs +0 -473
  809. package/src/scripts/activity-labels/report.cjs +0 -203
  810. package/src/scripts/activity-labels/rescore.cjs +0 -102
  811. package/src/scripts/activity-labels/run.ts +0 -705
  812. package/src/scripts/activity-labels/variants.ts +0 -71
  813. package/src/scripts/ant_web_search.ts +0 -159
  814. package/src/scripts/ant_web_search_edge_case.ts +0 -163
  815. package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
  816. package/src/scripts/args.ts +0 -48
  817. package/src/scripts/bedrock-cache-debug.ts +0 -250
  818. package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
  819. package/src/scripts/bedrock-merge-test.ts +0 -107
  820. package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
  821. package/src/scripts/bench-prompt-cache.ts +0 -479
  822. package/src/scripts/caching.ts +0 -132
  823. package/src/scripts/cli.ts +0 -172
  824. package/src/scripts/cli2.ts +0 -133
  825. package/src/scripts/cli3.ts +0 -184
  826. package/src/scripts/cli4.ts +0 -191
  827. package/src/scripts/cli5.ts +0 -191
  828. package/src/scripts/code_exec.ts +0 -214
  829. package/src/scripts/code_exec_files.ts +0 -237
  830. package/src/scripts/code_exec_multi_session.ts +0 -237
  831. package/src/scripts/code_exec_ptc.ts +0 -335
  832. package/src/scripts/code_exec_session.ts +0 -283
  833. package/src/scripts/code_exec_simple.ts +0 -148
  834. package/src/scripts/compare_pi_vs_ours.ts +0 -1259
  835. package/src/scripts/content.ts +0 -139
  836. package/src/scripts/context-overflow-probe.ts +0 -997
  837. package/src/scripts/empty_input.ts +0 -137
  838. package/src/scripts/handoff-test.ts +0 -134
  839. package/src/scripts/local_engine.ts +0 -166
  840. package/src/scripts/local_engine_checkpointer.ts +0 -205
  841. package/src/scripts/local_engine_compile.ts +0 -263
  842. package/src/scripts/local_engine_hooks.ts +0 -226
  843. package/src/scripts/local_engine_image.ts +0 -201
  844. package/src/scripts/local_engine_ptc.ts +0 -151
  845. package/src/scripts/local_engine_workspace.ts +0 -258
  846. package/src/scripts/memory.ts +0 -107
  847. package/src/scripts/multi-agent-chain.ts +0 -332
  848. package/src/scripts/multi-agent-conditional.ts +0 -222
  849. package/src/scripts/multi-agent-document-review-chain.ts +0 -198
  850. package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
  851. package/src/scripts/multi-agent-parallel-start.ts +0 -265
  852. package/src/scripts/multi-agent-parallel.ts +0 -395
  853. package/src/scripts/multi-agent-sequence.ts +0 -217
  854. package/src/scripts/multi-agent-subagent.ts +0 -246
  855. package/src/scripts/multi-agent-supervisor.ts +0 -366
  856. package/src/scripts/multi-agent-test.ts +0 -187
  857. package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
  858. package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
  859. package/src/scripts/parallel-full-metadata-test.ts +0 -241
  860. package/src/scripts/parallel-tools-test.ts +0 -341
  861. package/src/scripts/preempt-probe.ts +0 -330
  862. package/src/scripts/preempt-scenarios.ts +0 -388
  863. package/src/scripts/programmatic_exec.ts +0 -387
  864. package/src/scripts/programmatic_exec_agent.ts +0 -232
  865. package/src/scripts/search.ts +0 -147
  866. package/src/scripts/sequential-full-metadata-test.ts +0 -198
  867. package/src/scripts/session_live.ts +0 -548
  868. package/src/scripts/simple.ts +0 -226
  869. package/src/scripts/single-agent-metadata-test.ts +0 -196
  870. package/src/scripts/stream.ts +0 -141
  871. package/src/scripts/subagent-configurable-inheritance.ts +0 -252
  872. package/src/scripts/subagent-event-driven-debug.ts +0 -190
  873. package/src/scripts/subagent-tools-debug.ts +0 -160
  874. package/src/scripts/subagent-usage-sink.ts +0 -176
  875. package/src/scripts/summarization-recency.ts +0 -462
  876. package/src/scripts/test-custom-prompt-key.ts +0 -145
  877. package/src/scripts/test-handoff-input.ts +0 -170
  878. package/src/scripts/test-handoff-preamble.ts +0 -278
  879. package/src/scripts/test-handoff-steering.ts +0 -430
  880. package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
  881. package/src/scripts/test-parallel-agent-labeling.ts +0 -327
  882. package/src/scripts/test-parallel-handoffs.ts +0 -292
  883. package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
  884. package/src/scripts/test-thinking-handoff.ts +0 -156
  885. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
  886. package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
  887. package/src/scripts/test-tools-before-handoff.ts +0 -222
  888. package/src/scripts/test_code_api.ts +0 -354
  889. package/src/scripts/thinking-bedrock.ts +0 -160
  890. package/src/scripts/thinking-vertexai.ts +0 -168
  891. package/src/scripts/thinking.ts +0 -172
  892. package/src/scripts/tool_search.ts +0 -153
  893. package/src/scripts/tools.ts +0 -163
  894. package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
  895. package/src/session/__tests__/handlers.test.ts +0 -161
  896. package/src/specs/activity-label-observability.live.test.ts +0 -262
  897. package/src/specs/activity-label-observability.test.ts +0 -167
  898. package/src/specs/activity-label-prompt.test.ts +0 -359
  899. package/src/specs/activity-label-trace-seed.test.ts +0 -47
  900. package/src/specs/activity-phase-label.test.ts +0 -306
  901. package/src/specs/agent-handoffs.live.test.ts +0 -140
  902. package/src/specs/agent-handoffs.test.ts +0 -2465
  903. package/src/specs/anthropic.simple.test.ts +0 -453
  904. package/src/specs/ask-user-question-batch.test.ts +0 -289
  905. package/src/specs/ask-user-questions.live.test.ts +0 -185
  906. package/src/specs/ask-user-questions.test.ts +0 -293
  907. package/src/specs/azure.simple.test.ts +0 -502
  908. package/src/specs/bedrock-toolless.live.test.ts +0 -123
  909. package/src/specs/bedrock-truncation.live.test.ts +0 -191
  910. package/src/specs/cache.simple.test.ts +0 -416
  911. package/src/specs/context-accuracy.live.test.ts +0 -409
  912. package/src/specs/context-overflow-recovery.live.test.ts +0 -213
  913. package/src/specs/context-usage-event.test.ts +0 -117
  914. package/src/specs/context-usage.live.test.ts +0 -297
  915. package/src/specs/custom-event-await.test.ts +0 -304
  916. package/src/specs/deepseek.simple.test.ts +0 -290
  917. package/src/specs/deterministic-trace-id.test.ts +0 -43
  918. package/src/specs/discovered-tools.test.ts +0 -217
  919. package/src/specs/durability-checkpoint.integration.test.ts +0 -243
  920. package/src/specs/graph-subagent.live.test.ts +0 -242
  921. package/src/specs/graph-subagent.test.ts +0 -322
  922. package/src/specs/handoffCue.test.ts +0 -165
  923. package/src/specs/langfuse-callbacks.test.ts +0 -1578
  924. package/src/specs/langfuse-config.test.ts +0 -247
  925. package/src/specs/langfuse-instrumentation.test.ts +0 -393
  926. package/src/specs/langfuse-metadata.test.ts +0 -245
  927. package/src/specs/langfuse-routing.integration.test.ts +0 -844
  928. package/src/specs/langfuse-runtime-context.test.ts +0 -92
  929. package/src/specs/langfuse-span-registry.test.ts +0 -87
  930. package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
  931. package/src/specs/langfuse-trace-shaping.test.ts +0 -591
  932. package/src/specs/moonshot.simple.test.ts +0 -367
  933. package/src/specs/multi-agent-summarization.test.ts +0 -396
  934. package/src/specs/openai.simple.test.ts +0 -315
  935. package/src/specs/openrouter.simple.test.ts +0 -275
  936. package/src/specs/preemptSeal.test.ts +0 -678
  937. package/src/specs/prune.test.ts +0 -3741
  938. package/src/specs/reasoning.test.ts +0 -201
  939. package/src/specs/run-step-timestamps.test.ts +0 -414
  940. package/src/specs/spec.utils.ts +0 -15
  941. package/src/specs/subagent.test.ts +0 -864
  942. package/src/specs/summarization-unit.test.ts +0 -973
  943. package/src/specs/summarization.test.ts +0 -3823
  944. package/src/specs/summarize-prune.test.ts +0 -376
  945. package/src/specs/thinking-handoff.test.ts +0 -621
  946. package/src/specs/thinking-prune.test.ts +0 -827
  947. package/src/specs/token-accounting-e2e.test.ts +0 -1034
  948. package/src/specs/token-accounting-pipeline.test.ts +0 -1008
  949. package/src/specs/token-distribution-edge-case.test.ts +0 -315
  950. package/src/specs/token-memoization.test.ts +0 -40
  951. package/src/specs/tokens.test.ts +0 -1000
  952. package/src/specs/tool-error-resume.test.ts +0 -194
  953. package/src/specs/tool-error.test.ts +0 -198
  954. package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
  955. package/src/stream.dispatch.test.ts +0 -63
  956. package/src/stream.test.ts +0 -144
  957. package/src/summarization/__tests__/aggregator.test.ts +0 -236
  958. package/src/summarization/__tests__/node.test.ts +0 -1996
  959. package/src/summarization/__tests__/trigger.test.ts +0 -149
  960. package/src/summarization/chunkHandler.test.ts +0 -196
  961. package/src/test/mockTools.ts +0 -386
  962. package/src/tools/Calculator.test.ts +0 -278
  963. package/src/tools/__tests__/BashExecutor.test.ts +0 -108
  964. package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
  965. package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
  966. package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
  967. package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
  968. package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
  969. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
  970. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
  971. package/src/tools/__tests__/ReadFile.test.ts +0 -44
  972. package/src/tools/__tests__/SkillTool.test.ts +0 -442
  973. package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
  974. package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
  975. package/src/tools/__tests__/SubagentTool.test.ts +0 -149
  976. package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
  977. package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
  978. package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
  979. package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
  980. package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
  981. package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
  982. package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
  983. package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
  984. package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
  985. package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
  986. package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
  987. package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
  988. package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
  989. package/src/tools/__tests__/directToolHooks.test.ts +0 -700
  990. package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
  991. package/src/tools/__tests__/handlers.test.ts +0 -997
  992. package/src/tools/__tests__/hitl.test.ts +0 -4663
  993. package/src/tools/__tests__/intentArg.test.ts +0 -357
  994. package/src/tools/__tests__/intentCoverage.test.ts +0 -139
  995. package/src/tools/__tests__/localToolNames.test.ts +0 -75
  996. package/src/tools/__tests__/skillCatalog.test.ts +0 -161
  997. package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
  998. package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
  999. package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
  1000. package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
  1001. package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
  1002. package/src/tools/search/content.test.ts +0 -173
  1003. package/src/tools/search/crw.test.ts +0 -836
  1004. package/src/tools/search/format.test.ts +0 -242
  1005. package/src/tools/search/http-agent.test.ts +0 -133
  1006. package/src/tools/search/jina-reranker.test.ts +0 -306
  1007. package/src/tools/search/keenable-scraper.test.ts +0 -153
  1008. package/src/tools/search/keenable.test.ts +0 -183
  1009. package/src/tools/search/outcome.test.ts +0 -90
  1010. package/src/tools/search/output.md +0 -2775
  1011. package/src/tools/search/rag-api-reranker.test.ts +0 -891
  1012. package/src/tools/search/source-processing.test.ts +0 -516
  1013. package/src/tools/search/tavily.test.ts +0 -965
  1014. package/src/tools/search/test.html +0 -884
  1015. package/src/tools/search/test.md +0 -643
  1016. package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
  1017. package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
  1018. package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
  1019. package/src/utils/__tests__/apportion.test.ts +0 -32
  1020. package/src/utils/__tests__/errors.test.ts +0 -270
  1021. package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
  1022. package/src/utils/__tests__/redactSecrets.test.ts +0 -56
  1023. package/src/utils/__tests__/truncation.test.ts +0 -66
  1024. package/src/utils/llm.test.ts +0 -18
  1025. package/src/utils/proxy.test.ts +0 -176
  1026. package/src/utils/toolContent.test.ts +0 -1432
@@ -1 +1 @@
1
- {"version":3,"file":"stream.mjs","names":["completeData"],"sources":["../../src/stream.ts"],"sourcesContent":["// src/stream.ts\nimport type { ToolCall, ToolCallChunk } from '@langchain/core/messages/tool';\nimport type { ChatOpenAIReasoningSummary } from '@langchain/openai';\nimport type { AIMessageChunk } from '@langchain/core/messages';\nimport type { AgentContext } from '@/agents/AgentContext';\nimport type { RunBreakerScope } from '@/llm/streamLimits';\nimport type { StandardGraph } from '@/graphs';\nimport type * as t from '@/types';\nimport {\n claimStreamLimitCharge,\n combineCompleteToolCalls,\n enforceCompleteToolCallArgLimit,\n enforceStreamedToolCallArgLimit,\n enforceStreamDeltaEventLimit,\n requiresStreamLimitAccounting,\n StreamLimitExceededError,\n STREAM_LIMIT_EPOCH_KEY,\n} from '@/llm/streamLimits';\nimport {\n getStreamedToolCallSeal,\n getStreamedToolCallAdapter,\n streamedToolCallAdapterAllowsSequentialSeal,\n type StreamedToolCallSeal,\n} from '@/tools/streamedToolCallSeals';\nimport {\n ToolCallTypes,\n ContentTypes,\n GraphEvents,\n StepTypes,\n Providers,\n Constants,\n CODE_EXECUTION_TOOLS,\n LOCAL_CODING_BUNDLE_NAMES,\n} from '@/common';\nimport {\n getMessageCreationContentMetadata,\n splitAssistantTextContentByPhase,\n} from '@/messages/assistantPhase';\nimport {\n buildToolExecutionRequestPlan,\n coerceRecordArgs,\n normalizeError,\n} from '@/tools/eagerEventExecution';\nimport {\n serializeStructuredValueBounded,\n serializeToolContentBounded,\n} from '@/utils/toolContent';\nimport {\n handleServerToolResult,\n handleToolCallChunks,\n handleToolCalls,\n} from '@/tools/handlers';\nimport {\n calculateMaxToolResultChars,\n truncateToolResultContent,\n} from '@/utils/truncation';\nimport { resolveToolOutcome, outcomeFieldsFromResult } from '@/tools/intentArg';\nimport { TOOL_OUTPUT_REF_PATTERN } from '@/tools/toolOutputReferences';\nimport { safeDispatchCustomEvent } from '@/utils/events';\nimport { composeAbortSignals } from '@/utils/misc';\nimport { isGoogleLike } from '@/utils/llm';\nimport { getMessageId } from '@/messages';\n\nconst LOCAL_CODING_BUNDLE_NAME_SET: ReadonlySet<string> = new Set(\n LOCAL_CODING_BUNDLE_NAMES\n);\n\ntype ReasoningSummaryLike = {\n summary?: Array<{ text?: string }>;\n};\n\n/**\n * Parses content to extract thinking sections enclosed in <think> tags using string operations\n * @param content The content to parse\n * @returns An object with separated text and thinking content\n */\nfunction parseThinkingContent(content: string): {\n text: string;\n thinking: string;\n} {\n // If no think tags, return the original content as text\n if (!content.includes('<think>')) {\n return { text: content, thinking: '' };\n }\n\n let textResult = '';\n const thinkingResult: string[] = [];\n let position = 0;\n\n while (position < content.length) {\n const thinkStart = content.indexOf('<think>', position);\n\n if (thinkStart === -1) {\n // No more think tags, add the rest and break\n textResult += content.slice(position);\n break;\n }\n\n // Add text before the think tag\n textResult += content.slice(position, thinkStart);\n\n const thinkEnd = content.indexOf('</think>', thinkStart);\n if (thinkEnd === -1) {\n // Malformed input, no closing tag\n textResult += content.slice(thinkStart);\n break;\n }\n\n // Add the thinking content\n const thinkContent = content.slice(thinkStart + 7, thinkEnd);\n thinkingResult.push(thinkContent);\n\n // Move position to after the think tag\n position = thinkEnd + 8; // 8 is the length of '</think>'\n }\n\n return {\n text: textResult.trim(),\n thinking: thinkingResult.join('\\n').trim(),\n };\n}\n\nfunction getNonEmptyValue(possibleValues: string[]): string | undefined {\n for (const value of possibleValues) {\n if (value && value.trim() !== '') {\n return value;\n }\n }\n return undefined;\n}\n\nfunction isBatchSensitiveToolExecution(\n graph: StandardGraph,\n metadata?: Record<string, unknown>\n): boolean {\n /**\n * Resolve the hook-session id exactly the way ToolNode will: its hook\n * lookups read `config.configurable.run_id` ONLY, so that source wins here\n * too (a subagent child graph carries its own `graph.runId`, but its\n * ToolNode executes hooks under the PARENT's inherited configurable run\n * id). The metadata / graph.runId fallbacks only apply when no\n * configurable id exists and can only be conservative — a false positive\n * merely skips eager prestart.\n */\n const runId =\n (graph.config?.configurable?.run_id as string | undefined) ??\n (metadata?.run_id as string | undefined) ??\n graph.runId;\n return (\n graph.hookRegistry?.hasResultAlteringHooks(runId) === true ||\n graph.humanInTheLoop?.enabled === true\n );\n}\n\nfunction hasToolOutputReference(value: unknown): boolean {\n if (typeof value === 'string') {\n return TOOL_OUTPUT_REF_PATTERN.test(value);\n }\n if (Array.isArray(value)) {\n return value.some((item) => hasToolOutputReference(item));\n }\n if (value !== null && typeof value === 'object') {\n return Object.values(value as Record<string, unknown>).some((item) =>\n hasToolOutputReference(item)\n );\n }\n return false;\n}\n\nfunction isEagerExecutionExcludedTool(\n name: string,\n graph: StandardGraph\n): boolean {\n if (name === '') {\n return false;\n }\n const excluded = graph.eagerEventToolExecution?.excludeToolNames;\n if (excluded != null && excluded.includes(name)) {\n return true;\n }\n // Run-scoped circuit breaker: once a prestart for this tool diverged from\n // the final request (\"changed after eager execution started\"), stop\n // prestarting it so the model's retry executes normally instead of\n // re-diverging in a loop (LibreChat#14371).\n if (\n (graph.eagerEventToolSuppressions as Set<string> | undefined)?.has(name) ===\n true\n ) {\n return true;\n }\n // A code-session participant writes to the shared sandbox, so it is\n // side-effecting: never prestart it speculatively (a revised/superseded turn\n // would leave the write applied). Implies exclusion without the host having\n // to also list the name in excludeToolNames.\n if (graph.codeSessionToolNames?.includes(name) === true) {\n return true;\n }\n // With stateful sessions on, execute_code/bash run against a DURABLE warm\n // runtime. Speculative prestart there is unsafe: if the model revises the\n // args, ToolNode discards the eager result but the mutation has already\n // landed in the session workspace, corrupting later runs. Stateless mode\n // uses a throwaway VM per call, so eager prestart stays safe there.\n return (\n graph.toolExecution?.sandbox?.statefulSessions === true &&\n CODE_EXECUTION_TOOLS.has(name)\n );\n}\n\nfunction isDirectGraphTool(\n name: string,\n agentContext: AgentContext | undefined\n): boolean {\n if (name.startsWith(Constants.LC_TRANSFER_TO_)) {\n return true;\n }\n return (\n (agentContext?.graphTools as t.GenericTool[] | undefined)?.some(\n (tool) => 'name' in tool && tool.name === name\n ) === true\n );\n}\n\nfunction isDirectLocalTool(name: string, graph: StandardGraph): boolean {\n const toolExecution = graph.toolExecution;\n const engine = toolExecution?.engine;\n if (\n toolExecution == null ||\n (engine !== 'local' && engine !== 'cloudflare-sandbox')\n ) {\n return false;\n }\n const includeCodingTools =\n engine === 'cloudflare-sandbox'\n ? toolExecution.cloudflare?.includeCodingTools\n : toolExecution.local?.includeCodingTools;\n if (includeCodingTools === false) {\n return CODE_EXECUTION_TOOLS.has(name);\n }\n return LOCAL_CODING_BUNDLE_NAME_SET.has(name);\n}\n\nfunction toCodeEnvFile(file: t.FileRef, execSessionId: string): t.CodeEnvFile {\n const base = {\n id: file.id,\n resource_id: file.resource_id ?? file.id,\n name: file.name,\n storage_session_id: file.storage_session_id ?? execSessionId,\n };\n const kind = file.kind ?? 'user';\n if (kind === 'skill' && file.version != null) {\n return { ...base, kind: 'skill', version: file.version };\n }\n if (kind === 'agent') {\n return { ...base, kind: 'agent' };\n }\n return { ...base, kind: 'user' };\n}\n\nfunction getCodeSessionContext(\n graph: StandardGraph,\n name: string\n): t.ToolCallRequest['codeSessionContext'] | undefined {\n if (\n !CODE_EXECUTION_TOOLS.has(name) &&\n name !== Constants.SKILL_TOOL &&\n name !== Constants.READ_FILE &&\n graph.codeSessionToolNames?.includes(name) !== true\n ) {\n return undefined;\n }\n\n const codeSession = graph.sessions.get(Constants.EXECUTE_CODE) as\n | t.CodeSessionContext\n | undefined;\n if (codeSession?.session_id == null || codeSession.session_id === '') {\n return undefined;\n }\n\n return {\n session_id: codeSession.session_id,\n files: codeSession.files?.map((file) =>\n toCodeEnvFile(file, codeSession.session_id)\n ),\n };\n}\n\nfunction isEagerToolExecutionEnabledForBatch(args: {\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n agentContext?: AgentContext;\n}): boolean {\n const { graph, metadata, agentContext } = args;\n if (graph.eagerEventToolExecution?.enabled !== true) {\n return false;\n }\n if ((agentContext?.toolDefinitions?.length ?? 0) === 0) {\n return false;\n }\n if (isBatchSensitiveToolExecution(graph, metadata)) {\n return false;\n }\n if (\n metadata?.[Constants.PROGRAMMATIC_TOOL_CALLING] === true ||\n metadata?.[Constants.BASH_PROGRAMMATIC_TOOL_CALLING] === true\n ) {\n return false;\n }\n if (\n graph.handlerRegistry?.getHandler(GraphEvents.ON_TOOL_EXECUTE) == null &&\n graph.eventToolExecutionAvailable !== true\n ) {\n return false;\n }\n return true;\n}\n\nfunction hasFinalToolCallSignal(chunk: Partial<AIMessageChunk>): boolean {\n const metadata = chunk.response_metadata as\n | Record<string, unknown>\n | undefined;\n const finishReason =\n metadata?.finish_reason ??\n metadata?.finishReason ??\n metadata?.stop_reason ??\n metadata?.stopReason;\n return finishReason === 'tool_calls' || finishReason === 'tool_use';\n}\n\nfunction canPrestartSequentialStreamedToolChunks(\n agentContext: AgentContext | undefined\n): boolean {\n // Anthropic seals each prior streamed tool-use block when the next indexed\n // tool-use block begins. Live Kimi/Moonshot streams can still revise prior\n // args after advancing to the next index, so keep those on the final\n // tool-call path unless they grow an explicit adapter seal.\n return agentContext?.provider === Providers.ANTHROPIC;\n}\n\nfunction hasExplicitStreamedToolCallSeals(\n chunk: Partial<AIMessageChunk>\n): boolean {\n return (\n getStreamedToolCallAdapter(\n chunk.response_metadata as Record<string, unknown> | undefined\n ) != null\n );\n}\n\n/**\n * True when a provider adapter marked every tool call on this chunk as\n * complete on arrival (seal kind `all`), e.g. Google GenAI / Vertex AI, whose\n * protocol delivers function calls as whole objects rather than arg deltas.\n */\nfunction hasOnArrivalToolCallSeal(chunk: Partial<AIMessageChunk>): boolean {\n const metadata = chunk.response_metadata as\n | Record<string, unknown>\n | undefined;\n return (\n getStreamedToolCallAdapter(metadata) != null &&\n getStreamedToolCallSeal(metadata)?.kind === 'all'\n );\n}\n\nfunction hasDirectToolCallInBatch(args: {\n graph: StandardGraph;\n agentContext?: AgentContext;\n toolCalls: ToolCall[];\n}): boolean {\n const { graph, agentContext, toolCalls } = args;\n return toolCalls.some(\n (toolCall) =>\n toolCall.name !== '' &&\n (isDirectGraphTool(toolCall.name, agentContext) ||\n isDirectLocalTool(toolCall.name, graph))\n );\n}\n\nfunction hasPotentialDirectToolInStreamContext(args: {\n graph: StandardGraph;\n agentContext?: AgentContext;\n}): boolean {\n const { graph, agentContext } = args;\n const engine = graph.toolExecution?.engine;\n if (engine === 'local' || engine === 'cloudflare-sandbox') {\n return true;\n }\n if ((agentContext?.graphTools?.length ?? 0) > 0) {\n return true;\n }\n return false;\n}\n\nfunction hasDirectToolCallChunkInBatch(args: {\n graph: StandardGraph;\n agentContext?: AgentContext;\n toolCallChunks?: ToolCallChunk[];\n}): boolean {\n const { graph, agentContext, toolCallChunks } = args;\n return (\n toolCallChunks?.some(\n (toolCallChunk) =>\n toolCallChunk.name != null &&\n toolCallChunk.name !== '' &&\n (isDirectGraphTool(toolCallChunk.name, agentContext) ||\n isDirectLocalTool(toolCallChunk.name, graph))\n ) === true\n );\n}\n\nfunction hasDirectToolCallChunkStateInStep(args: {\n graph: StandardGraph;\n agentContext?: AgentContext;\n stepKey: string;\n}): boolean {\n const { graph, agentContext, stepKey } = args;\n const prefix = `${stepKey}\\u0000`;\n for (const [key, state] of graph.eagerEventToolCallChunks) {\n if (!key.startsWith(prefix)) {\n continue;\n }\n const name = state.name;\n if (\n name != null &&\n name !== '' &&\n (isDirectGraphTool(name, agentContext) || isDirectLocalTool(name, graph))\n ) {\n return true;\n }\n }\n return false;\n}\n\nfunction isGoogleServerSideToolContentPart(\n contentPart: t.MessageContentComplex\n): boolean {\n return contentPart.type === 'toolCall' || contentPart.type === 'toolResponse';\n}\n\nfunction isTextContentPart(contentPart: t.MessageContentComplex): boolean {\n return contentPart.type?.startsWith(ContentTypes.TEXT) ?? false;\n}\n\nfunction isReasoningContentPart(contentPart: t.MessageContentComplex): boolean {\n return (\n (contentPart.type?.startsWith(ContentTypes.THINKING) ?? false) ||\n (contentPart.type?.startsWith(ContentTypes.REASONING) ?? false) ||\n (contentPart.type?.startsWith(ContentTypes.REASONING_CONTENT) ?? false) ||\n contentPart.type === 'redacted_thinking'\n );\n}\n\nfunction getReasoningTextFromContentPart(\n contentPart: t.MessageContentComplex\n): string {\n return (\n (contentPart as t.ThinkingContentText).thinking ??\n (contentPart as Partial<t.GoogleReasoningContentText>).reasoning ??\n (contentPart as Partial<t.BedrockReasoningContentText>).reasoningText\n ?.text ??\n ''\n );\n}\n\nfunction getReasoningTextFromChunk(\n chunk: Partial<AIMessageChunk>,\n agentContext: AgentContext\n): string {\n const reasoning = chunk.additional_kwargs?.[agentContext.reasoningKey] as\n | string\n | Partial<ChatOpenAIReasoningSummary>\n | undefined;\n if (typeof reasoning === 'string') {\n return reasoning;\n }\n return reasoning?.summary?.[0]?.text ?? '';\n}\n\nconst googleServerSideToolStepIdsByGraph = new WeakMap<\n StandardGraph,\n Set<string>\n>();\n\nfunction markGoogleServerSideToolMessageStep(\n graph: StandardGraph,\n stepId: string\n): void {\n const stepIds = googleServerSideToolStepIdsByGraph.get(graph) ?? new Set();\n stepIds.add(stepId);\n googleServerSideToolStepIdsByGraph.set(graph, stepIds);\n}\n\nfunction isGoogleServerSideToolMessageStep(\n graph: StandardGraph,\n stepId: string\n): boolean {\n return googleServerSideToolStepIdsByGraph.get(graph)?.has(stepId) === true;\n}\n\nfunction shouldStartFreshMessageStepAfterGoogleServerSideTool({\n graph,\n stepId,\n runStep,\n content,\n}: {\n graph: StandardGraph;\n stepId: string;\n runStep?: t.RunStep;\n content: string | t.MessageContentComplex[];\n}): boolean {\n if (\n runStep?.type !== StepTypes.MESSAGE_CREATION ||\n !isGoogleServerSideToolMessageStep(graph, stepId)\n ) {\n return false;\n }\n if (typeof content === 'string') {\n return true;\n }\n return (\n content.every((c) => isTextContentPart(c)) ||\n content.every((c) => isReasoningContentPart(c))\n );\n}\n\nasync function dispatchMessageCreationStep({\n graph,\n stepKey,\n content,\n contentType,\n metadata,\n}: {\n graph: StandardGraph;\n stepKey: string;\n content?: string | t.MessageContentComplex[];\n contentType?: ContentTypes.TEXT | ContentTypes.THINK;\n metadata?: Record<string, unknown>;\n}): Promise<string> {\n const messageId = getMessageId(stepKey, graph, true) ?? '';\n return graph.dispatchRunStep(\n stepKey,\n {\n type: StepTypes.MESSAGE_CREATION,\n message_creation: {\n message_id: messageId,\n ...getMessageCreationContentMetadata(content, contentType),\n },\n },\n metadata\n );\n}\n\nasync function dispatchMessageContentParts({\n graph,\n stepKey,\n content,\n metadata,\n}: {\n graph: StandardGraph;\n stepKey: string;\n content: t.MessageContentComplex[];\n metadata?: Record<string, unknown>;\n}): Promise<void> {\n for (const contentPart of content) {\n const currentStepId = await dispatchMessageCreationStep({\n graph,\n stepKey,\n content: [contentPart],\n metadata,\n });\n if (isGoogleServerSideToolContentPart(contentPart)) {\n markGoogleServerSideToolMessageStep(graph, currentStepId);\n }\n await graph.dispatchMessageDelta(\n currentStepId,\n {\n content: [contentPart],\n },\n metadata\n );\n }\n}\n\nasync function dispatchReasoningContentParts({\n graph,\n stepKey,\n content,\n metadata,\n}: {\n graph: StandardGraph;\n stepKey: string;\n content: t.MessageContentComplex[];\n metadata?: Record<string, unknown>;\n}): Promise<void> {\n if (content.length === 0) {\n return;\n }\n const currentStepId = await dispatchMessageCreationStep({\n graph,\n stepKey,\n content,\n contentType: ContentTypes.THINK,\n metadata,\n });\n await graph.dispatchReasoningDelta(\n currentStepId,\n {\n content,\n },\n metadata\n );\n}\n\nasync function dispatchGoogleServerSideToolStreamContent({\n graph,\n stepKey,\n chunk,\n agentContext,\n content,\n metadata,\n}: {\n graph: StandardGraph;\n stepKey: string;\n chunk: Partial<AIMessageChunk>;\n agentContext: AgentContext;\n content: t.MessageContentComplex[];\n metadata?: Record<string, unknown>;\n}): Promise<void> {\n const reasoningContent: t.MessageContentComplex[] = [];\n const reasoningText = getReasoningTextFromChunk(chunk, agentContext);\n if (reasoningText !== '') {\n reasoningContent.push({\n type: ContentTypes.THINK,\n think: reasoningText,\n });\n }\n reasoningContent.push(\n ...content\n .filter((contentPart) => isReasoningContentPart(contentPart))\n .map((contentPart) => ({\n type: ContentTypes.THINK,\n think: getReasoningTextFromContentPart(contentPart),\n }))\n .filter((contentPart) => contentPart.think !== '')\n );\n await dispatchReasoningContentParts({\n graph,\n stepKey,\n content: reasoningContent,\n metadata,\n });\n\n const messageContent = content.filter(\n (contentPart) =>\n isTextContentPart(contentPart) ||\n isGoogleServerSideToolContentPart(contentPart)\n );\n await dispatchMessageContentParts({\n graph,\n stepKey,\n content: messageContent,\n metadata,\n });\n}\n\ntype EagerToolExecutionEntry = {\n id: string;\n toolName: string;\n coercedArgs: Record<string, unknown>;\n request: t.ToolCallRequest;\n};\n\nfunction createEagerToolExecutionPlan(args: {\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n agentContext?: AgentContext;\n toolCalls: ToolCall[];\n skipExisting?: boolean;\n}): EagerToolExecutionEntry[] | undefined {\n const {\n graph,\n metadata,\n agentContext,\n toolCalls,\n skipExisting = false,\n } = args;\n if (\n !isEagerToolExecutionEnabledForBatch({\n graph,\n metadata,\n agentContext,\n })\n ) {\n return undefined;\n }\n\n if (hasDirectToolCallInBatch({ graph, agentContext, toolCalls })) {\n return undefined;\n }\n if (\n graph.toolOutputReferences?.enabled === true &&\n toolCalls.some((toolCall) => hasToolOutputReference(toolCall.args))\n ) {\n return undefined;\n }\n\n const unstartedToolCalls = skipExisting\n ? toolCalls.filter((toolCall) => {\n if (toolCall.id == null || toolCall.id === '') {\n return true;\n }\n return !graph.eagerEventToolExecutions.has(toolCall.id);\n })\n : toolCalls;\n // Drop host-excluded tools only AFTER the batch-level guards above have run\n // against the full batch, so excluding a call never hides a sibling direct\n // tool from `hasDirectToolCallInBatch`. Excluded calls fall through to normal\n // ToolNode execution; siblings may still eager-execute.\n const candidateToolCalls = unstartedToolCalls.filter(\n (toolCall) => !isEagerExecutionExcludedTool(toolCall.name, graph)\n );\n if (candidateToolCalls.length === 0) {\n return [];\n }\n\n // Eager execution must preserve ToolNode batch semantics exactly for every\n // unstarted call. If any candidate cannot be planned, fall back for that\n // candidate set.\n if (\n candidateToolCalls.some(\n (toolCall) =>\n toolCall.id == null ||\n toolCall.id === '' ||\n toolCall.name === '' ||\n (!skipExisting && graph.eagerEventToolExecutions.has(toolCall.id))\n )\n ) {\n return undefined;\n }\n\n /* No runtimeSessionHint here on purpose: the eager path is speculative, and\n * code-session tools (the only ones that carry a hint) are excluded from\n * eager prestart entirely when stateful sessions are on — see\n * isEagerExecutionExcludedTool. The durable runtime is only ever touched by\n * the committed ToolNode path. */\n const plan = buildToolExecutionRequestPlan({\n toolCalls: candidateToolCalls.map((toolCall) => ({\n id: toolCall.id,\n name: toolCall.name,\n args: toolCall.args,\n stepId: graph.toolCallStepIds.get(toolCall.id!) ?? '',\n codeSessionContext: getCodeSessionContext(graph, toolCall.name),\n })),\n usageCount: graph.getEagerEventToolUsageCount(agentContext?.agentId),\n });\n if (plan == null) {\n return undefined;\n }\n\n return plan.requests.map(\n (request): EagerToolExecutionEntry => ({\n id: request.id,\n toolName: request.name,\n coercedArgs: request.args,\n request,\n })\n );\n}\n\nfunction startEagerToolExecutions(args: {\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n agentContext?: AgentContext;\n toolCalls: ToolCall[];\n skipExisting?: boolean;\n}): void {\n const { graph, metadata, agentContext, toolCalls, skipExisting } = args;\n const entries = createEagerToolExecutionPlan({\n graph,\n metadata,\n agentContext,\n toolCalls,\n skipExisting,\n });\n if (entries == null || entries.length === 0) {\n return;\n }\n\n const records: t.EagerEventToolExecution[] = [];\n const promise: Promise<t.EagerEventToolExecutionOutcome> = new Promise<\n t.ToolExecuteResult[]\n >((resolve, reject) => {\n let dispatchSettled = false;\n let resultSettled = false;\n let settledResults: t.ToolExecuteResult[] | undefined;\n const maybeResolve = (): void => {\n if (dispatchSettled && resultSettled) {\n resolve(settledResults ?? []);\n }\n };\n const batchRequest: t.ToolExecuteBatchRequest = {\n toolCalls: entries.map((entry) => entry.request),\n userId: graph.config?.configurable?.user_id as string | undefined,\n agentId: agentContext?.agentId,\n configurable: graph.config?.configurable as\n | Record<string, unknown>\n | undefined,\n metadata,\n signal: composeAbortSignals(\n graph.config?.signal,\n graph.breakerAbort.signal\n ),\n resolve: (results): void => {\n resultSettled = true;\n settledResults = results;\n maybeResolve();\n },\n reject,\n };\n\n void safeDispatchCustomEvent(\n GraphEvents.ON_TOOL_EXECUTE,\n batchRequest,\n graph.config\n )\n .then(() => {\n dispatchSettled = true;\n maybeResolve();\n })\n .catch(reject);\n }).then(\n async (results): Promise<t.EagerEventToolExecutionOutcome> => {\n await dispatchEagerToolCompletions({\n graph,\n agentContext,\n records,\n results,\n });\n return { results };\n },\n (error): t.EagerEventToolExecutionOutcome => ({\n error: normalizeError(error),\n })\n );\n\n for (const entry of entries) {\n const record: t.EagerEventToolExecution = {\n toolCallId: entry.id,\n toolName: entry.toolName,\n args: entry.coercedArgs,\n request: entry.request,\n promise,\n };\n records.push(record);\n graph.eagerEventToolExecutions.set(entry.id, record);\n }\n}\n\nasync function dispatchEagerToolCompletions(args: {\n graph: StandardGraph;\n agentContext?: AgentContext;\n records: t.EagerEventToolExecution[];\n results: t.ToolExecuteResult[];\n}): Promise<void> {\n const { graph, agentContext, records, results } = args;\n const recordById = new Map(\n records.map((record) => [record.toolCallId, record])\n );\n const maxToolResultChars =\n agentContext?.maxToolResultChars ??\n calculateMaxToolResultChars(agentContext?.maxContextTokens);\n\n for (const result of results) {\n const record = recordById.get(result.toolCallId);\n if (record == null) {\n continue;\n }\n if (graph.eagerEventToolExecutions.get(result.toolCallId) !== record) {\n continue;\n }\n const stepId =\n record.request.stepId ??\n graph.toolCallStepIds.get(result.toolCallId) ??\n '';\n if (stepId === '') {\n continue;\n }\n let output: string;\n if (result.status === 'error') {\n output = truncateToolResultContent(\n `Error: ${result.errorMessage ?? 'Unknown error'}\\n Please fix your mistakes.`,\n maxToolResultChars\n );\n } else if (typeof result.content === 'string') {\n output = truncateToolResultContent(result.content, maxToolResultChars);\n } else {\n output = serializeStructuredValueBounded(\n result.content,\n maxToolResultChars\n ).content;\n }\n const outcome = resolveToolOutcome(\n record.request.args,\n outcomeFieldsFromResult(result),\n { isError: result.status === 'error' }\n );\n\n try {\n const dispatched = await safeDispatchCustomEvent(\n GraphEvents.ON_RUN_STEP_COMPLETED,\n {\n result: {\n id: stepId,\n index: record.request.turn ?? 0,\n type: 'tool_call' as const,\n eager: true,\n tool_call: {\n args: serializeToolContentBounded(\n record.request.args,\n maxToolResultChars\n ),\n name: record.toolName,\n id: result.toolCallId,\n output,\n progress: 1,\n ...(outcome != null && { outcome }),\n } as t.ProcessedToolCall,\n completed_at: Date.now(),\n },\n },\n graph.config\n );\n if (dispatched === false) {\n continue;\n }\n record.completionDispatched = true;\n } catch (error) {\n // Let ToolNode dispatch the completion through the normal path later.\n\n console.warn(\n `[stream] eager completion dispatch failed for toolCallId=${result.toolCallId}:`,\n error instanceof Error ? error.message : error\n );\n }\n }\n}\n\nfunction getEagerToolChunkKey(\n stepKey: string,\n toolCallChunk: ToolCallChunk\n): string | undefined {\n let chunkKey: string | undefined;\n if (typeof toolCallChunk.index === 'number') {\n chunkKey = String(toolCallChunk.index);\n } else if (toolCallChunk.id != null && toolCallChunk.id !== '') {\n chunkKey = toolCallChunk.id;\n }\n if (chunkKey == null) {\n return undefined;\n }\n return `${stepKey}\\u0000${chunkKey}`;\n}\n\nfunction getEagerToolChunkIndex(\n toolCallChunk: ToolCallChunk\n): number | undefined {\n return typeof toolCallChunk.index === 'number'\n ? toolCallChunk.index\n : undefined;\n}\n\nfunction pruneEagerToolCallChunkStates(args: {\n graph: StandardGraph;\n stepKey: string;\n toolCallIds?: ReadonlySet<string>;\n clearStep?: boolean;\n}): void {\n const { graph, stepKey, toolCallIds, clearStep = false } = args;\n const prefix = `${stepKey}\\u0000`;\n for (const [key, state] of graph.eagerEventToolCallChunks) {\n if (!key.startsWith(prefix)) {\n continue;\n }\n if (\n clearStep ||\n (state.id != null && toolCallIds?.has(state.id) === true)\n ) {\n graph.eagerEventToolCallChunks.delete(key);\n }\n }\n}\n\nfunction isEagerToolChunkStateComplete(\n state: t.EagerEventToolCallChunkState\n): boolean {\n return (\n state.id != null &&\n state.id !== '' &&\n state.name != null &&\n state.name !== '' &&\n coerceRecordArgs(state.argsText) != null\n );\n}\n\nfunction mergeToolCallArgsText(existing: string, incoming: string): string {\n if (incoming === '') {\n return existing;\n }\n if (existing === '') {\n return incoming;\n }\n if (incoming === existing) {\n try {\n JSON.parse(incoming);\n return incoming;\n } catch {\n return `${existing}${incoming}`;\n }\n }\n if (incoming.startsWith(existing)) {\n return incoming;\n }\n if (existing.startsWith(incoming)) {\n return existing;\n }\n try {\n JSON.parse(existing);\n JSON.parse(incoming);\n return incoming;\n } catch {\n // Fall through to delta concatenation.\n }\n for (\n let overlap = Math.min(existing.length, incoming.length);\n overlap >= 8;\n overlap -= 1\n ) {\n if (existing.endsWith(incoming.slice(0, overlap))) {\n return `${existing}${incoming.slice(overlap)}`;\n }\n }\n return `${existing}${incoming}`;\n}\n\nfunction recordEagerToolCallChunks(args: {\n graph: StandardGraph;\n stepKey: string;\n toolCallChunks?: ToolCallChunk[];\n seal?: StreamedToolCallSeal;\n}): void {\n const { graph, stepKey, toolCallChunks, seal } = args;\n if (toolCallChunks == null || toolCallChunks.length === 0) {\n return;\n }\n\n // Streamed args can be cumulative and parseable before the provider has\n // sealed the call. Recording stays separate from dispatch so the boundary\n // logic can wait for either a later tool index or the final tool-call signal.\n for (const toolCallChunk of toolCallChunks) {\n const key = getEagerToolChunkKey(stepKey, toolCallChunk);\n if (key == null) {\n continue;\n }\n\n const incomingId =\n toolCallChunk.id != null && toolCallChunk.id !== ''\n ? toolCallChunk.id\n : undefined;\n const incomingName =\n toolCallChunk.name != null && toolCallChunk.name !== ''\n ? toolCallChunk.name\n : undefined;\n const previous = graph.eagerEventToolCallChunks.get(key);\n const shouldReset =\n previous != null &&\n ((incomingId != null &&\n previous.id != null &&\n incomingId !== previous.id) ||\n (incomingName != null &&\n previous.name != null &&\n incomingName !== previous.name));\n const existing =\n previous == null || shouldReset\n ? {\n argsText: '',\n }\n : previous;\n const id = incomingId ?? existing.id;\n const name = incomingName ?? existing.name;\n const incomingArgs = toolCallChunk.args ?? '';\n const isRepeatedObservedFragment =\n incomingArgs !== '' &&\n incomingArgs.length > 1 &&\n incomingArgs === existing.lastArgsFragment;\n const argsText = isRepeatedObservedFragment\n ? existing.argsText\n : mergeToolCallArgsText(existing.argsText, incomingArgs);\n const index = getEagerToolChunkIndex(toolCallChunk) ?? existing.index;\n // Only a chunk whose explicit adapter seal covers THIS call may supply a\n // full-args restatement (OpenAI Responses `arguments.done`). Pure-signal\n // seals carry empty args and never set this.\n const sealCoversChunk =\n seal != null &&\n (seal.kind === 'all' ||\n (seal.id != null && seal.id === id) ||\n (seal.index != null && seal.index === index));\n const next = {\n id,\n name,\n argsText,\n // Canonical accumulation length: LangChain concats fragments verbatim\n // to build the final request, and every reconciliation branch above\n // yields text no longer than that concat — equal exactly when every\n // merge was a pure append. Tracking the length (not the text) keeps\n // cumulative/restating streams from retaining every prefix.\n rawArgsLength: (existing.rawArgsLength ?? 0) + incomingArgs.length,\n index,\n lastArgsFragment:\n incomingArgs !== '' ? incomingArgs : existing.lastArgsFragment,\n sealedArgsFragment:\n sealCoversChunk && incomingArgs !== ''\n ? incomingArgs\n : existing.sealedArgsFragment,\n };\n graph.eagerEventToolCallChunks.set(key, next);\n }\n}\n\nfunction getStreamedReadyToolCalls(args: {\n graph: StandardGraph;\n stepKey: string;\n toolCallChunks?: ToolCallChunk[];\n seal?: StreamedToolCallSeal;\n allowSequentialSeal?: boolean;\n sealAll?: boolean;\n}): ToolCall[] {\n const {\n graph,\n stepKey,\n toolCallChunks,\n seal,\n allowSequentialSeal = false,\n sealAll = false,\n } = args;\n const currentIndices = new Set<number>();\n for (const toolCallChunk of toolCallChunks ?? []) {\n const index = getEagerToolChunkIndex(toolCallChunk);\n if (index != null) {\n currentIndices.add(index);\n }\n }\n const highestCurrentIndex =\n currentIndices.size > 0 ? Math.max(...currentIndices) : undefined;\n const prefix = `${stepKey}\\u0000`;\n const readyEntries: Array<{\n key: string;\n state: t.EagerEventToolCallChunkState;\n sealedByAdapter: boolean;\n }> = [];\n\n for (const [key, state] of graph.eagerEventToolCallChunks) {\n if (!key.startsWith(prefix)) {\n continue;\n }\n if (state.id != null && graph.eagerEventToolExecutions.has(state.id)) {\n graph.eagerEventToolCallChunks.delete(key);\n continue;\n }\n if (!isEagerToolChunkStateComplete(state)) {\n continue;\n }\n const isSealedByLaterChunk =\n allowSequentialSeal &&\n highestCurrentIndex != null &&\n state.index != null &&\n state.index < highestCurrentIndex &&\n !currentIndices.has(state.index);\n const isSealedExplicitly =\n seal?.kind === 'single' &&\n ((seal.id != null && state.id === seal.id) ||\n (seal.index != null && state.index === seal.index));\n if (\n sealAll ||\n seal?.kind === 'all' ||\n isSealedByLaterChunk ||\n isSealedExplicitly\n ) {\n readyEntries.push({\n key,\n state,\n sealedByAdapter: isSealedExplicitly || seal?.kind === 'all',\n });\n }\n }\n\n pruneEagerToolCallChunkStates({\n graph,\n stepKey,\n toolCallIds: new Set(\n readyEntries\n .map(({ state }) => state.id)\n .filter((id): id is string => id != null && id !== '')\n ),\n });\n if (sealAll) {\n pruneEagerToolCallChunkStates({ graph, stepKey, clearStep: true });\n }\n\n return readyEntries\n .sort((left, right) => (left.state.index ?? 0) - (right.state.index ?? 0))\n .flatMap(({ state, sealedByAdapter }) => {\n const args = coerceRecordArgs(state.argsText);\n if (args == null) {\n return [];\n }\n // The final request's args come from LangChain's canonical verbatim\n // concatenation of fragments, while `argsText` reconciles provider\n // quirks with lossy heuristics that can also swallow legitimately\n // repetitive payload fragments (LibreChat#14371). `argsText` can never\n // be LONGER than the plain concat, so length equality proves it IS the\n // canonical accumulation.\n const isCanonicalAccumulation =\n state.rawArgsLength != null &&\n state.argsText.length === state.rawArgsLength;\n // Adapter seals may instead restate the finished call's full args on\n // the seal chunk itself (OpenAI Responses\n // `function_call_arguments.done`). Only when the seal-carrying chunk\n // supplied that fragment AND the accumulated text IS that restatement\n // has the adapter vouched for it — plain concatenation intentionally\n // differs there. Pure-signal seals (Bedrock contentBlockStop,\n // `args: ''`) never qualify.\n const isAuthoritativeRestatement =\n sealedByAdapter &&\n state.sealedArgsFragment != null &&\n state.sealedArgsFragment === state.argsText;\n // Prestarting an unconfirmed snapshot trips the \"changed after eager\n // execution started\" guard and burns a retry loop — leave unconfirmed\n // calls to normal ToolNode execution with final args.\n if (!isCanonicalAccumulation && !isAuthoritativeRestatement) {\n return [];\n }\n return [\n {\n id: state.id,\n name: state.name ?? '',\n args,\n },\n ];\n });\n}\n\nfunction startReadyStreamedEagerToolExecutions(args: {\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n agentContext?: AgentContext;\n stepKey: string;\n toolCallChunks?: ToolCallChunk[];\n seal?: StreamedToolCallSeal;\n allowSequentialSeal?: boolean;\n sealAll?: boolean;\n}): void {\n const {\n graph,\n metadata,\n agentContext,\n stepKey,\n toolCallChunks,\n seal,\n allowSequentialSeal,\n sealAll,\n } = args;\n if (\n hasPotentialDirectToolInStreamContext({ graph, agentContext }) ||\n hasDirectToolCallChunkInBatch({ graph, agentContext, toolCallChunks }) ||\n hasDirectToolCallChunkStateInStep({ graph, agentContext, stepKey }) ||\n !isEagerToolExecutionEnabledForBatch({ graph, metadata, agentContext })\n ) {\n return;\n }\n const toolCalls = getStreamedReadyToolCalls({\n graph,\n stepKey,\n toolCallChunks,\n seal,\n allowSequentialSeal,\n sealAll,\n });\n if (toolCalls.length === 0) {\n return;\n }\n startEagerToolExecutions({\n graph,\n metadata,\n agentContext,\n toolCalls,\n skipExisting: true,\n });\n}\n\nexport function getChunkContent({\n chunk,\n provider,\n reasoningKey,\n}: {\n chunk?: Partial<AIMessageChunk>;\n provider?: Providers;\n reasoningKey: 'reasoning_content' | 'reasoning';\n}): string | t.MessageContentComplex[] | undefined {\n if (\n isGoogleLike(provider) &&\n Array.isArray(chunk?.content) &&\n chunk.content.some((c) => isGoogleServerSideToolContentPart(c))\n ) {\n return chunk.content;\n }\n\n if (\n (provider === Providers.OPENAI || provider === Providers.AZURE) &&\n (\n chunk?.additional_kwargs?.reasoning as\n | Partial<ChatOpenAIReasoningSummary>\n | undefined\n )?.summary?.[0]?.text != null &&\n ((\n chunk?.additional_kwargs?.reasoning as\n | Partial<ChatOpenAIReasoningSummary>\n | undefined\n )?.summary?.[0]?.text?.length ?? 0) > 0\n ) {\n return (\n chunk?.additional_kwargs?.reasoning as\n | Partial<ChatOpenAIReasoningSummary>\n | undefined\n )?.summary?.[0]?.text;\n }\n if (provider === Providers.OPENROUTER) {\n // Content presence signals end of reasoning phase - prefer content over reasoning\n // This handles transitional chunks that may have both reasoning and content\n if (typeof chunk?.content === 'string' && chunk.content !== '') {\n return chunk.content;\n }\n const reasoning = chunk?.additional_kwargs?.reasoning as string | undefined;\n if (reasoning != null && reasoning !== '') {\n return reasoning;\n }\n const reasoningContent = chunk?.additional_kwargs?.reasoning_content as\n | string\n | undefined;\n if (reasoningContent != null && reasoningContent !== '') {\n return reasoningContent;\n }\n return chunk?.content;\n }\n const keyedReasoning = chunk?.additional_kwargs?.[reasoningKey] as\n | string\n | undefined;\n if (\n typeof chunk?.content === 'string' &&\n chunk.content !== '' &&\n keyedReasoning != null &&\n keyedReasoning !== ''\n ) {\n return chunk.content;\n }\n return ((keyedReasoning as string | undefined) ?? '') || chunk?.content;\n}\n\nfunction isDisableStreamingEnabled(\n clientOptions: t.ClientOptions | undefined\n): boolean {\n return (\n clientOptions != null &&\n 'disableStreaming' in clientOptions &&\n clientOptions.disableStreaming === true\n );\n}\n\nfunction hasReasoningContent(\n value: string | ReasoningSummaryLike | object[] | null | undefined\n): boolean {\n if (typeof value === 'string') {\n return value !== '';\n }\n if (Array.isArray(value)) {\n return value.length > 0;\n }\n if (value == null) {\n return false;\n }\n return (\n value.summary?.some(\n (summary) => summary.text != null && summary.text.length > 0\n ) === true\n );\n}\n\nfunction shouldDeferMixedFinalReasoningChunk({\n chunk,\n agentContext,\n}: {\n chunk: Partial<AIMessageChunk>;\n agentContext: AgentContext;\n}): boolean {\n if (\n (chunk.tool_calls?.length ?? 0) > 0 ||\n (chunk.tool_call_chunks?.length ?? 0) > 0 ||\n typeof chunk.content !== 'string' ||\n chunk.content === ''\n ) {\n return false;\n }\n const additionalKwargs = chunk.additional_kwargs;\n if (\n agentContext.provider === Providers.OPENROUTER &&\n hasReasoningContent(additionalKwargs?.reasoning_details as object[])\n ) {\n return true;\n }\n if (!isDisableStreamingEnabled(agentContext.clientOptions)) {\n return false;\n }\n return (\n hasReasoningContent(\n additionalKwargs?.[agentContext.reasoningKey] as\n | string\n | ReasoningSummaryLike\n | null\n | undefined\n ) ||\n hasReasoningContent(\n additionalKwargs?.reasoning_content as\n | string\n | ReasoningSummaryLike\n | null\n | undefined\n ) ||\n hasReasoningContent(\n additionalKwargs?.reasoning as\n | string\n | ReasoningSummaryLike\n | null\n | undefined\n ) ||\n hasReasoningContent(additionalKwargs?.reasoning_details as object[])\n );\n}\n\nfunction hasCurrentTextDeltaStep({\n graph,\n metadata,\n}: {\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n}): boolean {\n if (metadata == null) {\n return false;\n }\n const baseStepKey = graph.getStepBaseKey(metadata);\n for (const [stepKey, stepIds] of graph.stepKeyIds) {\n if (stepKey !== baseStepKey && !stepKey.startsWith(`${baseStepKey}_`)) {\n continue;\n }\n if (stepIds.some((stepId) => graph.messageStepHasTextDeltas.has(stepId))) {\n return true;\n }\n }\n return false;\n}\n\nfunction shouldSkipLateOpenRouterReasoningChunk({\n chunk,\n agentContext,\n graph,\n metadata,\n}: {\n chunk: Partial<AIMessageChunk>;\n agentContext: AgentContext;\n graph: StandardGraph;\n metadata?: Record<string, unknown>;\n}): boolean {\n if (\n agentContext.provider !== Providers.OPENROUTER ||\n (chunk.tool_calls?.length ?? 0) > 0 ||\n (chunk.tool_call_chunks?.length ?? 0) > 0 ||\n (chunk.content != null && chunk.content !== '')\n ) {\n return false;\n }\n return (\n (hasReasoningContent(chunk.additional_kwargs?.reasoning as string) ||\n hasReasoningContent(\n chunk.additional_kwargs?.reasoning_content as string\n ) ||\n hasReasoningContent(\n chunk.additional_kwargs?.reasoning_details as object[]\n )) &&\n hasCurrentTextDeltaStep({ graph, metadata })\n );\n}\n\n/**\n * Brands a handler as one that dispatches content parts for the SDK — either\n * `ChatModelStreamHandler` itself or a wrapper forwarding to one.\n *\n * Identity alone is not a usable contract here. Hosts compose and wrap\n * handlers (`composeEventHandlers`, `createRunHandlers`), and every wrapper\n * fails `instanceof` while still driving the same dispatch. A brand survives\n * wrapping, so \"does this handler own content-part dispatch\" can be answered\n * about a value the SDK did not construct.\n */\nexport const SDK_STREAM_DISPATCH = Symbol.for(\n '@librechat/agents:chatModelStreamDispatch'\n);\n\n/** True when `handler` is, or forwards to, the SDK's stream dispatcher. */\nexport function dispatchesChatModelStream(handler?: t.EventHandler): boolean {\n if (handler == null) {\n return false;\n }\n if (handler instanceof ChatModelStreamHandler) {\n return true;\n }\n return Reflect.get(handler, SDK_STREAM_DISPATCH) === true;\n}\n\nexport class ChatModelStreamHandler implements t.EventHandler {\n readonly [SDK_STREAM_DISPATCH] = true;\n\n async handle(\n event: string,\n data: t.StreamEventData,\n metadata?: Record<string, unknown>,\n graph?: StandardGraph\n ): Promise<void> {\n if (!graph) {\n throw new Error('Graph not found');\n }\n if (!graph.config) {\n throw new Error('Config not found in graph');\n }\n\n if (!data.chunk) {\n console.warn(`No chunk found in ${event} event`);\n return;\n }\n\n const chunk = data.chunk as Partial<AIMessageChunk>;\n\n /** Attempts stamp their breaker epoch into event metadata; a mismatch\n * marks a straggling chunk from a failed run that outlived\n * `resetValues()`. Dropped OUTRIGHT: content handling and the eager\n * paths below compose the LIVE controller, so acting on a dead run's\n * chunk could dispatch host tools into the run now using it. Events\n * without a stamp (direct handler callers, partial stubs) keep the\n * live-controller behavior. */\n const eventEpoch = metadata?.[STREAM_LIMIT_EPOCH_KEY];\n /** Runtime-honest widening: partial handler stubs carry neither an\n * epoch nor a run scope despite the field types. */\n const liveEpoch = graph.breakerEpoch as number | undefined;\n if (eventEpoch != null && liveEpoch != null && eventEpoch !== liveEpoch) {\n return;\n }\n const eventBreaker =\n graph.breakerAbort instanceof AbortController\n ? graph.breakerAbort\n : undefined;\n /** Immutable scope captured at handler entry. A reset while this\n * handler is suspended in an await replaces the object, so ONE\n * reference comparison proves the event still belongs to the live run\n * before anything composes `graph.breakerAbort` or `graph.config`. */\n const entryRunScope = graph.runScope as RunBreakerScope | undefined;\n const runScopeInvalidated = (): boolean =>\n entryRunScope != null && graph.runScope !== entryRunScope;\n const throwIfRunBreakerTripped = (): void => {\n if (\n eventBreaker != null &&\n eventBreaker.signal.aborted &&\n eventBreaker.signal.reason instanceof StreamLimitExceededError\n ) {\n throw eventBreaker.signal.reason;\n }\n };\n\n /**\n * Enforced before every content-specific early return below\n * (server-tool results, deferred mixed reasoning, late OpenRouter\n * reasoning): a looping provider can flood through any of those paths,\n * a coalesced event can carry client `tool_call_chunks` alongside a\n * server-tool result, and the complete-call dispatch branch further\n * down can prestart a side-effecting tool from an arrival-sealed\n * oversized call. Charging is claim-based: the producer loop and this\n * decoupled echo can observe the same chunk object in either order, and\n * only the first claimer charges it. The argument guard is\n * deliberately NOT gated on numeric chunk indices, so id-only or\n * index-less runaway streams stay bounded, and complete parsed\n * `tool_calls` without a raw chunk representation are judged standalone.\n */\n if (\n requiresStreamLimitAccounting(graph, chunk) &&\n claimStreamLimitCharge(graph, data.chunk, 'consumer', metadata)\n ) {\n try {\n enforceStreamDeltaEventLimit({ graph, metadata });\n /** Combined first so raw-chunk name correlation sees invalid calls\n * too; an unnamed raw chunk twinned with a named invalid call must\n * select that tool's override, not the global cap. */\n const completeCalls = combineCompleteToolCalls(chunk);\n if (chunk.tool_call_chunks && chunk.tool_call_chunks.length > 0) {\n enforceStreamedToolCallArgLimit({\n graph,\n metadata,\n toolCallChunks: chunk.tool_call_chunks,\n responseMetadata: chunk.response_metadata as\n | Record<string, unknown>\n | undefined,\n parsedToolCalls: completeCalls,\n });\n }\n /** Judged whenever parsed calls are present, not only when raw\n * chunks are absent — an adapter can pair an empty or partial raw\n * chunk with a complete parsed call; the standalone check is\n * stateless, so the common both-present case is not double-tallied.\n * Invalid calls are included because ToolNode processes and\n * promotes them. */\n if (completeCalls != null) {\n enforceCompleteToolCallArgLimit({\n graph,\n metadata,\n toolCalls: completeCalls,\n });\n }\n } catch (error) {\n /** A breach detected on this consumer path must still stop parallel\n * fan-out work: the producer skips its own enforcement once this\n * side has claimed the emission, so createCallModel's breaker-abort\n * never fires for it. Trip the EVENT's run-bound breaker before the\n * throw rejects the run — never the live controller of a newer run. */\n if (error instanceof StreamLimitExceededError && eventBreaker != null) {\n eventBreaker.abort(error);\n }\n throw error;\n }\n }\n\n /** A parallel producer can trip the shared breaker while this event was\n * already queued in `streamEvents`. Stop before content handling or the\n * eager-tool paths below — those can dispatch a side-effecting host\n * tool with an already-aborted signal the handler never inspects.\n * Rechecked again immediately before each eager dispatch: the awaits in\n * between (server-tool results, tool-call handling, content dispatch)\n * are windows for a sibling's trip — or for a full reset, after which\n * this event belongs to a dead run and is dropped. */\n if (runScopeInvalidated()) {\n return;\n }\n throwIfRunBreakerTripped();\n\n const agentContext = graph.getAgentContext(metadata);\n\n const content = getChunkContent({\n chunk,\n reasoningKey: agentContext.reasoningKey,\n provider: agentContext.provider,\n });\n const skipHandling = await handleServerToolResult({\n graph,\n content,\n metadata,\n agentContext,\n });\n if (skipHandling) {\n return;\n }\n if (shouldDeferMixedFinalReasoningChunk({ chunk, agentContext })) {\n return;\n }\n if (\n shouldSkipLateOpenRouterReasoningChunk({\n chunk,\n agentContext,\n graph,\n metadata,\n })\n ) {\n return;\n }\n this.handleReasoning(chunk, agentContext);\n const stepKey = graph.getStepKey(metadata);\n let hasToolCalls = false;\n const hasToolCallChunks =\n (chunk.tool_call_chunks && chunk.tool_call_chunks.length > 0) ?? false;\n const hasGoogleServerSideToolContent =\n isGoogleLike(agentContext.provider) &&\n Array.isArray(content) &&\n content.some((c) => isGoogleServerSideToolContentPart(c));\n if (hasGoogleServerSideToolContent && Array.isArray(content)) {\n await dispatchGoogleServerSideToolStreamContent({\n graph,\n stepKey,\n chunk,\n agentContext,\n content,\n metadata,\n });\n }\n\n if (\n chunk.tool_calls &&\n chunk.tool_calls.length > 0 &&\n chunk.tool_calls.every(\n (tc) =>\n tc.id != null &&\n tc.id !== '' &&\n (tc as Partial<ToolCall>).name != null &&\n tc.name !== ''\n )\n ) {\n hasToolCalls = true;\n await handleToolCalls(chunk.tool_calls, metadata, graph);\n if (runScopeInvalidated()) {\n return;\n }\n throwIfRunBreakerTripped();\n if (hasFinalToolCallSignal(chunk)) {\n startEagerToolExecutions({\n graph,\n metadata,\n agentContext,\n toolCalls: chunk.tool_calls,\n skipExisting: true,\n });\n if (!hasToolCallChunks) {\n pruneEagerToolCallChunkStates({ graph, stepKey, clearStep: true });\n }\n } else if (\n hasOnArrivalToolCallSeal(chunk) &&\n !hasPotentialDirectToolInStreamContext({ graph, agentContext })\n ) {\n // Providers like Google never signal `tool_calls`/`tool_use` as the\n // finish reason, but their adapters seal calls on arrival — prestart\n // these mid-stream under the same direct-tool guard as streamed\n // chunk sealing.\n startEagerToolExecutions({\n graph,\n metadata,\n agentContext,\n toolCalls: chunk.tool_calls,\n skipExisting: true,\n });\n }\n }\n\n const isEmptyContent =\n typeof content === 'undefined' ||\n !content.length ||\n (typeof content === 'string' && !content);\n\n /** Set a preliminary message ID if found in empty chunk */\n const isEmptyChunk = isEmptyContent && !hasToolCallChunks;\n if (\n isEmptyChunk &&\n (chunk.id ?? '') !== '' &&\n !graph.prelimMessageIdsByStepKey.has(chunk.id ?? '')\n ) {\n graph.prelimMessageIdsByStepKey.set(stepKey, chunk.id ?? '');\n } else if (isEmptyChunk) {\n return;\n }\n\n if (\n hasToolCallChunks &&\n chunk.tool_call_chunks &&\n chunk.tool_call_chunks.length &&\n typeof chunk.tool_call_chunks[0]?.index === 'number'\n ) {\n const streamedToolCallSeal = getStreamedToolCallSeal(\n chunk.response_metadata as Record<string, unknown> | undefined\n );\n const allowSequentialSeal =\n canPrestartSequentialStreamedToolChunks(agentContext) ||\n streamedToolCallAdapterAllowsSequentialSeal(\n chunk.response_metadata as Record<string, unknown> | undefined\n );\n const canStreamEager =\n (allowSequentialSeal || hasExplicitStreamedToolCallSeals(chunk)) &&\n !hasPotentialDirectToolInStreamContext({ graph, agentContext }) &&\n isEagerToolExecutionEnabledForBatch({ graph, metadata, agentContext });\n if (canStreamEager) {\n recordEagerToolCallChunks({\n graph,\n stepKey,\n toolCallChunks: chunk.tool_call_chunks,\n seal: streamedToolCallSeal,\n });\n }\n await handleToolCallChunks({\n graph,\n stepKey,\n toolCallChunks: chunk.tool_call_chunks,\n metadata,\n });\n if (canStreamEager) {\n if (runScopeInvalidated()) {\n return;\n }\n throwIfRunBreakerTripped();\n startReadyStreamedEagerToolExecutions({\n graph,\n metadata,\n agentContext,\n stepKey,\n toolCallChunks: chunk.tool_call_chunks,\n seal: streamedToolCallSeal,\n allowSequentialSeal,\n sealAll: hasFinalToolCallSignal(chunk),\n });\n }\n }\n\n if (isEmptyContent) {\n return;\n }\n\n if (hasGoogleServerSideToolContent) {\n return;\n }\n\n if (Array.isArray(content) && content.every(isTextContentPart)) {\n const contentGroups = splitAssistantTextContentByPhase(content);\n const currentStepId = graph.stepKeyIds?.get(stepKey)?.at(-1);\n const currentStep =\n currentStepId == null ? undefined : graph.getRunStep(currentStepId);\n const currentPhase =\n currentStep?.stepDetails.type === StepTypes.MESSAGE_CREATION\n ? currentStep.stepDetails.message_creation.phase\n : undefined;\n const nextPhase = getMessageCreationContentMetadata(\n contentGroups[0]\n ).phase;\n const phaseChanged =\n currentPhase != null && nextPhase != null && currentPhase !== nextPhase;\n if (contentGroups.length > 1 || phaseChanged) {\n for (const contentGroup of contentGroups) {\n const currentStepId = await dispatchMessageCreationStep({\n graph,\n stepKey,\n content: contentGroup,\n metadata,\n });\n await graph.dispatchMessageDelta(\n currentStepId,\n { content: contentGroup },\n metadata\n );\n }\n return;\n }\n }\n\n const message_id = getMessageId(stepKey, graph) ?? '';\n if (message_id) {\n const fallbackContentType =\n agentContext.currentTokenType === ContentTypes.TEXT\n ? ContentTypes.TEXT\n : ContentTypes.THINK;\n await graph.dispatchRunStep(\n stepKey,\n {\n type: StepTypes.MESSAGE_CREATION,\n message_creation: {\n message_id,\n ...getMessageCreationContentMetadata(content, fallbackContentType),\n },\n },\n metadata\n );\n }\n\n let stepId = graph.getStepIdByKey(stepKey);\n let runStep = graph.getRunStep(stepId);\n if (\n shouldStartFreshMessageStepAfterGoogleServerSideTool({\n graph,\n stepId,\n runStep,\n content,\n })\n ) {\n stepId = await dispatchMessageCreationStep({\n graph,\n stepKey,\n content,\n metadata,\n });\n runStep = graph.getRunStep(stepId);\n }\n if (!runStep) {\n console.warn(`\\n\n==============================================================\n\n\nRun step for ${stepId} does not exist, cannot dispatch delta event.\n\nevent: ${event}\nstepId: ${stepId}\nstepKey: ${stepKey}\nmessage_id: ${message_id}\nhasToolCalls: ${hasToolCalls}\nhasToolCallChunks: ${hasToolCallChunks}\n\n==============================================================\n\\n`);\n return;\n }\n\n /* Note: tool call chunks may have non-empty content that matches the current tool chunk generation */\n if (typeof content === 'string' && runStep.type === StepTypes.TOOL_CALLS) {\n return;\n } else if (\n hasToolCallChunks &&\n (chunk.tool_call_chunks?.some((tc) => tc.args === content) ?? false)\n ) {\n return;\n } else if (typeof content === 'string') {\n if (agentContext.currentTokenType === ContentTypes.TEXT) {\n await graph.dispatchMessageDelta(\n stepId,\n {\n content: [\n {\n type: ContentTypes.TEXT,\n text: content,\n },\n ],\n },\n metadata\n );\n } else if (agentContext.currentTokenType === 'think_and_text') {\n const { text, thinking } = parseThinkingContent(content);\n if (thinking) {\n await graph.dispatchReasoningDelta(\n stepId,\n {\n content: [\n {\n type: ContentTypes.THINK,\n think: thinking,\n },\n ],\n },\n metadata\n );\n }\n if (text) {\n agentContext.currentTokenType = ContentTypes.TEXT;\n agentContext.tokenTypeSwitch = 'content';\n const newStepKey = graph.getStepKey(metadata);\n const message_id = getMessageId(newStepKey, graph) ?? '';\n await graph.dispatchRunStep(\n newStepKey,\n {\n type: StepTypes.MESSAGE_CREATION,\n message_creation: {\n message_id,\n content_type: ContentTypes.TEXT,\n },\n },\n metadata\n );\n\n const newStepId = graph.getStepIdByKey(newStepKey);\n await graph.dispatchMessageDelta(\n newStepId,\n {\n content: [\n {\n type: ContentTypes.TEXT,\n text: text,\n },\n ],\n },\n metadata\n );\n }\n } else {\n await graph.dispatchReasoningDelta(\n stepId,\n {\n content: [\n {\n type: ContentTypes.THINK,\n think: content,\n },\n ],\n },\n metadata\n );\n }\n } else if (content.every((c) => isTextContentPart(c))) {\n await graph.dispatchMessageDelta(\n stepId,\n {\n content,\n },\n metadata\n );\n } else if (content.every((c) => isReasoningContentPart(c))) {\n await graph.dispatchReasoningDelta(\n stepId,\n {\n content: content.map((c) => ({\n type: ContentTypes.THINK,\n think:\n (c as t.ThinkingContentText).thinking ??\n (c as Partial<t.GoogleReasoningContentText>).reasoning ??\n (c as Partial<t.BedrockReasoningContentText>).reasoningText\n ?.text ??\n '',\n })),\n },\n metadata\n );\n }\n }\n handleReasoning(\n chunk: Partial<AIMessageChunk>,\n agentContext: AgentContext\n ): void {\n let reasoning_content = chunk.additional_kwargs?.[\n agentContext.reasoningKey\n ] as string | Partial<ChatOpenAIReasoningSummary> | undefined;\n if (\n Array.isArray(chunk.content) &&\n (chunk.content[0]?.type === ContentTypes.THINKING ||\n chunk.content[0]?.type === ContentTypes.REASONING ||\n chunk.content[0]?.type === ContentTypes.REASONING_CONTENT ||\n chunk.content[0]?.type === 'redacted_thinking')\n ) {\n reasoning_content = 'valid';\n } else if (\n (agentContext.provider === Providers.OPENAI ||\n agentContext.provider === Providers.AZURE) &&\n reasoning_content != null &&\n typeof reasoning_content !== 'string' &&\n reasoning_content.summary?.[0]?.text != null &&\n reasoning_content.summary[0].text\n ) {\n reasoning_content = 'valid';\n } else if (\n agentContext.provider === Providers.OPENROUTER &&\n // Only set reasoning as valid if content is NOT present (content signals end of reasoning)\n (chunk.content == null || chunk.content === '') &&\n // Check for reasoning_details (final chunk) OR reasoning string (intermediate chunks)\n ((chunk.additional_kwargs?.reasoning_details != null &&\n Array.isArray(chunk.additional_kwargs.reasoning_details) &&\n chunk.additional_kwargs.reasoning_details.length > 0) ||\n (typeof chunk.additional_kwargs?.reasoning === 'string' &&\n chunk.additional_kwargs.reasoning !== '') ||\n (typeof chunk.additional_kwargs?.reasoning_content === 'string' &&\n chunk.additional_kwargs.reasoning_content !== ''))\n ) {\n reasoning_content = 'valid';\n }\n if (\n reasoning_content != null &&\n reasoning_content !== '' &&\n (chunk.content == null ||\n chunk.content === '' ||\n reasoning_content === 'valid')\n ) {\n agentContext.currentTokenType = ContentTypes.THINK;\n agentContext.tokenTypeSwitch = 'reasoning';\n return;\n } else if (\n agentContext.tokenTypeSwitch === 'reasoning' &&\n agentContext.currentTokenType !== ContentTypes.TEXT &&\n ((chunk.content != null && chunk.content !== '') ||\n (chunk.tool_calls?.length ?? 0) > 0 ||\n (chunk.tool_call_chunks?.length ?? 0) > 0)\n ) {\n agentContext.currentTokenType = ContentTypes.TEXT;\n agentContext.tokenTypeSwitch = 'content';\n agentContext.reasoningTransitionCount++;\n } else if (\n chunk.content != null &&\n typeof chunk.content === 'string' &&\n chunk.content.includes('<think>') &&\n chunk.content.includes('</think>')\n ) {\n agentContext.currentTokenType = 'think_and_text';\n agentContext.tokenTypeSwitch = 'content';\n } else if (\n chunk.content != null &&\n typeof chunk.content === 'string' &&\n chunk.content.includes('<think>')\n ) {\n agentContext.currentTokenType = ContentTypes.THINK;\n agentContext.tokenTypeSwitch = 'content';\n } else if (\n agentContext.lastToken != null &&\n agentContext.lastToken.includes('</think>')\n ) {\n agentContext.currentTokenType = ContentTypes.TEXT;\n agentContext.tokenTypeSwitch = 'content';\n }\n if (typeof chunk.content !== 'string') {\n return;\n }\n agentContext.lastToken = chunk.content;\n }\n}\n\nexport function createContentAggregator(): t.ContentAggregatorResult {\n type ToolStepContentState = {\n indices: Set<number>;\n chunkIndices: Map<number, number>;\n unclaimedIndices: Set<number>;\n unboundIndices: Set<number>;\n callIdsByIndex: Map<number, string>;\n };\n\n const contentParts: Array<t.MessageContentComplex | undefined> = [];\n const stepMap = new Map<string, t.RunStep>();\n const toolCallContentIndexMap = new Map<string, number>();\n const sourceContentIndexMap = new Map<number, number>();\n const toolStepContentMap = new Map<string, ToolStepContentState>();\n let indexedContentLength = 0;\n /** Physical append cursor; event/chunk indices are correlation keys, not array offsets. */\n let nextContentIndex = 0;\n // Track agentId and groupId for each content index (applied to content parts)\n const contentMetaMap = new Map<\n number,\n { agentId?: string; groupId?: number }\n >();\n /** A delta's content may carry several parts (e.g. Google server-side tool\n * chunks emit multiple reasoning entries at once); every entry must reach\n * the step's slot, in order, or streamed text is silently lost. */\n const getDeltaContentParts = (\n content?: t.MessageDelta['content'] | t.MessageContentComplex\n ): t.MessageContentComplex[] => {\n if (content == null) {\n return [];\n }\n return Array.isArray(content) ? content : [content];\n };\n const indexContentPart = (\n index: number,\n contentPart?: t.MessageContentComplex\n ): void => {\n if (contentPart == null) {\n return;\n }\n if (contentPart.type === ContentTypes.TOOL_CALL) {\n const toolCallId = contentPart.tool_call.id;\n if (toolCallId != null && toolCallId !== '') {\n toolCallContentIndexMap.set(toolCallId, index);\n }\n }\n const hasAgentId =\n contentPart.agentId != null && contentPart.agentId !== '';\n const hasGroupId = contentPart.groupId != null;\n if (hasAgentId || hasGroupId) {\n const existingMeta = contentMetaMap.get(index) ?? {};\n if (hasAgentId) {\n existingMeta.agentId = contentPart.agentId;\n }\n if (hasGroupId) {\n existingMeta.groupId = contentPart.groupId;\n }\n contentMetaMap.set(index, existingMeta);\n }\n };\n const syncSeededContent = (): void => {\n /** Hosts can seed pre-pause content after creating the aggregator. */\n for (\n let index = indexedContentLength;\n index < contentParts.length;\n index++\n ) {\n indexContentPart(index, contentParts[index]);\n }\n indexedContentLength = contentParts.length;\n nextContentIndex = Math.max(nextContentIndex, contentParts.length);\n };\n const getToolCallContentIndex = (\n toolCallId: string | undefined\n ): number | undefined => {\n if (toolCallId == null || toolCallId === '') {\n return undefined;\n }\n syncSeededContent();\n return toolCallContentIndexMap.get(toolCallId);\n };\n const allocateContentIndex = (minimumIndex = 0): number => {\n syncSeededContent();\n const contentIndex = Math.max(nextContentIndex, minimumIndex);\n nextContentIndex = contentIndex + 1;\n return contentIndex;\n };\n const resolveSourceContentIndex = (sourceIndex: number): number => {\n const existingIndex = sourceContentIndexMap.get(sourceIndex);\n if (existingIndex != null) {\n return existingIndex;\n }\n const contentIndex = allocateContentIndex(sourceIndex);\n sourceContentIndexMap.set(sourceIndex, contentIndex);\n return contentIndex;\n };\n const createToolStepContentState = (\n contentIndex: number\n ): ToolStepContentState => ({\n indices: new Set<number>([contentIndex]),\n chunkIndices: new Map<number, number>(),\n unclaimedIndices: new Set<number>([contentIndex]),\n unboundIndices: new Set<number>([contentIndex]),\n callIdsByIndex: new Map<number, string>(),\n });\n const registerToolContentIndex = (\n state: ToolStepContentState,\n contentIndex: number,\n toolCallId?: string\n ): void => {\n if (!state.indices.has(contentIndex)) {\n state.indices.add(contentIndex);\n state.unclaimedIndices.add(contentIndex);\n state.unboundIndices.add(contentIndex);\n }\n if (toolCallId != null && toolCallId !== '') {\n const existingToolCallId = state.callIdsByIndex.get(contentIndex);\n if (\n existingToolCallId != null &&\n existingToolCallId !== toolCallId &&\n toolCallContentIndexMap.get(existingToolCallId) === contentIndex\n ) {\n toolCallContentIndexMap.delete(existingToolCallId);\n }\n toolCallContentIndexMap.set(toolCallId, contentIndex);\n state.callIdsByIndex.set(contentIndex, toolCallId);\n state.unboundIndices.delete(contentIndex);\n }\n };\n const takeFirstIndex = (indices: Set<number>): number | undefined => {\n const contentIndex = indices.values().next().value;\n if (contentIndex != null) {\n indices.delete(contentIndex);\n }\n return contentIndex;\n };\n const setContentMeta = (index: number, runStep: t.RunStep): void => {\n const hasAgentId = runStep.agentId != null && runStep.agentId !== '';\n const hasGroupId = runStep.groupId != null;\n if (!hasAgentId && !hasGroupId) {\n return;\n }\n const existingMeta = contentMetaMap.get(index) ?? {};\n if (hasAgentId) {\n existingMeta.agentId = runStep.agentId;\n }\n if (hasGroupId) {\n existingMeta.groupId = runStep.groupId;\n }\n contentMetaMap.set(index, existingMeta);\n };\n const applyContentMetadata = (index: number): void => {\n const contentPart = contentParts[index];\n if (contentPart == null) {\n return;\n }\n const meta = contentMetaMap.get(index);\n if (meta?.agentId != null) {\n contentPart.agentId = meta.agentId;\n }\n if (meta?.groupId != null) {\n contentPart.groupId = meta.groupId;\n }\n };\n\n const updateContent = (\n index: number,\n contentPart?: t.MessageContentComplex,\n finalUpdate = false\n ): void => {\n if (!contentPart) {\n console.warn('No content part found in \\'updateContent\\'');\n return;\n }\n const partType = contentPart.type ?? '';\n if (!partType) {\n console.warn('No content type found in content part');\n return;\n }\n\n if (!contentParts[index] && partType !== ContentTypes.TOOL_CALL) {\n contentParts[index] = { type: partType };\n }\n\n if (!partType.startsWith(contentParts[index]?.type ?? '')) {\n console.warn('Content type mismatch');\n return;\n }\n\n const incomingText =\n ContentTypes.TEXT in contentPart && typeof contentPart.text === 'string'\n ? contentPart.text\n : undefined;\n /**\n * Anthropic emits a search turn's citations as their own `citations_delta`,\n * which arrives here as a text part carrying `citations` and no `text`.\n */\n const { citations } = contentPart as {\n citations?: t.MessageDeltaUpdate['citations'];\n };\n const incomingCitations = Array.isArray(citations) ? citations : undefined;\n\n if (\n partType.startsWith(ContentTypes.TEXT) &&\n (incomingText !== undefined || incomingCitations !== undefined)\n ) {\n // TODO: update this!!\n const currentContent = contentParts[index] as t.MessageDeltaUpdate;\n const update: t.MessageDeltaUpdate = {\n type: ContentTypes.TEXT,\n text: (currentContent.text || '') + (incomingText ?? ''),\n };\n\n if (contentPart.tool_call_ids) {\n update.tool_call_ids = contentPart.tool_call_ids;\n } else if (incomingText === undefined && currentContent.tool_call_ids) {\n /** A citations-only delta must not drop ids already accumulated */\n update.tool_call_ids = currentContent.tool_call_ids;\n }\n\n if (incomingCitations !== undefined) {\n update.citations =\n currentContent.citations !== undefined\n ? [...currentContent.citations, ...incomingCitations]\n : [...incomingCitations];\n } else if (currentContent.citations !== undefined) {\n update.citations = currentContent.citations;\n }\n contentParts[index] = update;\n } else if (\n partType.startsWith(ContentTypes.THINK) &&\n ContentTypes.THINK in contentPart &&\n typeof contentPart.think === 'string'\n ) {\n const currentContent = contentParts[index] as t.ReasoningDeltaUpdate;\n const update: t.ReasoningDeltaUpdate = {\n type: ContentTypes.THINK,\n think: (currentContent.think || '') + contentPart.think,\n };\n contentParts[index] = update;\n } else if (\n partType.startsWith(ContentTypes.AGENT_UPDATE) &&\n ContentTypes.AGENT_UPDATE in contentPart &&\n contentPart.agent_update != null\n ) {\n const update: t.AgentUpdate = {\n type: ContentTypes.AGENT_UPDATE,\n agent_update: contentPart.agent_update,\n };\n\n contentParts[index] = update;\n } else if (partType === 'toolCall' || partType === 'toolResponse') {\n contentParts[index] = contentPart;\n } else if (partType === ContentTypes.SUMMARY) {\n const currentSummary = contentParts[index] as\n | t.SummaryContentBlock\n | undefined;\n const incoming = contentPart as t.SummaryContentBlock;\n contentParts[index] = {\n ...incoming,\n content: [\n ...(currentSummary?.content ?? []),\n ...(incoming.content ?? []),\n ],\n };\n } else if (\n partType === ContentTypes.IMAGE_URL &&\n 'image_url' in contentPart\n ) {\n const currentContent = contentParts[index] as {\n type: 'image_url';\n image_url: string;\n };\n contentParts[index] = {\n ...currentContent,\n };\n } else if (\n partType === ContentTypes.TOOL_CALL &&\n 'tool_call' in contentPart\n ) {\n const incomingName = contentPart.tool_call.name;\n const incomingId = contentPart.tool_call.id;\n const toolCallArgs = (contentPart.tool_call as t.ToolCallPart).args;\n\n // When we receive a tool call with a name, it's the complete tool call\n // Consolidate with any previously accumulated args from chunks\n const hasValidName = incomingName != null && incomingName !== '';\n\n // Only process if incoming has a valid name (complete tool call)\n // or if we're doing a final update with complete data\n if (!hasValidName && !finalUpdate) {\n return;\n }\n\n const existingContent = contentParts[index] as\n | (Omit<t.ToolCallContent, 'tool_call'> & {\n tool_call?: t.ToolCallPart & t.PartMetadata;\n })\n | undefined;\n if (!finalUpdate && existingContent?.tool_call?.progress === 1) {\n return;\n }\n\n /** When args are a valid object, they are likely already invoked */\n let args =\n finalUpdate ||\n typeof existingContent?.tool_call?.args === 'object' ||\n typeof toolCallArgs === 'object'\n ? contentPart.tool_call.args\n : (existingContent?.tool_call?.args ?? '') + (toolCallArgs ?? '');\n if (\n finalUpdate &&\n args == null &&\n existingContent?.tool_call?.args != null\n ) {\n args = existingContent.tool_call.args;\n }\n\n const id =\n getNonEmptyValue([incomingId, existingContent?.tool_call?.id]) ?? '';\n const name =\n getNonEmptyValue([incomingName, existingContent?.tool_call?.name]) ??\n '';\n const existingToolCallId = existingContent?.tool_call?.id;\n if (\n existingToolCallId != null &&\n existingToolCallId !== '' &&\n existingToolCallId !== id &&\n toolCallContentIndexMap.get(existingToolCallId) === index\n ) {\n toolCallContentIndexMap.delete(existingToolCallId);\n }\n\n const newToolCall: ToolCall & t.PartMetadata & { outcome?: string } = {\n id,\n name,\n args,\n type: ToolCallTypes.TOOL_CALL,\n };\n\n const auth =\n contentPart.tool_call.auth ?? existingContent?.tool_call?.auth;\n const expiresAt =\n contentPart.tool_call.expires_at ??\n existingContent?.tool_call?.expires_at;\n if (auth != null) {\n newToolCall.auth = auth;\n newToolCall.expires_at = expiresAt;\n }\n\n if (finalUpdate) {\n newToolCall.progress = 1;\n newToolCall.output = contentPart.tool_call.output;\n const outcome = (contentPart.tool_call as t.ToolCallPart).outcome;\n if (outcome != null) {\n newToolCall.outcome = outcome;\n }\n }\n\n contentParts[index] = {\n type: ContentTypes.TOOL_CALL,\n tool_call: newToolCall,\n };\n indexContentPart(index, contentParts[index]);\n indexedContentLength = Math.max(indexedContentLength, index + 1);\n }\n\n // Apply agentId (for MultiAgentGraph) and groupId (for parallel execution) to content parts\n // - agentId present → MultiAgentGraph (show agent labels)\n // - groupId present → parallel execution (render columns)\n applyContentMetadata(index);\n };\n\n const aggregateContent = ({\n event,\n data,\n }: {\n event: GraphEvents;\n data:\n | t.RunStep\n | t.AgentUpdate\n | t.MessageDeltaEvent\n | t.ReasoningDeltaEvent\n | t.RunStepDeltaEvent\n | t.SummarizeDeltaData\n | t.SummarizeCompleteEvent\n | { result: t.ToolEndEvent };\n }): void => {\n if (event === GraphEvents.ON_SUMMARIZE_DELTA) {\n const deltaData = data as t.SummarizeDeltaData;\n const runStep = stepMap.get(deltaData.id);\n if (!runStep) {\n console.warn('No run step found for summarize delta event');\n return;\n }\n updateContent(runStep.index, deltaData.delta.summary);\n return;\n }\n\n if (event === GraphEvents.ON_SUMMARIZE_COMPLETE) {\n const completeData = data as t.SummarizeCompleteEvent;\n const summary = completeData.summary;\n if (!summary?.boundary) {\n return;\n }\n const runStep = stepMap.get(summary.boundary.messageId);\n if (!runStep) {\n return;\n }\n // Replace accumulated delta text with the authoritative final summary.\n // Multi-stage summarization streams deltas from each chunk, which\n // concatenate in updateContent. This event carries only the correct\n // final text from the last stage.\n contentParts[runStep.index] = summary;\n applyContentMetadata(runStep.index);\n return;\n }\n\n if (event === GraphEvents.ON_RUN_STEP) {\n const incomingRunStep = data as t.RunStep;\n const toolCalls =\n incomingRunStep.stepDetails.type === StepTypes.TOOL_CALLS\n ? (incomingRunStep.stepDetails.tool_calls as ToolCall[] | undefined)\n : undefined;\n syncSeededContent();\n let runStepIndex: number;\n const toolCallIndices: number[] = [];\n if (toolCalls && toolCalls.length > 0) {\n for (let index = 0; index < toolCalls.length; index++) {\n const toolCallId = toolCalls[index].id;\n let contentIndex = getToolCallContentIndex(toolCallId);\n if (contentIndex == null) {\n contentIndex =\n index === 0\n ? resolveSourceContentIndex(incomingRunStep.index)\n : allocateContentIndex();\n } else if (index === 0) {\n sourceContentIndexMap.set(incomingRunStep.index, contentIndex);\n }\n toolCallIndices.push(contentIndex);\n }\n runStepIndex = toolCallIndices[0];\n } else {\n runStepIndex = resolveSourceContentIndex(incomingRunStep.index);\n }\n const runStep =\n runStepIndex !== incomingRunStep.index\n ? { ...incomingRunStep, index: runStepIndex }\n : incomingRunStep;\n stepMap.set(runStep.id, runStep);\n\n setContentMeta(runStep.index, runStep);\n\n if (runStep.summary != null) {\n updateContent(runStep.index, runStep.summary);\n }\n\n if (runStep.stepDetails.type === StepTypes.TOOL_CALLS) {\n const toolStepContent =\n toolStepContentMap.get(runStep.id) ??\n createToolStepContentState(runStep.index);\n registerToolContentIndex(toolStepContent, runStep.index);\n (runStep.stepDetails.tool_calls as ToolCall[] | undefined)?.forEach(\n (toolCall, toolCallIndex) => {\n const contentIndex =\n toolCallIndices[toolCallIndex] ?? runStep.index;\n const toolCallId = toolCall.id ?? '';\n registerToolContentIndex(toolStepContent, contentIndex, toolCallId);\n const contentPart: t.MessageContentComplex = {\n type: ContentTypes.TOOL_CALL,\n tool_call: {\n args: toolCall.args,\n name: toolCall.name,\n id: toolCallId,\n },\n };\n\n setContentMeta(contentIndex, runStep);\n updateContent(contentIndex, contentPart);\n }\n );\n toolStepContentMap.set(runStep.id, toolStepContent);\n }\n } else if (event === GraphEvents.ON_MESSAGE_DELTA) {\n const messageDelta = data as t.MessageDeltaEvent;\n const runStep = stepMap.get(messageDelta.id);\n if (!runStep) {\n console.warn('No run step or runId found for message delta event');\n return;\n }\n\n for (const contentPart of getDeltaContentParts(\n messageDelta.delta.content\n )) {\n updateContent(runStep.index, contentPart);\n }\n } else if (\n event === GraphEvents.ON_AGENT_UPDATE &&\n (data as t.AgentUpdate | undefined)?.agent_update\n ) {\n const contentPart = data as t.AgentUpdate | undefined;\n if (!contentPart) {\n return;\n }\n const contentIndex = resolveSourceContentIndex(\n contentPart.agent_update.index\n );\n updateContent(contentIndex, {\n ...contentPart,\n agent_update: {\n ...contentPart.agent_update,\n index: contentIndex,\n },\n });\n } else if (event === GraphEvents.ON_REASONING_DELTA) {\n const reasoningDelta = data as t.ReasoningDeltaEvent;\n const runStep = stepMap.get(reasoningDelta.id);\n if (!runStep) {\n console.warn('No run step or runId found for reasoning delta event');\n return;\n }\n\n for (const contentPart of getDeltaContentParts(\n reasoningDelta.delta.content\n )) {\n updateContent(runStep.index, contentPart);\n }\n } else if (event === GraphEvents.ON_RUN_STEP_DELTA) {\n const runStepDelta = data as t.RunStepDeltaEvent;\n const runStep = stepMap.get(runStepDelta.id);\n if (!runStep) {\n console.warn('No run step or runId found for run step delta event');\n return;\n }\n\n if (\n runStepDelta.delta.type === StepTypes.TOOL_CALLS &&\n runStepDelta.delta.tool_calls\n ) {\n const toolStepContent =\n toolStepContentMap.get(runStepDelta.id) ??\n createToolStepContentState(runStep.index);\n runStepDelta.delta.tool_calls.forEach((toolCallDelta) => {\n const chunkIndex =\n typeof toolCallDelta.index === 'number'\n ? toolCallDelta.index\n : undefined;\n const explicitToolCallId =\n toolCallDelta.id != null && toolCallDelta.id !== ''\n ? toolCallDelta.id\n : undefined;\n let contentIndex = getToolCallContentIndex(explicitToolCallId);\n if (contentIndex == null && chunkIndex != null) {\n contentIndex = toolStepContent.chunkIndices.get(chunkIndex);\n }\n const soleContentIndex =\n toolStepContent.indices.size === 1\n ? toolStepContent.indices.values().next().value\n : undefined;\n if (\n contentIndex == null &&\n explicitToolCallId == null &&\n soleContentIndex != null &&\n (chunkIndex == null ||\n toolStepContent.callIdsByIndex.has(soleContentIndex) ||\n toolStepContent.unclaimedIndices.has(soleContentIndex))\n ) {\n contentIndex = soleContentIndex;\n }\n if (contentIndex == null) {\n if (chunkIndex == null && explicitToolCallId == null) {\n console.warn(\n 'No tool call id or chunk index found for run step delta event'\n );\n return;\n }\n contentIndex =\n explicitToolCallId == null\n ? takeFirstIndex(toolStepContent.unclaimedIndices)\n : takeFirstIndex(toolStepContent.unboundIndices);\n contentIndex ??= allocateContentIndex();\n }\n registerToolContentIndex(\n toolStepContent,\n contentIndex,\n explicitToolCallId\n );\n if (chunkIndex != null) {\n toolStepContent.chunkIndices.set(chunkIndex, contentIndex);\n toolStepContent.unclaimedIndices.delete(contentIndex);\n toolStepContent.unboundIndices.delete(contentIndex);\n }\n const toolCallId =\n explicitToolCallId ??\n toolStepContent.callIdsByIndex.get(contentIndex);\n\n const contentPart: t.MessageContentComplex = {\n type: ContentTypes.TOOL_CALL,\n tool_call: {\n args: toolCallDelta.args ?? '',\n name: toolCallDelta.name,\n id: toolCallId,\n auth: runStepDelta.delta.auth,\n expires_at: runStepDelta.delta.expires_at,\n },\n };\n\n setContentMeta(contentIndex, runStep);\n updateContent(contentIndex, contentPart);\n });\n toolStepContentMap.set(runStepDelta.id, toolStepContent);\n }\n } else if (event === GraphEvents.ON_RUN_STEP_COMPLETED) {\n const { result } = data as unknown as {\n result:\n | t.ToolEndEvent\n | (t.SummaryCompleted & { id: string; index: number });\n };\n\n const { id: stepId } = result;\n\n const runStep = stepMap.get(stepId);\n\n if (result.type === ContentTypes.SUMMARY && 'summary' in result) {\n if (!runStep) {\n console.warn('No run step or runId found for completed step event');\n return;\n }\n contentParts[runStep.index] = result.summary as t.MessageContentComplex;\n applyContentMetadata(runStep.index);\n } else if ('tool_call' in result) {\n let contentIndex = getToolCallContentIndex(result.tool_call.id);\n if (contentIndex == null && runStep != null) {\n const toolStepContent = toolStepContentMap.get(runStep.id);\n if (toolStepContent?.indices.size === 1) {\n contentIndex = toolStepContent.indices.values().next().value;\n } else if (toolStepContent == null) {\n const declaredToolCalls =\n runStep.stepDetails.type === StepTypes.TOOL_CALLS\n ? runStep.stepDetails.tool_calls\n : undefined;\n if ((declaredToolCalls?.length ?? 0) <= 1) {\n contentIndex = runStep.index;\n }\n }\n }\n if (contentIndex == null) {\n console.warn(\n 'No run step or tool call found for completed step event'\n );\n return;\n }\n if (runStep != null) {\n setContentMeta(contentIndex, runStep);\n }\n const contentPart: t.MessageContentComplex = {\n type: ContentTypes.TOOL_CALL,\n tool_call: (result as t.ToolEndEvent).tool_call,\n };\n updateContent(contentIndex, contentPart, true);\n }\n }\n };\n\n return { contentParts, aggregateContent, stepMap };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"stream.mjs","names":["completeData"],"sources":["../../src/stream.ts"],"mappings":"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"}
@@ -4,22 +4,8 @@ const VALID_TRIGGER_TYPES = [
4
4
  "remaining_tokens",
5
5
  "messages_to_refine"
6
6
  ];
7
- /**
8
- * Upper bound on the dedup set for unrecognized trigger types. Bounds memory in
9
- * case a caller threads dynamic/user-provided strings through `trigger.type`.
10
- * Well above the handful of legit misconfigurations a process would ever see.
11
- */
12
7
  const MAX_WARNED_TRIGGER_TYPES = 32;
13
8
  const warnedUnrecognizedTriggerTypes = /* @__PURE__ */ new Set();
14
- /**
15
- * Warn (once per process, per unrecognized type) when the configured trigger
16
- * type is something the runtime does not evaluate. Without this, a misconfigured
17
- * `trigger.type` silently disables summarization with no visible signal.
18
- *
19
- * The dedup set is size-capped; on overflow we evict the oldest entry (Set
20
- * preserves insertion order) so we keep bounded memory and still warn on
21
- * recently-seen types.
22
- */
23
9
  function warnUnrecognizedTriggerType(type) {
24
10
  if (warnedUnrecognizedTriggerTypes.has(type)) return;
25
11
  if (warnedUnrecognizedTriggerTypes.size >= MAX_WARNED_TRIGGER_TYPES) {
@@ -29,22 +15,9 @@ function warnUnrecognizedTriggerType(type) {
29
15
  warnedUnrecognizedTriggerTypes.add(type);
30
16
  console.warn(`[shouldTriggerSummarization] Unrecognized trigger.type: "${type}". Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(", ")}.`);
31
17
  }
32
- /** For tests only. Resets the dedup set so warnings can be observed again. */
33
18
  function _resetUnrecognizedTriggerWarnings() {
34
19
  warnedUnrecognizedTriggerTypes.clear();
35
20
  }
36
- /**
37
- * Determines whether summarization should be triggered based on the configured trigger
38
- * and current context state.
39
- *
40
- * Default behavior (no trigger configured): returns `true` whenever messages were pruned.
41
- * This is intentional — when an admin enables summarization without specifying a trigger,
42
- * summarization fires on any context overflow that causes pruning.
43
- *
44
- * When a trigger IS configured but required runtime data is missing (e.g., maxContextTokens
45
- * unavailable for a token_ratio trigger), returns `false` — we cannot evaluate the condition,
46
- * so we do not fire.
47
- */
48
21
  function shouldTriggerSummarization(params) {
49
22
  const { trigger, maxContextTokens, prePruneContextTokens, remainingContextTokens, messagesToRefineCount } = params;
50
23
  if (messagesToRefineCount <= 0) return false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/summarization/index.ts"],"sourcesContent":["import type { SummarizationTrigger } from '@/types';\n\nconst VALID_TRIGGER_TYPES = [\n 'token_ratio',\n 'remaining_tokens',\n 'messages_to_refine',\n] as const;\n\n/**\n * Upper bound on the dedup set for unrecognized trigger types. Bounds memory in\n * case a caller threads dynamic/user-provided strings through `trigger.type`.\n * Well above the handful of legit misconfigurations a process would ever see.\n */\nconst MAX_WARNED_TRIGGER_TYPES = 32;\n\nconst warnedUnrecognizedTriggerTypes = new Set<string>();\n\n/**\n * Warn (once per process, per unrecognized type) when the configured trigger\n * type is something the runtime does not evaluate. Without this, a misconfigured\n * `trigger.type` silently disables summarization with no visible signal.\n *\n * The dedup set is size-capped; on overflow we evict the oldest entry (Set\n * preserves insertion order) so we keep bounded memory and still warn on\n * recently-seen types.\n */\nfunction warnUnrecognizedTriggerType(type: string): void {\n if (warnedUnrecognizedTriggerTypes.has(type)) {\n return;\n }\n if (warnedUnrecognizedTriggerTypes.size >= MAX_WARNED_TRIGGER_TYPES) {\n const oldest = warnedUnrecognizedTriggerTypes.values().next().value;\n if (oldest !== undefined) {\n warnedUnrecognizedTriggerTypes.delete(oldest);\n }\n }\n warnedUnrecognizedTriggerTypes.add(type);\n console.warn(\n `[shouldTriggerSummarization] Unrecognized trigger.type: \"${type}\". ` +\n `Summarization will not fire. Valid values: ${VALID_TRIGGER_TYPES.join(', ')}.`\n );\n}\n\n/** For tests only. Resets the dedup set so warnings can be observed again. */\nexport function _resetUnrecognizedTriggerWarnings(): void {\n warnedUnrecognizedTriggerTypes.clear();\n}\n\n/**\n * Determines whether summarization should be triggered based on the configured trigger\n * and current context state.\n *\n * Default behavior (no trigger configured): returns `true` whenever messages were pruned.\n * This is intentional — when an admin enables summarization without specifying a trigger,\n * summarization fires on any context overflow that causes pruning.\n *\n * When a trigger IS configured but required runtime data is missing (e.g., maxContextTokens\n * unavailable for a token_ratio trigger), returns `false` — we cannot evaluate the condition,\n * so we do not fire.\n */\nexport function shouldTriggerSummarization(params: {\n trigger?: SummarizationTrigger;\n maxContextTokens?: number;\n prePruneContextTokens?: number;\n remainingContextTokens?: number;\n messagesToRefineCount: number;\n}): boolean {\n const {\n trigger,\n maxContextTokens,\n prePruneContextTokens,\n remainingContextTokens,\n messagesToRefineCount,\n } = params;\n if (messagesToRefineCount <= 0) {\n return false;\n }\n\n // No trigger configured: default to always summarize when pruning occurs.\n if (!trigger || typeof trigger.type !== 'string') {\n return true;\n }\n\n const triggerValue =\n typeof trigger.value === 'number' && Number.isFinite(trigger.value)\n ? trigger.value\n : undefined;\n\n // Trigger configured but value is invalid: cannot evaluate, do not fire.\n if (triggerValue == null) {\n return false;\n }\n\n if (trigger.type === 'token_ratio') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate token_ratio, do not fire.\n if (\n maxContextTokens == null ||\n !Number.isFinite(maxContextTokens) ||\n maxContextTokens <= 0 ||\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n const usedRatio = 1 - effectiveRemainingContextTokens / maxContextTokens;\n return usedRatio >= triggerValue;\n }\n\n if (trigger.type === 'remaining_tokens') {\n const prePruneRemainingContextTokens =\n maxContextTokens != null &&\n Number.isFinite(maxContextTokens) &&\n maxContextTokens > 0 &&\n prePruneContextTokens != null &&\n Number.isFinite(prePruneContextTokens)\n ? maxContextTokens - prePruneContextTokens\n : undefined;\n const effectiveRemainingContextTokens =\n prePruneRemainingContextTokens ?? remainingContextTokens;\n\n // Required runtime data missing: cannot evaluate remaining_tokens, do not fire.\n if (\n effectiveRemainingContextTokens == null ||\n !Number.isFinite(effectiveRemainingContextTokens)\n ) {\n return false;\n }\n return effectiveRemainingContextTokens <= triggerValue;\n }\n\n if (trigger.type === 'messages_to_refine') {\n return messagesToRefineCount >= triggerValue;\n }\n\n // Unrecognized trigger type: cannot evaluate, do not fire.\n warnUnrecognizedTriggerType(trigger.type);\n return false;\n}\n"],"mappings":";AAEA,MAAM,sBAAsB;CAC1B;CACA;CACA;AACF;;;;;;AAOA,MAAM,2BAA2B;AAEjC,MAAM,iDAAiC,IAAI,IAAY;;;;;;;;;;AAWvD,SAAS,4BAA4B,MAAoB;CACvD,IAAI,+BAA+B,IAAI,IAAI,GACzC;CAEF,IAAI,+BAA+B,QAAQ,0BAA0B;EACnE,MAAM,SAAS,+BAA+B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9D,IAAI,WAAW,KAAA,GACb,+BAA+B,OAAO,MAAM;CAEhD;CACA,+BAA+B,IAAI,IAAI;CACvC,QAAQ,KACN,4DAA4D,KAAK,gDACjB,oBAAoB,KAAK,IAAI,EAAE,EACjF;AACF;;AAGA,SAAgB,oCAA0C;CACxD,+BAA+B,MAAM;AACvC;;;;;;;;;;;;;AAcA,SAAgB,2BAA2B,QAM/B;CACV,MAAM,EACJ,SACA,kBACA,uBACA,wBACA,0BACE;CACJ,IAAI,yBAAyB,GAC3B,OAAO;CAIT,IAAI,CAAC,WAAW,OAAO,QAAQ,SAAS,UACtC,OAAO;CAGT,MAAM,eACJ,OAAO,QAAQ,UAAU,YAAY,OAAO,SAAS,QAAQ,KAAK,IAC9D,QAAQ,QACR,KAAA;CAGN,IAAI,gBAAgB,MAClB,OAAO;CAGT,IAAI,QAAQ,SAAS,eAAe;EASlC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,oBAAoB,QACpB,CAAC,OAAO,SAAS,gBAAgB,KACjC,oBAAoB,KACpB,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAGT,OADkB,IAAI,kCAAkC,oBACpC;CACtB;CAEA,IAAI,QAAQ,SAAS,oBAAoB;EASvC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAET,OAAO,mCAAmC;CAC5C;CAEA,IAAI,QAAQ,SAAS,sBACnB,OAAO,yBAAyB;CAIlC,4BAA4B,QAAQ,IAAI;CACxC,OAAO;AACT"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/summarization/index.ts"],"mappings":";AAEA,MAAM,sBAAsB;CAC1B;CACA;CACA;AACF;AAOA,MAAM,2BAA2B;AAEjC,MAAM,iDAAiC,IAAI,IAAY;AAWvD,SAAS,4BAA4B,MAAoB;CACvD,IAAI,+BAA+B,IAAI,IAAI,GACzC;CAEF,IAAI,+BAA+B,QAAQ,0BAA0B;EACnE,MAAM,SAAS,+BAA+B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9D,IAAI,WAAW,KAAA,GACb,+BAA+B,OAAO,MAAM;CAEhD;CACA,+BAA+B,IAAI,IAAI;CACvC,QAAQ,KACN,4DAA4D,KAAK,gDACjB,oBAAoB,KAAK,IAAI,EAAE,EACjF;AACF;AAGA,SAAgB,oCAA0C;CACxD,+BAA+B,MAAM;AACvC;AAcA,SAAgB,2BAA2B,QAM/B;CACV,MAAM,EACJ,SACA,kBACA,uBACA,wBACA,0BACE;CACJ,IAAI,yBAAyB,GAC3B,OAAO;CAIT,IAAI,CAAC,WAAW,OAAO,QAAQ,SAAS,UACtC,OAAO;CAGT,MAAM,eACJ,OAAO,QAAQ,UAAU,YAAY,OAAO,SAAS,QAAQ,KAAK,IAC9D,QAAQ,QACR,KAAA;CAGN,IAAI,gBAAgB,MAClB,OAAO;CAGT,IAAI,QAAQ,SAAS,eAAe;EASlC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,oBAAoB,QACpB,CAAC,OAAO,SAAS,gBAAgB,KACjC,oBAAoB,KACpB,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAGT,OADkB,IAAI,kCAAkC,oBACpC;CACtB;CAEA,IAAI,QAAQ,SAAS,oBAAoB;EASvC,MAAM,mCAPJ,oBAAoB,QACpB,OAAO,SAAS,gBAAgB,KAChC,mBAAmB,KACnB,yBAAyB,QACzB,OAAO,SAAS,qBAAqB,IACjC,mBAAmB,wBACnB,KAAA,MAE8B;EAGpC,IACE,mCAAmC,QACnC,CAAC,OAAO,SAAS,+BAA+B,GAEhD,OAAO;EAET,OAAO,mCAAmC;CAC5C;CAEA,IAAI,QAAQ,SAAS,sBACnB,OAAO,yBAAyB;CAIlC,4BAA4B,QAAQ,IAAI;CACxC,OAAO;AACT"}