@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":"AgentSession.cjs","names":["BaseMessage","HumanMessage","createRunId","JsonlSessionStore","MemorySaver","deserializeMessage","resolveStreamLimits","createSessionId","createRunHandlers","Run","AgentContext","createSummarizeNode"],"sources":["../../../src/session/AgentSession.ts"],"sourcesContent":["import { MemorySaver } from '@langchain/langgraph';\nimport { HumanMessage, BaseMessage } from '@langchain/core/messages';\nimport type {\n BaseCheckpointSaver,\n CheckpointTuple,\n} from '@langchain/langgraph';\nimport type { RunnableConfig } from '@langchain/core/runnables';\nimport type {\n AgentSessionConfig,\n AgentSessionCheckpointing,\n AgentSessionCheckpointLookupOptions,\n AgentSessionCheckpointReference,\n AgentSessionInput,\n AgentSessionRunOptions,\n AgentSessionRunResult,\n AgentSessionStream,\n AgentSessionStreamEvent,\n SessionBranchOptions,\n SessionCheckpointEntry,\n SessionCompactOptions,\n SessionEntry,\n SessionForkOptions,\n} from './types';\nimport type { HookRegistry } from '@/hooks';\nimport type * as t from '@/types';\nimport { deserializeMessage } from './messageSerialization';\nimport { createSummarizeNode } from '@/summarization/node';\nimport { resolveStreamLimits } from '@/llm/streamLimits';\nimport { JsonlSessionStore } from './JsonlSessionStore';\nimport { AgentContext } from '@/agents/AgentContext';\nimport { ContentTypes, GraphEvents } from '@/common';\nimport { createRunId, createSessionId } from './ids';\nimport { createRunHandlers } from './handlers';\nimport { Run } from '@/run';\n\nfunction isBaseMessage(value: unknown): value is BaseMessage {\n return (\n value instanceof BaseMessage ||\n (value != null &&\n typeof value === 'object' &&\n '_getType' in value &&\n typeof (value as { _getType?: unknown })._getType === 'function')\n );\n}\n\ninterface NormalizedSessionInput {\n messages: BaseMessage[];\n state: t.IState;\n}\n\nfunction normalizeInput(input: AgentSessionInput): NormalizedSessionInput {\n if (typeof input === 'string') {\n const messages = [new HumanMessage(input)];\n return { messages, state: { messages } };\n }\n if (Array.isArray(input)) {\n return { messages: input, state: { messages: input } };\n }\n if (isBaseMessage(input)) {\n const messages = [input];\n return { messages, state: { messages } };\n }\n return { messages: input.messages, state: input };\n}\n\nfunction contentToText(\n content: Array<t.MessageContentComplex | undefined>\n): string {\n const chunks: string[] = [];\n for (const part of content) {\n if (!part) {\n continue;\n }\n if (part.type === ContentTypes.TEXT && typeof part.text === 'string') {\n chunks.push(part.text);\n }\n }\n return chunks.join('');\n}\n\nfunction normalizeConfig(config: AgentSessionConfig): {\n runConfig: t.RunConfig;\n cwd: string;\n sessionPath?: string;\n name?: string;\n ephemeral?: boolean;\n checkpointing?: AgentSessionCheckpointing;\n} {\n if ('runConfig' in config) {\n return {\n runConfig: config.runConfig,\n cwd: config.cwd ?? process.cwd(),\n sessionPath: config.sessionPath,\n name: config.name,\n ephemeral: config.ephemeral,\n checkpointing: config.checkpointing,\n };\n }\n const {\n cwd,\n sessionPath,\n name,\n ephemeral,\n checkpointing,\n sessionId: _sessionId,\n ...runConfig\n } = config;\n return {\n runConfig: {\n ...runConfig,\n runId: config.runId ?? createRunId(),\n },\n cwd: cwd ?? process.cwd(),\n sessionPath,\n name,\n ephemeral,\n checkpointing,\n };\n}\n\nfunction isMissingSessionError(error: unknown): boolean {\n if (error == null || typeof error !== 'object') {\n return false;\n }\n const candidate = error as { code?: string; message?: string };\n if (candidate.code === 'ENOENT') {\n return true;\n }\n return candidate.message?.startsWith('Session not found:') === true;\n}\n\nasync function createStore(params: {\n cwd: string;\n sessionPath?: string;\n name?: string;\n sessionId?: string;\n ephemeral?: boolean;\n}): Promise<JsonlSessionStore | undefined> {\n if (params.ephemeral === true) {\n return undefined;\n }\n if (params.sessionPath != null && params.sessionPath !== '') {\n try {\n return await JsonlSessionStore.openPath(params.sessionPath);\n } catch (error) {\n if (!isMissingSessionError(error)) {\n throw error;\n }\n return JsonlSessionStore.create({\n path: params.sessionPath,\n cwd: params.cwd,\n name: params.name,\n sessionId: params.sessionId,\n });\n }\n }\n return JsonlSessionStore.create({\n cwd: params.cwd,\n name: params.name,\n sessionId: params.sessionId,\n });\n}\n\ntype InitialSummary = NonNullable<t.AgentInputs['initialSummary']>;\n\nfunction mergeInitialSummary(\n existing: InitialSummary | undefined,\n sessionSummary: InitialSummary | undefined\n): InitialSummary | undefined {\n if (!existing) {\n return sessionSummary;\n }\n if (!sessionSummary) {\n return existing;\n }\n if (existing.text === sessionSummary.text) {\n return existing;\n }\n return {\n text: `${existing.text}\\n\\n${sessionSummary.text}`,\n tokenCount: existing.tokenCount + sessionSummary.tokenCount,\n };\n}\n\nfunction applyInitialSummaryToAgent(\n agent: t.AgentInputs,\n initialSummary: InitialSummary | undefined\n): t.AgentInputs {\n const merged = mergeInitialSummary(agent.initialSummary, initialSummary);\n return merged ? { ...agent, initialSummary: merged } : agent;\n}\n\nfunction applyInitialSummaryToGraphConfig(\n graphConfig: t.RunConfig['graphConfig'],\n initialSummary: InitialSummary | undefined\n): t.RunConfig['graphConfig'] {\n if (!initialSummary) {\n return graphConfig;\n }\n if ('agents' in graphConfig) {\n return {\n ...graphConfig,\n agents: graphConfig.agents.map((agent) =>\n applyInitialSummaryToAgent(agent, initialSummary)\n ),\n };\n }\n return {\n ...graphConfig,\n initialSummary: mergeInitialSummary(\n graphConfig.initialSummary,\n initialSummary\n ),\n };\n}\n\ninterface SessionCheckpointingState {\n enabled: boolean;\n checkpointer?: BaseCheckpointSaver;\n disableGraphCheckpointer?: boolean;\n}\n\nfunction isCheckpointSaver(value: unknown): value is BaseCheckpointSaver {\n if (value == null || typeof value !== 'object') {\n return false;\n }\n const candidate = value as Partial<BaseCheckpointSaver>;\n return (\n typeof candidate.getTuple === 'function' &&\n typeof candidate.list === 'function' &&\n typeof candidate.put === 'function' &&\n typeof candidate.putWrites === 'function' &&\n typeof candidate.deleteThread === 'function'\n );\n}\n\nfunction getGraphCheckpointer(\n graphConfig: t.RunConfig['graphConfig']\n): BaseCheckpointSaver | undefined {\n const checkpointer = graphConfig.compileOptions?.checkpointer;\n return isCheckpointSaver(checkpointer) ? checkpointer : undefined;\n}\n\nfunction createCheckpointingState(\n runConfig: t.RunConfig,\n checkpointing: AgentSessionCheckpointing | undefined\n): SessionCheckpointingState {\n const graphCheckpointer = getGraphCheckpointer(runConfig.graphConfig);\n if (checkpointing === false) {\n return {\n enabled: false,\n disableGraphCheckpointer: true,\n };\n }\n if (typeof checkpointing === 'object') {\n if (checkpointing.enabled === false) {\n return {\n enabled: false,\n disableGraphCheckpointer: true,\n };\n }\n return {\n enabled: true,\n checkpointer:\n checkpointing.checkpointer ?? graphCheckpointer ?? new MemorySaver(),\n };\n }\n if (checkpointing === true || runConfig.humanInTheLoop?.enabled === true) {\n return {\n enabled: true,\n checkpointer: graphCheckpointer ?? new MemorySaver(),\n };\n }\n return {\n enabled: graphCheckpointer != null,\n checkpointer: graphCheckpointer,\n };\n}\n\nfunction removeCheckpointerFromGraphConfig(\n graphConfig: t.RunConfig['graphConfig']\n): t.RunConfig['graphConfig'] {\n if (graphConfig.compileOptions?.checkpointer == null) {\n return graphConfig;\n }\n const { checkpointer: _checkpointer, ...compileOptions } =\n graphConfig.compileOptions;\n return {\n ...graphConfig,\n compileOptions,\n };\n}\n\nfunction applyCheckpointerToGraphConfig(\n graphConfig: t.RunConfig['graphConfig'],\n checkpointer: BaseCheckpointSaver | undefined\n): t.RunConfig['graphConfig'] {\n if (!checkpointer) {\n return graphConfig;\n }\n if (graphConfig.compileOptions?.checkpointer === checkpointer) {\n return graphConfig;\n }\n return {\n ...graphConfig,\n compileOptions: {\n ...(graphConfig.compileOptions ?? {}),\n checkpointer,\n },\n };\n}\n\nfunction applyCheckpointingToGraphConfig(\n graphConfig: t.RunConfig['graphConfig'],\n checkpointing: SessionCheckpointingState\n): t.RunConfig['graphConfig'] {\n if (checkpointing.disableGraphCheckpointer === true) {\n return removeCheckpointerFromGraphConfig(graphConfig);\n }\n return applyCheckpointerToGraphConfig(\n graphConfig,\n checkpointing.checkpointer\n );\n}\n\nfunction getConfigString(\n config: RunnableConfig | undefined,\n key: string\n): string | undefined {\n const configurable = config?.configurable as\n | Partial<Record<string, unknown>>\n | undefined;\n const value = configurable?.[key];\n return typeof value === 'string' && value !== '' ? value : undefined;\n}\n\nfunction getConfigOptionalString(\n config: RunnableConfig | undefined,\n key: string\n): string | undefined {\n const configurable = config?.configurable as\n | Partial<Record<string, unknown>>\n | undefined;\n if (\n configurable == null ||\n !Object.prototype.hasOwnProperty.call(configurable, key)\n ) {\n return undefined;\n }\n const value = configurable[key];\n return typeof value === 'string' ? value : undefined;\n}\n\nfunction createCallerConfig(\n threadId: string,\n options: AgentSessionRunOptions\n): RunnableConfig & { version: 'v1' | 'v2' } {\n return {\n recursionLimit: 50,\n ...(options.config ?? {}),\n configurable: {\n ...(options.config?.configurable ?? {}),\n thread_id: threadId,\n },\n version: options.config?.version ?? 'v2',\n };\n}\n\nfunction createCheckpointLookupConfig(config: RunnableConfig): RunnableConfig {\n const threadId = getConfigString(config, 'thread_id');\n if (threadId == null) {\n return config;\n }\n const checkpointNs = getConfigString(config, 'checkpoint_ns') ?? '';\n const checkpointId = getConfigString(config, 'checkpoint_id');\n return {\n configurable: {\n ...config.configurable,\n thread_id: threadId,\n checkpoint_ns: checkpointNs,\n ...(checkpointId != null ? { checkpoint_id: checkpointId } : {}),\n },\n };\n}\n\nfunction applyCheckpointReferenceToConfig<\n TConfig extends RunnableConfig & { version?: 'v1' | 'v2' },\n>(\n config: TConfig,\n checkpoint:\n | {\n checkpointId?: string;\n checkpointNs?: string;\n }\n | undefined,\n options?: { overwrite?: boolean }\n): TConfig {\n if (\n checkpoint?.checkpointId == null ||\n checkpoint.checkpointId === '' ||\n (options?.overwrite !== true &&\n getConfigString(config, 'checkpoint_id') != null)\n ) {\n return config;\n }\n return {\n ...config,\n configurable: {\n ...config.configurable,\n checkpoint_id: checkpoint.checkpointId,\n checkpoint_ns: checkpoint.checkpointNs ?? '',\n },\n };\n}\n\nfunction getStoredCheckpointForConfig(\n store: JsonlSessionStore | undefined,\n threadId: string,\n config: RunnableConfig\n): SessionCheckpointEntry | undefined {\n const requestedCheckpointNs = getConfigOptionalString(\n config,\n 'checkpoint_ns'\n );\n if (requestedCheckpointNs == null) {\n return store?.getLatestCheckpoint(threadId);\n }\n const checkpoints = store?.getCheckpoints(threadId) ?? [];\n for (let i = checkpoints.length - 1; i >= 0; i--) {\n const checkpoint = checkpoints[i];\n if (checkpoint.data.source === 'reset') {\n return undefined;\n }\n if ((checkpoint.data.checkpointNs ?? '') === requestedCheckpointNs) {\n return checkpoint;\n }\n }\n return undefined;\n}\n\nfunction createLatestCheckpointLookupConfig(\n config: RunnableConfig\n): RunnableConfig {\n const lookup = createCheckpointLookupConfig(config);\n const { checkpoint_id: _checkpointId, ...configurable } =\n lookup.configurable ?? {};\n return { configurable };\n}\n\nasync function getLatestCheckpointTuple(\n checkpointer: BaseCheckpointSaver | undefined,\n config: RunnableConfig\n): Promise<CheckpointTuple | undefined> {\n if (!checkpointer) {\n return undefined;\n }\n const lookupConfig = createLatestCheckpointLookupConfig(config);\n const tuple = await checkpointer.getTuple(lookupConfig);\n if (tuple) {\n return tuple;\n }\n for await (const checkpoint of checkpointer.list(lookupConfig, {\n limit: 1,\n })) {\n return checkpoint;\n }\n return undefined;\n}\n\nasync function getSelectedCheckpointTuple(\n checkpointer: BaseCheckpointSaver | undefined,\n config: RunnableConfig\n): Promise<CheckpointTuple | undefined> {\n return checkpointer?.getTuple(createCheckpointLookupConfig(config));\n}\n\nfunction createCheckpointReference(params: {\n threadId: string;\n tuple: CheckpointTuple;\n}): AgentSessionCheckpointReference {\n const checkpointNs =\n getConfigString(params.tuple.config, 'checkpoint_ns') ?? '';\n const parentCheckpointId = getConfigString(\n params.tuple.parentConfig,\n 'checkpoint_id'\n );\n return {\n provider: 'langgraph',\n threadId: params.threadId,\n checkpointId: params.tuple.checkpoint.id,\n checkpointNs,\n ...(parentCheckpointId != null ? { parentCheckpointId } : {}),\n };\n}\n\nfunction createSessionRunState(entries: SessionEntry[]): {\n messages: BaseMessage[];\n initialSummary?: InitialSummary;\n} {\n const messages: BaseMessage[] = [];\n let initialSummary: InitialSummary | undefined;\n for (const entry of entries) {\n if (entry.type === 'summary') {\n initialSummary = {\n text: entry.data.text,\n tokenCount:\n typeof entry.data.tokenCount === 'number' &&\n Number.isFinite(entry.data.tokenCount)\n ? entry.data.tokenCount\n : 0,\n };\n messages.length = 0;\n continue;\n }\n if (entry.type === 'message') {\n messages.push(deserializeMessage(entry.data.message));\n }\n }\n return { messages, initialSummary };\n}\n\nfunction isMessageEntry(\n entry: SessionEntry\n): entry is Extract<SessionEntry, { type: 'message' }> {\n return entry.type === 'message';\n}\n\nfunction getSessionBranchTarget(\n store: JsonlSessionStore,\n entryId: string,\n position: 'before' | 'at'\n): SessionEntry | undefined {\n const entry = store.getEntry(entryId);\n if (!entry) {\n throw new Error(`Entry not found: ${entryId}`);\n }\n if (position === 'at') {\n return entry;\n }\n return entry.parentId == null ? undefined : store.getEntry(entry.parentId);\n}\n\nfunction getAbandonedPathForBranch(\n store: JsonlSessionStore,\n previousLeafId: string | null,\n targetLeafId: string | null\n): SessionEntry[] {\n const previousPath = store.getPath(previousLeafId ?? undefined);\n if (previousPath.length === 0) {\n return [];\n }\n const targetPath = targetLeafId == null ? [] : store.getPath(targetLeafId);\n const maxSharedLength = Math.min(previousPath.length, targetPath.length);\n let sharedLength = 0;\n while (\n sharedLength < maxSharedLength &&\n previousPath[sharedLength].id === targetPath[sharedLength].id\n ) {\n sharedLength++;\n }\n return previousPath.slice(sharedLength);\n}\n\nfunction createAgentInputFromGraphConfig(\n graphConfig: t.RunConfig['graphConfig'],\n initialSummary: InitialSummary | undefined,\n retainRecentTurns: number | undefined,\n instructions: string | undefined\n): t.AgentInputs {\n let agent: t.AgentInputs;\n if ('agents' in graphConfig) {\n if (graphConfig.agents.length === 0) {\n throw new Error('Cannot compact a session with no agents');\n }\n agent = graphConfig.agents[0];\n } else {\n const {\n type: _type,\n llmConfig,\n signal: _signal,\n tools = [],\n ...agentInputs\n } = graphConfig;\n const { provider, ...clientOptions } = llmConfig;\n agent = {\n ...agentInputs,\n tools,\n provider,\n clientOptions,\n agentId: 'default',\n };\n }\n const summarizationConfig: t.SummarizationConfig = {\n ...(agent.summarizationConfig ?? {}),\n ...(instructions != null && instructions !== ''\n ? { prompt: instructions }\n : {}),\n retainRecent: {\n ...(agent.summarizationConfig?.retainRecent ?? {}),\n ...(retainRecentTurns != null ? { turns: retainRecentTurns } : {}),\n },\n };\n return {\n ...applyInitialSummaryToAgent(agent, initialSummary),\n summarizationEnabled: true,\n summarizationConfig,\n };\n}\n\nfunction createManualCompactGraph(params: {\n runId: string;\n customHandlers?: Record<string, t.EventHandler>;\n hooks?: HookRegistry;\n /** Session run-level stream limits, so manual compaction honors them. */\n streamLimits?: t.StreamLimits;\n}): {\n graph: Parameters<typeof createSummarizeNode>[0]['graph'];\n completedSummary?: t.SummaryContentBlock;\n closeOpenSteps: (\n status: Exclude<t.RunStepStatus, 'in_progress'>\n ) => Promise<void>;\n} {\n const contentData: t.RunStep[] = [];\n const contentIndexMap = new Map<string, number>();\n /** Stamps the terminal state and publishes the single terminal event. */\n const closeStep = async (\n runStep: t.RunStep,\n status: Exclude<t.RunStepStatus, 'in_progress'>,\n at: number\n ): Promise<void> => {\n if (runStep.status !== 'in_progress') {\n return;\n }\n runStep.status = status;\n if (status === 'completed') {\n runStep.completed_at = at;\n } else if (status === 'cancelled') {\n runStep.cancelled_at = at;\n } else {\n runStep.failed_at = at;\n }\n const closedEvent: t.RunStepClosedEvent = {\n id: runStep.id,\n index: runStep.index,\n type: runStep.type,\n status,\n closed_at: at,\n };\n if (runStep.created_at != null) {\n closedEvent.created_at = runStep.created_at;\n }\n if (runStep.runId != null) {\n closedEvent.runId = runStep.runId;\n }\n await params.customHandlers?.[GraphEvents.ON_RUN_STEP_CLOSED]?.handle(\n GraphEvents.ON_RUN_STEP_CLOSED,\n closedEvent\n );\n };\n const result: {\n graph: Parameters<typeof createSummarizeNode>[0]['graph'];\n completedSummary?: t.SummaryContentBlock;\n closeOpenSteps: (\n status: Exclude<t.RunStepStatus, 'in_progress'>\n ) => Promise<void>;\n } = {\n /**\n * Terminal sweep for compaction, which runs outside `Run.processStream`\n * and so has no stream-level equivalent: a summarization model that\n * rejects, aborts, or trips a stream limit after the step was published\n * would otherwise strand observers with a permanently open step.\n */\n closeOpenSteps: async (status): Promise<void> => {\n const closedAt = Date.now();\n for (const runStep of contentData) {\n try {\n await closeStep(runStep, status, closedAt);\n } catch (_e) {\n /** Delivery failure for one step must not halt the sweep */\n }\n }\n },\n graph: {\n contentData,\n contentIndexMap,\n runId: params.runId,\n isMultiAgent: false,\n hookRegistry: params.hooks,\n streamLimits: resolveStreamLimits(params.streamLimits),\n dispatchRunStep: async (runStep): Promise<void> => {\n runStep.created_at ??= Date.now();\n runStep.status ??= 'in_progress';\n contentData.push(runStep);\n contentIndexMap.set(runStep.id, runStep.index);\n await params.customHandlers?.[GraphEvents.ON_RUN_STEP]?.handle(\n GraphEvents.ON_RUN_STEP,\n runStep\n );\n },\n closeRunStep: async (stepId, status): Promise<void> => {\n const stepIndex = contentIndexMap.get(stepId);\n const runStep =\n stepIndex === undefined ? undefined : contentData[stepIndex];\n if (runStep == null) {\n return;\n }\n await closeStep(runStep, status, Date.now());\n },\n dispatchRunStepCompleted: async (stepId, completed): Promise<void> => {\n const completedAt = Date.now();\n const stepIndex = contentIndexMap.get(stepId);\n const runStep =\n stepIndex === undefined ? undefined : contentData[stepIndex];\n const resultWithStep = {\n ...completed,\n id: stepId,\n index: runStep?.index ?? 0,\n completed_at: completedAt,\n };\n if (completed.type === 'summary') {\n result.completedSummary = completed.summary;\n }\n await params.customHandlers?.[\n GraphEvents.ON_RUN_STEP_COMPLETED\n ]?.handle(GraphEvents.ON_RUN_STEP_COMPLETED, {\n result: resultWithStep,\n } as unknown as Parameters<t.EventHandler['handle']>[1]);\n if (runStep == null) {\n return;\n }\n await closeStep(runStep, 'completed', completedAt);\n },\n },\n };\n return result;\n}\n\nfunction getSummaryText(summary: t.SummaryContentBlock | undefined): string {\n const firstBlock = summary?.content?.[0];\n return firstBlock != null &&\n typeof firstBlock === 'object' &&\n 'text' in firstBlock &&\n typeof firstBlock.text === 'string'\n ? firstBlock.text\n : '';\n}\n\nfunction getSummaryTokenCount(\n summary: t.SummaryContentBlock | undefined\n): number {\n return typeof summary?.tokenCount === 'number' &&\n Number.isFinite(summary.tokenCount)\n ? summary.tokenCount\n : 0;\n}\n\nfunction filterRemoveMessages(messages: BaseMessage[]): BaseMessage[] {\n return messages.filter((message) => message._getType() !== 'remove');\n}\n\nclass LiveAgentSessionStream implements AgentSessionStream {\n private resultPromise: Promise<AgentSessionRunResult> | undefined;\n private readonly events: AgentSessionStreamEvent[] = [];\n private readonly waiters: Array<{\n resolve: (result: IteratorResult<AgentSessionStreamEvent>) => void;\n reject: (error: unknown) => void;\n }> = [];\n private closed = false;\n private failed = false;\n private error: unknown;\n\n setResultPromise(resultPromise: Promise<AgentSessionRunResult>): void {\n this.resultPromise = resultPromise;\n }\n\n push(event: AgentSessionStreamEvent): void {\n if (this.closed) {\n return;\n }\n const waiter = this.waiters.shift();\n if (waiter) {\n waiter.resolve({ value: event, done: false });\n return;\n }\n this.events.push(event);\n }\n\n complete(): void {\n this.closed = true;\n for (const waiter of this.waiters.splice(0)) {\n waiter.resolve({\n value: undefined as unknown as AgentSessionStreamEvent,\n done: true,\n });\n }\n }\n\n fail(error: unknown): void {\n this.error = error;\n this.failed = true;\n this.closed = true;\n for (const waiter of this.waiters.splice(0)) {\n waiter.reject(error);\n }\n }\n\n private nextEvent(): Promise<IteratorResult<AgentSessionStreamEvent>> {\n const event = this.events.shift();\n if (event !== undefined) {\n return Promise.resolve({ value: event, done: false });\n }\n if (this.failed) {\n return Promise.reject(this.error);\n }\n if (this.closed) {\n return Promise.resolve({\n value: undefined as unknown as AgentSessionStreamEvent,\n done: true,\n });\n }\n return new Promise((resolve, reject) => {\n this.waiters.push({ resolve, reject });\n });\n }\n\n async *[Symbol.asyncIterator](): AsyncIterator<AgentSessionStreamEvent> {\n for (;;) {\n const next = await this.nextEvent();\n if (next.done === true) {\n return;\n }\n yield next.value;\n }\n }\n\n async *toTextStream(): AsyncIterable<string> {\n for await (const event of this) {\n if (event.type !== 'message.delta' || event.data == null) {\n continue;\n }\n const data = event.data;\n if (typeof data === 'object' && !Array.isArray(data)) {\n const delta = data.delta;\n if (\n delta != null &&\n typeof delta === 'object' &&\n !Array.isArray(delta)\n ) {\n const content = delta.content;\n if (Array.isArray(content)) {\n for (const part of content) {\n if (\n part != null &&\n typeof part === 'object' &&\n !Array.isArray(part) &&\n typeof part.text === 'string'\n ) {\n yield part.text;\n }\n }\n }\n }\n }\n }\n }\n\n finalResult(): Promise<AgentSessionRunResult> {\n if (!this.resultPromise) {\n return Promise.reject(new Error('Session stream has not started'));\n }\n return this.resultPromise;\n }\n}\n\nexport class AgentSession {\n private runConfig: t.RunConfig;\n private store: JsonlSessionStore | undefined;\n private calibrationRatio: number | undefined;\n private checkpointing: SessionCheckpointingState;\n cwd: string;\n threadId: string;\n\n private constructor(params: {\n runConfig: t.RunConfig;\n cwd: string;\n threadId: string;\n checkpointing: SessionCheckpointingState;\n store?: JsonlSessionStore;\n }) {\n this.runConfig = params.runConfig;\n this.cwd = params.cwd;\n this.threadId = params.threadId;\n this.store = params.store;\n this.checkpointing = params.checkpointing;\n }\n\n static async create(config: AgentSessionConfig): Promise<AgentSession> {\n const normalized = normalizeConfig(config);\n const explicitSessionId =\n 'sessionId' in config && typeof config.sessionId === 'string'\n ? config.sessionId\n : undefined;\n const store = await createStore({\n cwd: normalized.cwd,\n sessionPath: normalized.sessionPath,\n name: normalized.name,\n sessionId: explicitSessionId,\n ephemeral: normalized.ephemeral,\n });\n return new AgentSession({\n runConfig: normalized.runConfig,\n cwd: normalized.cwd,\n threadId: store?.header.id ?? explicitSessionId ?? createSessionId(),\n checkpointing: createCheckpointingState(\n normalized.runConfig,\n normalized.checkpointing\n ),\n store,\n });\n }\n\n get sessionPath(): string | undefined {\n return this.store?.path;\n }\n\n getSessionStore(): JsonlSessionStore | undefined {\n return this.store;\n }\n\n getCheckpointer(): BaseCheckpointSaver | undefined {\n return this.checkpointing.checkpointer;\n }\n\n async getLatestCheckpoint(\n options: AgentSessionCheckpointLookupOptions = {}\n ): Promise<AgentSessionCheckpointReference | undefined> {\n const threadId = options.threadId ?? this.threadId;\n const baseConfig = options.config ?? {};\n const config = createCheckpointLookupConfig({\n ...baseConfig,\n configurable: {\n ...(baseConfig.configurable ?? {}),\n thread_id: threadId,\n ...(options.checkpointNs != null\n ? { checkpoint_ns: options.checkpointNs }\n : {}),\n },\n });\n const tuple = await getLatestCheckpointTuple(\n this.checkpointing.checkpointer,\n config\n );\n return tuple ? createCheckpointReference({ threadId, tuple }) : undefined;\n }\n\n private async hasCheckpointState(config: RunnableConfig): Promise<boolean> {\n if (!this.checkpointing.enabled) {\n return false;\n }\n const tuple = await getSelectedCheckpointTuple(\n this.checkpointing.checkpointer,\n config\n );\n return tuple != null;\n }\n\n private async recordCheckpoint(params: {\n source: 'run' | 'resume';\n runId: string;\n threadId: string;\n config: RunnableConfig;\n checkpointId?: string;\n checkpointNs?: string;\n }): Promise<void> {\n if (!this.checkpointing.enabled) {\n return;\n }\n const checkpointConfig = applyCheckpointReferenceToConfig(\n params.config,\n {\n checkpointId: params.checkpointId,\n checkpointNs: params.checkpointNs,\n },\n { overwrite: true }\n );\n const tuple =\n params.checkpointId != null && params.checkpointId !== ''\n ? await getSelectedCheckpointTuple(\n this.checkpointing.checkpointer,\n checkpointConfig\n )\n : await getLatestCheckpointTuple(\n this.checkpointing.checkpointer,\n params.config\n );\n if (!tuple) {\n return;\n }\n const reference = createCheckpointReference({\n threadId: params.threadId,\n tuple,\n });\n await this.store?.appendCheckpoint({\n source: params.source,\n runId: params.runId,\n threadId: params.threadId,\n checkpointId: reference.checkpointId,\n checkpointNs: reference.checkpointNs,\n parentCheckpointId: reference.parentCheckpointId,\n });\n }\n\n private async recordChildCheckpointThreads(params: {\n source: 'run' | 'resume';\n runId: string;\n run: Run<t.IState>;\n }): Promise<void> {\n if (!this.checkpointing.enabled || this.store == null) {\n return;\n }\n const recordedThreadIds = new Set(\n this.store.getCheckpoints().map((checkpoint) => checkpoint.data.threadId)\n );\n for (const threadId of params.run.getChildCheckpointThreadIds()) {\n if (recordedThreadIds.has(threadId)) {\n continue;\n }\n recordedThreadIds.add(threadId);\n await this.store.appendCheckpoint({\n source: params.source,\n runId: params.runId,\n threadId,\n });\n }\n }\n\n private getCheckpointThreadIds(): string[] {\n const threadIds = new Set<string>([this.threadId]);\n for (const checkpoint of this.store?.getCheckpoints() ?? []) {\n threadIds.add(checkpoint.data.threadId);\n }\n return [...threadIds];\n }\n\n private async resetCheckpointThreads(reason: string): Promise<void> {\n const checkpointer = this.checkpointing.checkpointer;\n if (!this.checkpointing.enabled || checkpointer == null) {\n return;\n }\n for (const threadId of this.getCheckpointThreadIds()) {\n await checkpointer.deleteThread(threadId);\n await this.store?.appendCheckpoint({\n source: 'reset',\n threadId,\n reason,\n });\n }\n }\n\n private async runInternal(\n input: AgentSessionInput,\n options: AgentSessionRunOptions = {},\n onEvent?: (event: AgentSessionStreamEvent) => void\n ): Promise<AgentSessionRunResult> {\n const runId = options.runId ?? createRunId();\n const threadId = options.threadId ?? this.threadId;\n const isSessionThread = threadId === this.threadId;\n const normalizedInput = normalizeInput(input);\n const inputMessages = normalizedInput.messages;\n const callerConfig = createCallerConfig(threadId, options);\n const useCheckpointState = await this.hasCheckpointState(callerConfig);\n let parentId = this.store?.getLeafEntry()?.id ?? null;\n if (isSessionThread) {\n for (const message of inputMessages) {\n const entry = await this.store?.appendMessage(message, parentId);\n parentId = entry?.id ?? parentId;\n }\n }\n await this.store?.appendRunEvent('run.started', undefined, {\n runId,\n threadId,\n });\n\n const handlerResult = createRunHandlers({\n runId,\n threadId,\n userHandlers: this.runConfig.customHandlers,\n onEvent,\n });\n const emitTerminalEvent = (\n event: Omit<\n AgentSessionStreamEvent,\n 'sequence' | 'runId' | 'threadId' | 'timestamp'\n >\n ): void => {\n const streamEvent: AgentSessionStreamEvent = {\n ...event,\n sequence: handlerResult.events.length,\n runId,\n threadId,\n timestamp: new Date().toISOString(),\n };\n handlerResult.events.push(streamEvent);\n onEvent?.(streamEvent);\n };\n const sessionState = createSessionRunState(\n isSessionThread ? (this.store?.getPath() ?? []) : []\n );\n let run: Run<t.IState> | undefined;\n try {\n const runConfig: t.RunConfig = {\n ...this.runConfig,\n runId,\n graphConfig: applyCheckpointingToGraphConfig(\n applyInitialSummaryToGraphConfig(\n this.runConfig.graphConfig,\n sessionState.initialSummary\n ),\n this.checkpointing\n ),\n returnContent: true,\n calibrationRatio: this.calibrationRatio,\n customHandlers: {\n ...(this.runConfig.customHandlers ?? {}),\n ...handlerResult.handlers,\n },\n };\n run = await Run.create<t.IState>(runConfig);\n let messages = inputMessages;\n if (!useCheckpointState && sessionState.messages.length > 0) {\n messages = sessionState.messages;\n }\n const content = await run.processStream(\n { ...normalizedInput.state, messages },\n callerConfig,\n options.streamOptions\n );\n const runMessages = run.getRunMessages() ?? [];\n if (isSessionThread) {\n for (const message of runMessages) {\n await this.store?.appendMessage(message);\n }\n }\n this.calibrationRatio = run.getCalibrationRatio();\n const interrupt = run.getInterrupt();\n const haltedReason = run.getHaltReason();\n if (interrupt) {\n emitTerminalEvent({ type: 'run.interrupted' });\n await this.store?.appendRunEvent('run.interrupted', interrupt, {\n runId,\n threadId,\n });\n } else if (haltedReason != null && haltedReason !== '') {\n emitTerminalEvent({ type: 'run.halted', data: haltedReason });\n await this.store?.appendRunEvent('run.halted', haltedReason, {\n runId,\n threadId,\n });\n } else {\n emitTerminalEvent({ type: 'run.completed' });\n await this.store?.appendRunEvent('run.completed', undefined, {\n runId,\n threadId,\n });\n }\n await this.recordCheckpoint({\n source: 'run',\n runId,\n threadId,\n config: callerConfig,\n checkpointId: interrupt?.checkpointId,\n checkpointNs: interrupt?.checkpointNs,\n });\n await this.recordChildCheckpointThreads({\n source: 'run',\n runId,\n run,\n });\n const contentParts = (content ?? handlerResult.contentParts).filter(\n (part): part is t.MessageContentComplex => part != null\n );\n return {\n text: contentToText(contentParts),\n content: contentParts,\n messages: runMessages,\n usage: handlerResult.usage,\n steps: handlerResult.steps,\n interrupt,\n haltedReason,\n runId,\n threadId,\n };\n } catch (error) {\n emitTerminalEvent({\n type: 'run.failed',\n data: error instanceof Error ? error.message : String(error),\n });\n await this.store?.appendRunEvent('run.failed', error, {\n runId,\n threadId,\n });\n await this.recordCheckpoint({\n source: 'run',\n runId,\n threadId,\n config: callerConfig,\n });\n if (run != null) {\n await this.recordChildCheckpointThreads({\n source: 'run',\n runId,\n run,\n });\n }\n throw error;\n }\n }\n\n async run(\n input: AgentSessionInput,\n options: AgentSessionRunOptions = {}\n ): Promise<AgentSessionRunResult> {\n return this.runInternal(input, options);\n }\n\n stream(\n input: AgentSessionInput,\n options: AgentSessionRunOptions = {}\n ): AgentSessionStream {\n const stream = new LiveAgentSessionStream();\n const resultPromise = this.runInternal(input, options, (event) => {\n stream.push(event);\n }).then(\n (result) => {\n stream.complete();\n return result;\n },\n (error: unknown) => {\n stream.fail(error);\n throw error;\n }\n );\n stream.setResultPromise(resultPromise);\n return stream;\n }\n\n async resumeSession(pathOrId?: string): Promise<AgentSession> {\n if (pathOrId == null || pathOrId === '') {\n const sessions = await JsonlSessionStore.list(this.cwd);\n if (sessions.length === 0) {\n throw new Error(`No sessions found for ${this.cwd}`);\n }\n this.store = await JsonlSessionStore.open(sessions[0].path);\n this.cwd = this.store.header.cwd;\n this.threadId = this.store.header.id;\n return this;\n }\n this.store = await JsonlSessionStore.open(pathOrId);\n this.cwd = this.store.header.cwd;\n this.threadId = this.store.header.id;\n return this;\n }\n\n async clone(options: SessionForkOptions = {}): Promise<AgentSession> {\n if (!this.store) {\n throw new Error('Cannot clone an ephemeral session');\n }\n const store = await this.store.clone(options);\n return new AgentSession({\n runConfig: this.runConfig,\n cwd: store.header.cwd,\n threadId: store.header.id,\n checkpointing: this.checkpointing,\n store,\n });\n }\n\n async fork(\n entryId: string,\n options: SessionForkOptions = {}\n ): Promise<AgentSession> {\n if (!this.store) {\n throw new Error('Cannot fork an ephemeral session');\n }\n const store = await this.store.fork(entryId, options);\n return new AgentSession({\n runConfig: this.runConfig,\n cwd: store.header.cwd,\n threadId: store.header.id,\n checkpointing: this.checkpointing,\n store,\n });\n }\n\n async branch(\n entryId: string,\n options: SessionBranchOptions = {}\n ): Promise<void> {\n const store = this.store;\n if (!store) {\n throw new Error('Cannot branch an ephemeral session');\n }\n const target = getSessionBranchTarget(\n store,\n entryId,\n options.position ?? 'at'\n );\n const previousLeafId = store.getLeafEntry()?.id ?? null;\n let leafId = target?.id ?? null;\n const summarizeAbandoned = options.summarizeAbandoned;\n if (summarizeAbandoned !== undefined && summarizeAbandoned !== false) {\n const instructions =\n typeof summarizeAbandoned === 'object'\n ? summarizeAbandoned.instructions\n : undefined;\n const abandonedPath = getAbandonedPathForBranch(\n store,\n previousLeafId,\n leafId\n );\n const summary = await this.compactActivePath(\n { instructions, retainRecentTurns: 0 },\n leafId,\n abandonedPath\n );\n leafId = summary?.id ?? leafId;\n }\n if (leafId === previousLeafId) {\n return;\n }\n await store.setLeaf(leafId);\n await this.resetCheckpointThreads('branch');\n }\n\n async compact(options: SessionCompactOptions = {}): Promise<void> {\n const summary = await this.compactActivePath(options, null);\n if (summary) {\n await this.resetCheckpointThreads('compact');\n }\n }\n\n private async compactActivePath(\n options: SessionCompactOptions = {},\n parentId: string | null,\n path?: SessionEntry[]\n ): Promise<Extract<SessionEntry, { type: 'summary' }> | undefined> {\n const store = this.store;\n if (!store) {\n throw new Error('Cannot compact an ephemeral session');\n }\n const activePath = path ?? store.getPath();\n const sessionState = createSessionRunState(activePath);\n const messageEntries = activePath.filter(isMessageEntry);\n if (sessionState.messages.length === 0) {\n return undefined;\n }\n const compactRunId = createRunId();\n const agentContext = AgentContext.fromConfig(\n createAgentInputFromGraphConfig(\n this.runConfig.graphConfig,\n sessionState.initialSummary,\n options.retainRecentTurns,\n options.instructions\n ),\n this.runConfig.tokenCounter\n );\n const graph = createManualCompactGraph({\n runId: compactRunId,\n customHandlers: this.runConfig.customHandlers,\n hooks: this.runConfig.hooks,\n streamLimits: this.runConfig.streamLimits,\n });\n const summarizeNode = createSummarizeNode({\n agentContext,\n graph: graph.graph,\n generateStepId: (stepKey): [string, number] => [\n `${stepKey}-${compactRunId}`,\n graph.graph.contentData.length,\n ],\n });\n let summarizedState;\n try {\n summarizedState = await summarizeNode(\n {\n messages: sessionState.messages,\n summarizationRequest: {\n remainingContextTokens: agentContext.maxContextTokens ?? 0,\n agentId: agentContext.agentId,\n },\n },\n {\n configurable: { thread_id: this.threadId },\n metadata: { run_id: compactRunId },\n }\n );\n } catch (error) {\n /**\n * `failed`, not `cancelled`: manual compaction is invoked without a\n * caller abort signal, so there is no cancellation source to\n * corroborate against. An error that merely carries the `AbortError`\n * name is an unexpected failure here, and it propagates to the caller\n * either way.\n */\n await graph.closeOpenSteps('failed').catch(() => {\n /** the sweep must never mask the summarization failure */\n });\n throw error;\n }\n await graph.closeOpenSteps('completed');\n const completedSummaryText = getSummaryText(graph.completedSummary);\n const contextSummaryText = agentContext.getSummaryText();\n let summaryText = completedSummaryText;\n if (summaryText === '' && contextSummaryText != null) {\n summaryText = contextSummaryText;\n }\n if (summaryText === '') {\n return undefined;\n }\n const retainedMessages = filterRemoveMessages(\n summarizedState.messages ?? []\n );\n let retainedEntryIds: string[] = [];\n if (retainedMessages.length > 0) {\n retainedEntryIds = messageEntries\n .slice(-retainedMessages.length)\n .map((entry) => entry.id);\n }\n const retainedEntryIdSet = new Set(retainedEntryIds);\n const summarized = messageEntries.filter(\n (entry) => !retainedEntryIdSet.has(entry.id)\n );\n const summary = await store.appendEntryForCompaction({\n text: summaryText,\n tokenCount: getSummaryTokenCount(graph.completedSummary),\n retainedEntryIds,\n summarizedEntryIds: summarized.map((entry) => entry.id),\n instructions: options.instructions,\n parentId,\n });\n let retainedParentId: string | null = summary.id;\n for (const message of retainedMessages) {\n const retainedMessage = await store.appendMessage(\n message,\n retainedParentId\n );\n retainedParentId = retainedMessage.id;\n }\n await store.appendCompactionEntry({\n summaryEntryId: summary.id,\n retainedEntryIds,\n summarizedEntryIds: summarized.map((entry) => entry.id),\n });\n return summary;\n }\n\n async resumeInterrupt<TResume>(\n resumeValue: TResume,\n options: AgentSessionRunOptions = {}\n ): Promise<AgentSessionRunResult> {\n const runId = options.runId ?? createRunId();\n const threadId = options.threadId ?? this.threadId;\n const isSessionThread = threadId === this.threadId;\n const baseCallerConfig = createCallerConfig(threadId, options);\n const callerConfig = applyCheckpointReferenceToConfig(\n baseCallerConfig,\n getStoredCheckpointForConfig(this.store, threadId, baseCallerConfig)?.data\n );\n await this.store?.appendRunEvent('run.started', undefined, {\n runId,\n threadId,\n });\n const handlerResult = createRunHandlers({\n runId,\n threadId,\n userHandlers: this.runConfig.customHandlers,\n });\n const sessionState = createSessionRunState(\n isSessionThread ? (this.store?.getPath() ?? []) : []\n );\n let run: Run<t.IState> | undefined;\n try {\n run = await Run.create<t.IState>({\n ...this.runConfig,\n runId,\n graphConfig: applyCheckpointingToGraphConfig(\n applyInitialSummaryToGraphConfig(\n this.runConfig.graphConfig,\n sessionState.initialSummary\n ),\n this.checkpointing\n ),\n returnContent: true,\n calibrationRatio: this.calibrationRatio,\n customHandlers: {\n ...(this.runConfig.customHandlers ?? {}),\n ...handlerResult.handlers,\n },\n });\n const content = await run.resume(resumeValue, callerConfig);\n const runMessages = run.getRunMessages() ?? [];\n if (isSessionThread) {\n for (const message of runMessages) {\n await this.store?.appendMessage(message);\n }\n }\n this.calibrationRatio = run.getCalibrationRatio();\n const interrupt = run.getInterrupt();\n const haltedReason = run.getHaltReason();\n if (interrupt) {\n await this.store?.appendRunEvent('run.interrupted', interrupt, {\n runId,\n threadId,\n });\n } else if (haltedReason != null && haltedReason !== '') {\n await this.store?.appendRunEvent('run.halted', haltedReason, {\n runId,\n threadId,\n });\n } else {\n await this.store?.appendRunEvent('run.completed', undefined, {\n runId,\n threadId,\n });\n }\n await this.recordCheckpoint({\n source: 'resume',\n runId,\n threadId,\n config: callerConfig,\n checkpointId: interrupt?.checkpointId,\n checkpointNs: interrupt?.checkpointNs,\n });\n await this.recordChildCheckpointThreads({\n source: 'resume',\n runId,\n run,\n });\n const contentParts = (content ?? handlerResult.contentParts).filter(\n (part): part is t.MessageContentComplex => part != null\n );\n return {\n text: contentToText(contentParts),\n content: contentParts,\n messages: runMessages,\n usage: handlerResult.usage,\n steps: handlerResult.steps,\n interrupt,\n haltedReason,\n runId,\n threadId,\n };\n } catch (error) {\n await this.store?.appendRunEvent('run.failed', error, {\n runId,\n threadId,\n });\n await this.recordCheckpoint({\n source: 'resume',\n runId,\n threadId,\n config: callerConfig,\n });\n if (run != null) {\n await this.recordChildCheckpointThreads({\n source: 'resume',\n runId,\n run,\n });\n }\n throw error;\n }\n }\n}\n\nexport function createAgentSession(\n config: AgentSessionConfig\n): Promise<AgentSession> {\n return AgentSession.create(config);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentSession.cjs","names":["BaseMessage","HumanMessage","createRunId","JsonlSessionStore","MemorySaver","deserializeMessage","resolveStreamLimits","createSessionId","createRunHandlers","Run","AgentContext","createSummarizeNode"],"sources":["../../../src/session/AgentSession.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"JsonlSessionStore.cjs","names":["createSessionId","path","createTimestamp","deserializeMessage","SystemMessage","getMessageRole","serializeMessage","toJsonValue","createEntryId"],"sources":["../../../src/session/JsonlSessionStore.ts"],"sourcesContent":["import { homedir } from 'os';\nimport { createHash } from 'crypto';\nimport { SystemMessage } from '@langchain/core/messages';\nimport { basename, dirname, isAbsolute, join, resolve } from 'path';\nimport {\n access,\n appendFile,\n mkdir,\n readFile,\n readdir,\n stat,\n writeFile,\n} from 'fs/promises';\nimport type { BaseMessage } from '@langchain/core/messages';\nimport type {\n CreateSessionFileOptions,\n SessionBranchOptions,\n SessionEntry,\n SessionForkOptions,\n SessionHeader,\n SessionLabelEntry,\n SessionListItem,\n SessionMessageEntry,\n SessionCheckpointEntry,\n SessionCompactionEntry,\n SessionRunEventEntry,\n SessionSummaryEntry,\n SessionStateEntry,\n SessionTreeNode,\n} from './types';\nimport {\n deserializeMessage,\n getMessageRole,\n serializeMessage,\n toJsonValue,\n} from './messageSerialization';\nimport { createEntryId, createSessionId, createTimestamp } from './ids';\n\nconst SESSION_VERSION = 1;\nconst DEFAULT_SESSION_ROOT = join(\n homedir(),\n '.librechat',\n 'agents',\n 'sessions'\n);\n\nfunction sanitizeCwd(cwd: string): string {\n const normalized = resolve(cwd);\n return createHash('sha256').update(normalized).digest('hex');\n}\n\nfunction createSessionPath(options: CreateSessionFileOptions): string {\n const sessionId = options.sessionId ?? createSessionId();\n const fileName = `${new Date().toISOString().replace(/[:.]/g, '-')}_${sessionId}.jsonl`;\n return join(DEFAULT_SESSION_ROOT, sanitizeCwd(options.cwd), fileName);\n}\n\nasync function pathExists(path: string): Promise<boolean> {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\n\nfunction parseLine(line: string): SessionHeader | SessionEntry | undefined {\n if (line.trim() === '') {\n return undefined;\n }\n try {\n const parsed = JSON.parse(line) as SessionHeader | SessionEntry;\n if (parsed.type === 'session') {\n return parsed;\n }\n if ('id' in parsed && 'parentId' in parsed && 'data' in parsed) {\n return parsed;\n }\n return undefined;\n } catch {\n return undefined;\n }\n}\n\nfunction createHeader(options: CreateSessionFileOptions): SessionHeader {\n return {\n type: 'session',\n version: SESSION_VERSION,\n id: options.sessionId ?? createSessionId(),\n timestamp: createTimestamp(),\n cwd: resolve(options.cwd),\n ...(options.name != null && options.name !== ''\n ? { name: options.name }\n : {}),\n ...(options.parentSession != null && options.parentSession !== ''\n ? { parentSession: options.parentSession }\n : {}),\n };\n}\n\nfunction sortEntries(entries: SessionEntry[]): SessionEntry[] {\n return [...entries].sort((a, b) => a.timestamp.localeCompare(b.timestamp));\n}\n\nexport class JsonlSessionStore {\n readonly path: string;\n readonly header: SessionHeader;\n private entries: SessionEntry[];\n\n private constructor(params: {\n path: string;\n header: SessionHeader;\n entries: SessionEntry[];\n }) {\n this.path = params.path;\n this.header = params.header;\n this.entries = sortEntries(params.entries);\n }\n\n static getDefaultRoot(): string {\n return DEFAULT_SESSION_ROOT;\n }\n\n static async create(\n options: CreateSessionFileOptions & { path?: string }\n ): Promise<JsonlSessionStore> {\n const sessionId = options.sessionId ?? createSessionId();\n const path =\n options.path != null && options.path !== ''\n ? resolve(options.path)\n : createSessionPath({ ...options, sessionId });\n const header = createHeader({ ...options, sessionId });\n await mkdir(dirname(path), { recursive: true });\n await writeFile(path, `${JSON.stringify(header)}\\n`, {\n encoding: 'utf8',\n flag: 'wx',\n });\n return new JsonlSessionStore({ path, header, entries: [] });\n }\n\n static async open(pathOrId: string): Promise<JsonlSessionStore> {\n const path = await JsonlSessionStore.resolvePath(pathOrId);\n return JsonlSessionStore.openPath(path);\n }\n\n static async openPath(path: string): Promise<JsonlSessionStore> {\n const resolved = resolve(path);\n const raw = await readFile(resolved, 'utf8');\n const parsed = raw\n .split('\\n')\n .map((line) => parseLine(line))\n .filter((line): line is SessionHeader | SessionEntry => line != null);\n const header = parsed.find(\n (line): line is SessionHeader => line.type === 'session'\n );\n if (!header) {\n throw new Error(`Invalid session file: ${resolved}`);\n }\n const entries = parsed.filter(\n (line): line is SessionEntry => line.type !== 'session'\n );\n return new JsonlSessionStore({ path: resolved, header, entries });\n }\n\n static async resolvePath(pathOrId: string): Promise<string> {\n const candidate = isAbsolute(pathOrId) ? pathOrId : resolve(pathOrId);\n if (await pathExists(candidate)) {\n return candidate;\n }\n const sessions = await JsonlSessionStore.listAll();\n const matches = sessions.filter(\n (item) =>\n item.id.startsWith(pathOrId) || basename(item.path).includes(pathOrId)\n );\n if (matches.length === 1) {\n return matches[0].path;\n }\n if (matches.length > 1) {\n throw new Error(`Session id \"${pathOrId}\" is ambiguous`);\n }\n throw new Error(`Session not found: ${pathOrId}`);\n }\n\n static async list(cwd: string): Promise<SessionListItem[]> {\n const dir = join(DEFAULT_SESSION_ROOT, sanitizeCwd(cwd));\n return JsonlSessionStore.listDirectory(dir);\n }\n\n static async listAll(\n root: string = DEFAULT_SESSION_ROOT\n ): Promise<SessionListItem[]> {\n if (!(await pathExists(root))) {\n return [];\n }\n const dirs = await readdir(root, { withFileTypes: true });\n const lists = await Promise.all(\n dirs\n .filter((entry) => entry.isDirectory())\n .map((entry) => JsonlSessionStore.listDirectory(join(root, entry.name)))\n );\n return lists.flat().sort((a, b) => b.timestamp.localeCompare(a.timestamp));\n }\n\n private static async listDirectory(dir: string): Promise<SessionListItem[]> {\n if (!(await pathExists(dir))) {\n return [];\n }\n const files = await readdir(dir, { withFileTypes: true });\n const candidates = files\n .filter((entry) => entry.isFile() && entry.name.endsWith('.jsonl'))\n .map((entry) => join(dir, entry.name));\n const items = await Promise.all(\n candidates.map(async (path): Promise<SessionListItem | undefined> => {\n try {\n const store = await JsonlSessionStore.open(path);\n return {\n id: store.header.id,\n path,\n cwd: store.header.cwd,\n timestamp: store.header.timestamp,\n name: store.header.name,\n leafId: store.getLeafEntry()?.id ?? null,\n };\n } catch {\n return undefined;\n }\n })\n );\n return items\n .filter((item): item is SessionListItem => item != null)\n .sort((a, b) => b.timestamp.localeCompare(a.timestamp));\n }\n\n getEntries(): SessionEntry[] {\n return [...this.entries];\n }\n\n getEntry(id: string): SessionEntry | undefined {\n return this.entries.find((entry) => entry.id === id);\n }\n\n getChildren(id: string): SessionEntry[] {\n return this.entries.filter((entry) => entry.parentId === id);\n }\n\n getTree(): SessionTreeNode[] {\n const byParent = new Map<string | null, SessionEntry[]>();\n for (const entry of this.entries) {\n const siblings = byParent.get(entry.parentId) ?? [];\n siblings.push(entry);\n byParent.set(entry.parentId, siblings);\n }\n const build = (parentId: string | null): SessionTreeNode[] =>\n (byParent.get(parentId) ?? []).map((entry) => ({\n entry,\n children: build(entry.id),\n }));\n return build(null);\n }\n\n getLeafEntry(): SessionEntry | undefined {\n const state = [...this.entries]\n .reverse()\n .find(\n (entry): entry is SessionStateEntry => entry.type === 'session_state'\n );\n if (state) {\n return state.data.leafId == null\n ? undefined\n : this.getEntry(state.data.leafId);\n }\n return [...this.entries]\n .reverse()\n .find((entry) => entry.type === 'message' || entry.type === 'summary');\n }\n\n getPath(\n entryId: string | undefined = this.getLeafEntry()?.id\n ): SessionEntry[] {\n if (entryId == null || entryId === '') {\n return [];\n }\n const byId = new Map(this.entries.map((entry) => [entry.id, entry]));\n const path: SessionEntry[] = [];\n let current: SessionEntry | undefined = byId.get(entryId);\n while (current) {\n path.push(current);\n current =\n current.parentId == null ? undefined : byId.get(current.parentId);\n }\n return path.reverse();\n }\n\n getMessages(entryId?: string): BaseMessage[] {\n const messages: BaseMessage[] = [];\n for (const entry of this.getPath(entryId)) {\n if (entry.type === 'message') {\n messages.push(deserializeMessage(entry.data.message));\n } else if (entry.type === 'summary') {\n messages.push(new SystemMessage(entry.data.text));\n }\n }\n return messages;\n }\n\n getForkPoints(): SessionMessageEntry[] {\n return this.entries.filter(\n (entry): entry is SessionMessageEntry =>\n entry.type === 'message' && entry.data.role === 'user'\n );\n }\n\n getLabel(entryId: string): string | undefined {\n return [...this.entries]\n .reverse()\n .find(\n (entry): entry is SessionLabelEntry =>\n entry.type === 'label' && entry.data.targetEntryId === entryId\n )?.data.label;\n }\n\n async setLabel(entryId: string, label: string): Promise<SessionLabelEntry> {\n return this.appendEntry<SessionLabelEntry>({\n type: 'label',\n parentId: this.getLeafEntry()?.id ?? null,\n data: { targetEntryId: entryId, label },\n });\n }\n\n async appendMessage(\n message: BaseMessage,\n parentId: string | null = this.getLeafEntry()?.id ?? null\n ): Promise<SessionMessageEntry> {\n const entry = await this.appendEntry<SessionMessageEntry>({\n type: 'message',\n parentId,\n data: {\n role: getMessageRole(message),\n message: serializeMessage(message),\n },\n });\n await this.setLeaf(entry.id);\n return entry;\n }\n\n async appendRunEvent(\n event: string,\n payload?: unknown,\n params?: { runId?: string; threadId?: string }\n ): Promise<SessionRunEventEntry> {\n return this.appendEntry<SessionRunEventEntry>({\n type: 'run_event',\n parentId: this.getLeafEntry()?.id ?? null,\n data: {\n event,\n ...(params?.runId != null && params.runId !== ''\n ? { runId: params.runId }\n : {}),\n ...(params?.threadId != null && params.threadId !== ''\n ? { threadId: params.threadId }\n : {}),\n ...(typeof payload !== 'undefined'\n ? { payload: toJsonValue(payload) }\n : {}),\n },\n });\n }\n\n async setLeaf(leafId: string | null): Promise<SessionStateEntry> {\n return this.appendEntry<SessionStateEntry>({\n type: 'session_state',\n parentId: leafId,\n data: { leafId },\n });\n }\n\n async appendEntryForCompaction(params: {\n text: string;\n tokenCount?: number;\n retainedEntryIds: string[];\n summarizedEntryIds: string[];\n instructions?: string;\n parentId?: string | null;\n }): Promise<SessionSummaryEntry> {\n const tokenCount =\n typeof params.tokenCount === 'number' &&\n Number.isFinite(params.tokenCount) &&\n params.tokenCount >= 0\n ? params.tokenCount\n : undefined;\n const entry = await this.appendEntry<SessionSummaryEntry>({\n type: 'summary',\n parentId:\n 'parentId' in params\n ? (params.parentId ?? null)\n : (this.getLeafEntry()?.id ?? null),\n data: {\n text: params.text,\n ...(tokenCount != null ? { tokenCount } : {}),\n retainedEntryIds: params.retainedEntryIds,\n summarizedEntryIds: params.summarizedEntryIds,\n ...(params.instructions != null && params.instructions !== ''\n ? { instructions: params.instructions }\n : {}),\n },\n });\n await this.setLeaf(entry.id);\n return entry;\n }\n\n async appendCompactionEntry(params: {\n summaryEntryId: string;\n retainedEntryIds: string[];\n summarizedEntryIds: string[];\n }): Promise<SessionCompactionEntry> {\n return this.appendEntry<SessionCompactionEntry>({\n type: 'compaction',\n parentId: this.getLeafEntry()?.id ?? null,\n data: {\n summaryEntryId: params.summaryEntryId,\n retainedEntryIds: params.retainedEntryIds,\n summarizedEntryIds: params.summarizedEntryIds,\n },\n });\n }\n\n async appendCheckpoint(params: {\n source: SessionCheckpointEntry['data']['source'];\n threadId: string;\n runId?: string;\n checkpointId?: string;\n checkpointNs?: string;\n parentCheckpointId?: string;\n reason?: string;\n }): Promise<SessionCheckpointEntry> {\n return this.appendEntry<SessionCheckpointEntry>({\n type: 'checkpoint',\n parentId: this.getLeafEntry()?.id ?? null,\n data: {\n provider: 'langgraph',\n source: params.source,\n threadId: params.threadId,\n ...(params.runId != null && params.runId !== ''\n ? { runId: params.runId }\n : {}),\n ...(params.checkpointId != null && params.checkpointId !== ''\n ? { checkpointId: params.checkpointId }\n : {}),\n ...(params.checkpointNs != null\n ? { checkpointNs: params.checkpointNs }\n : {}),\n ...(params.parentCheckpointId != null &&\n params.parentCheckpointId !== ''\n ? { parentCheckpointId: params.parentCheckpointId }\n : {}),\n ...(params.reason != null && params.reason !== ''\n ? { reason: params.reason }\n : {}),\n },\n });\n }\n\n getCheckpoints(threadId?: string): SessionCheckpointEntry[] {\n return this.entries.filter(\n (entry): entry is SessionCheckpointEntry =>\n entry.type === 'checkpoint' &&\n (threadId == null || entry.data.threadId === threadId)\n );\n }\n\n getLatestCheckpoint(threadId?: string): SessionCheckpointEntry | undefined {\n const checkpoints = this.getCheckpoints(threadId);\n for (let i = checkpoints.length - 1; i >= 0; i--) {\n const checkpoint = checkpoints[i];\n if (checkpoint.data.source === 'reset') {\n return undefined;\n }\n return checkpoint;\n }\n return undefined;\n }\n\n async branch(\n entryId: string,\n options: SessionBranchOptions = {}\n ): Promise<SessionEntry | undefined> {\n const target = this.getBranchTarget(entryId, options.position ?? 'at');\n await this.setLeaf(target?.id ?? null);\n return target;\n }\n\n async createBranchedSession(\n entryId: string | undefined = this.getLeafEntry()?.id,\n options: SessionForkOptions = {}\n ): Promise<JsonlSessionStore> {\n const target =\n entryId != null && entryId !== ''\n ? this.getBranchTarget(entryId, options.position ?? 'at')\n : this.getLeafEntry();\n const newStore = await JsonlSessionStore.create({\n cwd: options.cwd ?? this.header.cwd,\n name: options.name ?? this.header.name,\n parentSession: this.path,\n });\n const pathEntries = target ? this.getPath(target.id) : [];\n for (const entry of pathEntries) {\n await newStore.appendExistingEntry(entry);\n }\n await newStore.setLeaf(target?.id ?? null);\n return newStore;\n }\n\n async clone(options: SessionForkOptions = {}): Promise<JsonlSessionStore> {\n return this.createBranchedSession(this.getLeafEntry()?.id, {\n ...options,\n position: 'at',\n });\n }\n\n async fork(\n entryId: string,\n options: SessionForkOptions = {}\n ): Promise<JsonlSessionStore> {\n return this.createBranchedSession(entryId, {\n ...options,\n position: options.position ?? 'before',\n });\n }\n\n private getBranchTarget(\n entryId: string,\n position: 'before' | 'at'\n ): SessionEntry | undefined {\n const entry = this.getEntry(entryId);\n if (!entry) {\n throw new Error(`Entry not found: ${entryId}`);\n }\n if (position === 'at') {\n return entry;\n }\n return entry.parentId == null ? undefined : this.getEntry(entry.parentId);\n }\n\n private async appendExistingEntry(entry: SessionEntry): Promise<void> {\n this.entries.push(entry);\n await appendFile(this.path, `${JSON.stringify(entry)}\\n`, 'utf8');\n }\n\n private async appendEntry<TEntry extends SessionEntry>(params: {\n type: TEntry['type'];\n parentId: string | null;\n data: TEntry['data'];\n }): Promise<TEntry> {\n const entry = {\n type: params.type,\n id: createEntryId(),\n parentId: params.parentId,\n timestamp: createTimestamp(),\n data: params.data,\n } as TEntry;\n this.entries.push(entry);\n await appendFile(this.path, `${JSON.stringify(entry)}\\n`, 'utf8');\n return entry;\n }\n\n async existsOnDisk(): Promise<boolean> {\n const fileStat = await stat(this.path).catch(() => undefined);\n return fileStat?.isFile() === true;\n }\n}\n\nexport const SessionManager = JsonlSessionStore;\n"],"mappings":"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"}
1
+ {"version":3,"file":"JsonlSessionStore.cjs","names":["createSessionId","path","createTimestamp","deserializeMessage","SystemMessage","getMessageRole","serializeMessage","toJsonValue","createEntryId"],"sources":["../../../src/session/JsonlSessionStore.ts"],"mappings":"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"}
@@ -57,13 +57,6 @@ function createRunHandlers(params) {
57
57
  const toolEndHandler = new require_events.ToolEndHandler();
58
58
  const modelEndHandler = new require_events.ModelEndHandler();
59
59
  emitEvent(createEvent("run.started"));
60
- /**
61
- * Forwards to the host's own handler, so it inherits that handler's
62
- * capability. Branding matters because this wrapper is installed on EVERY
63
- * session run and merged last: without it, a host that registered
64
- * `new ChatModelStreamHandler()` would silently lose the sealing opt-out
65
- * that registration is supposed to buy.
66
- */
67
60
  const streamWrapper = { handle: async (event, data, metadata, graph) => {
68
61
  await callUserHandler({
69
62
  userHandlers: params.userHandlers,
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.cjs","names":["createTimestamp","toJsonValue","createContentAggregator","ToolEndHandler","ModelEndHandler","dispatchesChatModelStream","SDK_STREAM_DISPATCH"],"sources":["../../../src/session/handlers.ts"],"sourcesContent":["import type { UsageMetadata } from '@langchain/core/messages';\nimport type {\n AgentSessionHandlersResult,\n AgentSessionStreamEvent,\n AgentSessionUsage,\n} from './types';\nimport type * as t from '@/types';\nimport {\n createContentAggregator,\n dispatchesChatModelStream,\n SDK_STREAM_DISPATCH,\n} from '@/stream';\nimport { ModelEndHandler, ToolEndHandler } from '@/events';\nimport { toJsonValue } from './messageSerialization';\nimport { createTimestamp } from './ids';\nimport { GraphEvents } from '@/common';\n\ntype CompletedRunStepResult =\n | t.ToolEndEvent\n | (t.SummaryCompleted & { id: string; index: number });\n\nfunction isToolCompletion(\n result: CompletedRunStepResult\n): result is t.ToolEndEvent {\n return 'tool_call' in result;\n}\n\nfunction createEventFactory(params: {\n runId: string;\n threadId: string;\n}): (\n type: AgentSessionStreamEvent['type'],\n data?: unknown\n) => AgentSessionStreamEvent {\n let sequence = 0;\n return (type, data) => ({\n type,\n sequence: sequence++,\n runId: params.runId,\n threadId: params.threadId,\n timestamp: createTimestamp(),\n ...(typeof data !== 'undefined' ? { data: toJsonValue(data) } : {}),\n });\n}\n\nfunction getTokenCount(value: number | null | undefined): number {\n return typeof value === 'number' && Number.isFinite(value) ? value : 0;\n}\n\nfunction updateUsage(usage: AgentSessionUsage, data: t.ModelEndData): void {\n const metadata = data?.output?.usage_metadata as\n | Partial<UsageMetadata>\n | undefined;\n if (!metadata) {\n return;\n }\n const inputTokens = getTokenCount(metadata.input_tokens);\n const outputTokens = getTokenCount(metadata.output_tokens);\n const totalTokens =\n metadata.total_tokens == null\n ? inputTokens + outputTokens\n : getTokenCount(metadata.total_tokens);\n usage.inputTokens += inputTokens;\n usage.outputTokens += outputTokens;\n usage.totalTokens += totalTokens;\n}\n\nasync function callUserHandler(params: {\n userHandlers?: Record<string, t.EventHandler>;\n event: string;\n data: Parameters<t.EventHandler['handle']>[1];\n metadata?: Record<string, unknown>;\n graph?: Parameters<t.EventHandler['handle']>[3];\n}): Promise<void> {\n const handler = params.userHandlers?.[params.event];\n if (!handler) {\n return;\n }\n await handler.handle(\n params.event,\n params.data,\n params.metadata,\n params.graph\n );\n}\n\nexport function createRunHandlers(params: {\n runId: string;\n threadId: string;\n userHandlers?: Record<string, t.EventHandler>;\n onEvent?: (event: AgentSessionStreamEvent) => void;\n}): AgentSessionHandlersResult {\n const { contentParts, aggregateContent } = createContentAggregator();\n const steps: t.RunStep[] = [];\n const usage: AgentSessionUsage = {\n inputTokens: 0,\n outputTokens: 0,\n totalTokens: 0,\n };\n const events: AgentSessionStreamEvent[] = [];\n const createEvent = createEventFactory({\n runId: params.runId,\n threadId: params.threadId,\n });\n const emitEvent = (event: AgentSessionStreamEvent): void => {\n events.push(event);\n params.onEvent?.(event);\n };\n const toolEndHandler = new ToolEndHandler();\n const modelEndHandler = new ModelEndHandler();\n\n emitEvent(createEvent('run.started'));\n\n /**\n * Forwards to the host's own handler, so it inherits that handler's\n * capability. Branding matters because this wrapper is installed on EVERY\n * session run and merged last: without it, a host that registered\n * `new ChatModelStreamHandler()` would silently lose the sealing opt-out\n * that registration is supposed to buy.\n */\n const streamWrapper: t.EventHandler = {\n handle: async (event, data, metadata, graph): Promise<void> => {\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n };\n if (\n dispatchesChatModelStream(\n params.userHandlers?.[GraphEvents.CHAT_MODEL_STREAM]\n )\n ) {\n Object.defineProperty(streamWrapper, SDK_STREAM_DISPATCH, { value: true });\n }\n\n const handlers: Record<string, t.EventHandler> = {\n [GraphEvents.CHAT_MODEL_STREAM]: streamWrapper,\n [GraphEvents.CHAT_MODEL_END]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n await modelEndHandler.handle(\n event,\n data as t.ModelEndData,\n metadata,\n graph\n );\n updateUsage(usage, data as t.ModelEndData);\n emitEvent(createEvent('usage.updated', usage));\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.TOOL_END]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n await toolEndHandler.handle(\n event,\n data as t.StreamEventData,\n metadata,\n graph\n );\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_RUN_STEP]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n const runStep = data as t.RunStep;\n steps.push(runStep);\n aggregateContent({ event: GraphEvents.ON_RUN_STEP, data: runStep });\n if (runStep.stepDetails.type === 'tool_calls') {\n emitEvent(createEvent('tool.started', runStep));\n }\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_RUN_STEP_DELTA]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n const delta = data as t.RunStepDeltaEvent;\n aggregateContent({ event: GraphEvents.ON_RUN_STEP_DELTA, data: delta });\n emitEvent(createEvent('tool.delta', delta));\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_RUN_STEP_COMPLETED]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n const completed = data as unknown as { result: CompletedRunStepResult };\n aggregateContent({\n event: GraphEvents.ON_RUN_STEP_COMPLETED,\n data: completed as { result: t.ToolEndEvent },\n });\n if (isToolCompletion(completed.result)) {\n emitEvent(createEvent('tool.completed', completed));\n }\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_RUN_STEP_CLOSED]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n emitEvent(createEvent('step.finished', data as t.RunStepClosedEvent));\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_MESSAGE_DELTA]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n const delta = data as t.MessageDeltaEvent;\n aggregateContent({ event: GraphEvents.ON_MESSAGE_DELTA, data: delta });\n emitEvent(createEvent('message.delta', delta));\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_REASONING_DELTA]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n const delta = data as t.ReasoningDeltaEvent;\n aggregateContent({\n event: GraphEvents.ON_REASONING_DELTA,\n data: delta,\n });\n emitEvent(createEvent('reasoning.delta', delta));\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_SUMMARIZE_DELTA]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n aggregateContent({\n event: GraphEvents.ON_SUMMARIZE_DELTA,\n data: data as t.SummarizeDeltaData,\n });\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n [GraphEvents.ON_SUMMARIZE_COMPLETE]: {\n handle: async (event, data, metadata, graph): Promise<void> => {\n aggregateContent({\n event: GraphEvents.ON_SUMMARIZE_COMPLETE,\n data: data as t.SummarizeCompleteEvent,\n });\n await callUserHandler({\n userHandlers: params.userHandlers,\n event,\n data,\n metadata,\n graph,\n });\n },\n },\n };\n\n return { contentParts, steps, usage, events, handlers };\n}\n"],"mappings":";;;;;;;AAqBA,SAAS,iBACP,QAC0B;CAC1B,OAAO,eAAe;AACxB;AAEA,SAAS,mBAAmB,QAMC;CAC3B,IAAI,WAAW;CACf,QAAQ,MAAM,UAAU;EACtB;EACA,UAAU;EACV,OAAO,OAAO;EACd,UAAU,OAAO;EACjB,WAAWA,YAAAA,gBAAgB;EAC3B,GAAI,OAAO,SAAS,cAAc,EAAE,MAAMC,6BAAAA,YAAY,IAAI,EAAE,IAAI,CAAC;CACnE;AACF;AAEA,SAAS,cAAc,OAA0C;CAC/D,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ;AACvE;AAEA,SAAS,YAAY,OAA0B,MAA4B;CACzE,MAAM,WAAW,MAAM,QAAQ;CAG/B,IAAI,CAAC,UACH;CAEF,MAAM,cAAc,cAAc,SAAS,YAAY;CACvD,MAAM,eAAe,cAAc,SAAS,aAAa;CACzD,MAAM,cACJ,SAAS,gBAAgB,OACrB,cAAc,eACd,cAAc,SAAS,YAAY;CACzC,MAAM,eAAe;CACrB,MAAM,gBAAgB;CACtB,MAAM,eAAe;AACvB;AAEA,eAAe,gBAAgB,QAMb;CAChB,MAAM,UAAU,OAAO,eAAe,OAAO;CAC7C,IAAI,CAAC,SACH;CAEF,MAAM,QAAQ,OACZ,OAAO,OACP,OAAO,MACP,OAAO,UACP,OAAO,KACT;AACF;AAEA,SAAgB,kBAAkB,QAKH;CAC7B,MAAM,EAAE,cAAc,qBAAqBC,eAAAA,wBAAwB;CACnE,MAAM,QAAqB,CAAC;CAC5B,MAAM,QAA2B;EAC/B,aAAa;EACb,cAAc;EACd,aAAa;CACf;CACA,MAAM,SAAoC,CAAC;CAC3C,MAAM,cAAc,mBAAmB;EACrC,OAAO,OAAO;EACd,UAAU,OAAO;CACnB,CAAC;CACD,MAAM,aAAa,UAAyC;EAC1D,OAAO,KAAK,KAAK;EACjB,OAAO,UAAU,KAAK;CACxB;CACA,MAAM,iBAAiB,IAAIC,eAAAA,eAAe;CAC1C,MAAM,kBAAkB,IAAIC,eAAAA,gBAAgB;CAE5C,UAAU,YAAY,aAAa,CAAC;;;;;;;;CASpC,MAAM,gBAAgC,EACpC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;EAC7D,MAAM,gBAAgB;GACpB,cAAc,OAAO;GACrB;GACA;GACA;GACA;EACF,CAAC;CACH,EACF;CACA,IACEC,eAAAA,0BACE,OAAO,eAAA,uBACT,GAEA,OAAO,eAAe,eAAeC,eAAAA,qBAAqB,EAAE,OAAO,KAAK,CAAC;CAsK3E,OAAO;EAAE;EAAc;EAAO;EAAO;EAAQ,UAAA;6BAlKV;0BACH,EAC5B,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,gBAAgB,OACpB,OACA,MACA,UACA,KACF;IACA,YAAY,OAAO,IAAsB;IACzC,UAAU,YAAY,iBAAiB,KAAK,CAAC;IAC7C,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;oBACwB,EACtB,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,eAAe,OACnB,OACA,MACA,UACA,KACF;IACA,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;oBAC2B,EACzB,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,UAAU;IAChB,MAAM,KAAK,OAAO;IAClB,iBAAiB;KAAE,OAAA;KAAgC,MAAM;IAAQ,CAAC;IAClE,IAAI,QAAQ,YAAY,SAAS,cAC/B,UAAU,YAAY,gBAAgB,OAAO,CAAC;IAEhD,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;0BACiC,EAC/B,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,QAAQ;IACd,iBAAiB;KAAE,OAAA;KAAsC,MAAM;IAAM,CAAC;IACtE,UAAU,YAAY,cAAc,KAAK,CAAC;IAC1C,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;8BACqC,EACnC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,YAAY;IAClB,iBAAiB;KACf,OAAA;KACA,MAAM;IACR,CAAC;IACD,IAAI,iBAAiB,UAAU,MAAM,GACnC,UAAU,YAAY,kBAAkB,SAAS,CAAC;IAEpD,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;2BACkC,EAChC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,UAAU,YAAY,iBAAiB,IAA4B,CAAC;IACpE,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;yBACgC,EAC9B,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,QAAQ;IACd,iBAAiB;KAAE,OAAA;KAAqC,MAAM;IAAM,CAAC;IACrE,UAAU,YAAY,iBAAiB,KAAK,CAAC;IAC7C,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;2BACkC,EAChC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,MAAM,QAAQ;IACd,iBAAiB;KACf,OAAA;KACA,MAAM;IACR,CAAC;IACD,UAAU,YAAY,mBAAmB,KAAK,CAAC;IAC/C,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;2BACkC,EAChC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,iBAAiB;KACf,OAAA;KACM;IACR,CAAC;IACD,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;8BACqC,EACnC,QAAQ,OAAO,OAAO,MAAM,UAAU,UAAyB;IAC7D,iBAAiB;KACf,OAAA;KACM;IACR,CAAC;IACD,MAAM,gBAAgB;KACpB,cAAc,OAAO;KACrB;KACA;KACA;KACA;IACF,CAAC;GACH,EACF;EAGkD;CAAE;AACxD"}
1
+ {"version":3,"file":"handlers.cjs","names":["createTimestamp","toJsonValue","createContentAggregator","ToolEndHandler","ModelEndHandler","dispatchesChatModelStream","SDK_STREAM_DISPATCH"],"sources":["../../../src/session/handlers.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ids.cjs","names":[],"sources":["../../../src/session/ids.ts"],"sourcesContent":["import { randomUUID } from 'crypto';\n\nexport function createSessionId(): string {\n return randomUUID();\n}\n\nexport function createEntryId(): string {\n return randomUUID().replace(/-/g, '').slice(0, 12);\n}\n\nexport function createRunId(): string {\n return randomUUID();\n}\n\nexport function createTimestamp(): string {\n return new Date().toISOString();\n}\n"],"mappings":";;AAEA,SAAgB,kBAA0B;CACxC,QAAA,GAAA,OAAA,WAAA,CAAkB;AACpB;AAEA,SAAgB,gBAAwB;CACtC,QAAA,GAAA,OAAA,WAAA,CAAkB,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE;AACnD;AAEA,SAAgB,cAAsB;CACpC,QAAA,GAAA,OAAA,WAAA,CAAkB;AACpB;AAEA,SAAgB,kBAA0B;CACxC,wBAAO,IAAI,KAAK,EAAA,CAAE,YAAY;AAChC"}
1
+ {"version":3,"file":"ids.cjs","names":[],"sources":["../../../src/session/ids.ts"],"mappings":";;AAEA,SAAgB,kBAA0B;CACxC,QAAA,GAAA,OAAA,WAAA,CAAkB;AACpB;AAEA,SAAgB,gBAAwB;CACtC,QAAA,GAAA,OAAA,WAAA,CAAkB,CAAC,CAAC,QAAQ,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,EAAE;AACnD;AAEA,SAAgB,cAAsB;CACpC,QAAA,GAAA,OAAA,WAAA,CAAkB;AACpB;AAEA,SAAgB,kBAA0B;CACxC,wBAAO,IAAI,KAAK,EAAA,CAAE,YAAY;AAChC"}
@@ -62,10 +62,6 @@ function serializeMessage(message) {
62
62
  if (extras.name != null && extras.name !== "") serialized.name = extras.name;
63
63
  if (extras.tool_call_id != null && extras.tool_call_id !== "") serialized.toolCallId = extras.tool_call_id;
64
64
  if (extras.tool_calls) serialized.toolCalls = toJsonValue(extras.tool_calls);
65
- /** Malformed-call metadata must round-trip with the calls: the content
66
- * (with any raw `tool_use` blocks) survives serialization, so dropping
67
- * `invalid_tool_calls` would strand those blocks without the entries
68
- * ToolNode repairs the pairing from on restore. */
69
65
  if (extras.invalid_tool_calls && extras.invalid_tool_calls.length > 0) serialized.invalidToolCalls = toJsonValue(extras.invalid_tool_calls);
70
66
  return serialized;
71
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"messageSerialization.cjs","names":["HumanMessage","AIMessage","SystemMessage","ToolMessage","RemoveMessage"],"sources":["../../../src/session/messageSerialization.ts"],"sourcesContent":["import {\n AIMessage,\n HumanMessage,\n RemoveMessage,\n SystemMessage,\n ToolMessage,\n BaseMessage,\n} from '@langchain/core/messages';\nimport type { ToolCall, InvalidToolCall } from '@langchain/core/messages/tool';\nimport type { UsageMetadata } from '@langchain/core/messages';\nimport type { JsonObject, JsonValue, SerializedSessionMessage } from './types';\n\ntype MessageExtras = {\n id?: string;\n name?: string;\n tool_call_id?: string;\n tool_calls?: ToolCall[];\n invalid_tool_calls?: InvalidToolCall[];\n usage_metadata?: UsageMetadata;\n additional_kwargs?: unknown;\n response_metadata?: unknown;\n};\n\nconst CIRCULAR_REFERENCE = '[Circular]';\n\nfunction isJsonPrimitive(\n value: unknown\n): value is string | number | boolean | null {\n return (\n value == null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n );\n}\n\nfunction toJsonValueInternal(value: unknown, seen: WeakSet<object>): JsonValue {\n if (isJsonPrimitive(value)) {\n return Number.isNaN(value) ? null : value;\n }\n if (Array.isArray(value)) {\n if (seen.has(value)) {\n return CIRCULAR_REFERENCE;\n }\n seen.add(value);\n const result = value.map((item) => toJsonValueInternal(item, seen));\n seen.delete(value);\n return result;\n }\n if (value instanceof Error) {\n if (seen.has(value)) {\n return CIRCULAR_REFERENCE;\n }\n seen.add(value);\n const result: JsonObject = {\n name: value.name,\n message: value.message,\n };\n if (value.stack != null && value.stack !== '') {\n result.stack = value.stack;\n }\n if ('cause' in value && typeof value.cause !== 'undefined') {\n result.cause = toJsonValueInternal(value.cause, seen);\n }\n for (const [key, nested] of Object.entries(value)) {\n if (typeof nested !== 'undefined') {\n result[key] = toJsonValueInternal(nested, seen);\n }\n }\n seen.delete(value);\n return result;\n }\n if (value !== null && typeof value === 'object') {\n if (seen.has(value)) {\n return CIRCULAR_REFERENCE;\n }\n seen.add(value);\n const result: JsonObject = {};\n for (const [key, nested] of Object.entries(value)) {\n if (typeof nested !== 'undefined') {\n result[key] = toJsonValueInternal(nested, seen);\n }\n }\n seen.delete(value);\n return result;\n }\n return String(value);\n}\n\nexport function toJsonValue(value: unknown): JsonValue {\n return toJsonValueInternal(value, new WeakSet<object>());\n}\n\nfunction toJsonObject(value: unknown): JsonObject | undefined {\n if (value == null || typeof value !== 'object' || Array.isArray(value)) {\n return undefined;\n }\n return toJsonValue(value) as JsonObject;\n}\n\nfunction fromJsonValue(value: JsonValue): unknown {\n return value;\n}\n\nexport function serializeMessage(\n message: BaseMessage\n): SerializedSessionMessage {\n const extras = message as BaseMessage & MessageExtras;\n const serialized: SerializedSessionMessage = {\n messageType: message._getType(),\n content: toJsonValue(message.content),\n };\n const additionalKwargs = toJsonObject(extras.additional_kwargs);\n const responseMetadata = toJsonObject(extras.response_metadata);\n const usageMetadata = toJsonObject(extras.usage_metadata);\n if (additionalKwargs) {\n serialized.additionalKwargs = additionalKwargs;\n }\n if (responseMetadata) {\n serialized.responseMetadata = responseMetadata;\n }\n if (usageMetadata) {\n serialized.usageMetadata = usageMetadata;\n }\n if (extras.id != null && extras.id !== '') {\n serialized.id = extras.id;\n }\n if (extras.name != null && extras.name !== '') {\n serialized.name = extras.name;\n }\n if (extras.tool_call_id != null && extras.tool_call_id !== '') {\n serialized.toolCallId = extras.tool_call_id;\n }\n if (extras.tool_calls) {\n serialized.toolCalls = toJsonValue(extras.tool_calls);\n }\n /** Malformed-call metadata must round-trip with the calls: the content\n * (with any raw `tool_use` blocks) survives serialization, so dropping\n * `invalid_tool_calls` would strand those blocks without the entries\n * ToolNode repairs the pairing from on restore. */\n if (extras.invalid_tool_calls && extras.invalid_tool_calls.length > 0) {\n serialized.invalidToolCalls = toJsonValue(extras.invalid_tool_calls);\n }\n return serialized;\n}\n\nexport function deserializeMessage(\n serialized: SerializedSessionMessage\n): BaseMessage {\n const common = {\n content: fromJsonValue(serialized.content) as BaseMessage['content'],\n additional_kwargs: serialized.additionalKwargs,\n response_metadata: serialized.responseMetadata,\n id: serialized.id,\n name: serialized.name,\n };\n if (serialized.messageType === 'human') {\n return new HumanMessage(common);\n }\n if (serialized.messageType === 'ai') {\n return new AIMessage({\n ...common,\n tool_calls: serialized.toolCalls as ToolCall[] | undefined,\n invalid_tool_calls: serialized.invalidToolCalls as\n | InvalidToolCall[]\n | undefined,\n usage_metadata: serialized.usageMetadata as UsageMetadata | undefined,\n });\n }\n if (serialized.messageType === 'system') {\n return new SystemMessage(common);\n }\n if (serialized.messageType === 'tool') {\n return new ToolMessage({\n ...common,\n tool_call_id: serialized.toolCallId ?? '',\n });\n }\n if (serialized.messageType === 'remove') {\n return new RemoveMessage({\n additional_kwargs: serialized.additionalKwargs,\n response_metadata: serialized.responseMetadata,\n id: serialized.id ?? '',\n name: serialized.name,\n });\n }\n return new HumanMessage(common);\n}\n\nexport function getMessageRole(message: BaseMessage): string {\n const type = message._getType();\n if (type === 'human') {\n return 'user';\n }\n if (type === 'ai') {\n return 'assistant';\n }\n return type;\n}\n\nexport function extractTextFromContent(content: JsonValue): string {\n if (typeof content === 'string') {\n return content;\n }\n if (!Array.isArray(content)) {\n return '';\n }\n const chunks: string[] = [];\n for (const part of content) {\n if (part != null && typeof part === 'object' && !Array.isArray(part)) {\n const text = part.text;\n if (typeof text === 'string') {\n chunks.push(text);\n }\n }\n }\n return chunks.join('');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"messageSerialization.cjs","names":["HumanMessage","AIMessage","SystemMessage","ToolMessage","RemoveMessage"],"sources":["../../../src/session/messageSerialization.ts"],"mappings":"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"}
@@ -16,11 +16,6 @@ const require_intentArg = require("./tools/intentArg.cjs");
16
16
  const require_toolOutputReferences = require("./tools/toolOutputReferences.cjs");
17
17
  //#region src/stream.ts
18
18
  const LOCAL_CODING_BUNDLE_NAME_SET = new Set(require_enum.LOCAL_CODING_BUNDLE_NAMES);
19
- /**
20
- * Parses content to extract thinking sections enclosed in <think> tags using string operations
21
- * @param content The content to parse
22
- * @returns An object with separated text and thinking content
23
- */
24
19
  function parseThinkingContent(content) {
25
20
  if (!content.includes("<think>")) return {
26
21
  text: content,
@@ -54,15 +49,6 @@ function getNonEmptyValue(possibleValues) {
54
49
  for (const value of possibleValues) if (value && value.trim() !== "") return value;
55
50
  }
56
51
  function isBatchSensitiveToolExecution(graph, metadata) {
57
- /**
58
- * Resolve the hook-session id exactly the way ToolNode will: its hook
59
- * lookups read `config.configurable.run_id` ONLY, so that source wins here
60
- * too (a subagent child graph carries its own `graph.runId`, but its
61
- * ToolNode executes hooks under the PARENT's inherited configurable run
62
- * id). The metadata / graph.runId fallbacks only apply when no
63
- * configurable id exists and can only be conservative — a false positive
64
- * merely skips eager prestart.
65
- */
66
52
  const runId = graph.config?.configurable?.run_id ?? metadata?.run_id ?? graph.runId;
67
53
  return graph.hookRegistry?.hasResultAlteringHooks(runId) === true || graph.humanInTheLoop?.enabled === true;
68
54
  }
@@ -142,11 +128,6 @@ function canPrestartSequentialStreamedToolChunks(agentContext) {
142
128
  function hasExplicitStreamedToolCallSeals(chunk) {
143
129
  return require_streamedToolCallSeals.getStreamedToolCallAdapter(chunk.response_metadata) != null;
144
130
  }
145
- /**
146
- * True when a provider adapter marked every tool call on this chunk as
147
- * complete on arrival (seal kind `all`), e.g. Google GenAI / Vertex AI, whose
148
- * protocol delivers function calls as whole objects rather than arg deltas.
149
- */
150
131
  function hasOnArrivalToolCallSeal(chunk) {
151
132
  const metadata = chunk.response_metadata;
152
133
  return require_streamedToolCallSeals.getStreamedToolCallAdapter(metadata) != null && require_streamedToolCallSeals.getStreamedToolCallSeal(metadata)?.kind === "all";
@@ -594,18 +575,7 @@ function shouldSkipLateOpenRouterReasoningChunk({ chunk, agentContext, graph, me
594
575
  metadata
595
576
  });
596
577
  }
597
- /**
598
- * Brands a handler as one that dispatches content parts for the SDK — either
599
- * `ChatModelStreamHandler` itself or a wrapper forwarding to one.
600
- *
601
- * Identity alone is not a usable contract here. Hosts compose and wrap
602
- * handlers (`composeEventHandlers`, `createRunHandlers`), and every wrapper
603
- * fails `instanceof` while still driving the same dispatch. A brand survives
604
- * wrapping, so "does this handler own content-part dispatch" can be answered
605
- * about a value the SDK did not construct.
606
- */
607
578
  const SDK_STREAM_DISPATCH = Symbol.for("@librechat/agents:chatModelStreamDispatch");
608
- /** True when `handler` is, or forwards to, the SDK's stream dispatcher. */
609
579
  function dispatchesChatModelStream(handler) {
610
580
  if (handler == null) return false;
611
581
  if (handler instanceof ChatModelStreamHandler) return true;
@@ -621,50 +591,20 @@ var ChatModelStreamHandler = class {
621
591
  return;
622
592
  }
623
593
  const chunk = data.chunk;
624
- /** Attempts stamp their breaker epoch into event metadata; a mismatch
625
- * marks a straggling chunk from a failed run that outlived
626
- * `resetValues()`. Dropped OUTRIGHT: content handling and the eager
627
- * paths below compose the LIVE controller, so acting on a dead run's
628
- * chunk could dispatch host tools into the run now using it. Events
629
- * without a stamp (direct handler callers, partial stubs) keep the
630
- * live-controller behavior. */
631
594
  const eventEpoch = metadata?.[require_streamLimits.STREAM_LIMIT_EPOCH_KEY];
632
- /** Runtime-honest widening: partial handler stubs carry neither an
633
- * epoch nor a run scope despite the field types. */
634
595
  const liveEpoch = graph.breakerEpoch;
635
596
  if (eventEpoch != null && liveEpoch != null && eventEpoch !== liveEpoch) return;
636
597
  const eventBreaker = graph.breakerAbort instanceof AbortController ? graph.breakerAbort : void 0;
637
- /** Immutable scope captured at handler entry. A reset while this
638
- * handler is suspended in an await replaces the object, so ONE
639
- * reference comparison proves the event still belongs to the live run
640
- * before anything composes `graph.breakerAbort` or `graph.config`. */
641
598
  const entryRunScope = graph.runScope;
642
599
  const runScopeInvalidated = () => entryRunScope != null && graph.runScope !== entryRunScope;
643
600
  const throwIfRunBreakerTripped = () => {
644
601
  if (eventBreaker != null && eventBreaker.signal.aborted && eventBreaker.signal.reason instanceof require_streamLimits.StreamLimitExceededError) throw eventBreaker.signal.reason;
645
602
  };
646
- /**
647
- * Enforced before every content-specific early return below
648
- * (server-tool results, deferred mixed reasoning, late OpenRouter
649
- * reasoning): a looping provider can flood through any of those paths,
650
- * a coalesced event can carry client `tool_call_chunks` alongside a
651
- * server-tool result, and the complete-call dispatch branch further
652
- * down can prestart a side-effecting tool from an arrival-sealed
653
- * oversized call. Charging is claim-based: the producer loop and this
654
- * decoupled echo can observe the same chunk object in either order, and
655
- * only the first claimer charges it. The argument guard is
656
- * deliberately NOT gated on numeric chunk indices, so id-only or
657
- * index-less runaway streams stay bounded, and complete parsed
658
- * `tool_calls` without a raw chunk representation are judged standalone.
659
- */
660
603
  if (require_streamLimits.requiresStreamLimitAccounting(graph, chunk) && require_streamLimits.claimStreamLimitCharge(graph, data.chunk, "consumer", metadata)) try {
661
604
  require_streamLimits.enforceStreamDeltaEventLimit({
662
605
  graph,
663
606
  metadata
664
607
  });
665
- /** Combined first so raw-chunk name correlation sees invalid calls
666
- * too; an unnamed raw chunk twinned with a named invalid call must
667
- * select that tool's override, not the global cap. */
668
608
  const completeCalls = require_streamLimits.combineCompleteToolCalls(chunk);
669
609
  if (chunk.tool_call_chunks && chunk.tool_call_chunks.length > 0) require_streamLimits.enforceStreamedToolCallArgLimit({
670
610
  graph,
@@ -673,34 +613,15 @@ var ChatModelStreamHandler = class {
673
613
  responseMetadata: chunk.response_metadata,
674
614
  parsedToolCalls: completeCalls
675
615
  });
676
- /** Judged whenever parsed calls are present, not only when raw
677
- * chunks are absent — an adapter can pair an empty or partial raw
678
- * chunk with a complete parsed call; the standalone check is
679
- * stateless, so the common both-present case is not double-tallied.
680
- * Invalid calls are included because ToolNode processes and
681
- * promotes them. */
682
616
  if (completeCalls != null) require_streamLimits.enforceCompleteToolCallArgLimit({
683
617
  graph,
684
618
  metadata,
685
619
  toolCalls: completeCalls
686
620
  });
687
621
  } catch (error) {
688
- /** A breach detected on this consumer path must still stop parallel
689
- * fan-out work: the producer skips its own enforcement once this
690
- * side has claimed the emission, so createCallModel's breaker-abort
691
- * never fires for it. Trip the EVENT's run-bound breaker before the
692
- * throw rejects the run — never the live controller of a newer run. */
693
622
  if (error instanceof require_streamLimits.StreamLimitExceededError && eventBreaker != null) eventBreaker.abort(error);
694
623
  throw error;
695
624
  }
696
- /** A parallel producer can trip the shared breaker while this event was
697
- * already queued in `streamEvents`. Stop before content handling or the
698
- * eager-tool paths below — those can dispatch a side-effecting host
699
- * tool with an already-aborted signal the handler never inspects.
700
- * Rechecked again immediately before each eager dispatch: the awaits in
701
- * between (server-tool results, tool-call handling, content dispatch)
702
- * are windows for a sibling's trip — or for a full reset, after which
703
- * this event belongs to a dead run and is dropped. */
704
625
  if (runScopeInvalidated()) return;
705
626
  throwIfRunBreakerTripped();
706
627
  const agentContext = graph.getAgentContext(metadata);
@@ -768,7 +689,6 @@ var ChatModelStreamHandler = class {
768
689
  });
769
690
  }
770
691
  const isEmptyContent = typeof content === "undefined" || !content.length || typeof content === "string" && !content;
771
- /** Set a preliminary message ID if found in empty chunk */
772
692
  const isEmptyChunk = isEmptyContent && !hasToolCallChunks;
773
693
  if (isEmptyChunk && (chunk.id ?? "") !== "" && !graph.prelimMessageIdsByStepKey.has(chunk.id ?? "")) graph.prelimMessageIdsByStepKey.set(stepKey, chunk.id ?? "");
774
694
  else if (isEmptyChunk) return;
@@ -951,12 +871,8 @@ function createContentAggregator() {
951
871
  const sourceContentIndexMap = /* @__PURE__ */ new Map();
952
872
  const toolStepContentMap = /* @__PURE__ */ new Map();
953
873
  let indexedContentLength = 0;
954
- /** Physical append cursor; event/chunk indices are correlation keys, not array offsets. */
955
874
  let nextContentIndex = 0;
956
875
  const contentMetaMap = /* @__PURE__ */ new Map();
957
- /** A delta's content may carry several parts (e.g. Google server-side tool
958
- * chunks emit multiple reasoning entries at once); every entry must reach
959
- * the step's slot, in order, or streamed text is silently lost. */
960
876
  const getDeltaContentParts = (content) => {
961
877
  if (content == null) return [];
962
878
  return Array.isArray(content) ? content : [content];
@@ -977,7 +893,6 @@ function createContentAggregator() {
977
893
  }
978
894
  };
979
895
  const syncSeededContent = () => {
980
- /** Hosts can seed pre-pause content after creating the aggregator. */
981
896
  for (let index = indexedContentLength; index < contentParts.length; index++) indexContentPart(index, contentParts[index]);
982
897
  indexedContentLength = contentParts.length;
983
898
  nextContentIndex = Math.max(nextContentIndex, contentParts.length);
@@ -1058,10 +973,6 @@ function createContentAggregator() {
1058
973
  return;
1059
974
  }
1060
975
  const incomingText = "text" in contentPart && typeof contentPart.text === "string" ? contentPart.text : void 0;
1061
- /**
1062
- * Anthropic emits a search turn's citations as their own `citations_delta`,
1063
- * which arrives here as a text part carrying `citations` and no `text`.
1064
- */
1065
976
  const { citations } = contentPart;
1066
977
  const incomingCitations = Array.isArray(citations) ? citations : void 0;
1067
978
  if (partType.startsWith("text") && (incomingText !== void 0 || incomingCitations !== void 0)) {
@@ -1071,9 +982,7 @@ function createContentAggregator() {
1071
982
  text: (currentContent.text || "") + (incomingText ?? "")
1072
983
  };
1073
984
  if (contentPart.tool_call_ids) update.tool_call_ids = contentPart.tool_call_ids;
1074
- else if (incomingText === void 0 && currentContent.tool_call_ids)
1075
- /** A citations-only delta must not drop ids already accumulated */
1076
- update.tool_call_ids = currentContent.tool_call_ids;
985
+ else if (incomingText === void 0 && currentContent.tool_call_ids) update.tool_call_ids = currentContent.tool_call_ids;
1077
986
  if (incomingCitations !== void 0) update.citations = currentContent.citations !== void 0 ? [...currentContent.citations, ...incomingCitations] : [...incomingCitations];
1078
987
  else if (currentContent.citations !== void 0) update.citations = currentContent.citations;
1079
988
  contentParts[index] = update;
@@ -1101,7 +1010,6 @@ function createContentAggregator() {
1101
1010
  if (!(incomingName != null && incomingName !== "") && !finalUpdate) return;
1102
1011
  const existingContent = contentParts[index];
1103
1012
  if (!finalUpdate && existingContent?.tool_call?.progress === 1) return;
1104
- /** When args are a valid object, they are likely already invoked */
1105
1013
  let args = finalUpdate || typeof existingContent?.tool_call?.args === "object" || typeof toolCallArgs === "object" ? contentPart.tool_call.args : (existingContent?.tool_call?.args ?? "") + (toolCallArgs ?? "");
1106
1014
  if (finalUpdate && args == null && existingContent?.tool_call?.args != null) args = existingContent.tool_call.args;
1107
1015
  const id = getNonEmptyValue([incomingId, existingContent?.tool_call?.id]) ?? "";