@librechat/agents 3.4.7 → 3.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (924) hide show
  1. package/dist/cjs/agents/AgentContext.cjs +0 -356
  2. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  3. package/dist/cjs/agents/projection.cjs +0 -9
  4. package/dist/cjs/agents/projection.cjs.map +1 -1
  5. package/dist/cjs/common/constants.cjs +0 -26
  6. package/dist/cjs/common/constants.cjs.map +1 -1
  7. package/dist/cjs/common/enum.cjs +0 -85
  8. package/dist/cjs/common/enum.cjs.map +1 -1
  9. package/dist/cjs/events.cjs +0 -14
  10. package/dist/cjs/events.cjs.map +1 -1
  11. package/dist/cjs/graphs/Graph.cjs +1 -909
  12. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  13. package/dist/cjs/graphs/MultiAgentGraph.cjs +7 -272
  14. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  15. package/dist/cjs/graphs/applyGraphRuntimeConfig.cjs.map +1 -1
  16. package/dist/cjs/graphs/createGraph.cjs.map +1 -1
  17. package/dist/cjs/hitl/askUserQuestion.cjs +0 -53
  18. package/dist/cjs/hitl/askUserQuestion.cjs.map +1 -1
  19. package/dist/cjs/hitl/askUserQuestions.cjs +0 -20
  20. package/dist/cjs/hitl/askUserQuestions.cjs.map +1 -1
  21. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs +0 -6
  22. package/dist/cjs/hitl/askUserQuestionsInterrupt.cjs.map +1 -1
  23. package/dist/cjs/hooks/HookRegistry.cjs +0 -127
  24. package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
  25. package/dist/cjs/hooks/createToolPolicyHook.cjs +0 -38
  26. package/dist/cjs/hooks/createToolPolicyHook.cjs.map +1 -1
  27. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +0 -77
  28. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs.map +1 -1
  29. package/dist/cjs/hooks/executeHooks.cjs +0 -79
  30. package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
  31. package/dist/cjs/hooks/index.cjs +0 -16
  32. package/dist/cjs/hooks/index.cjs.map +1 -1
  33. package/dist/cjs/hooks/matchers.cjs +0 -104
  34. package/dist/cjs/hooks/matchers.cjs.map +1 -1
  35. package/dist/cjs/hooks/types.cjs +0 -8
  36. package/dist/cjs/hooks/types.cjs.map +1 -1
  37. package/dist/cjs/instrumentation.cjs +0 -14
  38. package/dist/cjs/instrumentation.cjs.map +1 -1
  39. package/dist/cjs/langfuse.cjs +0 -75
  40. package/dist/cjs/langfuse.cjs.map +1 -1
  41. package/dist/cjs/langfuseConfig.cjs.map +1 -1
  42. package/dist/cjs/langfuseRuntimeContext.cjs +0 -13
  43. package/dist/cjs/langfuseRuntimeContext.cjs.map +1 -1
  44. package/dist/cjs/langfuseRuntimeScope.cjs +0 -4
  45. package/dist/cjs/langfuseRuntimeScope.cjs.map +1 -1
  46. package/dist/cjs/langfuseSpanRegistry.cjs +0 -28
  47. package/dist/cjs/langfuseSpanRegistry.cjs.map +1 -1
  48. package/dist/cjs/langfuseToolOutputTracing.cjs +0 -3
  49. package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
  50. package/dist/cjs/langfuseTraceShaping.cjs +0 -74
  51. package/dist/cjs/langfuseTraceShaping.cjs.map +1 -1
  52. package/dist/cjs/llm/anthropic/index.cjs +0 -3
  53. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  54. package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
  55. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +1 -111
  56. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  57. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +0 -1
  58. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
  59. package/dist/cjs/llm/anthropic/utils/stream_events.cjs +0 -8
  60. package/dist/cjs/llm/anthropic/utils/stream_events.cjs.map +1 -1
  61. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
  62. package/dist/cjs/llm/bedrock/cachePoints.cjs.map +1 -1
  63. package/dist/cjs/llm/bedrock/index.cjs +1 -95
  64. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  65. package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
  66. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +0 -78
  67. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
  68. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +0 -24
  69. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
  70. package/dist/cjs/llm/contextOverflowRecovery.cjs +0 -62
  71. package/dist/cjs/llm/contextOverflowRecovery.cjs.map +1 -1
  72. package/dist/cjs/llm/fake.cjs.map +1 -1
  73. package/dist/cjs/llm/google/index.cjs +2 -21
  74. package/dist/cjs/llm/google/index.cjs.map +1 -1
  75. package/dist/cjs/llm/google/utils/common.cjs +0 -35
  76. package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
  77. package/dist/cjs/llm/init.cjs +0 -9
  78. package/dist/cjs/llm/init.cjs.map +1 -1
  79. package/dist/cjs/llm/invoke.cjs +1 -270
  80. package/dist/cjs/llm/invoke.cjs.map +1 -1
  81. package/dist/cjs/llm/mistral/index.cjs.map +1 -1
  82. package/dist/cjs/llm/openai/index.cjs +0 -99
  83. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  84. package/dist/cjs/llm/openai/streamMetadata.cjs +0 -21
  85. package/dist/cjs/llm/openai/streamMetadata.cjs.map +1 -1
  86. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  87. package/dist/cjs/llm/openrouter/index.cjs +0 -1
  88. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  89. package/dist/cjs/llm/openrouter/toolCache.cjs +0 -6
  90. package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
  91. package/dist/cjs/llm/preempt.cjs +0 -75
  92. package/dist/cjs/llm/preempt.cjs.map +1 -1
  93. package/dist/cjs/llm/providers.cjs.map +1 -1
  94. package/dist/cjs/llm/request.cjs +0 -10
  95. package/dist/cjs/llm/request.cjs.map +1 -1
  96. package/dist/cjs/llm/stream/chunkAdapters.cjs +0 -62
  97. package/dist/cjs/llm/stream/chunkAdapters.cjs.map +1 -1
  98. package/dist/cjs/llm/stream/smoother.cjs +0 -58
  99. package/dist/cjs/llm/stream/smoother.cjs.map +1 -1
  100. package/dist/cjs/llm/streamLimits.cjs +4 -293
  101. package/dist/cjs/llm/streamLimits.cjs.map +1 -1
  102. package/dist/cjs/llm/truncation.cjs +0 -36
  103. package/dist/cjs/llm/truncation.cjs.map +1 -1
  104. package/dist/cjs/llm/vertexai/index.cjs +0 -330
  105. package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
  106. package/dist/cjs/messages/alternation.cjs +0 -43
  107. package/dist/cjs/messages/alternation.cjs.map +1 -1
  108. package/dist/cjs/messages/anthropicToolCache.cjs +0 -45
  109. package/dist/cjs/messages/anthropicToolCache.cjs.map +1 -1
  110. package/dist/cjs/messages/assistantPhase.cjs +0 -12
  111. package/dist/cjs/messages/assistantPhase.cjs.map +1 -1
  112. package/dist/cjs/messages/budget.cjs +0 -9
  113. package/dist/cjs/messages/budget.cjs.map +1 -1
  114. package/dist/cjs/messages/cache.cjs +0 -172
  115. package/dist/cjs/messages/cache.cjs.map +1 -1
  116. package/dist/cjs/messages/content.cjs +0 -9
  117. package/dist/cjs/messages/content.cjs.map +1 -1
  118. package/dist/cjs/messages/contextPruning.cjs +0 -15
  119. package/dist/cjs/messages/contextPruning.cjs.map +1 -1
  120. package/dist/cjs/messages/contextPruningSettings.cjs +0 -3
  121. package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -1
  122. package/dist/cjs/messages/core.cjs +0 -48
  123. package/dist/cjs/messages/core.cjs.map +1 -1
  124. package/dist/cjs/messages/format.cjs +1 -345
  125. package/dist/cjs/messages/format.cjs.map +1 -1
  126. package/dist/cjs/messages/handoffCue.cjs +0 -36
  127. package/dist/cjs/messages/handoffCue.cjs.map +1 -1
  128. package/dist/cjs/messages/ids.cjs.map +1 -1
  129. package/dist/cjs/messages/injected.cjs +0 -33
  130. package/dist/cjs/messages/injected.cjs.map +1 -1
  131. package/dist/cjs/messages/langchain.cjs +0 -14
  132. package/dist/cjs/messages/langchain.cjs.map +1 -1
  133. package/dist/cjs/messages/prune.cjs +1 -184
  134. package/dist/cjs/messages/prune.cjs.map +1 -1
  135. package/dist/cjs/messages/recency.cjs +0 -32
  136. package/dist/cjs/messages/recency.cjs.map +1 -1
  137. package/dist/cjs/messages/reducer.cjs +0 -30
  138. package/dist/cjs/messages/reducer.cjs.map +1 -1
  139. package/dist/cjs/messages/tools.cjs +0 -14
  140. package/dist/cjs/messages/tools.cjs.map +1 -1
  141. package/dist/cjs/openai/index.cjs.map +1 -1
  142. package/dist/cjs/prompts/activityLabel.cjs +9 -79
  143. package/dist/cjs/prompts/activityLabel.cjs.map +1 -1
  144. package/dist/cjs/responses/index.cjs.map +1 -1
  145. package/dist/cjs/run.cjs +2 -538
  146. package/dist/cjs/run.cjs.map +1 -1
  147. package/dist/cjs/session/AgentSession.cjs +1 -17
  148. package/dist/cjs/session/AgentSession.cjs.map +1 -1
  149. package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
  150. package/dist/cjs/session/handlers.cjs +0 -7
  151. package/dist/cjs/session/handlers.cjs.map +1 -1
  152. package/dist/cjs/session/ids.cjs.map +1 -1
  153. package/dist/cjs/session/messageSerialization.cjs +0 -4
  154. package/dist/cjs/session/messageSerialization.cjs.map +1 -1
  155. package/dist/cjs/stream.cjs +1 -93
  156. package/dist/cjs/stream.cjs.map +1 -1
  157. package/dist/cjs/summarization/index.cjs +0 -27
  158. package/dist/cjs/summarization/index.cjs.map +1 -1
  159. package/dist/cjs/summarization/node.cjs +0 -273
  160. package/dist/cjs/summarization/node.cjs.map +1 -1
  161. package/dist/cjs/tools/BashExecutor.cjs +0 -35
  162. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  163. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +0 -24
  164. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  165. package/dist/cjs/tools/Calculator.cjs.map +1 -1
  166. package/dist/cjs/tools/CodeExecutor.cjs +0 -13
  167. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  168. package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
  169. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +0 -101
  170. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  171. package/dist/cjs/tools/ReadFile.cjs.map +1 -1
  172. package/dist/cjs/tools/SkillTool.cjs +0 -5
  173. package/dist/cjs/tools/SkillTool.cjs.map +1 -1
  174. package/dist/cjs/tools/SubagentTool.cjs +0 -10
  175. package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
  176. package/dist/cjs/tools/ToolNode.cjs +6 -1038
  177. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  178. package/dist/cjs/tools/ToolSearch.cjs +0 -179
  179. package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
  180. package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -1
  181. package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -1
  182. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +0 -39
  183. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -1
  184. package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -1
  185. package/dist/cjs/tools/eagerEventExecution.cjs +0 -6
  186. package/dist/cjs/tools/eagerEventExecution.cjs.map +1 -1
  187. package/dist/cjs/tools/handlers.cjs +1 -41
  188. package/dist/cjs/tools/handlers.cjs.map +1 -1
  189. package/dist/cjs/tools/intentArg.cjs +1 -132
  190. package/dist/cjs/tools/intentArg.cjs.map +1 -1
  191. package/dist/cjs/tools/local/CompileCheckTool.cjs +0 -25
  192. package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
  193. package/dist/cjs/tools/local/FileCheckpointer.cjs +0 -23
  194. package/dist/cjs/tools/local/FileCheckpointer.cjs.map +1 -1
  195. package/dist/cjs/tools/local/LocalCodingTools.cjs +0 -80
  196. package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
  197. package/dist/cjs/tools/local/LocalExecutionEngine.cjs +0 -126
  198. package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
  199. package/dist/cjs/tools/local/LocalExecutionTools.cjs.map +1 -1
  200. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +0 -12
  201. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
  202. package/dist/cjs/tools/local/attachments.cjs +0 -44
  203. package/dist/cjs/tools/local/attachments.cjs.map +1 -1
  204. package/dist/cjs/tools/local/bashAst.cjs +0 -16
  205. package/dist/cjs/tools/local/bashAst.cjs.map +1 -1
  206. package/dist/cjs/tools/local/editStrategies.cjs +0 -14
  207. package/dist/cjs/tools/local/editStrategies.cjs.map +1 -1
  208. package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
  209. package/dist/cjs/tools/local/syntaxCheck.cjs +0 -31
  210. package/dist/cjs/tools/local/syntaxCheck.cjs.map +1 -1
  211. package/dist/cjs/tools/local/textEncoding.cjs +0 -11
  212. package/dist/cjs/tools/local/textEncoding.cjs.map +1 -1
  213. package/dist/cjs/tools/local/workspaceFS.cjs +0 -33
  214. package/dist/cjs/tools/local/workspaceFS.cjs.map +1 -1
  215. package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
  216. package/dist/cjs/tools/schema.cjs +0 -8
  217. package/dist/cjs/tools/schema.cjs.map +1 -1
  218. package/dist/cjs/tools/search/anthropic.cjs +0 -9
  219. package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
  220. package/dist/cjs/tools/search/content.cjs.map +1 -1
  221. package/dist/cjs/tools/search/crw-scraper.cjs +0 -33
  222. package/dist/cjs/tools/search/crw-scraper.cjs.map +1 -1
  223. package/dist/cjs/tools/search/crw-search.cjs +0 -2
  224. package/dist/cjs/tools/search/crw-search.cjs.map +1 -1
  225. package/dist/cjs/tools/search/firecrawl.cjs +0 -25
  226. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
  227. package/dist/cjs/tools/search/format.cjs +0 -30
  228. package/dist/cjs/tools/search/format.cjs.map +1 -1
  229. package/dist/cjs/tools/search/highlights.cjs +0 -16
  230. package/dist/cjs/tools/search/highlights.cjs.map +1 -1
  231. package/dist/cjs/tools/search/keenable-scraper.cjs +0 -8
  232. package/dist/cjs/tools/search/keenable-scraper.cjs.map +1 -1
  233. package/dist/cjs/tools/search/keenable-search.cjs +0 -7
  234. package/dist/cjs/tools/search/keenable-search.cjs.map +1 -1
  235. package/dist/cjs/tools/search/rerankers.cjs +0 -35
  236. package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
  237. package/dist/cjs/tools/search/schema.cjs +0 -1
  238. package/dist/cjs/tools/search/schema.cjs.map +1 -1
  239. package/dist/cjs/tools/search/search.cjs +1 -14
  240. package/dist/cjs/tools/search/search.cjs.map +1 -1
  241. package/dist/cjs/tools/search/serper-scraper.cjs +0 -46
  242. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
  243. package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -1
  244. package/dist/cjs/tools/search/tavily-search.cjs.map +1 -1
  245. package/dist/cjs/tools/search/tool.cjs +0 -25
  246. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  247. package/dist/cjs/tools/search/utils.cjs +0 -8
  248. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  249. package/dist/cjs/tools/skillCatalog.cjs +0 -6
  250. package/dist/cjs/tools/skillCatalog.cjs.map +1 -1
  251. package/dist/cjs/tools/streamedToolCallSeals.cjs +0 -6
  252. package/dist/cjs/tools/streamedToolCallSeals.cjs.map +1 -1
  253. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs +0 -2
  254. package/dist/cjs/tools/subagent/SubagentExecutionRegistry.cjs.map +1 -1
  255. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +3 -213
  256. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  257. package/dist/cjs/tools/subagent/SubagentReplay.cjs.map +1 -1
  258. package/dist/cjs/tools/subagent/childGraphConfig.cjs +0 -4
  259. package/dist/cjs/tools/subagent/childGraphConfig.cjs.map +1 -1
  260. package/dist/cjs/tools/subagent/runtimeLimits.cjs.map +1 -1
  261. package/dist/cjs/tools/toolOutputReferences.cjs +1 -322
  262. package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
  263. package/dist/cjs/types/hitl.cjs +0 -5
  264. package/dist/cjs/types/hitl.cjs.map +1 -1
  265. package/dist/cjs/utils/callbacks.cjs.map +1 -1
  266. package/dist/cjs/utils/errors.cjs +14 -165
  267. package/dist/cjs/utils/errors.cjs.map +1 -1
  268. package/dist/cjs/utils/events.cjs +0 -10
  269. package/dist/cjs/utils/events.cjs.map +1 -1
  270. package/dist/cjs/utils/graph.cjs.map +1 -1
  271. package/dist/cjs/utils/handlers.cjs +0 -3
  272. package/dist/cjs/utils/handlers.cjs.map +1 -1
  273. package/dist/cjs/utils/llm.cjs +0 -1
  274. package/dist/cjs/utils/llm.cjs.map +1 -1
  275. package/dist/cjs/utils/misc.cjs +0 -16
  276. package/dist/cjs/utils/misc.cjs.map +1 -1
  277. package/dist/cjs/utils/proxy.cjs +0 -26
  278. package/dist/cjs/utils/proxy.cjs.map +1 -1
  279. package/dist/cjs/utils/run.cjs +0 -6
  280. package/dist/cjs/utils/run.cjs.map +1 -1
  281. package/dist/cjs/utils/schema.cjs +0 -5
  282. package/dist/cjs/utils/schema.cjs.map +1 -1
  283. package/dist/cjs/utils/title.cjs +0 -6
  284. package/dist/cjs/utils/title.cjs.map +1 -1
  285. package/dist/cjs/utils/tokens.cjs +0 -113
  286. package/dist/cjs/utils/tokens.cjs.map +1 -1
  287. package/dist/cjs/utils/toolContent.cjs +0 -41
  288. package/dist/cjs/utils/toolContent.cjs.map +1 -1
  289. package/dist/cjs/utils/truncation.cjs +0 -61
  290. package/dist/cjs/utils/truncation.cjs.map +1 -1
  291. package/dist/esm/agents/AgentContext.mjs +0 -356
  292. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  293. package/dist/esm/agents/projection.mjs +0 -9
  294. package/dist/esm/agents/projection.mjs.map +1 -1
  295. package/dist/esm/common/constants.mjs +0 -26
  296. package/dist/esm/common/constants.mjs.map +1 -1
  297. package/dist/esm/common/enum.mjs +0 -85
  298. package/dist/esm/common/enum.mjs.map +1 -1
  299. package/dist/esm/events.mjs +0 -14
  300. package/dist/esm/events.mjs.map +1 -1
  301. package/dist/esm/graphs/Graph.mjs +1 -909
  302. package/dist/esm/graphs/Graph.mjs.map +1 -1
  303. package/dist/esm/graphs/MultiAgentGraph.mjs +7 -272
  304. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  305. package/dist/esm/graphs/applyGraphRuntimeConfig.mjs.map +1 -1
  306. package/dist/esm/graphs/createGraph.mjs.map +1 -1
  307. package/dist/esm/hitl/askUserQuestion.mjs +0 -53
  308. package/dist/esm/hitl/askUserQuestion.mjs.map +1 -1
  309. package/dist/esm/hitl/askUserQuestions.mjs +0 -20
  310. package/dist/esm/hitl/askUserQuestions.mjs.map +1 -1
  311. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs +0 -6
  312. package/dist/esm/hitl/askUserQuestionsInterrupt.mjs.map +1 -1
  313. package/dist/esm/hooks/HookRegistry.mjs +0 -127
  314. package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
  315. package/dist/esm/hooks/createToolPolicyHook.mjs +0 -38
  316. package/dist/esm/hooks/createToolPolicyHook.mjs.map +1 -1
  317. package/dist/esm/hooks/createWorkspacePolicyHook.mjs +0 -77
  318. package/dist/esm/hooks/createWorkspacePolicyHook.mjs.map +1 -1
  319. package/dist/esm/hooks/executeHooks.mjs +0 -79
  320. package/dist/esm/hooks/executeHooks.mjs.map +1 -1
  321. package/dist/esm/hooks/index.mjs +0 -16
  322. package/dist/esm/hooks/index.mjs.map +1 -1
  323. package/dist/esm/hooks/matchers.mjs +0 -104
  324. package/dist/esm/hooks/matchers.mjs.map +1 -1
  325. package/dist/esm/hooks/types.mjs +0 -8
  326. package/dist/esm/hooks/types.mjs.map +1 -1
  327. package/dist/esm/instrumentation.mjs +0 -14
  328. package/dist/esm/instrumentation.mjs.map +1 -1
  329. package/dist/esm/langfuse.mjs +0 -75
  330. package/dist/esm/langfuse.mjs.map +1 -1
  331. package/dist/esm/langfuseConfig.mjs.map +1 -1
  332. package/dist/esm/langfuseRuntimeContext.mjs +0 -13
  333. package/dist/esm/langfuseRuntimeContext.mjs.map +1 -1
  334. package/dist/esm/langfuseRuntimeScope.mjs +0 -4
  335. package/dist/esm/langfuseRuntimeScope.mjs.map +1 -1
  336. package/dist/esm/langfuseSpanRegistry.mjs +0 -28
  337. package/dist/esm/langfuseSpanRegistry.mjs.map +1 -1
  338. package/dist/esm/langfuseToolOutputTracing.mjs +0 -3
  339. package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
  340. package/dist/esm/langfuseTraceShaping.mjs +0 -74
  341. package/dist/esm/langfuseTraceShaping.mjs.map +1 -1
  342. package/dist/esm/llm/anthropic/index.mjs +0 -3
  343. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  344. package/dist/esm/llm/anthropic/types.mjs.map +1 -1
  345. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +1 -111
  346. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  347. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +0 -1
  348. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
  349. package/dist/esm/llm/anthropic/utils/stream_events.mjs +0 -8
  350. package/dist/esm/llm/anthropic/utils/stream_events.mjs.map +1 -1
  351. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
  352. package/dist/esm/llm/bedrock/cachePoints.mjs.map +1 -1
  353. package/dist/esm/llm/bedrock/index.mjs +1 -95
  354. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  355. package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
  356. package/dist/esm/llm/bedrock/utils/message_inputs.mjs +0 -78
  357. package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
  358. package/dist/esm/llm/bedrock/utils/message_outputs.mjs +0 -24
  359. package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
  360. package/dist/esm/llm/contextOverflowRecovery.mjs +0 -62
  361. package/dist/esm/llm/contextOverflowRecovery.mjs.map +1 -1
  362. package/dist/esm/llm/fake.mjs.map +1 -1
  363. package/dist/esm/llm/google/index.mjs +2 -21
  364. package/dist/esm/llm/google/index.mjs.map +1 -1
  365. package/dist/esm/llm/google/utils/common.mjs +0 -35
  366. package/dist/esm/llm/google/utils/common.mjs.map +1 -1
  367. package/dist/esm/llm/init.mjs +0 -9
  368. package/dist/esm/llm/init.mjs.map +1 -1
  369. package/dist/esm/llm/invoke.mjs +1 -270
  370. package/dist/esm/llm/invoke.mjs.map +1 -1
  371. package/dist/esm/llm/mistral/index.mjs.map +1 -1
  372. package/dist/esm/llm/openai/index.mjs +0 -99
  373. package/dist/esm/llm/openai/index.mjs.map +1 -1
  374. package/dist/esm/llm/openai/streamMetadata.mjs +0 -21
  375. package/dist/esm/llm/openai/streamMetadata.mjs.map +1 -1
  376. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  377. package/dist/esm/llm/openrouter/index.mjs +0 -1
  378. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  379. package/dist/esm/llm/openrouter/toolCache.mjs +0 -6
  380. package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
  381. package/dist/esm/llm/preempt.mjs +0 -75
  382. package/dist/esm/llm/preempt.mjs.map +1 -1
  383. package/dist/esm/llm/providers.mjs.map +1 -1
  384. package/dist/esm/llm/request.mjs +0 -10
  385. package/dist/esm/llm/request.mjs.map +1 -1
  386. package/dist/esm/llm/stream/chunkAdapters.mjs +0 -62
  387. package/dist/esm/llm/stream/chunkAdapters.mjs.map +1 -1
  388. package/dist/esm/llm/stream/smoother.mjs +0 -58
  389. package/dist/esm/llm/stream/smoother.mjs.map +1 -1
  390. package/dist/esm/llm/streamLimits.mjs +4 -293
  391. package/dist/esm/llm/streamLimits.mjs.map +1 -1
  392. package/dist/esm/llm/truncation.mjs +0 -36
  393. package/dist/esm/llm/truncation.mjs.map +1 -1
  394. package/dist/esm/llm/vertexai/index.mjs +0 -330
  395. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  396. package/dist/esm/messages/alternation.mjs +0 -43
  397. package/dist/esm/messages/alternation.mjs.map +1 -1
  398. package/dist/esm/messages/anthropicToolCache.mjs +0 -45
  399. package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
  400. package/dist/esm/messages/assistantPhase.mjs +0 -12
  401. package/dist/esm/messages/assistantPhase.mjs.map +1 -1
  402. package/dist/esm/messages/budget.mjs +0 -9
  403. package/dist/esm/messages/budget.mjs.map +1 -1
  404. package/dist/esm/messages/cache.mjs +0 -172
  405. package/dist/esm/messages/cache.mjs.map +1 -1
  406. package/dist/esm/messages/content.mjs +0 -9
  407. package/dist/esm/messages/content.mjs.map +1 -1
  408. package/dist/esm/messages/contextPruning.mjs +0 -15
  409. package/dist/esm/messages/contextPruning.mjs.map +1 -1
  410. package/dist/esm/messages/contextPruningSettings.mjs +0 -3
  411. package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
  412. package/dist/esm/messages/core.mjs +0 -48
  413. package/dist/esm/messages/core.mjs.map +1 -1
  414. package/dist/esm/messages/format.mjs +1 -345
  415. package/dist/esm/messages/format.mjs.map +1 -1
  416. package/dist/esm/messages/handoffCue.mjs +0 -36
  417. package/dist/esm/messages/handoffCue.mjs.map +1 -1
  418. package/dist/esm/messages/ids.mjs.map +1 -1
  419. package/dist/esm/messages/injected.mjs +0 -33
  420. package/dist/esm/messages/injected.mjs.map +1 -1
  421. package/dist/esm/messages/langchain.mjs +0 -14
  422. package/dist/esm/messages/langchain.mjs.map +1 -1
  423. package/dist/esm/messages/prune.mjs +1 -184
  424. package/dist/esm/messages/prune.mjs.map +1 -1
  425. package/dist/esm/messages/recency.mjs +0 -32
  426. package/dist/esm/messages/recency.mjs.map +1 -1
  427. package/dist/esm/messages/reducer.mjs +0 -30
  428. package/dist/esm/messages/reducer.mjs.map +1 -1
  429. package/dist/esm/messages/tools.mjs +0 -14
  430. package/dist/esm/messages/tools.mjs.map +1 -1
  431. package/dist/esm/openai/index.mjs.map +1 -1
  432. package/dist/esm/prompts/activityLabel.mjs +9 -79
  433. package/dist/esm/prompts/activityLabel.mjs.map +1 -1
  434. package/dist/esm/responses/index.mjs.map +1 -1
  435. package/dist/esm/run.mjs +2 -538
  436. package/dist/esm/run.mjs.map +1 -1
  437. package/dist/esm/session/AgentSession.mjs +1 -17
  438. package/dist/esm/session/AgentSession.mjs.map +1 -1
  439. package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
  440. package/dist/esm/session/handlers.mjs +0 -7
  441. package/dist/esm/session/handlers.mjs.map +1 -1
  442. package/dist/esm/session/ids.mjs.map +1 -1
  443. package/dist/esm/session/messageSerialization.mjs +0 -4
  444. package/dist/esm/session/messageSerialization.mjs.map +1 -1
  445. package/dist/esm/stream.mjs +1 -93
  446. package/dist/esm/stream.mjs.map +1 -1
  447. package/dist/esm/summarization/index.mjs +0 -27
  448. package/dist/esm/summarization/index.mjs.map +1 -1
  449. package/dist/esm/summarization/node.mjs +0 -273
  450. package/dist/esm/summarization/node.mjs.map +1 -1
  451. package/dist/esm/tools/BashExecutor.mjs +0 -35
  452. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  453. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +0 -24
  454. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  455. package/dist/esm/tools/Calculator.mjs.map +1 -1
  456. package/dist/esm/tools/CodeExecutor.mjs +0 -13
  457. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  458. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  459. package/dist/esm/tools/ProgrammaticToolCalling.mjs +0 -101
  460. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  461. package/dist/esm/tools/ReadFile.mjs.map +1 -1
  462. package/dist/esm/tools/SkillTool.mjs +0 -5
  463. package/dist/esm/tools/SkillTool.mjs.map +1 -1
  464. package/dist/esm/tools/SubagentTool.mjs +0 -10
  465. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  466. package/dist/esm/tools/ToolNode.mjs +6 -1038
  467. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  468. package/dist/esm/tools/ToolSearch.mjs +0 -179
  469. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  470. package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
  471. package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
  472. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +0 -39
  473. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
  474. package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
  475. package/dist/esm/tools/eagerEventExecution.mjs +0 -6
  476. package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
  477. package/dist/esm/tools/handlers.mjs +1 -41
  478. package/dist/esm/tools/handlers.mjs.map +1 -1
  479. package/dist/esm/tools/intentArg.mjs +1 -132
  480. package/dist/esm/tools/intentArg.mjs.map +1 -1
  481. package/dist/esm/tools/local/CompileCheckTool.mjs +0 -25
  482. package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
  483. package/dist/esm/tools/local/FileCheckpointer.mjs +0 -23
  484. package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
  485. package/dist/esm/tools/local/LocalCodingTools.mjs +0 -80
  486. package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
  487. package/dist/esm/tools/local/LocalExecutionEngine.mjs +0 -126
  488. package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
  489. package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
  490. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +0 -12
  491. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
  492. package/dist/esm/tools/local/attachments.mjs +0 -44
  493. package/dist/esm/tools/local/attachments.mjs.map +1 -1
  494. package/dist/esm/tools/local/bashAst.mjs +0 -16
  495. package/dist/esm/tools/local/bashAst.mjs.map +1 -1
  496. package/dist/esm/tools/local/editStrategies.mjs +0 -14
  497. package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
  498. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
  499. package/dist/esm/tools/local/syntaxCheck.mjs +0 -31
  500. package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
  501. package/dist/esm/tools/local/textEncoding.mjs +0 -11
  502. package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
  503. package/dist/esm/tools/local/workspaceFS.mjs +0 -33
  504. package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
  505. package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
  506. package/dist/esm/tools/schema.mjs +0 -8
  507. package/dist/esm/tools/schema.mjs.map +1 -1
  508. package/dist/esm/tools/search/anthropic.mjs +0 -9
  509. package/dist/esm/tools/search/anthropic.mjs.map +1 -1
  510. package/dist/esm/tools/search/content.mjs.map +1 -1
  511. package/dist/esm/tools/search/crw-scraper.mjs +0 -33
  512. package/dist/esm/tools/search/crw-scraper.mjs.map +1 -1
  513. package/dist/esm/tools/search/crw-search.mjs +0 -2
  514. package/dist/esm/tools/search/crw-search.mjs.map +1 -1
  515. package/dist/esm/tools/search/firecrawl.mjs +0 -25
  516. package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
  517. package/dist/esm/tools/search/format.mjs +0 -30
  518. package/dist/esm/tools/search/format.mjs.map +1 -1
  519. package/dist/esm/tools/search/highlights.mjs +0 -16
  520. package/dist/esm/tools/search/highlights.mjs.map +1 -1
  521. package/dist/esm/tools/search/keenable-scraper.mjs +0 -8
  522. package/dist/esm/tools/search/keenable-scraper.mjs.map +1 -1
  523. package/dist/esm/tools/search/keenable-search.mjs +0 -7
  524. package/dist/esm/tools/search/keenable-search.mjs.map +1 -1
  525. package/dist/esm/tools/search/rerankers.mjs +0 -35
  526. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  527. package/dist/esm/tools/search/schema.mjs +0 -1
  528. package/dist/esm/tools/search/schema.mjs.map +1 -1
  529. package/dist/esm/tools/search/search.mjs +1 -14
  530. package/dist/esm/tools/search/search.mjs.map +1 -1
  531. package/dist/esm/tools/search/serper-scraper.mjs +0 -46
  532. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
  533. package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
  534. package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
  535. package/dist/esm/tools/search/tool.mjs +0 -25
  536. package/dist/esm/tools/search/tool.mjs.map +1 -1
  537. package/dist/esm/tools/search/utils.mjs +0 -8
  538. package/dist/esm/tools/search/utils.mjs.map +1 -1
  539. package/dist/esm/tools/skillCatalog.mjs +0 -6
  540. package/dist/esm/tools/skillCatalog.mjs.map +1 -1
  541. package/dist/esm/tools/streamedToolCallSeals.mjs +0 -6
  542. package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
  543. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -2
  544. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
  545. package/dist/esm/tools/subagent/SubagentExecutor.mjs +3 -213
  546. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  547. package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
  548. package/dist/esm/tools/subagent/childGraphConfig.mjs +0 -4
  549. package/dist/esm/tools/subagent/childGraphConfig.mjs.map +1 -1
  550. package/dist/esm/tools/subagent/runtimeLimits.mjs.map +1 -1
  551. package/dist/esm/tools/toolOutputReferences.mjs +1 -322
  552. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
  553. package/dist/esm/types/hitl.mjs +0 -5
  554. package/dist/esm/types/hitl.mjs.map +1 -1
  555. package/dist/esm/utils/callbacks.mjs.map +1 -1
  556. package/dist/esm/utils/errors.mjs +14 -165
  557. package/dist/esm/utils/errors.mjs.map +1 -1
  558. package/dist/esm/utils/events.mjs +0 -10
  559. package/dist/esm/utils/events.mjs.map +1 -1
  560. package/dist/esm/utils/graph.mjs.map +1 -1
  561. package/dist/esm/utils/handlers.mjs +0 -3
  562. package/dist/esm/utils/handlers.mjs.map +1 -1
  563. package/dist/esm/utils/llm.mjs +0 -1
  564. package/dist/esm/utils/llm.mjs.map +1 -1
  565. package/dist/esm/utils/misc.mjs +0 -16
  566. package/dist/esm/utils/misc.mjs.map +1 -1
  567. package/dist/esm/utils/proxy.mjs +0 -26
  568. package/dist/esm/utils/proxy.mjs.map +1 -1
  569. package/dist/esm/utils/run.mjs +0 -6
  570. package/dist/esm/utils/run.mjs.map +1 -1
  571. package/dist/esm/utils/schema.mjs +0 -5
  572. package/dist/esm/utils/schema.mjs.map +1 -1
  573. package/dist/esm/utils/title.mjs +0 -6
  574. package/dist/esm/utils/title.mjs.map +1 -1
  575. package/dist/esm/utils/tokens.mjs +0 -113
  576. package/dist/esm/utils/tokens.mjs.map +1 -1
  577. package/dist/esm/utils/toolContent.mjs +0 -41
  578. package/dist/esm/utils/toolContent.mjs.map +1 -1
  579. package/dist/esm/utils/truncation.mjs +0 -61
  580. package/dist/esm/utils/truncation.mjs.map +1 -1
  581. package/package.json +35 -32
  582. package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +0 -52
  583. package/dist/types/test/mockTools.d.ts +0 -28
  584. package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +0 -40
  585. package/src/__tests__/stream.eagerArgsDivergence.test.ts +0 -911
  586. package/src/__tests__/stream.eagerEventExecution.test.ts +0 -5046
  587. package/src/__tests__/stream.streamLimits.test.ts +0 -1982
  588. package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +0 -448
  589. package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +0 -655
  590. package/src/agents/__tests__/AgentContext.openrouter.live.test.ts +0 -128
  591. package/src/agents/__tests__/AgentContext.overflow.test.ts +0 -205
  592. package/src/agents/__tests__/AgentContext.test.ts +0 -2425
  593. package/src/agents/__tests__/projection.test.ts +0 -73
  594. package/src/agents/__tests__/promptCacheLiveHelpers.ts +0 -175
  595. package/src/aggregator.test.ts +0 -1214
  596. package/src/graphs/__tests__/Graph.breakerLifecycle.test.ts +0 -273
  597. package/src/graphs/__tests__/Graph.closeRunStep.test.ts +0 -385
  598. package/src/graphs/__tests__/Graph.contextOverflow.test.ts +0 -1766
  599. package/src/graphs/__tests__/Graph.preemptSignal.test.ts +0 -126
  600. package/src/graphs/__tests__/Graph.reasoning.test.ts +0 -1717
  601. package/src/graphs/__tests__/Graph.subagentResumeState.test.ts +0 -80
  602. package/src/graphs/__tests__/MultiAgentGraph.test.ts +0 -177
  603. package/src/graphs/__tests__/composition.smoke.test.ts +0 -509
  604. package/src/graphs/__tests__/createGraph.test.ts +0 -206
  605. package/src/hooks/__tests__/HookRegistry.test.ts +0 -334
  606. package/src/hooks/__tests__/compactHooks.test.ts +0 -250
  607. package/src/hooks/__tests__/createToolPolicyHook.test.ts +0 -268
  608. package/src/hooks/__tests__/createWorkspacePolicyHook.test.ts +0 -405
  609. package/src/hooks/__tests__/executeHooks.test.ts +0 -1294
  610. package/src/hooks/__tests__/integration.test.ts +0 -337
  611. package/src/hooks/__tests__/matchers.test.ts +0 -238
  612. package/src/hooks/__tests__/preemptBoundary.test.ts +0 -152
  613. package/src/hooks/__tests__/toolHooks.test.ts +0 -669
  614. package/src/llm/__tests__/contextOverflowRecovery.test.ts +0 -401
  615. package/src/llm/__tests__/fallbackOverflow.test.ts +0 -287
  616. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  617. package/src/llm/anthropic/inherited-content-utils.spec.ts +0 -249
  618. package/src/llm/anthropic/inherited-stream-events.spec.ts +0 -1259
  619. package/src/llm/anthropic/inherited-strict.spec.ts +0 -302
  620. package/src/llm/anthropic/llm.spec.ts +0 -3394
  621. package/src/llm/anthropic/utils/cross-provider-reasoning.test.ts +0 -383
  622. package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +0 -110
  623. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -508
  624. package/src/llm/anthropic/utils/streaming-tool-input.test.ts +0 -361
  625. package/src/llm/anthropic/utils/stripPrefillCache.test.ts +0 -111
  626. package/src/llm/anthropic/utils/tool-id-normalization.test.ts +0 -287
  627. package/src/llm/bedrock/inherited-cache.spec.ts +0 -144
  628. package/src/llm/bedrock/inherited.spec.ts +0 -724
  629. package/src/llm/bedrock/llm.spec.ts +0 -1533
  630. package/src/llm/bedrock/streamSealDispatch.test.ts +0 -331
  631. package/src/llm/bedrock/toolCache.test.ts +0 -194
  632. package/src/llm/bedrock/utils/cross-provider-reasoning.test.ts +0 -131
  633. package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +0 -122
  634. package/src/llm/bedrock/utils/message_inputs.test.ts +0 -650
  635. package/src/llm/bedrock/utils/message_outputs.test.ts +0 -85
  636. package/src/llm/bedrock/utils/toolResultCachePoint.test.ts +0 -118
  637. package/src/llm/custom-chat-models.smoke.test.ts +0 -1966
  638. package/src/llm/google/data/gettysburg10.wav +0 -0
  639. package/src/llm/google/data/hotdog.jpg +0 -0
  640. package/src/llm/google/inherited-stream-events.spec.ts +0 -350
  641. package/src/llm/google/llm.spec.ts +0 -1388
  642. package/src/llm/google/streamSmoothing.test.ts +0 -121
  643. package/src/llm/google/utils/common.test.ts +0 -196
  644. package/src/llm/invoke.alternation.test.ts +0 -87
  645. package/src/llm/invoke.handoffCue.test.ts +0 -112
  646. package/src/llm/invoke.streamLimits.test.ts +0 -142
  647. package/src/llm/invoke.test.ts +0 -1198
  648. package/src/llm/mistral/streamSmoothing.test.ts +0 -97
  649. package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
  650. package/src/llm/openai/contentBlocks.test.ts +0 -381
  651. package/src/llm/openai/deepseek.test.ts +0 -747
  652. package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
  653. package/src/llm/openai/inherited-xai.spec.ts +0 -416
  654. package/src/llm/openai/llm.spec.ts +0 -1774
  655. package/src/llm/openai/managedRequests.test.ts +0 -182
  656. package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
  657. package/src/llm/openai/streamMetadata.spec.ts +0 -86
  658. package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
  659. package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
  660. package/src/llm/openai/utils/messages.test.ts +0 -488
  661. package/src/llm/openrouter/reasoning.test.ts +0 -561
  662. package/src/llm/openrouter/toolCache.test.ts +0 -134
  663. package/src/llm/preempt.test.ts +0 -323
  664. package/src/llm/stream/chunkAdapters.test.ts +0 -202
  665. package/src/llm/stream/reassembly.test.ts +0 -241
  666. package/src/llm/stream/smoother.bench.test.ts +0 -155
  667. package/src/llm/stream/smoother.test.ts +0 -519
  668. package/src/llm/streamLimits.test.ts +0 -450
  669. package/src/llm/truncation.test.ts +0 -242
  670. package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
  671. package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
  672. package/src/llm/vertexai/llm.spec.ts +0 -159
  673. package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
  674. package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
  675. package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
  676. package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
  677. package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
  678. package/src/messages/__tests__/observationMasking.test.ts +0 -312
  679. package/src/messages/__tests__/recency.test.ts +0 -267
  680. package/src/messages/__tests__/tools.test.ts +0 -473
  681. package/src/messages/alternation.test.ts +0 -212
  682. package/src/messages/assistantPhase.test.ts +0 -75
  683. package/src/messages/cache.tail.test.ts +0 -533
  684. package/src/messages/cache.test.ts +0 -2166
  685. package/src/messages/content.test.ts +0 -362
  686. package/src/messages/contextPruning.test.ts +0 -184
  687. package/src/messages/ensureThinkingBlock.test.ts +0 -1427
  688. package/src/messages/foldToollessToolBlocks.test.ts +0 -596
  689. package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
  690. package/src/messages/formatAgentMessages.skills.test.ts +0 -513
  691. package/src/messages/formatAgentMessages.steer.test.ts +0 -598
  692. package/src/messages/formatAgentMessages.test.ts +0 -8111
  693. package/src/messages/formatAgentMessages.tools.test.ts +0 -522
  694. package/src/messages/formatMessage.test.ts +0 -693
  695. package/src/messages/handoffCue.test.ts +0 -96
  696. package/src/messages/injected.test.ts +0 -107
  697. package/src/messages/labelContentByAgent.test.ts +0 -962
  698. package/src/messages/reducer.spec.ts +0 -32
  699. package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
  700. package/src/messages/tailCacheConversion.test.ts +0 -161
  701. package/src/openai/__tests__/openai.test.ts +0 -337
  702. package/src/responses/__tests__/responses.test.ts +0 -652
  703. package/src/scripts/abort.ts +0 -157
  704. package/src/scripts/activity-labels/captured.json +0 -56
  705. package/src/scripts/activity-labels/checks.cjs +0 -205
  706. package/src/scripts/activity-labels/corpus.cjs +0 -473
  707. package/src/scripts/activity-labels/report.cjs +0 -203
  708. package/src/scripts/activity-labels/rescore.cjs +0 -102
  709. package/src/scripts/activity-labels/run.ts +0 -705
  710. package/src/scripts/activity-labels/variants.ts +0 -71
  711. package/src/scripts/ant_web_search.ts +0 -159
  712. package/src/scripts/ant_web_search_edge_case.ts +0 -163
  713. package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
  714. package/src/scripts/args.ts +0 -48
  715. package/src/scripts/bedrock-cache-debug.ts +0 -250
  716. package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
  717. package/src/scripts/bedrock-merge-test.ts +0 -107
  718. package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
  719. package/src/scripts/bench-prompt-cache.ts +0 -479
  720. package/src/scripts/caching.ts +0 -132
  721. package/src/scripts/cli.ts +0 -172
  722. package/src/scripts/cli2.ts +0 -133
  723. package/src/scripts/cli3.ts +0 -184
  724. package/src/scripts/cli4.ts +0 -191
  725. package/src/scripts/cli5.ts +0 -191
  726. package/src/scripts/code_exec.ts +0 -214
  727. package/src/scripts/code_exec_files.ts +0 -237
  728. package/src/scripts/code_exec_multi_session.ts +0 -237
  729. package/src/scripts/code_exec_ptc.ts +0 -335
  730. package/src/scripts/code_exec_session.ts +0 -283
  731. package/src/scripts/code_exec_simple.ts +0 -148
  732. package/src/scripts/compare_pi_vs_ours.ts +0 -1259
  733. package/src/scripts/content.ts +0 -139
  734. package/src/scripts/context-overflow-probe.ts +0 -997
  735. package/src/scripts/empty_input.ts +0 -137
  736. package/src/scripts/handoff-test.ts +0 -134
  737. package/src/scripts/local_engine.ts +0 -166
  738. package/src/scripts/local_engine_checkpointer.ts +0 -205
  739. package/src/scripts/local_engine_compile.ts +0 -263
  740. package/src/scripts/local_engine_hooks.ts +0 -226
  741. package/src/scripts/local_engine_image.ts +0 -201
  742. package/src/scripts/local_engine_ptc.ts +0 -151
  743. package/src/scripts/local_engine_workspace.ts +0 -258
  744. package/src/scripts/memory.ts +0 -107
  745. package/src/scripts/multi-agent-chain.ts +0 -332
  746. package/src/scripts/multi-agent-conditional.ts +0 -222
  747. package/src/scripts/multi-agent-document-review-chain.ts +0 -198
  748. package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
  749. package/src/scripts/multi-agent-parallel-start.ts +0 -265
  750. package/src/scripts/multi-agent-parallel.ts +0 -395
  751. package/src/scripts/multi-agent-sequence.ts +0 -217
  752. package/src/scripts/multi-agent-subagent.ts +0 -246
  753. package/src/scripts/multi-agent-supervisor.ts +0 -366
  754. package/src/scripts/multi-agent-test.ts +0 -187
  755. package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
  756. package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
  757. package/src/scripts/parallel-full-metadata-test.ts +0 -241
  758. package/src/scripts/parallel-tools-test.ts +0 -341
  759. package/src/scripts/preempt-probe.ts +0 -330
  760. package/src/scripts/preempt-scenarios.ts +0 -388
  761. package/src/scripts/programmatic_exec.ts +0 -387
  762. package/src/scripts/programmatic_exec_agent.ts +0 -232
  763. package/src/scripts/search.ts +0 -147
  764. package/src/scripts/sequential-full-metadata-test.ts +0 -198
  765. package/src/scripts/session_live.ts +0 -548
  766. package/src/scripts/simple.ts +0 -226
  767. package/src/scripts/single-agent-metadata-test.ts +0 -196
  768. package/src/scripts/stream.ts +0 -141
  769. package/src/scripts/subagent-configurable-inheritance.ts +0 -252
  770. package/src/scripts/subagent-event-driven-debug.ts +0 -190
  771. package/src/scripts/subagent-tools-debug.ts +0 -160
  772. package/src/scripts/subagent-usage-sink.ts +0 -176
  773. package/src/scripts/summarization-recency.ts +0 -462
  774. package/src/scripts/test-custom-prompt-key.ts +0 -145
  775. package/src/scripts/test-handoff-input.ts +0 -170
  776. package/src/scripts/test-handoff-preamble.ts +0 -278
  777. package/src/scripts/test-handoff-steering.ts +0 -430
  778. package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
  779. package/src/scripts/test-parallel-agent-labeling.ts +0 -327
  780. package/src/scripts/test-parallel-handoffs.ts +0 -292
  781. package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
  782. package/src/scripts/test-thinking-handoff.ts +0 -156
  783. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
  784. package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
  785. package/src/scripts/test-tools-before-handoff.ts +0 -222
  786. package/src/scripts/test_code_api.ts +0 -354
  787. package/src/scripts/thinking-bedrock.ts +0 -160
  788. package/src/scripts/thinking-vertexai.ts +0 -168
  789. package/src/scripts/thinking.ts +0 -172
  790. package/src/scripts/tool_search.ts +0 -153
  791. package/src/scripts/tools.ts +0 -163
  792. package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
  793. package/src/session/__tests__/handlers.test.ts +0 -161
  794. package/src/specs/activity-label-observability.live.test.ts +0 -262
  795. package/src/specs/activity-label-observability.test.ts +0 -167
  796. package/src/specs/activity-label-prompt.test.ts +0 -359
  797. package/src/specs/activity-label-trace-seed.test.ts +0 -47
  798. package/src/specs/activity-phase-label.test.ts +0 -306
  799. package/src/specs/agent-handoffs.live.test.ts +0 -140
  800. package/src/specs/agent-handoffs.test.ts +0 -2465
  801. package/src/specs/anthropic.simple.test.ts +0 -453
  802. package/src/specs/ask-user-question-batch.test.ts +0 -289
  803. package/src/specs/ask-user-questions.live.test.ts +0 -185
  804. package/src/specs/ask-user-questions.test.ts +0 -293
  805. package/src/specs/azure.simple.test.ts +0 -502
  806. package/src/specs/bedrock-toolless.live.test.ts +0 -123
  807. package/src/specs/bedrock-truncation.live.test.ts +0 -191
  808. package/src/specs/cache.simple.test.ts +0 -416
  809. package/src/specs/context-accuracy.live.test.ts +0 -409
  810. package/src/specs/context-overflow-recovery.live.test.ts +0 -213
  811. package/src/specs/context-usage-event.test.ts +0 -117
  812. package/src/specs/context-usage.live.test.ts +0 -297
  813. package/src/specs/custom-event-await.test.ts +0 -304
  814. package/src/specs/deepseek.simple.test.ts +0 -290
  815. package/src/specs/deterministic-trace-id.test.ts +0 -43
  816. package/src/specs/discovered-tools.test.ts +0 -217
  817. package/src/specs/durability-checkpoint.integration.test.ts +0 -243
  818. package/src/specs/graph-subagent.live.test.ts +0 -242
  819. package/src/specs/graph-subagent.test.ts +0 -322
  820. package/src/specs/handoffCue.test.ts +0 -165
  821. package/src/specs/langfuse-callbacks.test.ts +0 -1578
  822. package/src/specs/langfuse-config.test.ts +0 -247
  823. package/src/specs/langfuse-instrumentation.test.ts +0 -393
  824. package/src/specs/langfuse-metadata.test.ts +0 -245
  825. package/src/specs/langfuse-routing.integration.test.ts +0 -844
  826. package/src/specs/langfuse-runtime-context.test.ts +0 -92
  827. package/src/specs/langfuse-span-registry.test.ts +0 -87
  828. package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
  829. package/src/specs/langfuse-trace-shaping.test.ts +0 -591
  830. package/src/specs/moonshot.simple.test.ts +0 -367
  831. package/src/specs/multi-agent-summarization.test.ts +0 -396
  832. package/src/specs/openai.simple.test.ts +0 -315
  833. package/src/specs/openrouter.simple.test.ts +0 -275
  834. package/src/specs/preemptSeal.test.ts +0 -678
  835. package/src/specs/prune.test.ts +0 -3741
  836. package/src/specs/reasoning.test.ts +0 -201
  837. package/src/specs/run-step-timestamps.test.ts +0 -414
  838. package/src/specs/spec.utils.ts +0 -15
  839. package/src/specs/subagent.test.ts +0 -864
  840. package/src/specs/summarization-unit.test.ts +0 -973
  841. package/src/specs/summarization.test.ts +0 -3823
  842. package/src/specs/summarize-prune.test.ts +0 -376
  843. package/src/specs/thinking-handoff.test.ts +0 -621
  844. package/src/specs/thinking-prune.test.ts +0 -827
  845. package/src/specs/token-accounting-e2e.test.ts +0 -1034
  846. package/src/specs/token-accounting-pipeline.test.ts +0 -1008
  847. package/src/specs/token-distribution-edge-case.test.ts +0 -315
  848. package/src/specs/token-memoization.test.ts +0 -40
  849. package/src/specs/tokens.test.ts +0 -1000
  850. package/src/specs/tool-error-resume.test.ts +0 -194
  851. package/src/specs/tool-error.test.ts +0 -198
  852. package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
  853. package/src/stream.dispatch.test.ts +0 -63
  854. package/src/stream.test.ts +0 -144
  855. package/src/summarization/__tests__/aggregator.test.ts +0 -236
  856. package/src/summarization/__tests__/node.test.ts +0 -1996
  857. package/src/summarization/__tests__/trigger.test.ts +0 -149
  858. package/src/summarization/chunkHandler.test.ts +0 -196
  859. package/src/test/mockTools.ts +0 -386
  860. package/src/tools/Calculator.test.ts +0 -278
  861. package/src/tools/__tests__/BashExecutor.test.ts +0 -108
  862. package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
  863. package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
  864. package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
  865. package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
  866. package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
  867. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
  868. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
  869. package/src/tools/__tests__/ReadFile.test.ts +0 -44
  870. package/src/tools/__tests__/SkillTool.test.ts +0 -442
  871. package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
  872. package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
  873. package/src/tools/__tests__/SubagentTool.test.ts +0 -149
  874. package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
  875. package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
  876. package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
  877. package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
  878. package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
  879. package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
  880. package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
  881. package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
  882. package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
  883. package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
  884. package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
  885. package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
  886. package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
  887. package/src/tools/__tests__/directToolHooks.test.ts +0 -700
  888. package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
  889. package/src/tools/__tests__/handlers.test.ts +0 -997
  890. package/src/tools/__tests__/hitl.test.ts +0 -4663
  891. package/src/tools/__tests__/intentArg.test.ts +0 -357
  892. package/src/tools/__tests__/intentCoverage.test.ts +0 -139
  893. package/src/tools/__tests__/localToolNames.test.ts +0 -75
  894. package/src/tools/__tests__/skillCatalog.test.ts +0 -161
  895. package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
  896. package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
  897. package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
  898. package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
  899. package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
  900. package/src/tools/search/content.test.ts +0 -173
  901. package/src/tools/search/crw.test.ts +0 -836
  902. package/src/tools/search/format.test.ts +0 -242
  903. package/src/tools/search/http-agent.test.ts +0 -133
  904. package/src/tools/search/jina-reranker.test.ts +0 -306
  905. package/src/tools/search/keenable-scraper.test.ts +0 -153
  906. package/src/tools/search/keenable.test.ts +0 -183
  907. package/src/tools/search/outcome.test.ts +0 -90
  908. package/src/tools/search/output.md +0 -2775
  909. package/src/tools/search/rag-api-reranker.test.ts +0 -891
  910. package/src/tools/search/source-processing.test.ts +0 -516
  911. package/src/tools/search/tavily.test.ts +0 -965
  912. package/src/tools/search/test.html +0 -884
  913. package/src/tools/search/test.md +0 -643
  914. package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
  915. package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
  916. package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
  917. package/src/utils/__tests__/apportion.test.ts +0 -32
  918. package/src/utils/__tests__/errors.test.ts +0 -270
  919. package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
  920. package/src/utils/__tests__/redactSecrets.test.ts +0 -56
  921. package/src/utils/__tests__/truncation.test.ts +0 -66
  922. package/src/utils/llm.test.ts +0 -18
  923. package/src/utils/proxy.test.ts +0 -176
  924. package/src/utils/toolContent.test.ts +0 -1432
@@ -1 +1 @@
1
- {"version":3,"file":"core.mjs","names":[],"sources":["../../../src/messages/core.ts"],"sourcesContent":["// src/messages.ts\nimport { isProxy } from 'node:util/types';\nimport {\n AIMessage,\n BaseMessage,\n ToolMessage,\n HumanMessage,\n AIMessageChunk,\n} from '@langchain/core/messages';\nimport type { ContentBlock as LangChainContentBlock } from '@langchain/core/messages';\nimport type { ToolCall, ToolCallChunk } from '@langchain/core/messages/tool';\nimport type * as t from '@/types';\nimport {\n cloneToolMessageWithContent,\n compactToolContent,\n getBoundedCacheControlledTextToolContent,\n getBoundedSingleTextToolContent,\n getComputerCallOutputScreenshot,\n hasComputerCallOutputMarker,\n isComputerCallOutputMessage,\n serializeToolContentBounded,\n} from '@/utils/toolContent';\nimport { HARD_MAX_TOOL_RESULT_CHARS } from '@/utils/truncation';\nimport { stripAnthropicCacheControl } from './cache';\nimport { ContentTypes, Providers } from '@/common';\nimport { toLangChainContent } from './langchain';\n\ntype ReasoningSummary = { summary?: Array<{ text?: string }> };\ntype ReasoningDetail = { type?: string; text?: string };\ntype ReasoningAdditionalKwargs = {\n reasoning_content?: string | Partial<ReasoningSummary> | null;\n reasoning?: string | Partial<ReasoningSummary> | null;\n reasoning_details?: ReasoningDetail[] | null;\n};\n\nexport function getConverseOverrideMessage({\n userMessage,\n lastMessageX,\n lastMessageY,\n}: {\n userMessage: string[];\n lastMessageX: AIMessageChunk | null;\n lastMessageY: ToolMessage;\n}): HumanMessage {\n const content = `\nUser: ${userMessage[1]}\n\n---\n# YOU HAVE ALREADY RESPONDED TO THE LATEST USER MESSAGE:\n\n# Observations:\n- ${lastMessageX?.content}\n\n# Tool Calls:\n- ${lastMessageX?.tool_calls?.join('\\n- ')}\n\n# Tool Responses:\n- ${lastMessageY.content}\n`;\n\n return new HumanMessage(content);\n}\n\nconst _allowedTypes = ['image_url', 'text', 'tool_use', 'tool_result'];\nconst allowedTypesByProvider: Record<string, string[]> = {\n default: _allowedTypes,\n [Providers.ANTHROPIC]: [\n ..._allowedTypes,\n 'thinking',\n 'redacted_thinking',\n 'server_tool_use',\n 'web_search_tool_result',\n 'web_search_result',\n ],\n [Providers.BEDROCK]: [..._allowedTypes, 'reasoning_content'],\n [Providers.OPENAI]: _allowedTypes,\n};\n\nconst modifyContent = ({\n provider,\n messageType,\n content,\n}: {\n provider: Providers;\n messageType: string;\n content: t.ExtendedMessageContent[];\n}): (t.ExtendedMessageContent | null)[] => {\n const allowedTypes =\n allowedTypesByProvider[provider] ?? allowedTypesByProvider.default;\n return content.map((item: t.ExtendedMessageContent | null) => {\n if (\n item &&\n typeof item === 'object' &&\n 'type' in item &&\n item.type != null &&\n item.type\n ) {\n let newType = item.type;\n if (newType.endsWith('_delta')) {\n newType = newType.replace('_delta', '');\n }\n if (!allowedTypes.includes(newType)) {\n newType = 'text';\n }\n\n /* Handle the edge case for empty object 'tool_use' input in AI messages */\n if (\n messageType === 'ai' &&\n newType === 'tool_use' &&\n 'input' in item &&\n item.input === ''\n ) {\n return { ...item, type: newType, input: '{}' };\n }\n\n return { ...item, type: newType };\n }\n return item;\n });\n};\n\ntype ContentBlock =\n | Partial<t.BedrockReasoningContentText>\n | t.MessageDeltaUpdate;\n\nfunction reduceBlocks(blocks: ContentBlock[]): ContentBlock[] {\n const reduced: ContentBlock[] = [];\n\n for (const block of blocks) {\n const lastBlock = reduced[reduced.length - 1] as ContentBlock | undefined;\n\n // Merge consecutive 'reasoning_content'\n if (\n block.type === 'reasoning_content' &&\n lastBlock?.type === 'reasoning_content'\n ) {\n // append text if exists\n if (block.reasoningText?.text != null && block.reasoningText.text) {\n (\n lastBlock.reasoningText as t.BedrockReasoningContentText['reasoningText']\n ).text =\n (lastBlock.reasoningText?.text ?? '') + block.reasoningText.text;\n }\n // preserve the signature if exists\n if (\n block.reasoningText?.signature != null &&\n block.reasoningText.signature\n ) {\n (\n lastBlock.reasoningText as t.BedrockReasoningContentText['reasoningText']\n ).signature = block.reasoningText.signature;\n }\n }\n // Merge consecutive 'text'\n else if (block.type === 'text' && lastBlock?.type === 'text') {\n lastBlock.text += block.text;\n }\n // add a new block as it's a different type or first element\n else {\n // deep copy to avoid mutation of original\n reduced.push(JSON.parse(JSON.stringify(block)));\n }\n }\n\n return reduced;\n}\n\nfunction getReasoningText(\n value: string | Partial<ReasoningSummary> | null | undefined\n): string | undefined {\n if (typeof value === 'string') {\n return value !== '' ? value : undefined;\n }\n const summaryText = value?.summary\n ?.map((summary) => summary.text ?? '')\n .filter((text) => text !== '')\n .join('');\n return summaryText != null && summaryText !== '' ? summaryText : undefined;\n}\n\nfunction getReasoningDetailsText(\n value: ReasoningDetail[] | null | undefined\n): string | undefined {\n if (!Array.isArray(value)) {\n return undefined;\n }\n const reasoningText = value\n .filter((detail) => detail.type === 'reasoning.text')\n .map((detail) => detail.text ?? '')\n .filter((text) => text !== '')\n .join('');\n return reasoningText !== '' ? reasoningText : undefined;\n}\n\nfunction getAdditionalReasoningContent(\n message: BaseMessage\n): string | undefined {\n const additionalKwargs = message.additional_kwargs as\n | ReasoningAdditionalKwargs\n | undefined;\n if (additionalKwargs == null) {\n return undefined;\n }\n\n const reasoningContent = getReasoningText(additionalKwargs.reasoning_content);\n if (reasoningContent != null) {\n return reasoningContent;\n }\n\n const reasoning = getReasoningText(additionalKwargs.reasoning);\n if (reasoning != null) {\n return reasoning;\n }\n\n return getReasoningDetailsText(additionalKwargs.reasoning_details);\n}\n\nfunction hasReasoningContent(content: BaseMessage['content']): boolean {\n if (!Array.isArray(content)) {\n return false;\n }\n return content.some((item) => {\n if (typeof item !== 'object' || !('type' in item)) {\n return false;\n }\n return (\n item.type === ContentTypes.THINK ||\n item.type === ContentTypes.THINKING ||\n item.type === ContentTypes.REASONING ||\n item.type === ContentTypes.REASONING_CONTENT ||\n item.type === 'redacted_thinking'\n );\n });\n}\n\nexport function modifyDeltaProperties(\n provider: Providers,\n obj?: AIMessageChunk\n): AIMessageChunk | undefined {\n if (!obj || typeof obj !== 'object') return obj;\n\n const messageType = (obj as Partial<AIMessageChunk>)._getType\n ? obj._getType()\n : '';\n\n if (provider === Providers.BEDROCK && Array.isArray(obj.content)) {\n obj.content = toLangChainContent(\n reduceBlocks(obj.content as ContentBlock[])\n );\n }\n if (Array.isArray(obj.content)) {\n obj.content = toLangChainContent(\n modifyContent({\n provider,\n messageType,\n content: obj.content as t.ExtendedMessageContent[],\n }) as t.MessageContentComplex[]\n );\n }\n if (\n (obj as Partial<AIMessageChunk>).lc_kwargs &&\n Array.isArray(obj.lc_kwargs.content)\n ) {\n if (provider === Providers.BEDROCK) {\n obj.lc_kwargs.content = reduceBlocks(\n obj.lc_kwargs.content as ContentBlock[]\n );\n }\n obj.lc_kwargs.content = modifyContent({\n provider,\n messageType,\n content: obj.lc_kwargs.content,\n });\n }\n return obj;\n}\n\nexport function formatAnthropicMessage(message: AIMessageChunk): AIMessage {\n if (!message.tool_calls || message.tool_calls.length === 0) {\n return new AIMessage({ content: toLangChainContent(message.content) });\n }\n\n const toolCallMap = new Map(message.tool_calls.map((tc) => [tc.id, tc]));\n let formattedContent: string | t.ExtendedMessageContent[];\n\n if (Array.isArray(message.content)) {\n formattedContent = message.content.reduce<t.ExtendedMessageContent[]>(\n (acc, item) => {\n if (typeof item === 'object') {\n const extendedItem = item as t.ExtendedMessageContent;\n if (\n extendedItem.type === 'text' &&\n extendedItem.text != null &&\n extendedItem.text\n ) {\n acc.push({ type: 'text', text: extendedItem.text });\n } else if (\n extendedItem.type === 'tool_use' &&\n extendedItem.id != null &&\n extendedItem.id\n ) {\n const toolCall = toolCallMap.get(extendedItem.id);\n if (toolCall) {\n acc.push({\n type: 'tool_use',\n id: extendedItem.id,\n name: toolCall.name,\n input: toolCall.args as unknown as string,\n });\n }\n } else if (\n 'input' in extendedItem &&\n extendedItem.input != null &&\n extendedItem.input\n ) {\n try {\n const parsedInput = JSON.parse(extendedItem.input);\n const toolCall = message.tool_calls?.find(\n (tc) => tc.args.input === parsedInput.input\n );\n if (toolCall) {\n acc.push({\n type: 'tool_use',\n id: toolCall.id,\n name: toolCall.name,\n input: toolCall.args as unknown as string,\n });\n }\n } catch {\n if (extendedItem.input) {\n acc.push({ type: 'text', text: extendedItem.input });\n }\n }\n }\n } else if (typeof item === 'string') {\n acc.push({ type: 'text', text: item });\n }\n return acc;\n },\n []\n );\n } else if (typeof message.content === 'string') {\n formattedContent = message.content;\n } else {\n formattedContent = [];\n }\n\n // const formattedToolCalls: ToolCall[] = message.tool_calls.map(toolCall => ({\n // id: toolCall.id ?? '',\n // name: toolCall.name,\n // args: toolCall.args,\n // type: 'tool_call',\n // }));\n\n const formattedToolCalls: t.AgentToolCall[] = message.tool_calls.map(\n (toolCall) => ({\n id: toolCall.id ?? '',\n type: 'function',\n function: {\n name: toolCall.name,\n arguments: toolCall.args,\n },\n })\n );\n\n return new AIMessage({\n content: toLangChainContent(formattedContent),\n tool_calls: formattedToolCalls as ToolCall[],\n additional_kwargs: {\n ...message.additional_kwargs,\n },\n });\n}\n\nexport function convertMessagesToContent(\n messages: BaseMessage[]\n): t.MessageContentComplex[] {\n const processedContent: t.MessageContentComplex[] = [];\n\n const addToolCallBoundary = (): number => {\n processedContent.push({ type: ContentTypes.TEXT, text: '' });\n return processedContent.length - 1;\n };\n\n const addContentPart = (message: BaseMessage | null): number | undefined => {\n const content =\n message?.lc_kwargs.content != null\n ? message.lc_kwargs.content\n : message?.content;\n if (content === undefined) {\n return undefined;\n }\n const reasoningContent =\n message?._getType() === 'ai' && !hasReasoningContent(content)\n ? getAdditionalReasoningContent(message)\n : undefined;\n if (reasoningContent != null) {\n processedContent.push({\n type: ContentTypes.THINK,\n think: reasoningContent,\n });\n }\n if (typeof content === 'string') {\n if (content === '') {\n return undefined;\n }\n processedContent.push({\n type: ContentTypes.TEXT,\n text: content,\n });\n return processedContent.length - 1;\n } else if (Array.isArray(content)) {\n let textContentIndex: number | undefined;\n for (const item of content) {\n if (item == null || item.type === 'tool_use') {\n continue;\n }\n processedContent.push(item);\n if (item.type === ContentTypes.TEXT) {\n textContentIndex = processedContent.length - 1;\n }\n }\n return textContentIndex;\n }\n return undefined;\n };\n\n let currentAIMessageIndex = -1;\n const toolCallMap = new Map<string, t.CustomToolCall>();\n\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i] as BaseMessage | null;\n const messageType = message?._getType();\n\n if (\n messageType === 'ai' &&\n ((message as AIMessage).tool_calls?.length ?? 0) > 0\n ) {\n const tool_calls = (message as AIMessage).tool_calls || [];\n for (const tool_call of tool_calls) {\n if (tool_call.id == null || !tool_call.id) {\n continue;\n }\n\n toolCallMap.set(tool_call.id, tool_call);\n }\n\n currentAIMessageIndex = addContentPart(message) ?? addToolCallBoundary();\n continue;\n } else if (\n messageType === 'tool' &&\n (message as ToolMessage).tool_call_id\n ) {\n const id = (message as ToolMessage).tool_call_id;\n const output = (message as ToolMessage).content;\n const tool_call = toolCallMap.get(id);\n if (currentAIMessageIndex === -1) {\n processedContent.push({ type: 'text', text: '' });\n currentAIMessageIndex = processedContent.length - 1;\n }\n const contentPart = processedContent[currentAIMessageIndex];\n processedContent.push({\n type: 'tool_call',\n tool_call: Object.assign({}, tool_call, { output }),\n });\n const tool_call_ids = contentPart.tool_call_ids || [];\n tool_call_ids.push(id);\n contentPart.tool_call_ids = tool_call_ids;\n continue;\n } else if (messageType !== 'ai') {\n continue;\n }\n\n addContentPart(message);\n }\n\n return processedContent;\n}\n\nfunction stringifyToolMessageContent(\n content: ToolMessage['content'] | null | undefined\n): string {\n return content == null ? '' : String(content);\n}\n\nfunction appendContentBlocks(\n target: t.MessageContentComplex[],\n content: BaseMessage['content']\n): void {\n if (typeof content === 'string') {\n target.push({ type: ContentTypes.TEXT, text: content });\n return;\n }\n for (const block of content) {\n target.push(block as t.MessageContentComplex);\n }\n}\n\n/**\n * Appends one artifact/tool-content segment without retaining an unbounded\n * intermediate block array. Both operands are compacted before they are\n * combined, and the combined result is compacted again under the aggregate\n * cap.\n */\nfunction appendBoundedContent(\n current: BaseMessage['content'] | undefined,\n next: unknown,\n maxChars: number\n): BaseMessage['content'] {\n const boundedNext = compactToolContent(next, maxChars).content;\n if (current == null) {\n return boundedNext;\n }\n\n const combined: t.MessageContentComplex[] = [];\n appendContentBlocks(combined, current);\n appendContentBlocks(combined, boundedNext);\n return compactToolContent(toLangChainContent(combined), maxChars).content;\n}\n\nfunction cloneAIMessageWithToolCalls(\n message: AIMessage,\n toolCalls: ToolCall[],\n removedCallIds: ReadonlySet<string>\n): AIMessage {\n const descriptors = Object.getOwnPropertyDescriptors(message) as Record<\n string,\n PropertyDescriptor | undefined\n >;\n let descriptor = descriptors.tool_calls;\n descriptors.tool_calls = {\n configurable: descriptor?.configurable ?? true,\n enumerable: descriptor?.enumerable ?? true,\n value: toolCalls,\n writable: descriptor?.writable ?? true,\n };\n const toolCallChunks = descriptors.tool_call_chunks?.value as\n | ToolCallChunk[]\n | undefined;\n if (Array.isArray(toolCallChunks)) {\n descriptor = descriptors.tool_call_chunks;\n descriptors.tool_call_chunks = {\n configurable: descriptor?.configurable ?? true,\n enumerable: descriptor?.enumerable ?? true,\n value: toolCallChunks.filter(\n (chunk) => typeof chunk.id !== 'string' || !removedCallIds.has(chunk.id)\n ),\n writable: descriptor?.writable ?? true,\n };\n }\n return Object.create(\n Object.getPrototypeOf(message),\n descriptors as PropertyDescriptorMap\n ) as AIMessage;\n}\n\nfunction cloneAIMessageWithContent(\n message: AIMessage,\n content: AIMessage['content']\n): AIMessage {\n const descriptors = Object.getOwnPropertyDescriptors(message) as Record<\n string,\n PropertyDescriptor | undefined\n >;\n const descriptor = descriptors.content;\n descriptors.content = {\n configurable: descriptor?.configurable ?? true,\n enumerable: descriptor?.enumerable ?? true,\n value: content,\n writable: descriptor?.writable ?? true,\n };\n const lcKwargs = descriptors.lc_kwargs;\n if (\n lcKwargs != null &&\n 'value' in lcKwargs &&\n typeof lcKwargs.value === 'object' &&\n lcKwargs.value != null\n ) {\n descriptors.lc_kwargs = {\n ...lcKwargs,\n value: {\n ...(lcKwargs.value as Record<string, unknown>),\n ...(message.response_metadata.output_version === 'v1'\n ? { content: undefined, contentBlocks: content }\n : { content }),\n },\n };\n }\n return Object.create(\n Object.getPrototypeOf(message),\n descriptors as PropertyDescriptorMap\n ) as AIMessage;\n}\n\nfunction cloneAIMessageWithResponsesReplayState(\n message: AIMessage,\n content: AIMessage['content'],\n id: string | undefined,\n additionalKwargs: AIMessage['additional_kwargs'],\n responseMetadata: AIMessage['response_metadata']\n): AIMessage {\n const descriptors = Object.getOwnPropertyDescriptors(message) as Record<\n string,\n PropertyDescriptor | undefined\n >;\n const replacements = {\n content,\n id,\n additional_kwargs: additionalKwargs,\n response_metadata: responseMetadata,\n };\n for (const [key, value] of Object.entries(replacements)) {\n const descriptor = descriptors[key];\n descriptors[key] = {\n configurable: descriptor?.configurable ?? true,\n enumerable: descriptor?.enumerable ?? true,\n value,\n writable: descriptor?.writable ?? true,\n };\n }\n const lcKwargs = descriptors.lc_kwargs;\n if (\n lcKwargs != null &&\n 'value' in lcKwargs &&\n typeof lcKwargs.value === 'object' &&\n lcKwargs.value != null\n ) {\n descriptors.lc_kwargs = {\n ...lcKwargs,\n value: {\n ...(lcKwargs.value as Record<string, unknown>),\n ...replacements,\n ...(responseMetadata.output_version === 'v1'\n ? { content: undefined, contentBlocks: content }\n : {}),\n },\n };\n }\n return Object.create(\n Object.getPrototypeOf(message),\n descriptors as PropertyDescriptorMap\n ) as AIMessage;\n}\n\nfunction hasReplayableEncryptedReasoning(reasoning: unknown): boolean {\n if (reasoning == null || typeof reasoning !== 'object') {\n return false;\n }\n const item = reasoning as {\n encrypted_content?: unknown;\n id?: unknown;\n status?: unknown;\n summary?: unknown;\n type?: unknown;\n };\n return (\n item.type === 'reasoning' &&\n typeof item.id === 'string' &&\n item.id.length > 0 &&\n Array.isArray(item.summary) &&\n typeof item.encrypted_content === 'string' &&\n item.encrypted_content.length > 0 &&\n (item.status === undefined ||\n item.status === 'completed' ||\n item.status === 'incomplete')\n );\n}\n\ntype ResponsesReplayProjection = 'fallback' | 'native';\n\nexport const OPENAI_RESPONSES_REPLAY_POSITIONS_KEY =\n '__openai_responses_replay_positions__';\n\nexport type ResponsesReplayPosition = {\n contentIndex?: number;\n itemId: string;\n kind: 'message' | 'output' | 'reasoning' | 'text';\n outputIndex: number;\n};\n\ntype CompletedGeneratedImages = {\n blocks: PositionedResponsesReplayBlock[];\n data: Set<string>;\n ids: Set<string>;\n};\n\ntype ResponsesReplayArtifacts = {\n generatedImages: CompletedGeneratedImages;\n messagePositions: ResponsesReplayPosition[];\n positionsByItemId: Map<string, ResponsesReplayItemPosition>;\n positionedServerToolResultIds: Set<string>;\n serverToolResults: PositionedResponsesReplayBlock[];\n textPositions: ResponsesReplayPosition[];\n};\n\ntype ResponsesReplayItemPosition = Pick<\n PositionedResponsesReplayBlock,\n 'outputIndex' | 'textIndex'\n>;\n\ntype PositionedResponsesReplayBlock = {\n block: LangChainContentBlock.Standard;\n outputIndex: number;\n subIndex: number;\n textIndex?: number;\n};\n\ntype PositionedResponsesImage = {\n block: LangChainContentBlock.Multimodal.Image;\n textIndex: number;\n};\n\ntype PositionedResponsesImages = {\n blocks: PositionedResponsesImage[];\n textCount: number;\n};\n\nfunction isProviderGeneratedImageBlock(\n block: LangChainContentBlock.Multimodal.Image,\n generatedImages: CompletedGeneratedImages,\n allowDataFallback = true\n): boolean {\n if (typeof block.id === 'string' && block.id.length > 0) {\n return generatedImages.ids.has(block.id);\n }\n return (\n allowDataFallback &&\n typeof block.data === 'string' &&\n generatedImages.data.has(block.data) &&\n block.metadata != null &&\n typeof block.metadata === 'object' &&\n block.metadata.status === 'completed'\n );\n}\n\nfunction hasMeaningfulServerToolOutput(output: unknown): boolean {\n if (output == null || output === '') {\n return false;\n }\n if (Array.isArray(output)) {\n return output.length > 0;\n }\n if (typeof output !== 'object') {\n return true;\n }\n try {\n return Object.keys(output).length > 0;\n } catch {\n return false;\n }\n}\n\nfunction createServerToolResultExtras(toolName?: string): {\n librechatServerToolResult: { toolName?: string };\n} {\n return {\n librechatServerToolResult: {\n ...(toolName != null ? { toolName } : {}),\n },\n };\n}\n\nfunction createNeutralServerToolResult(\n output: unknown,\n status: 'error' | 'success',\n maxChars: number,\n toolName?: string\n): LangChainContentBlock.Text | undefined {\n if (!hasMeaningfulServerToolOutput(output)) {\n return undefined;\n }\n return {\n type: 'text',\n text: serializeToolContentBounded(\n {\n serverToolResult: {\n librechatResponsesReplay: true,\n ...(toolName != null ? { toolName } : {}),\n status,\n output,\n },\n },\n maxChars\n ),\n extras: createServerToolResultExtras(toolName),\n };\n}\n\nfunction isCompleteToolStreamContentBlock(block: unknown): boolean {\n if (block == null || typeof block !== 'object') {\n return true;\n }\n try {\n if (isProxy(block)) {\n return false;\n }\n const type = Object.getOwnPropertyDescriptor(block, 'type');\n if (type == null) {\n return true;\n }\n if (type.enumerable !== true || !('value' in type)) {\n return false;\n }\n if (type.value !== 'text') {\n return true;\n }\n const text = Object.getOwnPropertyDescriptor(block, 'text');\n return (\n text?.enumerable === true &&\n 'value' in text &&\n typeof text.value === 'string' &&\n text.value !== ''\n );\n } catch {\n return false;\n }\n}\n\nfunction projectPreemptedResponsesV1Content(\n content: AIMessage['content'],\n reasoning: unknown,\n maxChars: number,\n replayProjection: ResponsesReplayProjection,\n generatedImages?: CompletedGeneratedImages,\n originalImages?: PositionedResponsesImages,\n serverToolResults?: PositionedResponsesReplayBlock[],\n positionedServerToolResultIds?: ReadonlySet<string>,\n reasoningPosition?: ResponsesReplayItemPosition,\n textPositions?: readonly ResponsesReplayPosition[],\n messagePositions?: readonly ResponsesReplayPosition[]\n): {\n content: AIMessage['content'];\n preservedServerToolResult: boolean;\n} {\n if (!Array.isArray(content)) {\n return { content, preservedServerToolResult: false };\n }\n\n const contentBlocks = content as LangChainContentBlock.Standard[];\n const encryptedReasoning =\n replayProjection === 'native' && hasReplayableEncryptedReasoning(reasoning)\n ? reasoning\n : undefined;\n const positionedReasoning: PositionedResponsesReplayBlock | undefined =\n encryptedReasoning != null && reasoningPosition != null\n ? {\n block: {\n type: 'non_standard' as const,\n value: encryptedReasoning,\n },\n ...reasoningPosition,\n subIndex: 0,\n }\n : undefined;\n const projected: LangChainContentBlock.Standard[] = [];\n let changed = false;\n let hasEncryptedReasoning = false;\n let preservedServerToolResult = false;\n let reasoningInsertionIndex: number | undefined;\n let generatedImageIndex = 0;\n let originalImageIndex = 0;\n let reasoningPending = positionedReasoning;\n let serverToolResultIndex = 0;\n let sourceTextIndex = 0;\n const serverToolNamesByCallId = new Map<string, string>();\n\n const appendOriginalImages = (throughTextIndex?: number): void => {\n if (replayProjection !== 'native' || originalImages == null) {\n return;\n }\n while (originalImageIndex < originalImages.blocks.length) {\n const positionedImage = originalImages.blocks[originalImageIndex];\n if (\n throughTextIndex != null &&\n positionedImage.textIndex > throughTextIndex\n ) {\n return;\n }\n originalImageIndex++;\n if (\n generatedImages != null &&\n isProviderGeneratedImageBlock(\n positionedImage.block,\n generatedImages,\n false\n )\n ) {\n continue;\n }\n projected.push(positionedImage.block);\n changed = true;\n }\n };\n\n const appendReplayBlocks = (\n throughTextIndex?: number,\n beforeOutputIndex?: number\n ): void => {\n for (;;) {\n const generatedImage = generatedImages?.blocks[generatedImageIndex];\n const serverToolResult = serverToolResults?.[serverToolResultIndex];\n const candidates: Array<{\n kind: 'generatedImage' | 'reasoning' | 'serverToolResult';\n value: PositionedResponsesReplayBlock;\n }> = [];\n if (generatedImage != null) {\n candidates.push({ kind: 'generatedImage', value: generatedImage });\n }\n if (serverToolResult != null) {\n candidates.push({ kind: 'serverToolResult', value: serverToolResult });\n }\n if (reasoningPending != null) {\n candidates.push({ kind: 'reasoning', value: reasoningPending });\n }\n if (candidates.length === 0) {\n return;\n }\n candidates.sort((a, b) =>\n comparePositionedResponsesReplayBlocks(a.value, b.value)\n );\n const selected = candidates[0];\n const positionedResult = selected.value;\n if (\n throughTextIndex != null &&\n (positionedResult.textIndex == null ||\n positionedResult.textIndex > throughTextIndex)\n ) {\n return;\n }\n if (\n beforeOutputIndex != null &&\n positionedResult.outputIndex >= beforeOutputIndex\n ) {\n return;\n }\n if (selected.kind === 'generatedImage') {\n generatedImageIndex++;\n } else if (selected.kind === 'serverToolResult') {\n serverToolResultIndex++;\n } else {\n reasoningPending = undefined;\n }\n if (\n replayProjection === 'fallback' &&\n positionedResult.block.type === 'text'\n ) {\n projected.push({\n type: 'text',\n text: positionedResult.block.text,\n });\n } else {\n projected.push(positionedResult.block);\n }\n changed = true;\n preservedServerToolResult ||= selected.kind === 'serverToolResult';\n }\n };\n\n const appendPositionedOriginalImages = (throughTextIndex?: number): void => {\n const nextOriginalImage = originalImages?.blocks[originalImageIndex];\n if (\n nextOriginalImage == null ||\n (throughTextIndex != null &&\n nextOriginalImage.textIndex > throughTextIndex)\n ) {\n return;\n }\n const followingTextPosition = textPositions?.[nextOriginalImage.textIndex];\n const imageOnlyMessagePosition =\n originalImages?.textCount === 0 ? messagePositions?.[0] : undefined;\n const outputBoundary = followingTextPosition ?? imageOnlyMessagePosition;\n if (outputBoundary != null) {\n appendReplayBlocks(\n nextOriginalImage.textIndex,\n outputBoundary.outputIndex\n );\n }\n appendOriginalImages(throughTextIndex);\n };\n\n for (let i = 0; i < contentBlocks.length; i++) {\n const block = contentBlocks[i];\n if (!isCompleteToolStreamContentBlock(block)) {\n changed = true;\n continue;\n }\n if (block.type === 'reasoning') {\n reasoningInsertionIndex ??= projected.length;\n changed = true;\n continue;\n }\n if (block.type === 'non_standard') {\n if (\n replayProjection === 'native' &&\n !hasEncryptedReasoning &&\n hasReplayableEncryptedReasoning(block.value)\n ) {\n hasEncryptedReasoning = true;\n if (positionedReasoning == null) {\n projected.push(block);\n } else {\n changed = true;\n }\n } else {\n changed = true;\n }\n continue;\n }\n if (block.type === 'text') {\n appendPositionedOriginalImages(sourceTextIndex);\n appendReplayBlocks(sourceTextIndex);\n if (replayProjection === 'fallback') {\n projected.push({ type: 'text', text: block.text });\n changed = true;\n } else {\n projected.push(block);\n }\n sourceTextIndex++;\n continue;\n }\n if (originalImages != null && sourceTextIndex >= originalImages.textCount) {\n appendPositionedOriginalImages();\n }\n if (\n block.type === 'server_tool_call' ||\n block.type === 'server_tool_call_chunk'\n ) {\n if (\n typeof block.id === 'string' &&\n block.id.length > 0 &&\n typeof block.name === 'string' &&\n block.name.length > 0\n ) {\n serverToolNamesByCallId.set(block.id, block.name);\n }\n changed = true;\n continue;\n }\n if (block.type === 'server_tool_call_result') {\n if (positionedServerToolResultIds?.has(block.toolCallId) === true) {\n changed = true;\n continue;\n }\n const result = createNeutralServerToolResult(\n block.output,\n block.status,\n maxChars,\n serverToolNamesByCallId.get(block.toolCallId)\n );\n changed = true;\n if (result != null) {\n projected.push(\n replayProjection === 'fallback'\n ? { type: 'text', text: result.text }\n : result\n );\n preservedServerToolResult = true;\n }\n continue;\n }\n if (block.type === 'image') {\n if (\n replayProjection === 'fallback' ||\n (generatedImages != null &&\n isProviderGeneratedImageBlock(block, generatedImages))\n ) {\n changed = true;\n continue;\n }\n }\n projected.push(block);\n }\n\n if (\n encryptedReasoning != null &&\n !hasEncryptedReasoning &&\n positionedReasoning == null\n ) {\n const reasoningBlock: LangChainContentBlock.Standard = {\n type: 'non_standard',\n value: encryptedReasoning,\n };\n projected.splice(reasoningInsertionIndex ?? 0, 0, reasoningBlock);\n changed = true;\n }\n appendPositionedOriginalImages();\n appendReplayBlocks();\n return {\n content: changed ? toLangChainContent(projected) : content,\n preservedServerToolResult,\n };\n}\n\nfunction getAuthoritativeResponsesOutput(message: AIMessage): unknown[] {\n const responseOutput = message.response_metadata.output;\n const toolOutputs = message.additional_kwargs.tool_outputs;\n if (Array.isArray(responseOutput) && responseOutput.length > 0) {\n return responseOutput;\n }\n return Array.isArray(toolOutputs) ? toolOutputs : [];\n}\n\nfunction isResponsesReplayPosition(\n value: unknown\n): value is ResponsesReplayPosition {\n if (value == null || typeof value !== 'object') {\n return false;\n }\n const position = value as Partial<ResponsesReplayPosition>;\n return (\n (position.kind === 'message' ||\n position.kind === 'output' ||\n position.kind === 'reasoning' ||\n position.kind === 'text') &&\n typeof position.itemId === 'string' &&\n position.itemId.length > 0 &&\n typeof position.outputIndex === 'number' &&\n Number.isSafeInteger(position.outputIndex) &&\n position.outputIndex >= 0 &&\n (position.contentIndex == null ||\n (typeof position.contentIndex === 'number' &&\n Number.isSafeInteger(position.contentIndex) &&\n position.contentIndex >= 0))\n );\n}\n\nfunction getGeneratedImageMimeType(data: string): string {\n const bytes = Buffer.from(data.slice(0, 16), 'base64');\n if (bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff) {\n return 'image/jpeg';\n }\n if (\n bytes[0] === 0x52 &&\n bytes[1] === 0x49 &&\n bytes[2] === 0x46 &&\n bytes[3] === 0x46 &&\n bytes[8] === 0x57 &&\n bytes[9] === 0x45 &&\n bytes[10] === 0x42 &&\n bytes[11] === 0x50\n ) {\n return 'image/webp';\n }\n return 'image/png';\n}\n\nfunction getResponsesReplayItemKey(\n item: Record<string, unknown>\n): string | undefined {\n if (typeof item.id === 'string' && item.id.length > 0) {\n return item.id;\n }\n return typeof item.call_id === 'string' && item.call_id.length > 0\n ? item.call_id\n : undefined;\n}\n\nfunction comparePositionedResponsesReplayBlocks(\n a: PositionedResponsesReplayBlock,\n b: PositionedResponsesReplayBlock\n): number {\n return (\n (a.textIndex ?? Number.MAX_SAFE_INTEGER) -\n (b.textIndex ?? Number.MAX_SAFE_INTEGER) ||\n a.outputIndex - b.outputIndex ||\n a.subIndex - b.subIndex\n );\n}\n\nconst RESPONSES_REPLAY_OUTPUT_TOOL_NAMES = {\n apply_patch_call_output: 'apply_patch',\n local_shell_call_output: 'local_shell',\n shell_call_output: 'shell',\n} as const;\n\nfunction getResponsesReplayArtifacts(\n output: readonly unknown[],\n maxChars: number,\n replayProjection: ResponsesReplayProjection,\n replayPositionValue?: unknown\n): ResponsesReplayArtifacts {\n const blocks: PositionedResponsesReplayBlock[] = [];\n const data = new Set<string>();\n const ids = new Set<string>();\n const emittedData = new Set<string>();\n const emittedIds = new Set<string>();\n const positionedServerToolResultIds = new Set<string>();\n const rawOutputIndices = new Map<Record<string, unknown>, number>();\n const serverToolResults: PositionedResponsesReplayBlock[] = [];\n const replayPositions = Array.isArray(replayPositionValue)\n ? replayPositionValue.filter(isResponsesReplayPosition)\n : [];\n const authoritativeOutputIndicesByItemId = new Map<string, number>();\n const messagePositionsByKey = new Map<string, ResponsesReplayPosition>();\n const outputPositionsByItemId = new Map<string, ResponsesReplayPosition>();\n const textPositionsByKey = new Map<string, ResponsesReplayPosition>();\n for (const position of replayPositions) {\n if (position.kind === 'output' || position.kind === 'reasoning') {\n outputPositionsByItemId.set(position.itemId, position);\n continue;\n }\n if (position.kind === 'message') {\n messagePositionsByKey.set(\n `${position.itemId}:${position.outputIndex}`,\n position\n );\n continue;\n }\n textPositionsByKey.set(\n `${position.itemId}:${position.outputIndex}:${position.contentIndex ?? 0}`,\n position\n );\n }\n let hasAuthoritativeMessage = false;\n for (let outputIndex = 0; outputIndex < output.length; outputIndex++) {\n const item = output[outputIndex];\n if (item == null || typeof item !== 'object') {\n continue;\n }\n const itemRecord = item as Record<string, unknown>;\n rawOutputIndices.set(itemRecord, outputIndex);\n const itemKey = getResponsesReplayItemKey(itemRecord);\n if (itemKey != null) {\n authoritativeOutputIndicesByItemId.set(itemKey, outputIndex);\n }\n if (!('type' in item) || item.type !== 'message') {\n continue;\n }\n hasAuthoritativeMessage = true;\n const messageItemId =\n 'id' in item && typeof item.id === 'string'\n ? item.id\n : `message-${outputIndex}`;\n messagePositionsByKey.set(`${messageItemId}:${outputIndex}`, {\n itemId: messageItemId,\n kind: 'message',\n outputIndex,\n });\n if (!('content' in item) || !Array.isArray(item.content)) {\n continue;\n }\n for (\n let contentIndex = 0;\n contentIndex < item.content.length;\n contentIndex++\n ) {\n const content = item.content[contentIndex];\n if (\n content == null ||\n typeof content !== 'object' ||\n !('type' in content) ||\n content.type !== 'output_text' ||\n !('text' in content) ||\n typeof content.text !== 'string' ||\n content.text.length === 0\n ) {\n continue;\n }\n const itemId =\n 'id' in item && typeof item.id === 'string'\n ? item.id\n : `message-${outputIndex}`;\n textPositionsByKey.set(`${itemId}:${outputIndex}:${contentIndex}`, {\n contentIndex,\n itemId,\n kind: 'text',\n outputIndex,\n });\n }\n }\n if (hasAuthoritativeMessage) {\n for (const [itemId, outputIndex] of authoritativeOutputIndicesByItemId) {\n outputPositionsByItemId.set(itemId, {\n itemId,\n kind: 'output',\n outputIndex,\n });\n }\n }\n const textPositions = [...textPositionsByKey.values()].sort(\n (a, b) =>\n a.outputIndex - b.outputIndex ||\n (a.contentIndex ?? 0) - (b.contentIndex ?? 0)\n );\n const messagePositions = [...messagePositionsByKey.values()].sort(\n (a, b) => a.outputIndex - b.outputIndex\n );\n const textCountBeforeOutputIndex = new Map<number, number>();\n const positionedOutputIndexSet = new Set<number>();\n for (const position of outputPositionsByItemId.values()) {\n positionedOutputIndexSet.add(position.outputIndex);\n }\n if (hasAuthoritativeMessage) {\n for (const outputIndex of rawOutputIndices.values()) {\n positionedOutputIndexSet.add(outputIndex);\n }\n }\n const positionedOutputIndices = [...positionedOutputIndexSet].sort(\n (a, b) => a - b\n );\n let textPositionIndex = 0;\n for (const outputIndex of positionedOutputIndices) {\n while (\n textPositionIndex < textPositions.length &&\n textPositions[textPositionIndex].outputIndex < outputIndex\n ) {\n textPositionIndex++;\n }\n textCountBeforeOutputIndex.set(outputIndex, textPositionIndex);\n }\n const positionsByItemId = new Map<string, ResponsesReplayItemPosition>();\n for (const [itemId, position] of outputPositionsByItemId) {\n positionsByItemId.set(itemId, {\n outputIndex: position.outputIndex,\n textIndex: textCountBeforeOutputIndex.get(position.outputIndex) ?? 0,\n });\n }\n const getPosition = (\n item: Record<string, unknown>\n ): ResponsesReplayItemPosition => {\n const itemId = getResponsesReplayItemKey(item);\n const position = itemId != null ? positionsByItemId.get(itemId) : undefined;\n if (position == null) {\n const rawOutputIndex = rawOutputIndices.get(item);\n return {\n outputIndex: rawOutputIndex ?? Number.MAX_SAFE_INTEGER,\n ...(hasAuthoritativeMessage && rawOutputIndex != null\n ? {\n textIndex: textCountBeforeOutputIndex.get(rawOutputIndex) ?? 0,\n }\n : {}),\n };\n }\n return position;\n };\n const pushServerToolResult = (\n block: LangChainContentBlock.Standard | undefined,\n item: Record<string, unknown>,\n subIndex = 0\n ): void => {\n if (block == null) {\n return;\n }\n const itemId = getResponsesReplayItemKey(item);\n if (itemId != null) {\n positionedServerToolResultIds.add(itemId);\n }\n serverToolResults.push({ block, ...getPosition(item), subIndex });\n };\n for (const item of output) {\n if (item == null || typeof item !== 'object' || !('type' in item)) {\n continue;\n }\n if (item.type === 'code_interpreter_call') {\n if (\n !('outputs' in item) ||\n !Array.isArray(item.outputs) ||\n !('status' in item)\n ) {\n continue;\n }\n const resultStatus = item.status === 'completed' ? 'success' : 'error';\n const returnCode = item.status === 'completed' ? 0 : 1;\n for (\n let resultIndex = 0;\n resultIndex < item.outputs.length;\n resultIndex++\n ) {\n const result = item.outputs[resultIndex];\n if (\n result == null ||\n typeof result !== 'object' ||\n !('type' in result)\n ) {\n continue;\n }\n if (\n result.type === 'logs' &&\n 'logs' in result &&\n typeof result.logs === 'string'\n ) {\n pushServerToolResult(\n createNeutralServerToolResult(\n {\n type: 'code_interpreter_output',\n returnCode,\n stdout: result.logs,\n },\n resultStatus,\n maxChars,\n 'code_interpreter'\n ),\n item,\n resultIndex\n );\n continue;\n }\n if (\n result.type !== 'image' ||\n !('url' in result) ||\n typeof result.url !== 'string' ||\n result.url.length === 0\n ) {\n continue;\n }\n const resultUrl: string = result.url;\n if (\n replayProjection === 'native' &&\n resultUrl.startsWith('data:image/')\n ) {\n pushServerToolResult(\n {\n type: 'image',\n url: resultUrl,\n extras: createServerToolResultExtras('code_interpreter'),\n },\n item,\n resultIndex\n );\n continue;\n }\n const mediaResult = createNeutralServerToolResult(\n { type: 'code_interpreter_image', url: resultUrl },\n resultStatus,\n maxChars,\n 'code_interpreter'\n );\n pushServerToolResult(mediaResult, item, resultIndex);\n }\n continue;\n }\n if (item.type === 'file_search_call') {\n const result = createNeutralServerToolResult(\n 'results' in item && Array.isArray(item.results)\n ? { results: item.results }\n : undefined,\n 'status' in item && item.status === 'completed' ? 'success' : 'error',\n maxChars,\n 'file_search'\n );\n pushServerToolResult(result, item);\n continue;\n }\n if (item.type === 'web_search_call') {\n const result = createNeutralServerToolResult(\n {\n ...('action' in item ? { action: item.action } : {}),\n ...('results' in item && Array.isArray(item.results)\n ? { results: item.results }\n : {}),\n },\n 'status' in item && item.status === 'completed' ? 'success' : 'error',\n maxChars,\n 'web_search'\n );\n pushServerToolResult(result, item);\n continue;\n }\n if (item.type === 'tool_search_output') {\n const result = createNeutralServerToolResult(\n 'tools' in item && Array.isArray(item.tools)\n ? { tools: item.tools }\n : undefined,\n 'status' in item && item.status === 'completed' ? 'success' : 'error',\n maxChars,\n 'tool_search'\n );\n pushServerToolResult(result, item);\n continue;\n }\n if (item.type === 'mcp_list_tools') {\n const hasError =\n 'error' in item &&\n typeof item.error === 'string' &&\n item.error.length > 0;\n const listToolsResult = createNeutralServerToolResult(\n {\n ...('server_label' in item && typeof item.server_label === 'string'\n ? { serverLabel: item.server_label }\n : {}),\n ...('tools' in item && Array.isArray(item.tools)\n ? { tools: item.tools }\n : {}),\n ...(hasError ? { error: item.error } : {}),\n },\n hasError ? 'error' : 'success',\n maxChars,\n 'mcp_list_tools'\n );\n pushServerToolResult(listToolsResult, item);\n continue;\n }\n if (item.type === 'mcp_call') {\n const hasOutput =\n 'output' in item &&\n typeof item.output === 'string' &&\n item.output.length > 0;\n const hasError =\n 'error' in item &&\n typeof item.error === 'string' &&\n item.error.length > 0;\n if (!hasOutput && !hasError) {\n continue;\n }\n const mcpOutput = {\n ...('name' in item && typeof item.name === 'string'\n ? { name: item.name }\n : {}),\n ...('server_label' in item && typeof item.server_label === 'string'\n ? { serverLabel: item.server_label }\n : {}),\n ...('output' in item && typeof item.output === 'string'\n ? { output: item.output }\n : {}),\n ...('error' in item && typeof item.error === 'string'\n ? { error: item.error }\n : {}),\n };\n const mcpResult = createNeutralServerToolResult(\n mcpOutput,\n hasError ||\n ('status' in item &&\n (item.status === 'failed' || item.status === 'incomplete'))\n ? 'error'\n : 'success',\n maxChars,\n 'name' in item && typeof item.name === 'string' && item.name.length > 0\n ? item.name\n : 'mcp'\n );\n pushServerToolResult(mcpResult, item);\n continue;\n }\n if (\n item.type === 'local_shell_call_output' ||\n item.type === 'shell_call_output' ||\n item.type === 'apply_patch_call_output'\n ) {\n if (!('output' in item)) {\n continue;\n }\n const result = createNeutralServerToolResult(\n item.output,\n 'status' in item &&\n (item.status === 'failed' || item.status === 'incomplete')\n ? 'error'\n : 'success',\n maxChars,\n RESPONSES_REPLAY_OUTPUT_TOOL_NAMES[item.type]\n );\n pushServerToolResult(result, item);\n continue;\n }\n if (item.type === 'program_output') {\n if (!('result' in item)) {\n continue;\n }\n const result = createNeutralServerToolResult(\n item.result,\n 'status' in item && item.status === 'incomplete' ? 'error' : 'success',\n maxChars,\n 'program'\n );\n pushServerToolResult(result, item);\n continue;\n }\n if (item.type !== 'image_generation_call') {\n continue;\n }\n if ('id' in item && typeof item.id === 'string' && item.id.length > 0) {\n ids.add(item.id);\n }\n if (\n !('result' in item) ||\n typeof item.result !== 'string' ||\n item.result.length === 0\n ) {\n continue;\n }\n data.add(item.result);\n if ('status' in item && item.status === 'completed') {\n const itemId =\n 'id' in item && typeof item.id === 'string' && item.id.length > 0\n ? item.id\n : undefined;\n if (\n (itemId != null && emittedIds.has(itemId)) ||\n (itemId == null && emittedData.has(item.result))\n ) {\n continue;\n }\n if (itemId != null) {\n emittedIds.add(itemId);\n } else {\n emittedData.add(item.result);\n }\n blocks.push({\n block: {\n type: 'image',\n mimeType: getGeneratedImageMimeType(item.result),\n data: item.result,\n extras: createServerToolResultExtras('image_generation'),\n },\n ...getPosition(item),\n subIndex: 0,\n });\n }\n }\n return {\n generatedImages: {\n blocks: blocks.sort(comparePositionedResponsesReplayBlocks),\n data,\n ids,\n },\n messagePositions,\n positionedServerToolResultIds,\n positionsByItemId,\n serverToolResults: serverToolResults.sort(\n comparePositionedResponsesReplayBlocks\n ),\n textPositions,\n };\n}\n\nfunction getSelfContainedResponsesV0Images(\n message: AIMessage\n): PositionedResponsesImages {\n if (!Array.isArray(message.content)) {\n return { blocks: [], textCount: 0 };\n }\n const images: PositionedResponsesImage[] = [];\n let textCount = 0;\n for (const block of message.content as LangChainContentBlock.Standard[]) {\n if (block.type === 'text') {\n if (isCompleteToolStreamContentBlock(block)) {\n textCount++;\n }\n continue;\n }\n if (\n block.type === 'image' &&\n (('fileId' in block &&\n typeof block.fileId === 'string' &&\n block.fileId.length > 0) ||\n ('url' in block &&\n typeof block.url === 'string' &&\n block.url.length > 0) ||\n ('data' in block &&\n ((typeof block.data === 'string' && block.data.length > 0) ||\n (block.data instanceof Uint8Array && block.data.length > 0))))\n ) {\n images.push({ block, textIndex: textCount });\n }\n }\n return { blocks: images, textCount };\n}\n\nfunction getResponsesV0ContentBlocks(\n message: AIMessage,\n authoritativeOutput: unknown[]\n): AIMessage['content'] {\n let content = message.content;\n if (typeof content === 'string') {\n content = toLangChainContent(\n content.length > 0 ? [{ type: 'text', text: content }] : []\n );\n }\n const translationMessage = cloneAIMessageWithResponsesReplayState(\n message,\n content,\n message.id,\n {\n ...message.additional_kwargs,\n tool_outputs: authoritativeOutput,\n },\n {\n ...message.response_metadata,\n model_provider: 'openai',\n }\n );\n return toLangChainContent(translationMessage.contentBlocks);\n}\n\nfunction isPreemptedOpenAIResponsesMessage(message: AIMessage): boolean {\n const metadata = message.response_metadata;\n if (metadata.preempted !== true || metadata.model_provider !== 'openai') {\n return false;\n }\n if (\n message.id?.startsWith('msg_') === true ||\n message.id?.startsWith('resp_') === true ||\n (typeof metadata.id === 'string' && metadata.id.startsWith('resp_')) ||\n Array.isArray(metadata.output) ||\n metadata.tool_outputs != null ||\n Array.isArray(message.additional_kwargs.tool_outputs) ||\n message.additional_kwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY] != null ||\n message.additional_kwargs.__openai_function_call_ids__ != null ||\n message.additional_kwargs.__openai_custom_tool_call_ids__ != null ||\n (message.additional_kwargs.reasoning != null &&\n typeof message.additional_kwargs.reasoning === 'object')\n ) {\n return true;\n }\n return false;\n}\n\n/**\n * A sealed Responses turn cannot prove that provider-side item ids were\n * retained: the response object does not echo the request's `store` flag.\n * Project a provider-neutral clone while preserving self-contained encrypted\n * reasoning and the original graph/checkpoint message.\n */\nfunction projectPreemptedOpenAIResponsesMessage(\n message: AIMessage,\n maxChars: number,\n replayProjection: ResponsesReplayProjection\n): AIMessage {\n if (!isPreemptedOpenAIResponsesMessage(message)) {\n return message;\n }\n\n const metadata = message.response_metadata;\n const additionalKwargs = { ...message.additional_kwargs };\n const retainsEncryptedReasoning =\n replayProjection === 'native' &&\n hasReplayableEncryptedReasoning(additionalKwargs.reasoning);\n const authoritativeOutput = getAuthoritativeResponsesOutput(message);\n const {\n generatedImages,\n messagePositions,\n positionedServerToolResultIds,\n positionsByItemId,\n serverToolResults,\n textPositions,\n } = getResponsesReplayArtifacts(\n authoritativeOutput,\n maxChars,\n replayProjection,\n additionalKwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY]\n );\n const reasoningItemId =\n retainsEncryptedReasoning &&\n additionalKwargs.reasoning != null &&\n typeof additionalKwargs.reasoning === 'object' &&\n 'id' in additionalKwargs.reasoning &&\n typeof additionalKwargs.reasoning.id === 'string'\n ? additionalKwargs.reasoning.id\n : undefined;\n const reasoningPosition =\n reasoningItemId != null\n ? positionsByItemId.get(reasoningItemId)\n : undefined;\n const isV1 = metadata.output_version === 'v1';\n const translatesV0 =\n !isV1 &&\n (replayProjection === 'fallback' || authoritativeOutput.length > 0);\n const originalImages =\n replayProjection === 'native' && translatesV0\n ? getSelfContainedResponsesV0Images(message)\n : undefined;\n let contentForProjection = message.content;\n if (!isV1 && translatesV0) {\n contentForProjection = getResponsesV0ContentBlocks(\n message,\n authoritativeOutput\n );\n }\n const projectedContent = projectPreemptedResponsesV1Content(\n contentForProjection,\n isV1 || translatesV0 ? additionalKwargs.reasoning : undefined,\n maxChars,\n replayProjection,\n replayProjection === 'native' ? generatedImages : undefined,\n originalImages,\n serverToolResults,\n positionedServerToolResultIds,\n reasoningPosition,\n textPositions,\n messagePositions\n );\n const promotesV0 =\n !isV1 &&\n (replayProjection === 'fallback' ||\n generatedImages.blocks.length > 0 ||\n projectedContent.preservedServerToolResult);\n const unpromotedV0Content =\n contentForProjection === message.content\n ? projectedContent.content\n : projectPreemptedResponsesV1Content(\n message.content,\n undefined,\n maxChars,\n replayProjection\n ).content;\n const content =\n isV1 || promotesV0 ? projectedContent.content : unpromotedV0Content;\n const hasUnsafeProviderReferences =\n content !== message.content ||\n message.id?.startsWith('msg_') === true ||\n (!retainsEncryptedReasoning && additionalKwargs.reasoning != null) ||\n additionalKwargs.tool_outputs != null ||\n additionalKwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY] != null ||\n additionalKwargs.__openai_function_call_ids__ != null ||\n additionalKwargs.__openai_custom_tool_call_ids__ != null ||\n metadata.id != null ||\n metadata.output != null ||\n metadata.tool_outputs != null;\n if (!hasUnsafeProviderReferences) {\n return message;\n }\n if (!retainsEncryptedReasoning) {\n delete additionalKwargs.reasoning;\n }\n delete additionalKwargs.tool_outputs;\n delete additionalKwargs[OPENAI_RESPONSES_REPLAY_POSITIONS_KEY];\n delete additionalKwargs.__openai_function_call_ids__;\n delete additionalKwargs.__openai_custom_tool_call_ids__;\n\n const responseMetadata: AIMessage['response_metadata'] = { ...metadata };\n delete responseMetadata.id;\n delete responseMetadata.output;\n delete responseMetadata.tool_outputs;\n if (promotesV0) {\n responseMetadata.output_version = 'v1';\n }\n\n return cloneAIMessageWithResponsesReplayState(\n message,\n content,\n message.id?.startsWith('msg_') === true ? undefined : message.id,\n additionalKwargs,\n responseMetadata\n );\n}\n\n/** Applies sealed-Responses safety and drops incomplete streamed text input. */\nexport function projectToolStreamContentForProvider(\n messages: BaseMessage[],\n responsesReplayProjection?: ResponsesReplayProjection,\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (message.getType() !== 'ai') {\n continue;\n }\n const assistantMessage = message as AIMessage;\n if (\n responsesReplayProjection != null &&\n isPreemptedOpenAIResponsesMessage(assistantMessage)\n ) {\n const replaySafeMessage = projectPreemptedOpenAIResponsesMessage(\n assistantMessage,\n maxChars,\n responsesReplayProjection\n );\n if (replaySafeMessage !== assistantMessage) {\n projected ??= [...messages];\n projected[i] = replaySafeMessage;\n }\n continue;\n }\n if (!Array.isArray(assistantMessage.content)) {\n continue;\n }\n const content = assistantMessage.content.filter(\n isCompleteToolStreamContentBlock\n );\n if (content.length === assistantMessage.content.length) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneAIMessageWithContent(\n assistantMessage,\n toLangChainContent(content)\n );\n }\n return projected ?? messages;\n}\n\ntype CacheControlledTextProjection = 'serialize' | 'preserve' | 'text';\n\nfunction projectStructuredOpenAIToolContent(\n content: ToolMessage['content'],\n maxChars: number,\n cacheControlledTextProjection: CacheControlledTextProjection\n): ToolMessage['content'] {\n if (cacheControlledTextProjection !== 'serialize') {\n const cacheControlledContent = getBoundedCacheControlledTextToolContent(\n content,\n maxChars\n );\n if (cacheControlledContent != null) {\n return cacheControlledTextProjection === 'preserve'\n ? cacheControlledContent\n : cacheControlledContent[0].text;\n }\n const singleTextContent = getBoundedSingleTextToolContent(\n content,\n maxChars\n );\n if (singleTextContent != null) {\n return singleTextContent;\n }\n }\n const serializableContent =\n cacheControlledTextProjection === 'preserve'\n ? stripAnthropicCacheControl([{ content }])[0].content\n : content;\n return serializeToolContentBounded(serializableContent, maxChars);\n}\n\n/**\n * OpenAI Chat tool messages only accept strings or text-only parts, while the\n * Responses API serializes any structured ToolMessage after graph accounting.\n * Project every non-string tool result to one bounded string before the final\n * provider payload is measured so both APIs receive the exact representation\n * the budget guard counted. Native Responses computer screenshots stay\n * structured because their dedicated converter sends the media block directly.\n */\nfunction projectOpenAIToolMessageContentInternal(\n messages: BaseMessage[],\n maxChars: number,\n nativeResponsesProjection: boolean,\n cacheControlledTextProjection: CacheControlledTextProjection\n): BaseMessage[] {\n const pendingComputerCallIds: string[] = [];\n const seenComputerCallIds = new Set<string>();\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n const messageRole = (message as BaseMessage & { role?: unknown }).role;\n const isAssistant =\n message.getType() === 'ai' || messageRole === 'assistant';\n if (isAssistant) {\n let assistantMessage = message as AIMessage;\n if (nativeResponsesProjection) {\n const replaySafeMessage = projectPreemptedOpenAIResponsesMessage(\n assistantMessage,\n maxChars,\n 'native'\n );\n if (replaySafeMessage !== assistantMessage) {\n projected ??= [...messages];\n projected[i] = replaySafeMessage;\n assistantMessage = replaySafeMessage;\n }\n }\n const parsedComputerCallIds = new Set<string>();\n const toolCalls = assistantMessage.tool_calls;\n if (Array.isArray(toolCalls)) {\n for (const toolCall of toolCalls) {\n const record = toolCall as ToolCall & {\n isComputerTool?: unknown;\n };\n if (\n record.type !== 'tool_call' ||\n record.isComputerTool !== true ||\n typeof record.id !== 'string' ||\n record.id === ''\n ) {\n continue;\n }\n if (parsedComputerCallIds.has(record.id)) {\n throw new Error(`Duplicate computer call id \"${record.id}\"`);\n }\n parsedComputerCallIds.add(record.id);\n if (seenComputerCallIds.has(record.id)) {\n throw new Error(`Duplicate computer call id \"${record.id}\"`);\n }\n seenComputerCallIds.add(record.id);\n pendingComputerCallIds.push(record.id);\n }\n }\n\n const rawOutput = (\n assistantMessage.response_metadata as {\n output?: unknown;\n }\n ).output;\n const fallbackOutput = (\n assistantMessage.additional_kwargs as {\n tool_outputs?: unknown;\n }\n ).tool_outputs;\n let actualToolOutputs: unknown[] = [];\n if (Array.isArray(rawOutput) && rawOutput.length > 0) {\n actualToolOutputs = rawOutput;\n } else if (Array.isArray(fallbackOutput)) {\n actualToolOutputs = fallbackOutput;\n }\n const rawComputerCallIds = new Set<string>();\n for (const item of actualToolOutputs) {\n if (item == null || typeof item !== 'object') {\n continue;\n }\n const record = item as {\n type?: unknown;\n call_id?: unknown;\n };\n if (\n record.type !== 'computer_call' ||\n typeof record.call_id !== 'string' ||\n record.call_id === ''\n ) {\n continue;\n }\n if (rawComputerCallIds.has(record.call_id)) {\n throw new Error(`Duplicate computer call id \"${record.call_id}\"`);\n }\n rawComputerCallIds.add(record.call_id);\n // LangChain can retain the same call in parsed and raw forms. It sends\n // one logical call, so collapse that representation duplicate.\n if (parsedComputerCallIds.has(record.call_id)) {\n continue;\n }\n if (seenComputerCallIds.has(record.call_id)) {\n throw new Error(`Duplicate computer call id \"${record.call_id}\"`);\n }\n seenComputerCallIds.add(record.call_id);\n pendingComputerCallIds.push(record.call_id);\n }\n\n if (\n nativeResponsesProjection &&\n Array.isArray(toolCalls) &&\n rawComputerCallIds.size > 0\n ) {\n /**\n * The non-streaming Responses converter marks parsed computer calls,\n * but the streaming converter currently emits the same call as an\n * ordinary parsed `computer_use` tool call. In both cases the raw\n * `computer_call` item is authoritative and is replayed by LangChain,\n * so remove every parsed representation with the same call id.\n */\n const projectedToolCalls = toolCalls.filter(\n (toolCall) =>\n typeof toolCall.id !== 'string' ||\n !rawComputerCallIds.has(toolCall.id)\n );\n if (projectedToolCalls.length !== toolCalls.length) {\n projected ??= [...messages];\n projected[i] = cloneAIMessageWithToolCalls(\n assistantMessage,\n projectedToolCalls,\n rawComputerCallIds\n );\n }\n }\n }\n\n if (\n message instanceof ToolMessage &&\n hasComputerCallOutputMarker(message)\n ) {\n const screenshot = getComputerCallOutputScreenshot(message.content);\n if (screenshot == null) {\n throw new Error('Invalid computer call output screenshot');\n }\n if (pendingComputerCallIds[0] !== message.tool_call_id) {\n throw new Error(\n `Invalid computer call output pairing for \"${message.tool_call_id}\"`\n );\n }\n pendingComputerCallIds.shift();\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(message, [screenshot]);\n continue;\n }\n if (\n !(message instanceof ToolMessage) ||\n typeof message.content === 'string'\n ) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(\n message,\n projectStructuredOpenAIToolContent(\n message.content,\n maxChars,\n cacheControlledTextProjection\n )\n );\n }\n if (pendingComputerCallIds.length > 0) {\n throw new Error(\n `Missing computer call output for \"${pendingComputerCallIds[0]}\"`\n );\n }\n return projected ?? messages;\n}\n\n/** Projects OpenAI-compatible tool content without changing parsed call parents. */\nexport function projectOpenAIToolMessageContent(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n return projectOpenAIToolMessageContentInternal(\n messages,\n maxChars,\n false,\n 'serialize'\n );\n}\n\n/** Projects an actual OpenAI-compatible Chat attempt and removes cache metadata. */\nexport function projectOpenAIChatToolMessageContent(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n return projectOpenAIToolMessageContentInternal(\n messages,\n maxChars,\n false,\n 'text'\n );\n}\n\n/** Preserves OpenRouter's cache-decorated text blocks for a Chat attempt. */\nexport function projectOpenRouterToolMessageContent(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n return projectOpenAIToolMessageContentInternal(\n messages,\n maxChars,\n false,\n 'preserve'\n );\n}\n\n/** Projects Responses tool content and collapses parsed/raw computer-call mirrors. */\nexport function projectOpenAIResponsesToolMessageContent(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n return projectOpenAIToolMessageContentInternal(\n messages,\n maxChars,\n true,\n 'text'\n );\n}\n\n/** Removes Anthropic/OpenRouter cache metadata before unsupported providers run. */\nexport function projectCacheControlledToolOutputsToText(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (\n !(message instanceof ToolMessage) ||\n typeof message.content === 'string'\n ) {\n continue;\n }\n const cacheControlledContent = getBoundedCacheControlledTextToolContent(\n message.content,\n maxChars\n );\n if (cacheControlledContent == null) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(\n message,\n cacheControlledContent[0].text\n );\n }\n return projected ?? messages;\n}\n\n/** Unwraps a canonical single text block after provider cache markers are removed. */\nexport function projectSingleTextToolOutputsToText(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (\n !(message instanceof ToolMessage) ||\n typeof message.content === 'string'\n ) {\n continue;\n }\n const text = getBoundedSingleTextToolContent(message.content, maxChars);\n if (text == null) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(message, text);\n }\n return projected ?? messages;\n}\n\n/** Serializes provider-neutral structured tool outputs without media pairing. */\nexport function projectStructuredToolOutputsToText(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (\n !(message instanceof ToolMessage) ||\n typeof message.content === 'string' ||\n hasComputerCallOutputMarker(message)\n ) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(\n message,\n serializeToolContentBounded(message.content, maxChars)\n );\n }\n return projected ?? messages;\n}\n\n/**\n * Non-Responses providers cannot consume native computer screenshots. Keep\n * the tool-call structure intact, but replace screenshot bytes with a bounded\n * text marker at the actual invocation boundary.\n */\nexport function projectComputerCallOutputsToText(\n messages: BaseMessage[]\n): BaseMessage[] {\n let projected: BaseMessage[] | undefined;\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (\n !(message instanceof ToolMessage) ||\n !hasComputerCallOutputMarker(message)\n ) {\n continue;\n }\n projected ??= [...messages];\n projected[i] = cloneToolMessageWithContent(\n message,\n '[Computer screenshot omitted for this provider]'\n );\n }\n return projected ?? messages;\n}\n\nexport function projectAnthropicArtifactContent(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n const lastMessage = messages[messages.length - 1];\n if (!(lastMessage instanceof ToolMessage)) return messages;\n\n // Find the latest AIMessage with tool_calls that this tool message belongs to\n const latestAIParentIndex = findLastIndex(\n messages,\n (msg) =>\n ((msg instanceof AIMessage || msg instanceof AIMessageChunk) &&\n (msg.tool_calls?.length ?? 0) > 0 &&\n msg.tool_calls?.some((tc) => tc.id === lastMessage.tool_call_id)) ??\n false\n );\n\n if (latestAIParentIndex === -1) return messages;\n\n // Build tool call ID set and merge artifact content in a single forward pass.\n const message = messages[latestAIParentIndex] as AIMessage | AIMessageChunk;\n const toolCallIdSet = new Set<string>();\n if (message.tool_calls) {\n for (const tc of message.tool_calls) {\n if (tc.id != null) {\n toolCallIdSet.add(tc.id);\n }\n }\n }\n\n let formattedMessages: BaseMessage[] | undefined;\n for (let j = latestAIParentIndex + 1; j < messages.length; j++) {\n const msg = messages[j];\n if (\n msg instanceof ToolMessage &&\n !isComputerCallOutputMessage(msg) &&\n toolCallIdSet.has(msg.tool_call_id) &&\n msg.artifact != null &&\n ((typeof msg.artifact?.content === 'string' &&\n msg.artifact.content.length > 0) ||\n (Array.isArray(msg.artifact?.content) &&\n msg.artifact.content.length > 0))\n ) {\n const artifactContent =\n typeof msg.artifact.content === 'string'\n ? [\n {\n type: ContentTypes.TEXT,\n text: msg.artifact.content,\n },\n ]\n : msg.artifact.content;\n const baseContent = Array.isArray(msg.content)\n ? msg.content\n : stringifyToolMessageContent(msg.content);\n const content = appendBoundedContent(\n compactToolContent(baseContent, maxChars).content,\n artifactContent,\n maxChars\n );\n formattedMessages ??= [...messages];\n formattedMessages[j] = cloneToolMessageWithContent(msg, content, {\n ...msg.artifact,\n content: [],\n });\n }\n }\n return formattedMessages ?? messages;\n}\n\n/**\n * Mutating compatibility wrapper retained for existing package consumers.\n * New provider-call paths should use `projectAnthropicArtifactContent`.\n */\nexport function formatAnthropicArtifactContent(messages: BaseMessage[]): void {\n const projected = projectAnthropicArtifactContent(messages);\n if (projected === messages) {\n return;\n }\n for (let i = 0; i < messages.length; i++) {\n if (\n messages[i] instanceof ToolMessage &&\n projected[i] instanceof ToolMessage &&\n projected[i] !== messages[i]\n ) {\n messages[i].content = projected[i].content;\n }\n }\n}\n\nexport function projectArtifactPayload(\n messages: BaseMessage[],\n maxChars = HARD_MAX_TOOL_RESULT_CHARS\n): BaseMessage[] {\n const lastMessageY = messages[messages.length - 1];\n if (!(lastMessageY instanceof ToolMessage)) return messages;\n\n // Find the latest AIMessage with tool_calls that this tool message belongs to\n const latestAIParentIndex = findLastIndex(\n messages,\n (msg) =>\n ((msg instanceof AIMessage || msg instanceof AIMessageChunk) &&\n (msg.tool_calls?.length ?? 0) > 0 &&\n msg.tool_calls?.some((tc) => tc.id === lastMessageY.tool_call_id)) ??\n false\n );\n\n if (latestAIParentIndex === -1) return messages;\n\n // Single pass: collect relevant tool messages with artifacts and aggregate\n let aggregatedContent: BaseMessage['content'] | undefined;\n let formattedMessages: BaseMessage[] | undefined;\n\n for (let i = latestAIParentIndex + 1; i < messages.length; i++) {\n const msg = messages[i];\n if (\n !(msg instanceof ToolMessage) ||\n isComputerCallOutputMessage(msg) ||\n !(\n (typeof msg.artifact?.content === 'string' &&\n msg.artifact.content.length > 0) ||\n (Array.isArray(msg.artifact?.content) &&\n msg.artifact.content.length > 0)\n )\n ) {\n continue;\n }\n aggregatedContent = appendBoundedContent(\n aggregatedContent,\n msg.content,\n maxChars\n );\n formattedMessages ??= [...messages];\n formattedMessages[i] = cloneToolMessageWithContent(\n msg,\n 'Tool response is included in the next message as a Human message',\n {\n ...msg.artifact,\n content: [],\n }\n );\n aggregatedContent = appendBoundedContent(\n aggregatedContent,\n msg.artifact.content,\n maxChars\n );\n }\n\n if (aggregatedContent != null) {\n formattedMessages?.push(new HumanMessage({ content: aggregatedContent }));\n }\n return formattedMessages ?? messages;\n}\n\n/**\n * Mutating compatibility wrapper retained for existing package consumers.\n * New provider-call paths should use `projectArtifactPayload`.\n */\nexport function formatArtifactPayload(messages: BaseMessage[]): void {\n const originalLength = messages.length;\n const projected = projectArtifactPayload(messages);\n if (projected === messages) {\n return;\n }\n for (let i = 0; i < originalLength; i++) {\n if (\n messages[i] instanceof ToolMessage &&\n projected[i] instanceof ToolMessage &&\n projected[i] !== messages[i]\n ) {\n messages[i].content = projected[i].content;\n }\n }\n messages.push(...projected.slice(originalLength));\n}\n\nexport function findLastIndex<T>(\n array: T[],\n predicate: (value: T) => boolean\n): number {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) {\n return i;\n }\n }\n return -1;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"core.mjs","names":[],"sources":["../../../src/messages/core.ts"],"mappings":"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"}