@librechat/agents 3.2.32 → 3.2.33

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 (573) hide show
  1. package/dist/cjs/_virtual/_rolldown/runtime.cjs +23 -0
  2. package/dist/cjs/agents/AgentContext.cjs +844 -1046
  3. package/dist/cjs/agents/AgentContext.cjs.map +1 -1
  4. package/dist/cjs/common/constants.cjs +13 -13
  5. package/dist/cjs/common/constants.cjs.map +1 -1
  6. package/dist/cjs/common/enum.cjs +233 -240
  7. package/dist/cjs/common/enum.cjs.map +1 -1
  8. package/dist/cjs/common/index.cjs +2 -0
  9. package/dist/cjs/events.cjs +121 -169
  10. package/dist/cjs/events.cjs.map +1 -1
  11. package/dist/cjs/graphs/Graph.cjs +1389 -1807
  12. package/dist/cjs/graphs/Graph.cjs.map +1 -1
  13. package/dist/cjs/graphs/MultiAgentGraph.cjs +713 -945
  14. package/dist/cjs/graphs/MultiAgentGraph.cjs.map +1 -1
  15. package/dist/cjs/graphs/index.cjs +2 -0
  16. package/dist/cjs/hitl/askUserQuestion.cjs +60 -62
  17. package/dist/cjs/hitl/askUserQuestion.cjs.map +1 -1
  18. package/dist/cjs/hitl/index.cjs +1 -0
  19. package/dist/cjs/hooks/HookRegistry.cjs +176 -202
  20. package/dist/cjs/hooks/HookRegistry.cjs.map +1 -1
  21. package/dist/cjs/hooks/createToolPolicyHook.cjs +71 -101
  22. package/dist/cjs/hooks/createToolPolicyHook.cjs.map +1 -1
  23. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs +170 -273
  24. package/dist/cjs/hooks/createWorkspacePolicyHook.cjs.map +1 -1
  25. package/dist/cjs/hooks/executeHooks.cjs +227 -282
  26. package/dist/cjs/hooks/executeHooks.cjs.map +1 -1
  27. package/dist/cjs/hooks/index.cjs +6 -0
  28. package/dist/cjs/hooks/matchers.cjs +196 -230
  29. package/dist/cjs/hooks/matchers.cjs.map +1 -1
  30. package/dist/cjs/hooks/types.cjs +24 -24
  31. package/dist/cjs/hooks/types.cjs.map +1 -1
  32. package/dist/cjs/instrumentation.cjs +110 -137
  33. package/dist/cjs/instrumentation.cjs.map +1 -1
  34. package/dist/cjs/langchain/google-common.cjs +0 -3
  35. package/dist/cjs/langchain/index.cjs +80 -43
  36. package/dist/cjs/langchain/language_models/chat_models.cjs +0 -3
  37. package/dist/cjs/langchain/messages/tool.cjs +0 -3
  38. package/dist/cjs/langchain/messages.cjs +35 -18
  39. package/dist/cjs/langchain/openai.cjs +0 -3
  40. package/dist/cjs/langchain/prompts.cjs +5 -8
  41. package/dist/cjs/langchain/runnables.cjs +11 -10
  42. package/dist/cjs/langchain/tools.cjs +14 -11
  43. package/dist/cjs/langchain/utils/env.cjs +5 -8
  44. package/dist/cjs/langfuse.cjs +60 -79
  45. package/dist/cjs/langfuse.cjs.map +1 -1
  46. package/dist/cjs/langfuseToolOutputTracing.cjs +267 -399
  47. package/dist/cjs/langfuseToolOutputTracing.cjs.map +1 -1
  48. package/dist/cjs/llm/anthropic/index.cjs +432 -562
  49. package/dist/cjs/llm/anthropic/index.cjs.map +1 -1
  50. package/dist/cjs/llm/anthropic/types.cjs +23 -47
  51. package/dist/cjs/llm/anthropic/types.cjs.map +1 -1
  52. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs +441 -731
  53. package/dist/cjs/llm/anthropic/utils/message_inputs.cjs.map +1 -1
  54. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs +171 -256
  55. package/dist/cjs/llm/anthropic/utils/message_outputs.cjs.map +1 -1
  56. package/dist/cjs/llm/anthropic/utils/output_parsers.cjs +2 -0
  57. package/dist/cjs/llm/anthropic/utils/tools.cjs +12 -26
  58. package/dist/cjs/llm/anthropic/utils/tools.cjs.map +1 -1
  59. package/dist/cjs/llm/bedrock/index.cjs +195 -240
  60. package/dist/cjs/llm/bedrock/index.cjs.map +1 -1
  61. package/dist/cjs/llm/bedrock/toolCache.cjs +84 -106
  62. package/dist/cjs/llm/bedrock/toolCache.cjs.map +1 -1
  63. package/dist/cjs/llm/bedrock/utils/index.cjs +2 -0
  64. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs +357 -620
  65. package/dist/cjs/llm/bedrock/utils/message_inputs.cjs.map +1 -1
  66. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs +105 -149
  67. package/dist/cjs/llm/bedrock/utils/message_outputs.cjs.map +1 -1
  68. package/dist/cjs/llm/fake.cjs +86 -96
  69. package/dist/cjs/llm/fake.cjs.map +1 -1
  70. package/dist/cjs/llm/google/index.cjs +183 -237
  71. package/dist/cjs/llm/google/index.cjs.map +1 -1
  72. package/dist/cjs/llm/google/utils/common.cjs +398 -674
  73. package/dist/cjs/llm/google/utils/common.cjs.map +1 -1
  74. package/dist/cjs/llm/google/utils/zod_to_genai_parameters.cjs +2 -0
  75. package/dist/cjs/llm/init.cjs +44 -53
  76. package/dist/cjs/llm/init.cjs.map +1 -1
  77. package/dist/cjs/llm/invoke.cjs +142 -182
  78. package/dist/cjs/llm/invoke.cjs.map +1 -1
  79. package/dist/cjs/llm/openai/index.cjs +991 -1276
  80. package/dist/cjs/llm/openai/index.cjs.map +1 -1
  81. package/dist/cjs/llm/openai/utils/index.cjs +189 -316
  82. package/dist/cjs/llm/openai/utils/index.cjs.map +1 -1
  83. package/dist/cjs/llm/openrouter/index.cjs +102 -153
  84. package/dist/cjs/llm/openrouter/index.cjs.map +1 -1
  85. package/dist/cjs/llm/openrouter/toolCache.cjs +35 -44
  86. package/dist/cjs/llm/openrouter/toolCache.cjs.map +1 -1
  87. package/dist/cjs/llm/providers.cjs +29 -37
  88. package/dist/cjs/llm/providers.cjs.map +1 -1
  89. package/dist/cjs/llm/request.cjs +20 -33
  90. package/dist/cjs/llm/request.cjs.map +1 -1
  91. package/dist/cjs/llm/vertexai/index.cjs +427 -453
  92. package/dist/cjs/llm/vertexai/index.cjs.map +1 -1
  93. package/dist/cjs/main.cjs +547 -528
  94. package/dist/cjs/messages/anthropicToolCache.cjs +68 -119
  95. package/dist/cjs/messages/anthropicToolCache.cjs.map +1 -1
  96. package/dist/cjs/messages/cache.cjs +305 -418
  97. package/dist/cjs/messages/cache.cjs.map +1 -1
  98. package/dist/cjs/messages/content.cjs +36 -49
  99. package/dist/cjs/messages/content.cjs.map +1 -1
  100. package/dist/cjs/messages/contextPruning.cjs +112 -145
  101. package/dist/cjs/messages/contextPruning.cjs.map +1 -1
  102. package/dist/cjs/messages/contextPruningSettings.cjs +36 -46
  103. package/dist/cjs/messages/contextPruningSettings.cjs.map +1 -1
  104. package/dist/cjs/messages/core.cjs +256 -397
  105. package/dist/cjs/messages/core.cjs.map +1 -1
  106. package/dist/cjs/messages/format.cjs +904 -1387
  107. package/dist/cjs/messages/format.cjs.map +1 -1
  108. package/dist/cjs/messages/ids.cjs +16 -20
  109. package/dist/cjs/messages/ids.cjs.map +1 -1
  110. package/dist/cjs/messages/index.cjs +12 -0
  111. package/dist/cjs/messages/langchain.cjs +18 -18
  112. package/dist/cjs/messages/langchain.cjs.map +1 -1
  113. package/dist/cjs/messages/prune.cjs +1054 -1517
  114. package/dist/cjs/messages/prune.cjs.map +1 -1
  115. package/dist/cjs/messages/recency.cjs +77 -95
  116. package/dist/cjs/messages/recency.cjs.map +1 -1
  117. package/dist/cjs/messages/reducer.cjs +63 -78
  118. package/dist/cjs/messages/reducer.cjs.map +1 -1
  119. package/dist/cjs/messages/tools.cjs +51 -79
  120. package/dist/cjs/messages/tools.cjs.map +1 -1
  121. package/dist/cjs/openai/index.cjs +171 -217
  122. package/dist/cjs/openai/index.cjs.map +1 -1
  123. package/dist/cjs/responses/index.cjs +302 -391
  124. package/dist/cjs/responses/index.cjs.map +1 -1
  125. package/dist/cjs/run.cjs +903 -1113
  126. package/dist/cjs/run.cjs.map +1 -1
  127. package/dist/cjs/session/AgentSession.cjs +805 -986
  128. package/dist/cjs/session/AgentSession.cjs.map +1 -1
  129. package/dist/cjs/session/JsonlSessionStore.cjs +327 -410
  130. package/dist/cjs/session/JsonlSessionStore.cjs.map +1 -1
  131. package/dist/cjs/session/handlers.cjs +192 -208
  132. package/dist/cjs/session/handlers.cjs.map +1 -1
  133. package/dist/cjs/session/ids.cjs +9 -10
  134. package/dist/cjs/session/ids.cjs.map +1 -1
  135. package/dist/cjs/session/index.cjs +4 -0
  136. package/dist/cjs/session/messageSerialization.cjs +94 -156
  137. package/dist/cjs/session/messageSerialization.cjs.map +1 -1
  138. package/dist/cjs/splitStream.cjs +147 -206
  139. package/dist/cjs/splitStream.cjs.map +1 -1
  140. package/dist/cjs/stream.cjs +856 -1344
  141. package/dist/cjs/stream.cjs.map +1 -1
  142. package/dist/cjs/summarization/index.cjs +57 -101
  143. package/dist/cjs/summarization/index.cjs.map +1 -1
  144. package/dist/cjs/summarization/node.cjs +643 -796
  145. package/dist/cjs/summarization/node.cjs.map +1 -1
  146. package/dist/cjs/tools/BashExecutor.cjs +110 -136
  147. package/dist/cjs/tools/BashExecutor.cjs.map +1 -1
  148. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs +165 -245
  149. package/dist/cjs/tools/BashProgrammaticToolCalling.cjs.map +1 -1
  150. package/dist/cjs/tools/Calculator.cjs +36 -57
  151. package/dist/cjs/tools/Calculator.cjs.map +1 -1
  152. package/dist/cjs/tools/CodeExecutor.cjs +126 -168
  153. package/dist/cjs/tools/CodeExecutor.cjs.map +1 -1
  154. package/dist/cjs/tools/CodeSessionFileSummary.cjs +36 -46
  155. package/dist/cjs/tools/CodeSessionFileSummary.cjs.map +1 -1
  156. package/dist/cjs/tools/ProgrammaticToolCalling.cjs +459 -649
  157. package/dist/cjs/tools/ProgrammaticToolCalling.cjs.map +1 -1
  158. package/dist/cjs/tools/ReadFile.cjs +17 -20
  159. package/dist/cjs/tools/ReadFile.cjs.map +1 -1
  160. package/dist/cjs/tools/SkillTool.cjs +26 -27
  161. package/dist/cjs/tools/SkillTool.cjs.map +1 -1
  162. package/dist/cjs/tools/SubagentTool.cjs +59 -61
  163. package/dist/cjs/tools/SubagentTool.cjs.map +1 -1
  164. package/dist/cjs/tools/ToolNode.cjs +2109 -2686
  165. package/dist/cjs/tools/ToolNode.cjs.map +1 -1
  166. package/dist/cjs/tools/ToolSearch.cjs +663 -825
  167. package/dist/cjs/tools/ToolSearch.cjs.map +1 -1
  168. package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs +248 -340
  169. package/dist/cjs/tools/cloudflare/CloudflareBridgeRuntime.cjs.map +1 -1
  170. package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs +170 -197
  171. package/dist/cjs/tools/cloudflare/CloudflareProgrammaticToolCalling.cjs.map +1 -1
  172. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs +425 -520
  173. package/dist/cjs/tools/cloudflare/CloudflareSandboxExecutionEngine.cjs.map +1 -1
  174. package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs +91 -124
  175. package/dist/cjs/tools/cloudflare/CloudflareSandboxTools.cjs.map +1 -1
  176. package/dist/cjs/tools/cloudflare/index.cjs +4 -0
  177. package/dist/cjs/tools/eagerEventExecution.cjs +75 -99
  178. package/dist/cjs/tools/eagerEventExecution.cjs.map +1 -1
  179. package/dist/cjs/tools/handlers.cjs +200 -262
  180. package/dist/cjs/tools/handlers.cjs.map +1 -1
  181. package/dist/cjs/tools/local/CompileCheckTool.cjs +150 -212
  182. package/dist/cjs/tools/local/CompileCheckTool.cjs.map +1 -1
  183. package/dist/cjs/tools/local/FileCheckpointer.cjs +77 -85
  184. package/dist/cjs/tools/local/FileCheckpointer.cjs.map +1 -1
  185. package/dist/cjs/tools/local/LocalCodingTools.cjs +763 -1022
  186. package/dist/cjs/tools/local/LocalCodingTools.cjs.map +1 -1
  187. package/dist/cjs/tools/local/LocalExecutionEngine.cjs +666 -941
  188. package/dist/cjs/tools/local/LocalExecutionEngine.cjs.map +1 -1
  189. package/dist/cjs/tools/local/LocalExecutionTools.cjs +49 -92
  190. package/dist/cjs/tools/local/LocalExecutionTools.cjs.map +1 -1
  191. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs +286 -354
  192. package/dist/cjs/tools/local/LocalProgrammaticToolCalling.cjs.map +1 -1
  193. package/dist/cjs/tools/local/attachments.cjs +108 -165
  194. package/dist/cjs/tools/local/attachments.cjs.map +1 -1
  195. package/dist/cjs/tools/local/bashAst.cjs +99 -113
  196. package/dist/cjs/tools/local/bashAst.cjs.map +1 -1
  197. package/dist/cjs/tools/local/editStrategies.cjs +126 -169
  198. package/dist/cjs/tools/local/editStrategies.cjs.map +1 -1
  199. package/dist/cjs/tools/local/index.cjs +12 -0
  200. package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs +136 -218
  201. package/dist/cjs/tools/local/resolveLocalExecutionTools.cjs.map +1 -1
  202. package/dist/cjs/tools/local/syntaxCheck.cjs +142 -161
  203. package/dist/cjs/tools/local/syntaxCheck.cjs.map +1 -1
  204. package/dist/cjs/tools/local/textEncoding.cjs +25 -23
  205. package/dist/cjs/tools/local/textEncoding.cjs.map +1 -1
  206. package/dist/cjs/tools/local/workspaceFS.cjs +38 -46
  207. package/dist/cjs/tools/local/workspaceFS.cjs.map +1 -1
  208. package/dist/cjs/tools/ptcTimeout.cjs +27 -47
  209. package/dist/cjs/tools/ptcTimeout.cjs.map +1 -1
  210. package/dist/cjs/tools/schema.cjs +24 -23
  211. package/dist/cjs/tools/schema.cjs.map +1 -1
  212. package/dist/cjs/tools/search/anthropic.cjs +24 -33
  213. package/dist/cjs/tools/search/anthropic.cjs.map +1 -1
  214. package/dist/cjs/tools/search/content.cjs +95 -137
  215. package/dist/cjs/tools/search/content.cjs.map +1 -1
  216. package/dist/cjs/tools/search/firecrawl.cjs +141 -172
  217. package/dist/cjs/tools/search/firecrawl.cjs.map +1 -1
  218. package/dist/cjs/tools/search/format.cjs +128 -196
  219. package/dist/cjs/tools/search/format.cjs.map +1 -1
  220. package/dist/cjs/tools/search/highlights.cjs +165 -232
  221. package/dist/cjs/tools/search/highlights.cjs.map +1 -1
  222. package/dist/cjs/tools/search/index.cjs +2 -0
  223. package/dist/cjs/tools/search/rerankers.cjs +151 -174
  224. package/dist/cjs/tools/search/rerankers.cjs.map +1 -1
  225. package/dist/cjs/tools/search/schema.cjs +40 -39
  226. package/dist/cjs/tools/search/schema.cjs.map +1 -1
  227. package/dist/cjs/tools/search/search.cjs +428 -530
  228. package/dist/cjs/tools/search/search.cjs.map +1 -1
  229. package/dist/cjs/tools/search/serper-scraper.cjs +106 -127
  230. package/dist/cjs/tools/search/serper-scraper.cjs.map +1 -1
  231. package/dist/cjs/tools/search/tavily-scraper.cjs +129 -181
  232. package/dist/cjs/tools/search/tavily-scraper.cjs.map +1 -1
  233. package/dist/cjs/tools/search/tavily-search.cjs +295 -359
  234. package/dist/cjs/tools/search/tavily-search.cjs.map +1 -1
  235. package/dist/cjs/tools/search/tool.cjs +260 -299
  236. package/dist/cjs/tools/search/tool.cjs.map +1 -1
  237. package/dist/cjs/tools/search/utils.cjs +74 -117
  238. package/dist/cjs/tools/search/utils.cjs.map +1 -1
  239. package/dist/cjs/tools/skillCatalog.cjs +54 -72
  240. package/dist/cjs/tools/skillCatalog.cjs.map +1 -1
  241. package/dist/cjs/tools/streamedToolCallSeals.cjs +19 -36
  242. package/dist/cjs/tools/streamedToolCallSeals.cjs.map +1 -1
  243. package/dist/cjs/tools/subagent/SubagentExecutor.cjs +612 -771
  244. package/dist/cjs/tools/subagent/SubagentExecutor.cjs.map +1 -1
  245. package/dist/cjs/tools/subagent/index.cjs +1 -0
  246. package/dist/cjs/tools/toolOutputReferences.cjs +523 -630
  247. package/dist/cjs/tools/toolOutputReferences.cjs.map +1 -1
  248. package/dist/cjs/utils/callbacks.cjs +11 -21
  249. package/dist/cjs/utils/callbacks.cjs.map +1 -1
  250. package/dist/cjs/utils/errors.cjs +70 -95
  251. package/dist/cjs/utils/errors.cjs.map +1 -1
  252. package/dist/cjs/utils/events.cjs +32 -42
  253. package/dist/cjs/utils/events.cjs.map +1 -1
  254. package/dist/cjs/utils/graph.cjs +8 -12
  255. package/dist/cjs/utils/graph.cjs.map +1 -1
  256. package/dist/cjs/utils/handlers.cjs +60 -82
  257. package/dist/cjs/utils/handlers.cjs.map +1 -1
  258. package/dist/cjs/utils/index.cjs +9 -0
  259. package/dist/cjs/utils/llm.cjs +19 -27
  260. package/dist/cjs/utils/llm.cjs.map +1 -1
  261. package/dist/cjs/utils/misc.cjs +30 -46
  262. package/dist/cjs/utils/misc.cjs.map +1 -1
  263. package/dist/cjs/utils/run.cjs +50 -66
  264. package/dist/cjs/utils/run.cjs.map +1 -1
  265. package/dist/cjs/utils/schema.cjs +11 -19
  266. package/dist/cjs/utils/schema.cjs.map +1 -1
  267. package/dist/cjs/utils/title.cjs +71 -106
  268. package/dist/cjs/utils/title.cjs.map +1 -1
  269. package/dist/cjs/utils/tokens.cjs +186 -283
  270. package/dist/cjs/utils/tokens.cjs.map +1 -1
  271. package/dist/cjs/utils/truncation.cjs +95 -114
  272. package/dist/cjs/utils/truncation.cjs.map +1 -1
  273. package/dist/esm/agents/AgentContext.mjs +844 -1044
  274. package/dist/esm/agents/AgentContext.mjs.map +1 -1
  275. package/dist/esm/common/constants.mjs +13 -11
  276. package/dist/esm/common/constants.mjs.map +1 -1
  277. package/dist/esm/common/enum.mjs +221 -238
  278. package/dist/esm/common/enum.mjs.map +1 -1
  279. package/dist/esm/common/index.mjs +3 -0
  280. package/dist/esm/events.mjs +121 -167
  281. package/dist/esm/events.mjs.map +1 -1
  282. package/dist/esm/graphs/Graph.mjs +1388 -1804
  283. package/dist/esm/graphs/Graph.mjs.map +1 -1
  284. package/dist/esm/graphs/MultiAgentGraph.mjs +713 -943
  285. package/dist/esm/graphs/MultiAgentGraph.mjs.map +1 -1
  286. package/dist/esm/graphs/index.mjs +3 -0
  287. package/dist/esm/hitl/askUserQuestion.mjs +60 -60
  288. package/dist/esm/hitl/askUserQuestion.mjs.map +1 -1
  289. package/dist/esm/hitl/index.mjs +2 -0
  290. package/dist/esm/hooks/HookRegistry.mjs +176 -200
  291. package/dist/esm/hooks/HookRegistry.mjs.map +1 -1
  292. package/dist/esm/hooks/createToolPolicyHook.mjs +71 -99
  293. package/dist/esm/hooks/createToolPolicyHook.mjs.map +1 -1
  294. package/dist/esm/hooks/createWorkspacePolicyHook.mjs +170 -271
  295. package/dist/esm/hooks/createWorkspacePolicyHook.mjs.map +1 -1
  296. package/dist/esm/hooks/executeHooks.mjs +227 -280
  297. package/dist/esm/hooks/executeHooks.mjs.map +1 -1
  298. package/dist/esm/hooks/index.mjs +7 -0
  299. package/dist/esm/hooks/matchers.mjs +196 -228
  300. package/dist/esm/hooks/matchers.mjs.map +1 -1
  301. package/dist/esm/hooks/types.mjs +24 -22
  302. package/dist/esm/hooks/types.mjs.map +1 -1
  303. package/dist/esm/instrumentation.mjs +109 -132
  304. package/dist/esm/instrumentation.mjs.map +1 -1
  305. package/dist/esm/langchain/google-common.mjs +1 -2
  306. package/dist/esm/langchain/index.mjs +5 -5
  307. package/dist/esm/langchain/language_models/chat_models.mjs +1 -2
  308. package/dist/esm/langchain/messages/tool.mjs +1 -2
  309. package/dist/esm/langchain/messages.mjs +2 -2
  310. package/dist/esm/langchain/openai.mjs +1 -2
  311. package/dist/esm/langchain/prompts.mjs +2 -2
  312. package/dist/esm/langchain/runnables.mjs +2 -2
  313. package/dist/esm/langchain/tools.mjs +2 -2
  314. package/dist/esm/langchain/utils/env.mjs +2 -2
  315. package/dist/esm/langfuse.mjs +60 -76
  316. package/dist/esm/langfuse.mjs.map +1 -1
  317. package/dist/esm/langfuseToolOutputTracing.mjs +267 -395
  318. package/dist/esm/langfuseToolOutputTracing.mjs.map +1 -1
  319. package/dist/esm/llm/anthropic/index.mjs +432 -559
  320. package/dist/esm/llm/anthropic/index.mjs.map +1 -1
  321. package/dist/esm/llm/anthropic/types.mjs +23 -45
  322. package/dist/esm/llm/anthropic/types.mjs.map +1 -1
  323. package/dist/esm/llm/anthropic/utils/message_inputs.mjs +439 -725
  324. package/dist/esm/llm/anthropic/utils/message_inputs.mjs.map +1 -1
  325. package/dist/esm/llm/anthropic/utils/message_outputs.mjs +171 -253
  326. package/dist/esm/llm/anthropic/utils/message_outputs.mjs.map +1 -1
  327. package/dist/esm/llm/anthropic/utils/output_parsers.mjs +3 -0
  328. package/dist/esm/llm/anthropic/utils/tools.mjs +12 -24
  329. package/dist/esm/llm/anthropic/utils/tools.mjs.map +1 -1
  330. package/dist/esm/llm/bedrock/index.mjs +195 -238
  331. package/dist/esm/llm/bedrock/index.mjs.map +1 -1
  332. package/dist/esm/llm/bedrock/toolCache.mjs +84 -104
  333. package/dist/esm/llm/bedrock/toolCache.mjs.map +1 -1
  334. package/dist/esm/llm/bedrock/utils/index.mjs +3 -0
  335. package/dist/esm/llm/bedrock/utils/message_inputs.mjs +357 -618
  336. package/dist/esm/llm/bedrock/utils/message_inputs.mjs.map +1 -1
  337. package/dist/esm/llm/bedrock/utils/message_outputs.mjs +105 -147
  338. package/dist/esm/llm/bedrock/utils/message_outputs.mjs.map +1 -1
  339. package/dist/esm/llm/fake.mjs +86 -94
  340. package/dist/esm/llm/fake.mjs.map +1 -1
  341. package/dist/esm/llm/google/index.mjs +183 -235
  342. package/dist/esm/llm/google/index.mjs.map +1 -1
  343. package/dist/esm/llm/google/utils/common.mjs +397 -666
  344. package/dist/esm/llm/google/utils/common.mjs.map +1 -1
  345. package/dist/esm/llm/google/utils/zod_to_genai_parameters.mjs +3 -0
  346. package/dist/esm/llm/init.mjs +44 -51
  347. package/dist/esm/llm/init.mjs.map +1 -1
  348. package/dist/esm/llm/invoke.mjs +142 -180
  349. package/dist/esm/llm/invoke.mjs.map +1 -1
  350. package/dist/esm/llm/openai/index.mjs +991 -1271
  351. package/dist/esm/llm/openai/index.mjs.map +1 -1
  352. package/dist/esm/llm/openai/utils/index.mjs +188 -312
  353. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  354. package/dist/esm/llm/openrouter/index.mjs +102 -151
  355. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  356. package/dist/esm/llm/openrouter/toolCache.mjs +35 -42
  357. package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
  358. package/dist/esm/llm/providers.mjs +29 -34
  359. package/dist/esm/llm/providers.mjs.map +1 -1
  360. package/dist/esm/llm/request.mjs +20 -31
  361. package/dist/esm/llm/request.mjs.map +1 -1
  362. package/dist/esm/llm/vertexai/index.mjs +427 -449
  363. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  364. package/dist/esm/main.mjs +99 -87
  365. package/dist/esm/messages/anthropicToolCache.mjs +68 -117
  366. package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
  367. package/dist/esm/messages/cache.mjs +305 -416
  368. package/dist/esm/messages/cache.mjs.map +1 -1
  369. package/dist/esm/messages/content.mjs +36 -47
  370. package/dist/esm/messages/content.mjs.map +1 -1
  371. package/dist/esm/messages/contextPruning.mjs +112 -143
  372. package/dist/esm/messages/contextPruning.mjs.map +1 -1
  373. package/dist/esm/messages/contextPruningSettings.mjs +36 -44
  374. package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
  375. package/dist/esm/messages/core.mjs +254 -393
  376. package/dist/esm/messages/core.mjs.map +1 -1
  377. package/dist/esm/messages/format.mjs +902 -1383
  378. package/dist/esm/messages/format.mjs.map +1 -1
  379. package/dist/esm/messages/ids.mjs +16 -18
  380. package/dist/esm/messages/ids.mjs.map +1 -1
  381. package/dist/esm/messages/index.mjs +13 -0
  382. package/dist/esm/messages/langchain.mjs +18 -16
  383. package/dist/esm/messages/langchain.mjs.map +1 -1
  384. package/dist/esm/messages/prune.mjs +1053 -1514
  385. package/dist/esm/messages/prune.mjs.map +1 -1
  386. package/dist/esm/messages/recency.mjs +77 -93
  387. package/dist/esm/messages/recency.mjs.map +1 -1
  388. package/dist/esm/messages/reducer.mjs +63 -76
  389. package/dist/esm/messages/reducer.mjs.map +1 -1
  390. package/dist/esm/messages/tools.mjs +49 -75
  391. package/dist/esm/messages/tools.mjs.map +1 -1
  392. package/dist/esm/openai/index.mjs +170 -215
  393. package/dist/esm/openai/index.mjs.map +1 -1
  394. package/dist/esm/responses/index.mjs +301 -389
  395. package/dist/esm/responses/index.mjs.map +1 -1
  396. package/dist/esm/run.mjs +903 -1111
  397. package/dist/esm/run.mjs.map +1 -1
  398. package/dist/esm/session/AgentSession.mjs +806 -985
  399. package/dist/esm/session/AgentSession.mjs.map +1 -1
  400. package/dist/esm/session/JsonlSessionStore.mjs +326 -407
  401. package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
  402. package/dist/esm/session/handlers.mjs +192 -206
  403. package/dist/esm/session/handlers.mjs.map +1 -1
  404. package/dist/esm/session/ids.mjs +9 -8
  405. package/dist/esm/session/ids.mjs.map +1 -1
  406. package/dist/esm/session/index.mjs +5 -0
  407. package/dist/esm/session/messageSerialization.mjs +94 -154
  408. package/dist/esm/session/messageSerialization.mjs.map +1 -1
  409. package/dist/esm/splitStream.mjs +147 -204
  410. package/dist/esm/splitStream.mjs.map +1 -1
  411. package/dist/esm/stream.mjs +854 -1341
  412. package/dist/esm/stream.mjs.map +1 -1
  413. package/dist/esm/summarization/index.mjs +57 -99
  414. package/dist/esm/summarization/index.mjs.map +1 -1
  415. package/dist/esm/summarization/node.mjs +640 -790
  416. package/dist/esm/summarization/node.mjs.map +1 -1
  417. package/dist/esm/tools/BashExecutor.mjs +103 -129
  418. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  419. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +162 -239
  420. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  421. package/dist/esm/tools/Calculator.mjs +34 -36
  422. package/dist/esm/tools/Calculator.mjs.map +1 -1
  423. package/dist/esm/tools/CodeExecutor.mjs +123 -164
  424. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  425. package/dist/esm/tools/CodeSessionFileSummary.mjs +36 -44
  426. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  427. package/dist/esm/tools/ProgrammaticToolCalling.mjs +454 -644
  428. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  429. package/dist/esm/tools/ReadFile.mjs +17 -18
  430. package/dist/esm/tools/ReadFile.mjs.map +1 -1
  431. package/dist/esm/tools/SkillTool.mjs +26 -25
  432. package/dist/esm/tools/SkillTool.mjs.map +1 -1
  433. package/dist/esm/tools/SubagentTool.mjs +59 -59
  434. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  435. package/dist/esm/tools/ToolNode.mjs +2107 -2684
  436. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  437. package/dist/esm/tools/ToolSearch.mjs +659 -804
  438. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  439. package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs +248 -338
  440. package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
  441. package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs +170 -195
  442. package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
  443. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +424 -517
  444. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
  445. package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs +91 -122
  446. package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
  447. package/dist/esm/tools/cloudflare/index.mjs +5 -0
  448. package/dist/esm/tools/eagerEventExecution.mjs +75 -96
  449. package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
  450. package/dist/esm/tools/handlers.mjs +200 -260
  451. package/dist/esm/tools/handlers.mjs.map +1 -1
  452. package/dist/esm/tools/local/CompileCheckTool.mjs +150 -210
  453. package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
  454. package/dist/esm/tools/local/FileCheckpointer.mjs +77 -83
  455. package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
  456. package/dist/esm/tools/local/LocalCodingTools.mjs +760 -1017
  457. package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
  458. package/dist/esm/tools/local/LocalExecutionEngine.mjs +663 -936
  459. package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
  460. package/dist/esm/tools/local/LocalExecutionTools.mjs +49 -90
  461. package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
  462. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +283 -349
  463. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
  464. package/dist/esm/tools/local/attachments.mjs +108 -163
  465. package/dist/esm/tools/local/attachments.mjs.map +1 -1
  466. package/dist/esm/tools/local/bashAst.mjs +99 -111
  467. package/dist/esm/tools/local/bashAst.mjs.map +1 -1
  468. package/dist/esm/tools/local/editStrategies.mjs +126 -167
  469. package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
  470. package/dist/esm/tools/local/index.mjs +13 -0
  471. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs +136 -216
  472. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
  473. package/dist/esm/tools/local/syntaxCheck.mjs +138 -155
  474. package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
  475. package/dist/esm/tools/local/textEncoding.mjs +25 -21
  476. package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
  477. package/dist/esm/tools/local/workspaceFS.mjs +38 -44
  478. package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
  479. package/dist/esm/tools/ptcTimeout.mjs +27 -42
  480. package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
  481. package/dist/esm/tools/schema.mjs +24 -21
  482. package/dist/esm/tools/schema.mjs.map +1 -1
  483. package/dist/esm/tools/search/anthropic.mjs +24 -31
  484. package/dist/esm/tools/search/anthropic.mjs.map +1 -1
  485. package/dist/esm/tools/search/content.mjs +93 -116
  486. package/dist/esm/tools/search/content.mjs.map +1 -1
  487. package/dist/esm/tools/search/firecrawl.mjs +139 -169
  488. package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
  489. package/dist/esm/tools/search/format.mjs +128 -194
  490. package/dist/esm/tools/search/format.mjs.map +1 -1
  491. package/dist/esm/tools/search/highlights.mjs +165 -230
  492. package/dist/esm/tools/search/highlights.mjs.map +1 -1
  493. package/dist/esm/tools/search/index.mjs +3 -0
  494. package/dist/esm/tools/search/rerankers.mjs +149 -168
  495. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  496. package/dist/esm/tools/search/schema.mjs +39 -37
  497. package/dist/esm/tools/search/schema.mjs.map +1 -1
  498. package/dist/esm/tools/search/search.mjs +426 -528
  499. package/dist/esm/tools/search/search.mjs.map +1 -1
  500. package/dist/esm/tools/search/serper-scraper.mjs +104 -124
  501. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
  502. package/dist/esm/tools/search/tavily-scraper.mjs +127 -178
  503. package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
  504. package/dist/esm/tools/search/tavily-search.mjs +293 -357
  505. package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
  506. package/dist/esm/tools/search/tool.mjs +259 -297
  507. package/dist/esm/tools/search/tool.mjs.map +1 -1
  508. package/dist/esm/tools/search/utils.mjs +74 -115
  509. package/dist/esm/tools/search/utils.mjs.map +1 -1
  510. package/dist/esm/tools/skillCatalog.mjs +54 -70
  511. package/dist/esm/tools/skillCatalog.mjs.map +1 -1
  512. package/dist/esm/tools/streamedToolCallSeals.mjs +19 -31
  513. package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
  514. package/dist/esm/tools/subagent/SubagentExecutor.mjs +612 -768
  515. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  516. package/dist/esm/tools/subagent/index.mjs +2 -0
  517. package/dist/esm/tools/toolOutputReferences.mjs +523 -624
  518. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
  519. package/dist/esm/utils/callbacks.mjs +11 -19
  520. package/dist/esm/utils/callbacks.mjs.map +1 -1
  521. package/dist/esm/utils/errors.mjs +70 -93
  522. package/dist/esm/utils/errors.mjs.map +1 -1
  523. package/dist/esm/utils/events.mjs +32 -40
  524. package/dist/esm/utils/events.mjs.map +1 -1
  525. package/dist/esm/utils/graph.mjs +8 -10
  526. package/dist/esm/utils/graph.mjs.map +1 -1
  527. package/dist/esm/utils/handlers.mjs +60 -80
  528. package/dist/esm/utils/handlers.mjs.map +1 -1
  529. package/dist/esm/utils/index.mjs +10 -0
  530. package/dist/esm/utils/llm.mjs +19 -25
  531. package/dist/esm/utils/llm.mjs.map +1 -1
  532. package/dist/esm/utils/misc.mjs +30 -44
  533. package/dist/esm/utils/misc.mjs.map +1 -1
  534. package/dist/esm/utils/run.mjs +50 -64
  535. package/dist/esm/utils/run.mjs.map +1 -1
  536. package/dist/esm/utils/schema.mjs +11 -17
  537. package/dist/esm/utils/schema.mjs.map +1 -1
  538. package/dist/esm/utils/title.mjs +71 -104
  539. package/dist/esm/utils/title.mjs.map +1 -1
  540. package/dist/esm/utils/tokens.mjs +186 -281
  541. package/dist/esm/utils/tokens.mjs.map +1 -1
  542. package/dist/esm/utils/truncation.mjs +95 -112
  543. package/dist/esm/utils/truncation.mjs.map +1 -1
  544. package/dist/types/tools/search/tool.d.ts +17 -0
  545. package/dist/types/tools/search/types.d.ts +4 -0
  546. package/package.json +4 -10
  547. package/src/tools/search/highlights.ts +9 -1
  548. package/src/tools/search/search.ts +41 -3
  549. package/src/tools/search/source-processing.test.ts +373 -0
  550. package/src/tools/search/tool.ts +22 -2
  551. package/src/tools/search/types.ts +4 -0
  552. package/dist/cjs/langchain/google-common.cjs.map +0 -1
  553. package/dist/cjs/langchain/index.cjs.map +0 -1
  554. package/dist/cjs/langchain/language_models/chat_models.cjs.map +0 -1
  555. package/dist/cjs/langchain/messages/tool.cjs.map +0 -1
  556. package/dist/cjs/langchain/messages.cjs.map +0 -1
  557. package/dist/cjs/langchain/openai.cjs.map +0 -1
  558. package/dist/cjs/langchain/prompts.cjs.map +0 -1
  559. package/dist/cjs/langchain/runnables.cjs.map +0 -1
  560. package/dist/cjs/langchain/tools.cjs.map +0 -1
  561. package/dist/cjs/langchain/utils/env.cjs.map +0 -1
  562. package/dist/cjs/main.cjs.map +0 -1
  563. package/dist/esm/langchain/google-common.mjs.map +0 -1
  564. package/dist/esm/langchain/index.mjs.map +0 -1
  565. package/dist/esm/langchain/language_models/chat_models.mjs.map +0 -1
  566. package/dist/esm/langchain/messages/tool.mjs.map +0 -1
  567. package/dist/esm/langchain/messages.mjs.map +0 -1
  568. package/dist/esm/langchain/openai.mjs.map +0 -1
  569. package/dist/esm/langchain/prompts.mjs.map +0 -1
  570. package/dist/esm/langchain/runnables.mjs.map +0 -1
  571. package/dist/esm/langchain/tools.mjs.map +0 -1
  572. package/dist/esm/langchain/utils/env.mjs.map +0 -1
  573. package/dist/esm/main.mjs.map +0 -1
@@ -1,443 +1,353 @@
1
- 'use strict';
2
-
3
- var _enum = require('../common/enum.cjs');
4
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("../common/enum.cjs");
3
+ require("../common/index.cjs");
4
+ //#region src/responses/index.ts
5
5
  let responseItemId = 0;
6
6
  function createItemId(prefix) {
7
- return `${prefix}_${Date.now().toString(36)}${(responseItemId++).toString(36)}`;
7
+ return `${prefix}_${Date.now().toString(36)}${(responseItemId++).toString(36)}`;
8
8
  }
9
9
  function createResponseTracker() {
10
- const tracker = {
11
- sequenceNumber: 0,
12
- items: [],
13
- message: undefined,
14
- reasoning: undefined,
15
- functionCalls: new Map(),
16
- functionCallsByStep: new Map(),
17
- responseCreated: false,
18
- usage: {
19
- inputTokens: 0,
20
- outputTokens: 0,
21
- },
22
- nextSequence: () => tracker.sequenceNumber++,
23
- };
24
- return tracker;
10
+ const tracker = {
11
+ sequenceNumber: 0,
12
+ items: [],
13
+ message: void 0,
14
+ reasoning: void 0,
15
+ functionCalls: /* @__PURE__ */ new Map(),
16
+ functionCallsByStep: /* @__PURE__ */ new Map(),
17
+ responseCreated: false,
18
+ usage: {
19
+ inputTokens: 0,
20
+ outputTokens: 0
21
+ },
22
+ nextSequence: () => tracker.sequenceNumber++
23
+ };
24
+ return tracker;
25
25
  }
26
26
  function getTokenCount(value) {
27
- return typeof value === 'number' && Number.isFinite(value) ? value : 0;
27
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
28
28
  }
29
29
  function getToolCallIndex(toolCall, fallbackIndex) {
30
- return typeof toolCall.index === 'number' ? toolCall.index : fallbackIndex;
30
+ return typeof toolCall.index === "number" ? toolCall.index : fallbackIndex;
31
31
  }
32
32
  function getToolCallPositionKey(stepId, toolCall, fallbackIndex) {
33
- const index = getToolCallIndex(toolCall, fallbackIndex);
34
- if (stepId !== '') {
35
- return `${stepId}:${index}`;
36
- }
37
- return `tool:${index}`;
33
+ const index = getToolCallIndex(toolCall, fallbackIndex);
34
+ if (stepId !== "") return `${stepId}:${index}`;
35
+ return `tool:${index}`;
38
36
  }
39
37
  function getToolCallIdKey(toolCall) {
40
- return toolCall.id != null && toolCall.id !== '' ? toolCall.id : undefined;
38
+ return toolCall.id != null && toolCall.id !== "" ? toolCall.id : void 0;
41
39
  }
42
40
  function getExistingFunctionCall(config, idKey, positionKey, stepId, toolCall) {
43
- const keyed = idKey == null
44
- ? undefined
45
- : (config.tracker.functionCalls.get(idKey) ??
46
- (positionKey == null
47
- ? undefined
48
- : config.tracker.functionCalls.get(positionKey)));
49
- if (keyed != null) {
50
- return keyed;
51
- }
52
- const positioned = positionKey == null
53
- ? undefined
54
- : config.tracker.functionCalls.get(positionKey);
55
- if (positioned != null) {
56
- return positioned;
57
- }
58
- if (stepId === '') {
59
- return undefined;
60
- }
61
- return findFunctionCallByStep(config, stepId, toolCall);
41
+ const keyed = idKey == null ? void 0 : config.tracker.functionCalls.get(idKey) ?? (positionKey == null ? void 0 : config.tracker.functionCalls.get(positionKey));
42
+ if (keyed != null) return keyed;
43
+ const positioned = positionKey == null ? void 0 : config.tracker.functionCalls.get(positionKey);
44
+ if (positioned != null) return positioned;
45
+ if (stepId === "") return;
46
+ return findFunctionCallByStep(config, stepId, toolCall);
62
47
  }
63
48
  function findFunctionCallByStep(config, stepId, toolCall) {
64
- const items = config.tracker.functionCallsByStep.get(stepId);
65
- if (items == null) {
66
- return undefined;
67
- }
68
- const index = typeof toolCall.index === 'number' ? toolCall.index : undefined;
69
- if (index != null) {
70
- return items[index];
71
- }
72
- const name = getToolCallName(toolCall);
73
- let fallback;
74
- for (const item of items) {
75
- if (item == null || item.status === 'completed') {
76
- continue;
77
- }
78
- if (name !== '' && item.name !== name) {
79
- continue;
80
- }
81
- if (fallback != null) {
82
- return undefined;
83
- }
84
- fallback = item;
85
- }
86
- return fallback;
49
+ const items = config.tracker.functionCallsByStep.get(stepId);
50
+ if (items == null) return;
51
+ const index = typeof toolCall.index === "number" ? toolCall.index : void 0;
52
+ if (index != null) return items[index];
53
+ const name = getToolCallName(toolCall);
54
+ let fallback;
55
+ for (const item of items) {
56
+ if (item == null || item.status === "completed") continue;
57
+ if (name !== "" && item.name !== name) continue;
58
+ if (fallback != null) return;
59
+ fallback = item;
60
+ }
61
+ return fallback;
87
62
  }
88
63
  function trackFunctionCallKeys(config, item, idKey, positionKey) {
89
- config.tracker.functionCalls.set(positionKey, item);
90
- if (idKey != null) {
91
- config.tracker.functionCalls.set(idKey, item);
92
- }
64
+ config.tracker.functionCalls.set(positionKey, item);
65
+ if (idKey != null) config.tracker.functionCalls.set(idKey, item);
93
66
  }
94
67
  function trackFunctionCallStep(config, stepId, item, fallbackIndex) {
95
- if (stepId === '') {
96
- return;
97
- }
98
- const items = config.tracker.functionCallsByStep.get(stepId) ?? [];
99
- items[fallbackIndex] = item;
100
- config.tracker.functionCallsByStep.set(stepId, items);
68
+ if (stepId === "") return;
69
+ const items = config.tracker.functionCallsByStep.get(stepId) ?? [];
70
+ items[fallbackIndex] = item;
71
+ config.tracker.functionCallsByStep.set(stepId, items);
101
72
  }
102
73
  function getToolCallName(toolCall) {
103
- return toolCall.name ?? toolCall.function?.name ?? '';
74
+ return toolCall.name ?? toolCall.function?.name ?? "";
104
75
  }
105
76
  function getToolCallArguments(toolCall) {
106
- const args = toolCall.args ?? toolCall.function?.arguments;
107
- if (args == null) {
108
- return '';
109
- }
110
- if (typeof args === 'string') {
111
- return args;
112
- }
113
- return JSON.stringify(args);
77
+ const args = toolCall.args ?? toolCall.function?.arguments;
78
+ if (args == null) return "";
79
+ if (typeof args === "string") return args;
80
+ return JSON.stringify(args);
114
81
  }
115
82
  async function ensureFunctionCall(config, stepId, toolCall, fallbackIndex) {
116
- await ensureResponseCreated(config);
117
- const positionKey = getToolCallPositionKey(stepId, toolCall, fallbackIndex);
118
- const idKey = getToolCallIdKey(toolCall);
119
- const existing = getExistingFunctionCall(config, idKey, positionKey, stepId, toolCall);
120
- const toolCallIndex = getToolCallIndex(toolCall, fallbackIndex);
121
- const name = getToolCallName(toolCall);
122
- if (existing) {
123
- trackFunctionCallKeys(config, existing, idKey, positionKey);
124
- trackFunctionCallStep(config, stepId, existing, toolCallIndex);
125
- if (idKey != null) {
126
- existing.call_id = idKey;
127
- }
128
- if (name !== '') {
129
- existing.name = name;
130
- }
131
- return existing;
132
- }
133
- const item = {
134
- type: 'function_call',
135
- id: createItemId('fc'),
136
- call_id: idKey ?? positionKey,
137
- name,
138
- arguments: '',
139
- status: 'in_progress',
140
- };
141
- trackFunctionCallKeys(config, item, idKey, positionKey);
142
- trackFunctionCallStep(config, stepId, item, toolCallIndex);
143
- config.tracker.items.push(item);
144
- await writeResponseEvent(config.writer, {
145
- type: 'response.output_item.added',
146
- sequence_number: config.tracker.nextSequence(),
147
- output_index: config.tracker.items.length - 1,
148
- item,
149
- });
150
- return item;
83
+ await ensureResponseCreated(config);
84
+ const positionKey = getToolCallPositionKey(stepId, toolCall, fallbackIndex);
85
+ const idKey = getToolCallIdKey(toolCall);
86
+ const existing = getExistingFunctionCall(config, idKey, positionKey, stepId, toolCall);
87
+ const toolCallIndex = getToolCallIndex(toolCall, fallbackIndex);
88
+ const name = getToolCallName(toolCall);
89
+ if (existing) {
90
+ trackFunctionCallKeys(config, existing, idKey, positionKey);
91
+ trackFunctionCallStep(config, stepId, existing, toolCallIndex);
92
+ if (idKey != null) existing.call_id = idKey;
93
+ if (name !== "") existing.name = name;
94
+ return existing;
95
+ }
96
+ const item = {
97
+ type: "function_call",
98
+ id: createItemId("fc"),
99
+ call_id: idKey ?? positionKey,
100
+ name,
101
+ arguments: "",
102
+ status: "in_progress"
103
+ };
104
+ trackFunctionCallKeys(config, item, idKey, positionKey);
105
+ trackFunctionCallStep(config, stepId, item, toolCallIndex);
106
+ config.tracker.items.push(item);
107
+ await writeResponseEvent(config.writer, {
108
+ type: "response.output_item.added",
109
+ sequence_number: config.tracker.nextSequence(),
110
+ output_index: config.tracker.items.length - 1,
111
+ item
112
+ });
113
+ return item;
151
114
  }
152
115
  async function emitFunctionCallArgumentsDelta(params) {
153
- if (params.delta === '') {
154
- return;
155
- }
156
- params.item.arguments += params.delta;
157
- await writeResponseEvent(params.config.writer, {
158
- type: 'response.function_call_arguments.delta',
159
- sequence_number: params.config.tracker.nextSequence(),
160
- item_id: params.item.id,
161
- output_index: params.config.tracker.items.indexOf(params.item),
162
- call_id: params.item.call_id,
163
- delta: params.delta,
164
- });
116
+ if (params.delta === "") return;
117
+ params.item.arguments += params.delta;
118
+ await writeResponseEvent(params.config.writer, {
119
+ type: "response.function_call_arguments.delta",
120
+ sequence_number: params.config.tracker.nextSequence(),
121
+ item_id: params.item.id,
122
+ output_index: params.config.tracker.items.indexOf(params.item),
123
+ call_id: params.item.call_id,
124
+ delta: params.delta
125
+ });
165
126
  }
166
127
  async function emitFunctionCallArgumentsDone(config, item) {
167
- await writeResponseEvent(config.writer, {
168
- type: 'response.function_call_arguments.done',
169
- sequence_number: config.tracker.nextSequence(),
170
- item_id: item.id,
171
- output_index: config.tracker.items.indexOf(item),
172
- call_id: item.call_id,
173
- name: item.name,
174
- arguments: item.arguments,
175
- });
128
+ await writeResponseEvent(config.writer, {
129
+ type: "response.function_call_arguments.done",
130
+ sequence_number: config.tracker.nextSequence(),
131
+ item_id: item.id,
132
+ output_index: config.tracker.items.indexOf(item),
133
+ call_id: item.call_id,
134
+ name: item.name,
135
+ arguments: item.arguments
136
+ });
176
137
  }
177
138
  async function completeFunctionCall(config, stepId, toolCall) {
178
- const fallbackIndex = typeof toolCall.index === 'number' ? toolCall.index : undefined;
179
- const positionKey = fallbackIndex == null
180
- ? undefined
181
- : getToolCallPositionKey(stepId, toolCall, fallbackIndex);
182
- const item = getExistingFunctionCall(config, getToolCallIdKey(toolCall), positionKey, stepId, toolCall) ??
183
- (await ensureFunctionCall(config, stepId, toolCall, fallbackIndex ?? 0));
184
- if (item.status === 'completed') {
185
- return;
186
- }
187
- const finalArguments = getToolCallArguments(toolCall);
188
- if (finalArguments !== '' &&
189
- finalArguments !== item.arguments &&
190
- finalArguments.startsWith(item.arguments)) {
191
- await emitFunctionCallArgumentsDelta({
192
- config,
193
- item,
194
- delta: finalArguments.slice(item.arguments.length),
195
- });
196
- }
197
- else if (finalArguments !== '') {
198
- item.arguments = finalArguments;
199
- }
200
- await emitFunctionCallArgumentsDone(config, item);
201
- item.status = 'completed';
202
- await writeResponseEvent(config.writer, {
203
- type: 'response.output_item.done',
204
- sequence_number: config.tracker.nextSequence(),
205
- output_index: config.tracker.items.indexOf(item),
206
- item,
207
- });
139
+ const fallbackIndex = typeof toolCall.index === "number" ? toolCall.index : void 0;
140
+ const positionKey = fallbackIndex == null ? void 0 : getToolCallPositionKey(stepId, toolCall, fallbackIndex);
141
+ const item = getExistingFunctionCall(config, getToolCallIdKey(toolCall), positionKey, stepId, toolCall) ?? await ensureFunctionCall(config, stepId, toolCall, fallbackIndex ?? 0);
142
+ if (item.status === "completed") return;
143
+ const finalArguments = getToolCallArguments(toolCall);
144
+ if (finalArguments !== "" && finalArguments !== item.arguments && finalArguments.startsWith(item.arguments)) await emitFunctionCallArgumentsDelta({
145
+ config,
146
+ item,
147
+ delta: finalArguments.slice(item.arguments.length)
148
+ });
149
+ else if (finalArguments !== "") item.arguments = finalArguments;
150
+ await emitFunctionCallArgumentsDone(config, item);
151
+ item.status = "completed";
152
+ await writeResponseEvent(config.writer, {
153
+ type: "response.output_item.done",
154
+ sequence_number: config.tracker.nextSequence(),
155
+ output_index: config.tracker.items.indexOf(item),
156
+ item
157
+ });
208
158
  }
209
- function buildResponse(context, tracker, status = 'in_progress') {
210
- const completed = status === 'completed';
211
- return {
212
- id: context.responseId,
213
- object: 'response',
214
- created_at: context.createdAt,
215
- completed_at: completed ? Math.floor(Date.now() / 1000) : null,
216
- status,
217
- model: context.model,
218
- previous_response_id: context.previousResponseId ?? null,
219
- instructions: context.instructions ?? null,
220
- output: tracker.items,
221
- error: null,
222
- usage: completed
223
- ? {
224
- input_tokens: tracker.usage.inputTokens,
225
- output_tokens: tracker.usage.outputTokens,
226
- total_tokens: tracker.usage.inputTokens + tracker.usage.outputTokens,
227
- }
228
- : null,
229
- };
159
+ function buildResponse(context, tracker, status = "in_progress") {
160
+ const completed = status === "completed";
161
+ return {
162
+ id: context.responseId,
163
+ object: "response",
164
+ created_at: context.createdAt,
165
+ completed_at: completed ? Math.floor(Date.now() / 1e3) : null,
166
+ status,
167
+ model: context.model,
168
+ previous_response_id: context.previousResponseId ?? null,
169
+ instructions: context.instructions ?? null,
170
+ output: tracker.items,
171
+ error: null,
172
+ usage: completed ? {
173
+ input_tokens: tracker.usage.inputTokens,
174
+ output_tokens: tracker.usage.outputTokens,
175
+ total_tokens: tracker.usage.inputTokens + tracker.usage.outputTokens
176
+ } : null
177
+ };
230
178
  }
231
179
  async function writeResponseEvent(writer, event) {
232
- await writer.write(`event: ${event.type}\n`);
233
- await writer.write(`data: ${JSON.stringify(event)}\n\n`);
180
+ await writer.write(`event: ${event.type}\n`);
181
+ await writer.write(`data: ${JSON.stringify(event)}\n\n`);
234
182
  }
235
183
  async function writeResponsesDone(writer) {
236
- await writer.write('data: [DONE]\n\n');
184
+ await writer.write("data: [DONE]\n\n");
237
185
  }
238
186
  async function ensureResponseCreated(config) {
239
- if (config.tracker.responseCreated) {
240
- return;
241
- }
242
- config.tracker.responseCreated = true;
243
- await writeResponseEvent(config.writer, {
244
- type: 'response.created',
245
- sequence_number: config.tracker.nextSequence(),
246
- response: buildResponse(config.context, config.tracker),
247
- });
187
+ if (config.tracker.responseCreated) return;
188
+ config.tracker.responseCreated = true;
189
+ await writeResponseEvent(config.writer, {
190
+ type: "response.created",
191
+ sequence_number: config.tracker.nextSequence(),
192
+ response: buildResponse(config.context, config.tracker)
193
+ });
248
194
  }
249
195
  async function emitOutputContentDone(config, item) {
250
- const outputIndex = config.tracker.items.indexOf(item);
251
- if (item.type === 'message') {
252
- await writeResponseEvent(config.writer, {
253
- type: 'response.output_text.done',
254
- sequence_number: config.tracker.nextSequence(),
255
- item_id: item.id,
256
- output_index: outputIndex,
257
- content_index: 0,
258
- text: item.content[0].text,
259
- });
260
- return;
261
- }
262
- await writeResponseEvent(config.writer, {
263
- type: 'response.reasoning_text.done',
264
- sequence_number: config.tracker.nextSequence(),
265
- item_id: item.id,
266
- output_index: outputIndex,
267
- content_index: 0,
268
- text: item.content[0].text,
269
- });
196
+ const outputIndex = config.tracker.items.indexOf(item);
197
+ if (item.type === "message") {
198
+ await writeResponseEvent(config.writer, {
199
+ type: "response.output_text.done",
200
+ sequence_number: config.tracker.nextSequence(),
201
+ item_id: item.id,
202
+ output_index: outputIndex,
203
+ content_index: 0,
204
+ text: item.content[0].text
205
+ });
206
+ return;
207
+ }
208
+ await writeResponseEvent(config.writer, {
209
+ type: "response.reasoning_text.done",
210
+ sequence_number: config.tracker.nextSequence(),
211
+ item_id: item.id,
212
+ output_index: outputIndex,
213
+ content_index: 0,
214
+ text: item.content[0].text
215
+ });
270
216
  }
271
217
  async function ensureMessage(config) {
272
- await ensureResponseCreated(config);
273
- if (config.tracker.message) {
274
- return config.tracker.message;
275
- }
276
- const item = {
277
- type: 'message',
278
- id: createItemId('msg'),
279
- role: 'assistant',
280
- status: 'in_progress',
281
- content: [{ type: 'output_text', text: '', annotations: [], logprobs: [] }],
282
- };
283
- config.tracker.message = item;
284
- config.tracker.items.push(item);
285
- await writeResponseEvent(config.writer, {
286
- type: 'response.output_item.added',
287
- sequence_number: config.tracker.nextSequence(),
288
- output_index: config.tracker.items.length - 1,
289
- item,
290
- });
291
- return item;
218
+ await ensureResponseCreated(config);
219
+ if (config.tracker.message) return config.tracker.message;
220
+ const item = {
221
+ type: "message",
222
+ id: createItemId("msg"),
223
+ role: "assistant",
224
+ status: "in_progress",
225
+ content: [{
226
+ type: "output_text",
227
+ text: "",
228
+ annotations: [],
229
+ logprobs: []
230
+ }]
231
+ };
232
+ config.tracker.message = item;
233
+ config.tracker.items.push(item);
234
+ await writeResponseEvent(config.writer, {
235
+ type: "response.output_item.added",
236
+ sequence_number: config.tracker.nextSequence(),
237
+ output_index: config.tracker.items.length - 1,
238
+ item
239
+ });
240
+ return item;
292
241
  }
293
242
  async function ensureReasoning(config) {
294
- await ensureResponseCreated(config);
295
- if (config.tracker.reasoning) {
296
- return config.tracker.reasoning;
297
- }
298
- const item = {
299
- type: 'reasoning',
300
- id: createItemId('reason'),
301
- status: 'in_progress',
302
- content: [{ type: 'reasoning_text', text: '' }],
303
- summary: [],
304
- };
305
- config.tracker.reasoning = item;
306
- config.tracker.items.push(item);
307
- await writeResponseEvent(config.writer, {
308
- type: 'response.output_item.added',
309
- sequence_number: config.tracker.nextSequence(),
310
- output_index: config.tracker.items.length - 1,
311
- item,
312
- });
313
- return item;
243
+ await ensureResponseCreated(config);
244
+ if (config.tracker.reasoning) return config.tracker.reasoning;
245
+ const item = {
246
+ type: "reasoning",
247
+ id: createItemId("reason"),
248
+ status: "in_progress",
249
+ content: [{
250
+ type: "reasoning_text",
251
+ text: ""
252
+ }],
253
+ summary: []
254
+ };
255
+ config.tracker.reasoning = item;
256
+ config.tracker.items.push(item);
257
+ await writeResponseEvent(config.writer, {
258
+ type: "response.output_item.added",
259
+ sequence_number: config.tracker.nextSequence(),
260
+ output_index: config.tracker.items.length - 1,
261
+ item
262
+ });
263
+ return item;
314
264
  }
315
265
  function createResponsesEventHandlers(config) {
316
- return {
317
- [_enum.GraphEvents.ON_MESSAGE_DELTA]: {
318
- handle: async (_event, data) => {
319
- const item = await ensureMessage(config);
320
- for (const part of data.delta.content ?? []) {
321
- if (!('text' in part) || typeof part.text !== 'string') {
322
- continue;
323
- }
324
- item.content[0].text += part.text;
325
- await writeResponseEvent(config.writer, {
326
- type: 'response.output_text.delta',
327
- sequence_number: config.tracker.nextSequence(),
328
- item_id: item.id,
329
- output_index: config.tracker.items.indexOf(item),
330
- content_index: 0,
331
- delta: part.text,
332
- });
333
- }
334
- },
335
- },
336
- [_enum.GraphEvents.ON_REASONING_DELTA]: {
337
- handle: async (_event, data) => {
338
- const item = await ensureReasoning(config);
339
- for (const part of data.delta.content ??
340
- []) {
341
- let text;
342
- if ('think' in part && typeof part.think === 'string') {
343
- text = part.think;
344
- }
345
- else if ('text' in part && typeof part.text === 'string') {
346
- text = part.text;
347
- }
348
- if (typeof text !== 'string') {
349
- continue;
350
- }
351
- item.content[0].text += text;
352
- await writeResponseEvent(config.writer, {
353
- type: 'response.reasoning_text.delta',
354
- sequence_number: config.tracker.nextSequence(),
355
- item_id: item.id,
356
- output_index: config.tracker.items.indexOf(item),
357
- content_index: 0,
358
- delta: text,
359
- });
360
- }
361
- },
362
- },
363
- [_enum.GraphEvents.ON_RUN_STEP]: {
364
- handle: async (_event, data) => {
365
- const runStep = data;
366
- if (runStep.stepDetails.type !== 'tool_calls') {
367
- return;
368
- }
369
- const toolCalls = runStep.stepDetails.tool_calls ?? [];
370
- for (let index = 0; index < toolCalls.length; index++) {
371
- await ensureFunctionCall(config, runStep.id, toolCalls[index], index);
372
- }
373
- },
374
- },
375
- [_enum.GraphEvents.ON_RUN_STEP_DELTA]: {
376
- handle: async (_event, data) => {
377
- const runStepDelta = data;
378
- if (runStepDelta.delta.type !== 'tool_calls') {
379
- return;
380
- }
381
- const toolCalls = runStepDelta.delta.tool_calls ?? [];
382
- for (let index = 0; index < toolCalls.length; index++) {
383
- const item = await ensureFunctionCall(config, runStepDelta.id, toolCalls[index], index);
384
- await emitFunctionCallArgumentsDelta({
385
- config,
386
- item,
387
- delta: getToolCallArguments(toolCalls[index]),
388
- });
389
- }
390
- },
391
- },
392
- [_enum.GraphEvents.ON_RUN_STEP_COMPLETED]: {
393
- handle: async (_event, data) => {
394
- const completed = data;
395
- if (!completed.result?.tool_call) {
396
- return;
397
- }
398
- await completeFunctionCall(config, completed.result.id ?? '', completed.result.tool_call);
399
- },
400
- },
401
- [_enum.GraphEvents.CHAT_MODEL_END]: {
402
- handle: (_event, data) => {
403
- const usage = data?.output?.usage_metadata;
404
- if (!usage) {
405
- return;
406
- }
407
- config.tracker.usage.inputTokens += getTokenCount(usage.input_tokens);
408
- config.tracker.usage.outputTokens += getTokenCount(usage.output_tokens);
409
- },
410
- },
411
- };
266
+ return {
267
+ ["on_message_delta"]: { handle: async (_event, data) => {
268
+ const item = await ensureMessage(config);
269
+ for (const part of data.delta.content ?? []) {
270
+ if (!("text" in part) || typeof part.text !== "string") continue;
271
+ item.content[0].text += part.text;
272
+ await writeResponseEvent(config.writer, {
273
+ type: "response.output_text.delta",
274
+ sequence_number: config.tracker.nextSequence(),
275
+ item_id: item.id,
276
+ output_index: config.tracker.items.indexOf(item),
277
+ content_index: 0,
278
+ delta: part.text
279
+ });
280
+ }
281
+ } },
282
+ ["on_reasoning_delta"]: { handle: async (_event, data) => {
283
+ const item = await ensureReasoning(config);
284
+ for (const part of data.delta.content ?? []) {
285
+ let text;
286
+ if ("think" in part && typeof part.think === "string") text = part.think;
287
+ else if ("text" in part && typeof part.text === "string") text = part.text;
288
+ if (typeof text !== "string") continue;
289
+ item.content[0].text += text;
290
+ await writeResponseEvent(config.writer, {
291
+ type: "response.reasoning_text.delta",
292
+ sequence_number: config.tracker.nextSequence(),
293
+ item_id: item.id,
294
+ output_index: config.tracker.items.indexOf(item),
295
+ content_index: 0,
296
+ delta: text
297
+ });
298
+ }
299
+ } },
300
+ ["on_run_step"]: { handle: async (_event, data) => {
301
+ const runStep = data;
302
+ if (runStep.stepDetails.type !== "tool_calls") return;
303
+ const toolCalls = runStep.stepDetails.tool_calls ?? [];
304
+ for (let index = 0; index < toolCalls.length; index++) await ensureFunctionCall(config, runStep.id, toolCalls[index], index);
305
+ } },
306
+ ["on_run_step_delta"]: { handle: async (_event, data) => {
307
+ const runStepDelta = data;
308
+ if (runStepDelta.delta.type !== "tool_calls") return;
309
+ const toolCalls = runStepDelta.delta.tool_calls ?? [];
310
+ for (let index = 0; index < toolCalls.length; index++) await emitFunctionCallArgumentsDelta({
311
+ config,
312
+ item: await ensureFunctionCall(config, runStepDelta.id, toolCalls[index], index),
313
+ delta: getToolCallArguments(toolCalls[index])
314
+ });
315
+ } },
316
+ ["on_run_step_completed"]: { handle: async (_event, data) => {
317
+ const completed = data;
318
+ if (!completed.result?.tool_call) return;
319
+ await completeFunctionCall(config, completed.result.id ?? "", completed.result.tool_call);
320
+ } },
321
+ ["on_chat_model_end"]: { handle: (_event, data) => {
322
+ const usage = data?.output?.usage_metadata;
323
+ if (!usage) return;
324
+ config.tracker.usage.inputTokens += getTokenCount(usage.input_tokens);
325
+ config.tracker.usage.outputTokens += getTokenCount(usage.output_tokens);
326
+ } }
327
+ };
412
328
  }
413
329
  async function emitResponseCompleted(config) {
414
- await ensureResponseCreated(config);
415
- for (const item of config.tracker.items) {
416
- if (item.status === 'completed') {
417
- continue;
418
- }
419
- if (item.type === 'message' || item.type === 'reasoning') {
420
- await emitOutputContentDone(config, item);
421
- }
422
- else {
423
- await emitFunctionCallArgumentsDone(config, item);
424
- }
425
- item.status = 'completed';
426
- await writeResponseEvent(config.writer, {
427
- type: 'response.output_item.done',
428
- sequence_number: config.tracker.nextSequence(),
429
- output_index: config.tracker.items.indexOf(item),
430
- item,
431
- });
432
- }
433
- await writeResponseEvent(config.writer, {
434
- type: 'response.completed',
435
- sequence_number: config.tracker.nextSequence(),
436
- response: buildResponse(config.context, config.tracker, 'completed'),
437
- });
438
- await writeResponsesDone(config.writer);
330
+ await ensureResponseCreated(config);
331
+ for (const item of config.tracker.items) {
332
+ if (item.status === "completed") continue;
333
+ if (item.type === "message" || item.type === "reasoning") await emitOutputContentDone(config, item);
334
+ else await emitFunctionCallArgumentsDone(config, item);
335
+ item.status = "completed";
336
+ await writeResponseEvent(config.writer, {
337
+ type: "response.output_item.done",
338
+ sequence_number: config.tracker.nextSequence(),
339
+ output_index: config.tracker.items.indexOf(item),
340
+ item
341
+ });
342
+ }
343
+ await writeResponseEvent(config.writer, {
344
+ type: "response.completed",
345
+ sequence_number: config.tracker.nextSequence(),
346
+ response: buildResponse(config.context, config.tracker, "completed")
347
+ });
348
+ await writeResponsesDone(config.writer);
439
349
  }
440
-
350
+ //#endregion
441
351
  exports.buildResponse = buildResponse;
442
352
  exports.createResponseTracker = createResponseTracker;
443
353
  exports.createResponsesEventHandlers = createResponsesEventHandlers;
@@ -445,4 +355,5 @@ exports.emitResponseCompleted = emitResponseCompleted;
445
355
  exports.ensureResponseCreated = ensureResponseCreated;
446
356
  exports.writeResponseEvent = writeResponseEvent;
447
357
  exports.writeResponsesDone = writeResponsesDone;
448
- //# sourceMappingURL=index.cjs.map
358
+
359
+ //# sourceMappingURL=index.cjs.map