@librechat/agents 3.4.6 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1027) 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 +5 -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 +5 -35
  366. package/dist/esm/llm/google/utils/common.mjs.map +1 -1
  367. package/dist/esm/llm/init.mjs +0 -9
  368. package/dist/esm/llm/init.mjs.map +1 -1
  369. package/dist/esm/llm/invoke.mjs +1 -270
  370. package/dist/esm/llm/invoke.mjs.map +1 -1
  371. package/dist/esm/llm/mistral/index.mjs.map +1 -1
  372. package/dist/esm/llm/openai/index.mjs +0 -99
  373. package/dist/esm/llm/openai/index.mjs.map +1 -1
  374. package/dist/esm/llm/openai/streamMetadata.mjs +0 -21
  375. package/dist/esm/llm/openai/streamMetadata.mjs.map +1 -1
  376. package/dist/esm/llm/openai/utils/index.mjs.map +1 -1
  377. package/dist/esm/llm/openrouter/index.mjs +0 -1
  378. package/dist/esm/llm/openrouter/index.mjs.map +1 -1
  379. package/dist/esm/llm/openrouter/toolCache.mjs +0 -6
  380. package/dist/esm/llm/openrouter/toolCache.mjs.map +1 -1
  381. package/dist/esm/llm/preempt.mjs +0 -75
  382. package/dist/esm/llm/preempt.mjs.map +1 -1
  383. package/dist/esm/llm/providers.mjs.map +1 -1
  384. package/dist/esm/llm/request.mjs +0 -10
  385. package/dist/esm/llm/request.mjs.map +1 -1
  386. package/dist/esm/llm/stream/chunkAdapters.mjs +0 -62
  387. package/dist/esm/llm/stream/chunkAdapters.mjs.map +1 -1
  388. package/dist/esm/llm/stream/smoother.mjs +0 -58
  389. package/dist/esm/llm/stream/smoother.mjs.map +1 -1
  390. package/dist/esm/llm/streamLimits.mjs +4 -293
  391. package/dist/esm/llm/streamLimits.mjs.map +1 -1
  392. package/dist/esm/llm/truncation.mjs +0 -36
  393. package/dist/esm/llm/truncation.mjs.map +1 -1
  394. package/dist/esm/llm/vertexai/index.mjs +0 -330
  395. package/dist/esm/llm/vertexai/index.mjs.map +1 -1
  396. package/dist/esm/messages/alternation.mjs +0 -43
  397. package/dist/esm/messages/alternation.mjs.map +1 -1
  398. package/dist/esm/messages/anthropicToolCache.mjs +0 -45
  399. package/dist/esm/messages/anthropicToolCache.mjs.map +1 -1
  400. package/dist/esm/messages/assistantPhase.mjs +0 -12
  401. package/dist/esm/messages/assistantPhase.mjs.map +1 -1
  402. package/dist/esm/messages/budget.mjs +0 -9
  403. package/dist/esm/messages/budget.mjs.map +1 -1
  404. package/dist/esm/messages/cache.mjs +0 -172
  405. package/dist/esm/messages/cache.mjs.map +1 -1
  406. package/dist/esm/messages/content.mjs +0 -9
  407. package/dist/esm/messages/content.mjs.map +1 -1
  408. package/dist/esm/messages/contextPruning.mjs +0 -15
  409. package/dist/esm/messages/contextPruning.mjs.map +1 -1
  410. package/dist/esm/messages/contextPruningSettings.mjs +0 -3
  411. package/dist/esm/messages/contextPruningSettings.mjs.map +1 -1
  412. package/dist/esm/messages/core.mjs +0 -48
  413. package/dist/esm/messages/core.mjs.map +1 -1
  414. package/dist/esm/messages/format.mjs +1 -345
  415. package/dist/esm/messages/format.mjs.map +1 -1
  416. package/dist/esm/messages/handoffCue.mjs +0 -36
  417. package/dist/esm/messages/handoffCue.mjs.map +1 -1
  418. package/dist/esm/messages/ids.mjs.map +1 -1
  419. package/dist/esm/messages/injected.mjs +0 -33
  420. package/dist/esm/messages/injected.mjs.map +1 -1
  421. package/dist/esm/messages/langchain.mjs +0 -14
  422. package/dist/esm/messages/langchain.mjs.map +1 -1
  423. package/dist/esm/messages/prune.mjs +1 -184
  424. package/dist/esm/messages/prune.mjs.map +1 -1
  425. package/dist/esm/messages/recency.mjs +0 -32
  426. package/dist/esm/messages/recency.mjs.map +1 -1
  427. package/dist/esm/messages/reducer.mjs +0 -30
  428. package/dist/esm/messages/reducer.mjs.map +1 -1
  429. package/dist/esm/messages/tools.mjs +0 -14
  430. package/dist/esm/messages/tools.mjs.map +1 -1
  431. package/dist/esm/openai/index.mjs.map +1 -1
  432. package/dist/esm/prompts/activityLabel.mjs +9 -79
  433. package/dist/esm/prompts/activityLabel.mjs.map +1 -1
  434. package/dist/esm/responses/index.mjs.map +1 -1
  435. package/dist/esm/run.mjs +2 -538
  436. package/dist/esm/run.mjs.map +1 -1
  437. package/dist/esm/session/AgentSession.mjs +1 -17
  438. package/dist/esm/session/AgentSession.mjs.map +1 -1
  439. package/dist/esm/session/JsonlSessionStore.mjs.map +1 -1
  440. package/dist/esm/session/handlers.mjs +0 -7
  441. package/dist/esm/session/handlers.mjs.map +1 -1
  442. package/dist/esm/session/ids.mjs.map +1 -1
  443. package/dist/esm/session/messageSerialization.mjs +0 -4
  444. package/dist/esm/session/messageSerialization.mjs.map +1 -1
  445. package/dist/esm/stream.mjs +1 -93
  446. package/dist/esm/stream.mjs.map +1 -1
  447. package/dist/esm/summarization/index.mjs +0 -27
  448. package/dist/esm/summarization/index.mjs.map +1 -1
  449. package/dist/esm/summarization/node.mjs +0 -273
  450. package/dist/esm/summarization/node.mjs.map +1 -1
  451. package/dist/esm/tools/BashExecutor.mjs +0 -35
  452. package/dist/esm/tools/BashExecutor.mjs.map +1 -1
  453. package/dist/esm/tools/BashProgrammaticToolCalling.mjs +0 -24
  454. package/dist/esm/tools/BashProgrammaticToolCalling.mjs.map +1 -1
  455. package/dist/esm/tools/Calculator.mjs.map +1 -1
  456. package/dist/esm/tools/CodeExecutor.mjs +0 -13
  457. package/dist/esm/tools/CodeExecutor.mjs.map +1 -1
  458. package/dist/esm/tools/CodeSessionFileSummary.mjs.map +1 -1
  459. package/dist/esm/tools/ProgrammaticToolCalling.mjs +0 -101
  460. package/dist/esm/tools/ProgrammaticToolCalling.mjs.map +1 -1
  461. package/dist/esm/tools/ReadFile.mjs.map +1 -1
  462. package/dist/esm/tools/SkillTool.mjs +0 -5
  463. package/dist/esm/tools/SkillTool.mjs.map +1 -1
  464. package/dist/esm/tools/SubagentTool.mjs +0 -10
  465. package/dist/esm/tools/SubagentTool.mjs.map +1 -1
  466. package/dist/esm/tools/ToolNode.mjs +6 -1038
  467. package/dist/esm/tools/ToolNode.mjs.map +1 -1
  468. package/dist/esm/tools/ToolSearch.mjs +0 -179
  469. package/dist/esm/tools/ToolSearch.mjs.map +1 -1
  470. package/dist/esm/tools/cloudflare/CloudflareBridgeRuntime.mjs.map +1 -1
  471. package/dist/esm/tools/cloudflare/CloudflareProgrammaticToolCalling.mjs.map +1 -1
  472. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs +0 -39
  473. package/dist/esm/tools/cloudflare/CloudflareSandboxExecutionEngine.mjs.map +1 -1
  474. package/dist/esm/tools/cloudflare/CloudflareSandboxTools.mjs.map +1 -1
  475. package/dist/esm/tools/eagerEventExecution.mjs +0 -6
  476. package/dist/esm/tools/eagerEventExecution.mjs.map +1 -1
  477. package/dist/esm/tools/handlers.mjs +1 -41
  478. package/dist/esm/tools/handlers.mjs.map +1 -1
  479. package/dist/esm/tools/intentArg.mjs +1 -132
  480. package/dist/esm/tools/intentArg.mjs.map +1 -1
  481. package/dist/esm/tools/local/CompileCheckTool.mjs +0 -25
  482. package/dist/esm/tools/local/CompileCheckTool.mjs.map +1 -1
  483. package/dist/esm/tools/local/FileCheckpointer.mjs +0 -23
  484. package/dist/esm/tools/local/FileCheckpointer.mjs.map +1 -1
  485. package/dist/esm/tools/local/LocalCodingTools.mjs +0 -80
  486. package/dist/esm/tools/local/LocalCodingTools.mjs.map +1 -1
  487. package/dist/esm/tools/local/LocalExecutionEngine.mjs +0 -126
  488. package/dist/esm/tools/local/LocalExecutionEngine.mjs.map +1 -1
  489. package/dist/esm/tools/local/LocalExecutionTools.mjs.map +1 -1
  490. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs +0 -12
  491. package/dist/esm/tools/local/LocalProgrammaticToolCalling.mjs.map +1 -1
  492. package/dist/esm/tools/local/attachments.mjs +0 -44
  493. package/dist/esm/tools/local/attachments.mjs.map +1 -1
  494. package/dist/esm/tools/local/bashAst.mjs +0 -16
  495. package/dist/esm/tools/local/bashAst.mjs.map +1 -1
  496. package/dist/esm/tools/local/editStrategies.mjs +0 -14
  497. package/dist/esm/tools/local/editStrategies.mjs.map +1 -1
  498. package/dist/esm/tools/local/resolveLocalExecutionTools.mjs.map +1 -1
  499. package/dist/esm/tools/local/syntaxCheck.mjs +0 -31
  500. package/dist/esm/tools/local/syntaxCheck.mjs.map +1 -1
  501. package/dist/esm/tools/local/textEncoding.mjs +0 -11
  502. package/dist/esm/tools/local/textEncoding.mjs.map +1 -1
  503. package/dist/esm/tools/local/workspaceFS.mjs +0 -33
  504. package/dist/esm/tools/local/workspaceFS.mjs.map +1 -1
  505. package/dist/esm/tools/ptcTimeout.mjs.map +1 -1
  506. package/dist/esm/tools/schema.mjs +0 -8
  507. package/dist/esm/tools/schema.mjs.map +1 -1
  508. package/dist/esm/tools/search/anthropic.mjs +0 -9
  509. package/dist/esm/tools/search/anthropic.mjs.map +1 -1
  510. package/dist/esm/tools/search/content.mjs.map +1 -1
  511. package/dist/esm/tools/search/crw-scraper.mjs +0 -33
  512. package/dist/esm/tools/search/crw-scraper.mjs.map +1 -1
  513. package/dist/esm/tools/search/crw-search.mjs +0 -2
  514. package/dist/esm/tools/search/crw-search.mjs.map +1 -1
  515. package/dist/esm/tools/search/firecrawl.mjs +0 -25
  516. package/dist/esm/tools/search/firecrawl.mjs.map +1 -1
  517. package/dist/esm/tools/search/format.mjs +0 -30
  518. package/dist/esm/tools/search/format.mjs.map +1 -1
  519. package/dist/esm/tools/search/highlights.mjs +0 -16
  520. package/dist/esm/tools/search/highlights.mjs.map +1 -1
  521. package/dist/esm/tools/search/keenable-scraper.mjs +0 -8
  522. package/dist/esm/tools/search/keenable-scraper.mjs.map +1 -1
  523. package/dist/esm/tools/search/keenable-search.mjs +0 -7
  524. package/dist/esm/tools/search/keenable-search.mjs.map +1 -1
  525. package/dist/esm/tools/search/rerankers.mjs +0 -35
  526. package/dist/esm/tools/search/rerankers.mjs.map +1 -1
  527. package/dist/esm/tools/search/schema.mjs +0 -1
  528. package/dist/esm/tools/search/schema.mjs.map +1 -1
  529. package/dist/esm/tools/search/search.mjs +1 -14
  530. package/dist/esm/tools/search/search.mjs.map +1 -1
  531. package/dist/esm/tools/search/serper-scraper.mjs +0 -46
  532. package/dist/esm/tools/search/serper-scraper.mjs.map +1 -1
  533. package/dist/esm/tools/search/tavily-scraper.mjs.map +1 -1
  534. package/dist/esm/tools/search/tavily-search.mjs.map +1 -1
  535. package/dist/esm/tools/search/tool.mjs +0 -25
  536. package/dist/esm/tools/search/tool.mjs.map +1 -1
  537. package/dist/esm/tools/search/utils.mjs +0 -8
  538. package/dist/esm/tools/search/utils.mjs.map +1 -1
  539. package/dist/esm/tools/skillCatalog.mjs +0 -6
  540. package/dist/esm/tools/skillCatalog.mjs.map +1 -1
  541. package/dist/esm/tools/streamedToolCallSeals.mjs +0 -6
  542. package/dist/esm/tools/streamedToolCallSeals.mjs.map +1 -1
  543. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs +0 -2
  544. package/dist/esm/tools/subagent/SubagentExecutionRegistry.mjs.map +1 -1
  545. package/dist/esm/tools/subagent/SubagentExecutor.mjs +3 -213
  546. package/dist/esm/tools/subagent/SubagentExecutor.mjs.map +1 -1
  547. package/dist/esm/tools/subagent/SubagentReplay.mjs.map +1 -1
  548. package/dist/esm/tools/subagent/childGraphConfig.mjs +0 -4
  549. package/dist/esm/tools/subagent/childGraphConfig.mjs.map +1 -1
  550. package/dist/esm/tools/subagent/runtimeLimits.mjs.map +1 -1
  551. package/dist/esm/tools/toolOutputReferences.mjs +1 -322
  552. package/dist/esm/tools/toolOutputReferences.mjs.map +1 -1
  553. package/dist/esm/types/hitl.mjs +0 -5
  554. package/dist/esm/types/hitl.mjs.map +1 -1
  555. package/dist/esm/utils/callbacks.mjs.map +1 -1
  556. package/dist/esm/utils/errors.mjs +14 -165
  557. package/dist/esm/utils/errors.mjs.map +1 -1
  558. package/dist/esm/utils/events.mjs +0 -10
  559. package/dist/esm/utils/events.mjs.map +1 -1
  560. package/dist/esm/utils/graph.mjs.map +1 -1
  561. package/dist/esm/utils/handlers.mjs +0 -3
  562. package/dist/esm/utils/handlers.mjs.map +1 -1
  563. package/dist/esm/utils/llm.mjs +0 -1
  564. package/dist/esm/utils/llm.mjs.map +1 -1
  565. package/dist/esm/utils/misc.mjs +0 -16
  566. package/dist/esm/utils/misc.mjs.map +1 -1
  567. package/dist/esm/utils/proxy.mjs +0 -26
  568. package/dist/esm/utils/proxy.mjs.map +1 -1
  569. package/dist/esm/utils/run.mjs +0 -6
  570. package/dist/esm/utils/run.mjs.map +1 -1
  571. package/dist/esm/utils/schema.mjs +0 -5
  572. package/dist/esm/utils/schema.mjs.map +1 -1
  573. package/dist/esm/utils/title.mjs +0 -6
  574. package/dist/esm/utils/title.mjs.map +1 -1
  575. package/dist/esm/utils/tokens.mjs +0 -113
  576. package/dist/esm/utils/tokens.mjs.map +1 -1
  577. package/dist/esm/utils/toolContent.mjs +0 -41
  578. package/dist/esm/utils/toolContent.mjs.map +1 -1
  579. package/dist/esm/utils/truncation.mjs +0 -61
  580. package/dist/esm/utils/truncation.mjs.map +1 -1
  581. package/dist/types/agents/AgentContext.d.ts +3 -3
  582. package/dist/types/agents/__tests__/promptCacheLiveHelpers.d.ts +3 -3
  583. package/dist/types/agents/projection.d.ts +1 -1
  584. package/dist/types/events.d.ts +2 -2
  585. package/dist/types/graphs/Graph.d.ts +11 -11
  586. package/dist/types/graphs/MultiAgentGraph.d.ts +2 -2
  587. package/dist/types/graphs/createGraph.d.ts +4 -4
  588. package/dist/types/graphs/graphFactory.d.ts +1 -1
  589. package/dist/types/hitl/askUserQuestion.d.ts +1 -1
  590. package/dist/types/hitl/askUserQuestions.d.ts +1 -1
  591. package/dist/types/hitl/askUserQuestionsInterrupt.d.ts +1 -1
  592. package/dist/types/hooks/types.d.ts +1 -1
  593. package/dist/types/instrumentation.d.ts +1 -1
  594. package/dist/types/langfuse.d.ts +3 -3
  595. package/dist/types/langfuseConfig.d.ts +2 -2
  596. package/dist/types/langfuseRuntimeContext.d.ts +1 -1
  597. package/dist/types/langfuseRuntimeScope.d.ts +2 -2
  598. package/dist/types/langfuseSpanRegistry.d.ts +1 -1
  599. package/dist/types/langfuseToolOutputTracing.d.ts +3 -3
  600. package/dist/types/llm/anthropic/index.d.ts +1 -1
  601. package/dist/types/llm/bedrock/index.d.ts +1 -1
  602. package/dist/types/llm/bedrock/toolCache.d.ts +2 -2
  603. package/dist/types/llm/contextOverflowRecovery.d.ts +2 -2
  604. package/dist/types/llm/google/index.d.ts +1 -1
  605. package/dist/types/llm/init.d.ts +2 -2
  606. package/dist/types/llm/invoke.d.ts +6 -6
  607. package/dist/types/llm/mistral/index.d.ts +1 -1
  608. package/dist/types/llm/openai/index.d.ts +2 -2
  609. package/dist/types/llm/openrouter/index.d.ts +2 -2
  610. package/dist/types/llm/openrouter/toolCache.d.ts +2 -2
  611. package/dist/types/llm/providers.d.ts +2 -2
  612. package/dist/types/llm/request.d.ts +2 -2
  613. package/dist/types/llm/stream/chunkAdapters.d.ts +1 -1
  614. package/dist/types/llm/streamLimits.d.ts +1 -1
  615. package/dist/types/llm/truncation.d.ts +1 -1
  616. package/dist/types/llm/vertexai/index.d.ts +1 -1
  617. package/dist/types/messages/alternation.d.ts +1 -1
  618. package/dist/types/messages/anthropicToolCache.d.ts +2 -2
  619. package/dist/types/messages/assistantPhase.d.ts +3 -3
  620. package/dist/types/messages/budget.d.ts +1 -1
  621. package/dist/types/messages/cache.d.ts +1 -1
  622. package/dist/types/messages/contextPruning.d.ts +2 -2
  623. package/dist/types/messages/core.d.ts +2 -2
  624. package/dist/types/messages/format.d.ts +2 -2
  625. package/dist/types/messages/ids.d.ts +2 -2
  626. package/dist/types/messages/injected.d.ts +1 -1
  627. package/dist/types/messages/langchain.d.ts +1 -1
  628. package/dist/types/messages/prune.d.ts +3 -3
  629. package/dist/types/openai/index.d.ts +1 -1
  630. package/dist/types/prompts/activityLabel.d.ts +2 -2
  631. package/dist/types/responses/index.d.ts +1 -1
  632. package/dist/types/run.d.ts +3 -3
  633. package/dist/types/session/handlers.d.ts +1 -1
  634. package/dist/types/session/types.d.ts +1 -1
  635. package/dist/types/stream.d.ts +4 -4
  636. package/dist/types/summarization/index.d.ts +1 -1
  637. package/dist/types/summarization/node.d.ts +6 -6
  638. package/dist/types/test/mockTools.d.ts +1 -1
  639. package/dist/types/tools/BashExecutor.d.ts +2 -2
  640. package/dist/types/tools/BashProgrammaticToolCalling.d.ts +2 -2
  641. package/dist/types/tools/CodeExecutor.d.ts +3 -3
  642. package/dist/types/tools/CodeSessionFileSummary.d.ts +1 -1
  643. package/dist/types/tools/ProgrammaticToolCalling.d.ts +2 -2
  644. package/dist/types/tools/ReadFile.d.ts +1 -1
  645. package/dist/types/tools/SkillTool.d.ts +1 -1
  646. package/dist/types/tools/SubagentTool.d.ts +3 -3
  647. package/dist/types/tools/ToolNode.d.ts +5 -5
  648. package/dist/types/tools/ToolSearch.d.ts +2 -2
  649. package/dist/types/tools/cloudflare/CloudflareBridgeRuntime.d.ts +1 -1
  650. package/dist/types/tools/cloudflare/CloudflareProgrammaticToolCalling.d.ts +1 -1
  651. package/dist/types/tools/cloudflare/CloudflareSandboxExecutionEngine.d.ts +2 -2
  652. package/dist/types/tools/cloudflare/CloudflareSandboxTools.d.ts +1 -1
  653. package/dist/types/tools/eagerEventExecution.d.ts +1 -1
  654. package/dist/types/tools/handlers.d.ts +3 -3
  655. package/dist/types/tools/intentArg.d.ts +1 -1
  656. package/dist/types/tools/local/CompileCheckTool.d.ts +2 -2
  657. package/dist/types/tools/local/FileCheckpointer.d.ts +1 -1
  658. package/dist/types/tools/local/LocalCodingTools.d.ts +2 -2
  659. package/dist/types/tools/local/LocalExecutionEngine.d.ts +1 -1
  660. package/dist/types/tools/local/LocalExecutionTools.d.ts +1 -1
  661. package/dist/types/tools/local/LocalProgrammaticToolCalling.d.ts +1 -1
  662. package/dist/types/tools/local/bashAst.d.ts +1 -1
  663. package/dist/types/tools/local/resolveLocalExecutionTools.d.ts +1 -1
  664. package/dist/types/tools/local/syntaxCheck.d.ts +1 -1
  665. package/dist/types/tools/ptcTimeout.d.ts +1 -1
  666. package/dist/types/tools/schema.d.ts +1 -1
  667. package/dist/types/tools/search/anthropic.d.ts +1 -1
  668. package/dist/types/tools/skillCatalog.d.ts +1 -1
  669. package/dist/types/tools/subagent/SubagentExecutor.d.ts +5 -5
  670. package/dist/types/tools/subagent/SubagentReplay.d.ts +3 -3
  671. package/dist/types/tools/subagent/childGraphConfig.d.ts +2 -2
  672. package/dist/types/types/activityLabel.d.ts +3 -3
  673. package/dist/types/types/graph.d.ts +7 -7
  674. package/dist/types/types/llm.d.ts +9 -9
  675. package/dist/types/types/run.d.ts +7 -7
  676. package/dist/types/types/stream.d.ts +5 -5
  677. package/dist/types/types/summarize.d.ts +2 -2
  678. package/dist/types/types/tools.d.ts +5 -5
  679. package/dist/types/utils/__tests__/fixtures/contextOverflowSignatures.d.ts +1 -1
  680. package/dist/types/utils/errors.d.ts +1 -1
  681. package/dist/types/utils/events.d.ts +1 -1
  682. package/dist/types/utils/handlers.d.ts +3 -3
  683. package/dist/types/utils/llm.d.ts +1 -1
  684. package/dist/types/utils/llmConfig.d.ts +1 -1
  685. package/dist/types/utils/title.d.ts +1 -1
  686. package/package.json +10 -3
  687. package/src/llm/google/utils/common.ts +6 -4
  688. package/src/__tests__/stream.eagerArgsDivergence.test.ts +0 -911
  689. package/src/__tests__/stream.eagerEventExecution.test.ts +0 -5046
  690. package/src/__tests__/stream.streamLimits.test.ts +0 -1982
  691. package/src/agents/__tests__/AgentContext.anthropic.live.test.ts +0 -448
  692. package/src/agents/__tests__/AgentContext.bedrock.live.test.ts +0 -655
  693. package/src/agents/__tests__/AgentContext.openrouter.live.test.ts +0 -128
  694. package/src/agents/__tests__/AgentContext.overflow.test.ts +0 -205
  695. package/src/agents/__tests__/AgentContext.test.ts +0 -2425
  696. package/src/agents/__tests__/projection.test.ts +0 -73
  697. package/src/agents/__tests__/promptCacheLiveHelpers.ts +0 -175
  698. package/src/aggregator.test.ts +0 -1214
  699. package/src/graphs/__tests__/Graph.breakerLifecycle.test.ts +0 -273
  700. package/src/graphs/__tests__/Graph.closeRunStep.test.ts +0 -385
  701. package/src/graphs/__tests__/Graph.contextOverflow.test.ts +0 -1766
  702. package/src/graphs/__tests__/Graph.preemptSignal.test.ts +0 -126
  703. package/src/graphs/__tests__/Graph.reasoning.test.ts +0 -1717
  704. package/src/graphs/__tests__/Graph.subagentResumeState.test.ts +0 -80
  705. package/src/graphs/__tests__/MultiAgentGraph.test.ts +0 -177
  706. package/src/graphs/__tests__/composition.smoke.test.ts +0 -509
  707. package/src/graphs/__tests__/createGraph.test.ts +0 -206
  708. package/src/hooks/__tests__/HookRegistry.test.ts +0 -334
  709. package/src/hooks/__tests__/compactHooks.test.ts +0 -250
  710. package/src/hooks/__tests__/createToolPolicyHook.test.ts +0 -268
  711. package/src/hooks/__tests__/createWorkspacePolicyHook.test.ts +0 -405
  712. package/src/hooks/__tests__/executeHooks.test.ts +0 -1294
  713. package/src/hooks/__tests__/integration.test.ts +0 -337
  714. package/src/hooks/__tests__/matchers.test.ts +0 -238
  715. package/src/hooks/__tests__/preemptBoundary.test.ts +0 -152
  716. package/src/hooks/__tests__/toolHooks.test.ts +0 -669
  717. package/src/llm/__tests__/contextOverflowRecovery.test.ts +0 -401
  718. package/src/llm/__tests__/fallbackOverflow.test.ts +0 -287
  719. package/src/llm/anthropic/Jacob_Lee_Resume_2023.pdf +0 -0
  720. package/src/llm/anthropic/inherited-content-utils.spec.ts +0 -249
  721. package/src/llm/anthropic/inherited-stream-events.spec.ts +0 -1259
  722. package/src/llm/anthropic/inherited-strict.spec.ts +0 -302
  723. package/src/llm/anthropic/llm.spec.ts +0 -3394
  724. package/src/llm/anthropic/utils/cross-provider-reasoning.test.ts +0 -383
  725. package/src/llm/anthropic/utils/cross-provider-server-tools.test.ts +0 -110
  726. package/src/llm/anthropic/utils/server-tool-inputs.test.ts +0 -508
  727. package/src/llm/anthropic/utils/streaming-tool-input.test.ts +0 -361
  728. package/src/llm/anthropic/utils/stripPrefillCache.test.ts +0 -111
  729. package/src/llm/anthropic/utils/tool-id-normalization.test.ts +0 -287
  730. package/src/llm/bedrock/inherited-cache.spec.ts +0 -144
  731. package/src/llm/bedrock/inherited.spec.ts +0 -724
  732. package/src/llm/bedrock/llm.spec.ts +0 -1533
  733. package/src/llm/bedrock/streamSealDispatch.test.ts +0 -331
  734. package/src/llm/bedrock/toolCache.test.ts +0 -194
  735. package/src/llm/bedrock/utils/cross-provider-reasoning.test.ts +0 -131
  736. package/src/llm/bedrock/utils/cross-provider-server-tools.test.ts +0 -122
  737. package/src/llm/bedrock/utils/message_inputs.test.ts +0 -650
  738. package/src/llm/bedrock/utils/message_outputs.test.ts +0 -85
  739. package/src/llm/bedrock/utils/toolResultCachePoint.test.ts +0 -118
  740. package/src/llm/custom-chat-models.smoke.test.ts +0 -1966
  741. package/src/llm/google/data/gettysburg10.wav +0 -0
  742. package/src/llm/google/data/hotdog.jpg +0 -0
  743. package/src/llm/google/inherited-stream-events.spec.ts +0 -350
  744. package/src/llm/google/llm.spec.ts +0 -1388
  745. package/src/llm/google/streamSmoothing.test.ts +0 -121
  746. package/src/llm/google/utils/common.test.ts +0 -185
  747. package/src/llm/invoke.alternation.test.ts +0 -87
  748. package/src/llm/invoke.handoffCue.test.ts +0 -112
  749. package/src/llm/invoke.streamLimits.test.ts +0 -142
  750. package/src/llm/invoke.test.ts +0 -1198
  751. package/src/llm/mistral/streamSmoothing.test.ts +0 -97
  752. package/src/llm/openai/cacheWriteTokens.test.ts +0 -112
  753. package/src/llm/openai/contentBlocks.test.ts +0 -381
  754. package/src/llm/openai/deepseek.test.ts +0 -747
  755. package/src/llm/openai/inherited-deepseek.spec.ts +0 -347
  756. package/src/llm/openai/inherited-xai.spec.ts +0 -416
  757. package/src/llm/openai/llm.spec.ts +0 -1774
  758. package/src/llm/openai/managedRequests.test.ts +0 -182
  759. package/src/llm/openai/sequentialToolCallSeals.test.ts +0 -199
  760. package/src/llm/openai/streamMetadata.spec.ts +0 -86
  761. package/src/llm/openai/streamMetadataDedup.spec.ts +0 -166
  762. package/src/llm/openai/utils/isReasoningModel.test.ts +0 -90
  763. package/src/llm/openai/utils/messages.test.ts +0 -488
  764. package/src/llm/openrouter/reasoning.test.ts +0 -561
  765. package/src/llm/openrouter/toolCache.test.ts +0 -134
  766. package/src/llm/preempt.test.ts +0 -323
  767. package/src/llm/stream/chunkAdapters.test.ts +0 -202
  768. package/src/llm/stream/reassembly.test.ts +0 -241
  769. package/src/llm/stream/smoother.bench.test.ts +0 -155
  770. package/src/llm/stream/smoother.test.ts +0 -519
  771. package/src/llm/streamLimits.test.ts +0 -450
  772. package/src/llm/truncation.test.ts +0 -242
  773. package/src/llm/vertexai/fixThoughtSignatures.test.ts +0 -154
  774. package/src/llm/vertexai/inherited-stream-events.spec.ts +0 -271
  775. package/src/llm/vertexai/llm.spec.ts +0 -159
  776. package/src/llm/vertexai/repairUsageMetadata.test.ts +0 -54
  777. package/src/llm/vertexai/sealStreamedToolCalls.test.ts +0 -88
  778. package/src/llm/vertexai/streamSealDispatch.test.ts +0 -148
  779. package/src/llm/vertexai/streamSmoothing.test.ts +0 -109
  780. package/src/messages/__tests__/anthropicToolCache.test.ts +0 -339
  781. package/src/messages/__tests__/observationMasking.test.ts +0 -312
  782. package/src/messages/__tests__/recency.test.ts +0 -267
  783. package/src/messages/__tests__/tools.test.ts +0 -473
  784. package/src/messages/alternation.test.ts +0 -212
  785. package/src/messages/assistantPhase.test.ts +0 -75
  786. package/src/messages/cache.tail.test.ts +0 -533
  787. package/src/messages/cache.test.ts +0 -2166
  788. package/src/messages/content.test.ts +0 -362
  789. package/src/messages/contextPruning.test.ts +0 -184
  790. package/src/messages/ensureThinkingBlock.test.ts +0 -1427
  791. package/src/messages/foldToollessToolBlocks.test.ts +0 -596
  792. package/src/messages/formatAgentMessages.reducer.test.ts +0 -162
  793. package/src/messages/formatAgentMessages.skills.test.ts +0 -513
  794. package/src/messages/formatAgentMessages.steer.test.ts +0 -598
  795. package/src/messages/formatAgentMessages.test.ts +0 -8111
  796. package/src/messages/formatAgentMessages.tools.test.ts +0 -522
  797. package/src/messages/formatMessage.test.ts +0 -693
  798. package/src/messages/handoffCue.test.ts +0 -96
  799. package/src/messages/injected.test.ts +0 -107
  800. package/src/messages/labelContentByAgent.test.ts +0 -962
  801. package/src/messages/reducer.spec.ts +0 -32
  802. package/src/messages/shiftIndexTokenCountMap.test.ts +0 -81
  803. package/src/messages/tailCacheConversion.test.ts +0 -161
  804. package/src/openai/__tests__/openai.test.ts +0 -337
  805. package/src/responses/__tests__/responses.test.ts +0 -652
  806. package/src/scripts/abort.ts +0 -157
  807. package/src/scripts/activity-labels/captured.json +0 -56
  808. package/src/scripts/activity-labels/checks.cjs +0 -205
  809. package/src/scripts/activity-labels/corpus.cjs +0 -473
  810. package/src/scripts/activity-labels/report.cjs +0 -203
  811. package/src/scripts/activity-labels/rescore.cjs +0 -102
  812. package/src/scripts/activity-labels/run.ts +0 -705
  813. package/src/scripts/activity-labels/variants.ts +0 -71
  814. package/src/scripts/ant_web_search.ts +0 -159
  815. package/src/scripts/ant_web_search_edge_case.ts +0 -163
  816. package/src/scripts/ant_web_search_error_edge_case.ts +0 -149
  817. package/src/scripts/args.ts +0 -48
  818. package/src/scripts/bedrock-cache-debug.ts +0 -250
  819. package/src/scripts/bedrock-content-aggregation-test.ts +0 -266
  820. package/src/scripts/bedrock-merge-test.ts +0 -107
  821. package/src/scripts/bedrock-parallel-tools-test.ts +0 -204
  822. package/src/scripts/bench-prompt-cache.ts +0 -479
  823. package/src/scripts/caching.ts +0 -132
  824. package/src/scripts/cli.ts +0 -172
  825. package/src/scripts/cli2.ts +0 -133
  826. package/src/scripts/cli3.ts +0 -184
  827. package/src/scripts/cli4.ts +0 -191
  828. package/src/scripts/cli5.ts +0 -191
  829. package/src/scripts/code_exec.ts +0 -214
  830. package/src/scripts/code_exec_files.ts +0 -237
  831. package/src/scripts/code_exec_multi_session.ts +0 -237
  832. package/src/scripts/code_exec_ptc.ts +0 -335
  833. package/src/scripts/code_exec_session.ts +0 -283
  834. package/src/scripts/code_exec_simple.ts +0 -148
  835. package/src/scripts/compare_pi_vs_ours.ts +0 -1259
  836. package/src/scripts/content.ts +0 -139
  837. package/src/scripts/context-overflow-probe.ts +0 -997
  838. package/src/scripts/empty_input.ts +0 -137
  839. package/src/scripts/handoff-test.ts +0 -134
  840. package/src/scripts/local_engine.ts +0 -166
  841. package/src/scripts/local_engine_checkpointer.ts +0 -205
  842. package/src/scripts/local_engine_compile.ts +0 -263
  843. package/src/scripts/local_engine_hooks.ts +0 -226
  844. package/src/scripts/local_engine_image.ts +0 -201
  845. package/src/scripts/local_engine_ptc.ts +0 -151
  846. package/src/scripts/local_engine_workspace.ts +0 -258
  847. package/src/scripts/memory.ts +0 -107
  848. package/src/scripts/multi-agent-chain.ts +0 -332
  849. package/src/scripts/multi-agent-conditional.ts +0 -222
  850. package/src/scripts/multi-agent-document-review-chain.ts +0 -198
  851. package/src/scripts/multi-agent-hybrid-flow.ts +0 -311
  852. package/src/scripts/multi-agent-parallel-start.ts +0 -265
  853. package/src/scripts/multi-agent-parallel.ts +0 -395
  854. package/src/scripts/multi-agent-sequence.ts +0 -217
  855. package/src/scripts/multi-agent-subagent.ts +0 -246
  856. package/src/scripts/multi-agent-supervisor.ts +0 -366
  857. package/src/scripts/multi-agent-test.ts +0 -187
  858. package/src/scripts/openrouter_prompt_cache_live.ts +0 -310
  859. package/src/scripts/parallel-asymmetric-tools-test.ts +0 -275
  860. package/src/scripts/parallel-full-metadata-test.ts +0 -241
  861. package/src/scripts/parallel-tools-test.ts +0 -341
  862. package/src/scripts/preempt-probe.ts +0 -330
  863. package/src/scripts/preempt-scenarios.ts +0 -388
  864. package/src/scripts/programmatic_exec.ts +0 -387
  865. package/src/scripts/programmatic_exec_agent.ts +0 -232
  866. package/src/scripts/search.ts +0 -147
  867. package/src/scripts/sequential-full-metadata-test.ts +0 -198
  868. package/src/scripts/session_live.ts +0 -548
  869. package/src/scripts/simple.ts +0 -226
  870. package/src/scripts/single-agent-metadata-test.ts +0 -196
  871. package/src/scripts/stream.ts +0 -141
  872. package/src/scripts/subagent-configurable-inheritance.ts +0 -252
  873. package/src/scripts/subagent-event-driven-debug.ts +0 -190
  874. package/src/scripts/subagent-tools-debug.ts +0 -160
  875. package/src/scripts/subagent-usage-sink.ts +0 -176
  876. package/src/scripts/summarization-recency.ts +0 -462
  877. package/src/scripts/test-custom-prompt-key.ts +0 -145
  878. package/src/scripts/test-handoff-input.ts +0 -170
  879. package/src/scripts/test-handoff-preamble.ts +0 -278
  880. package/src/scripts/test-handoff-steering.ts +0 -430
  881. package/src/scripts/test-multi-agent-list-handoff.ts +0 -418
  882. package/src/scripts/test-parallel-agent-labeling.ts +0 -327
  883. package/src/scripts/test-parallel-handoffs.ts +0 -292
  884. package/src/scripts/test-thinking-handoff-bedrock.ts +0 -154
  885. package/src/scripts/test-thinking-handoff.ts +0 -156
  886. package/src/scripts/test-thinking-to-thinking-handoff-bedrock.ts +0 -166
  887. package/src/scripts/test-tool-before-handoff-role-order.ts +0 -276
  888. package/src/scripts/test-tools-before-handoff.ts +0 -222
  889. package/src/scripts/test_code_api.ts +0 -354
  890. package/src/scripts/thinking-bedrock.ts +0 -160
  891. package/src/scripts/thinking-vertexai.ts +0 -168
  892. package/src/scripts/thinking.ts +0 -172
  893. package/src/scripts/tool_search.ts +0 -153
  894. package/src/scripts/tools.ts +0 -163
  895. package/src/session/__tests__/JsonlSessionStore.test.ts +0 -1463
  896. package/src/session/__tests__/handlers.test.ts +0 -161
  897. package/src/specs/activity-label-observability.live.test.ts +0 -262
  898. package/src/specs/activity-label-observability.test.ts +0 -167
  899. package/src/specs/activity-label-prompt.test.ts +0 -359
  900. package/src/specs/activity-label-trace-seed.test.ts +0 -47
  901. package/src/specs/activity-phase-label.test.ts +0 -306
  902. package/src/specs/agent-handoffs.live.test.ts +0 -140
  903. package/src/specs/agent-handoffs.test.ts +0 -2465
  904. package/src/specs/anthropic.simple.test.ts +0 -453
  905. package/src/specs/ask-user-question-batch.test.ts +0 -289
  906. package/src/specs/ask-user-questions.live.test.ts +0 -185
  907. package/src/specs/ask-user-questions.test.ts +0 -293
  908. package/src/specs/azure.simple.test.ts +0 -502
  909. package/src/specs/bedrock-toolless.live.test.ts +0 -123
  910. package/src/specs/bedrock-truncation.live.test.ts +0 -191
  911. package/src/specs/cache.simple.test.ts +0 -416
  912. package/src/specs/context-accuracy.live.test.ts +0 -409
  913. package/src/specs/context-overflow-recovery.live.test.ts +0 -213
  914. package/src/specs/context-usage-event.test.ts +0 -117
  915. package/src/specs/context-usage.live.test.ts +0 -297
  916. package/src/specs/custom-event-await.test.ts +0 -304
  917. package/src/specs/deepseek.simple.test.ts +0 -290
  918. package/src/specs/deterministic-trace-id.test.ts +0 -43
  919. package/src/specs/discovered-tools.test.ts +0 -217
  920. package/src/specs/durability-checkpoint.integration.test.ts +0 -243
  921. package/src/specs/graph-subagent.live.test.ts +0 -242
  922. package/src/specs/graph-subagent.test.ts +0 -322
  923. package/src/specs/handoffCue.test.ts +0 -165
  924. package/src/specs/langfuse-callbacks.test.ts +0 -1578
  925. package/src/specs/langfuse-config.test.ts +0 -247
  926. package/src/specs/langfuse-instrumentation.test.ts +0 -393
  927. package/src/specs/langfuse-metadata.test.ts +0 -245
  928. package/src/specs/langfuse-routing.integration.test.ts +0 -844
  929. package/src/specs/langfuse-runtime-context.test.ts +0 -92
  930. package/src/specs/langfuse-span-registry.test.ts +0 -87
  931. package/src/specs/langfuse-tool-output-tracing.test.ts +0 -1858
  932. package/src/specs/langfuse-trace-shaping.test.ts +0 -591
  933. package/src/specs/moonshot.simple.test.ts +0 -367
  934. package/src/specs/multi-agent-summarization.test.ts +0 -396
  935. package/src/specs/openai.simple.test.ts +0 -315
  936. package/src/specs/openrouter.simple.test.ts +0 -275
  937. package/src/specs/preemptSeal.test.ts +0 -678
  938. package/src/specs/prune.test.ts +0 -3741
  939. package/src/specs/reasoning.test.ts +0 -201
  940. package/src/specs/run-step-timestamps.test.ts +0 -414
  941. package/src/specs/spec.utils.ts +0 -15
  942. package/src/specs/subagent.test.ts +0 -864
  943. package/src/specs/summarization-unit.test.ts +0 -973
  944. package/src/specs/summarization.test.ts +0 -3823
  945. package/src/specs/summarize-prune.test.ts +0 -376
  946. package/src/specs/thinking-handoff.test.ts +0 -621
  947. package/src/specs/thinking-prune.test.ts +0 -827
  948. package/src/specs/token-accounting-e2e.test.ts +0 -1034
  949. package/src/specs/token-accounting-pipeline.test.ts +0 -1008
  950. package/src/specs/token-distribution-edge-case.test.ts +0 -315
  951. package/src/specs/token-memoization.test.ts +0 -40
  952. package/src/specs/tokens.test.ts +0 -1000
  953. package/src/specs/tool-error-resume.test.ts +0 -194
  954. package/src/specs/tool-error.test.ts +0 -198
  955. package/src/specs/vllm-reasoning-toolcalls.test.ts +0 -340
  956. package/src/stream.dispatch.test.ts +0 -63
  957. package/src/stream.test.ts +0 -144
  958. package/src/summarization/__tests__/aggregator.test.ts +0 -236
  959. package/src/summarization/__tests__/node.test.ts +0 -1996
  960. package/src/summarization/__tests__/trigger.test.ts +0 -149
  961. package/src/summarization/chunkHandler.test.ts +0 -196
  962. package/src/test/mockTools.ts +0 -386
  963. package/src/tools/Calculator.test.ts +0 -278
  964. package/src/tools/__tests__/BashExecutor.test.ts +0 -108
  965. package/src/tools/__tests__/CloudflareSandboxExecution.test.ts +0 -939
  966. package/src/tools/__tests__/CodeApiAuthHeaders.test.ts +0 -858
  967. package/src/tools/__tests__/CodeExecutor.stateful.test.ts +0 -124
  968. package/src/tools/__tests__/LocalExecutionRoots.test.ts +0 -8
  969. package/src/tools/__tests__/LocalExecutionTools.test.ts +0 -2733
  970. package/src/tools/__tests__/ProgrammaticToolCalling.integration.test.ts +0 -318
  971. package/src/tools/__tests__/ProgrammaticToolCalling.test.ts +0 -1557
  972. package/src/tools/__tests__/ReadFile.test.ts +0 -44
  973. package/src/tools/__tests__/SkillTool.test.ts +0 -442
  974. package/src/tools/__tests__/SubagentExecutor.test.ts +0 -3728
  975. package/src/tools/__tests__/SubagentReplay.test.ts +0 -329
  976. package/src/tools/__tests__/SubagentTool.test.ts +0 -149
  977. package/src/tools/__tests__/ToolNode.breakerSignal.test.ts +0 -595
  978. package/src/tools/__tests__/ToolNode.eagerEventExecution.test.ts +0 -1191
  979. package/src/tools/__tests__/ToolNode.invalidToolCalls.test.ts +0 -757
  980. package/src/tools/__tests__/ToolNode.langfuse.test.ts +0 -57
  981. package/src/tools/__tests__/ToolNode.onResultCompletion.test.ts +0 -736
  982. package/src/tools/__tests__/ToolNode.outputReferences.test.ts +0 -1710
  983. package/src/tools/__tests__/ToolNode.runtimeState.test.ts +0 -120
  984. package/src/tools/__tests__/ToolNode.session.test.ts +0 -1352
  985. package/src/tools/__tests__/ToolNode.streamLimits.test.ts +0 -69
  986. package/src/tools/__tests__/ToolSearch.integration.test.ts +0 -161
  987. package/src/tools/__tests__/ToolSearch.test.ts +0 -1227
  988. package/src/tools/__tests__/annotateMessagesForLLM.test.ts +0 -561
  989. package/src/tools/__tests__/directToolHITLResumeScope.test.ts +0 -980
  990. package/src/tools/__tests__/directToolHooks.test.ts +0 -700
  991. package/src/tools/__tests__/eagerEventExecution.session.test.ts +0 -92
  992. package/src/tools/__tests__/handlers.test.ts +0 -997
  993. package/src/tools/__tests__/hitl.test.ts +0 -4663
  994. package/src/tools/__tests__/intentArg.test.ts +0 -357
  995. package/src/tools/__tests__/intentCoverage.test.ts +0 -139
  996. package/src/tools/__tests__/localToolNames.test.ts +0 -75
  997. package/src/tools/__tests__/skillCatalog.test.ts +0 -161
  998. package/src/tools/__tests__/subagentHooks.test.ts +0 -1651
  999. package/src/tools/__tests__/toolOutputReferences.test.ts +0 -515
  1000. package/src/tools/__tests__/workspaceSeam.test.ts +0 -147
  1001. package/src/tools/local/__tests__/FileCheckpointer.test.ts +0 -162
  1002. package/src/tools/local/__tests__/editStrategies.test.ts +0 -134
  1003. package/src/tools/search/content.test.ts +0 -173
  1004. package/src/tools/search/crw.test.ts +0 -836
  1005. package/src/tools/search/format.test.ts +0 -242
  1006. package/src/tools/search/http-agent.test.ts +0 -133
  1007. package/src/tools/search/jina-reranker.test.ts +0 -306
  1008. package/src/tools/search/keenable-scraper.test.ts +0 -153
  1009. package/src/tools/search/keenable.test.ts +0 -183
  1010. package/src/tools/search/outcome.test.ts +0 -90
  1011. package/src/tools/search/output.md +0 -2775
  1012. package/src/tools/search/rag-api-reranker.test.ts +0 -891
  1013. package/src/tools/search/source-processing.test.ts +0 -516
  1014. package/src/tools/search/tavily.test.ts +0 -965
  1015. package/src/tools/search/test.html +0 -884
  1016. package/src/tools/search/test.md +0 -643
  1017. package/src/tools/subagent/__tests__/SubagentExecutionRegistry.test.ts +0 -637
  1018. package/src/tools/subagent/__tests__/SubagentExecutor.lazy.test.ts +0 -3054
  1019. package/src/tools/subagent/__tests__/childGraphConfig.test.ts +0 -521
  1020. package/src/utils/__tests__/apportion.test.ts +0 -32
  1021. package/src/utils/__tests__/errors.test.ts +0 -270
  1022. package/src/utils/__tests__/fixtures/contextOverflowSignatures.ts +0 -336
  1023. package/src/utils/__tests__/redactSecrets.test.ts +0 -56
  1024. package/src/utils/__tests__/truncation.test.ts +0 -66
  1025. package/src/utils/llm.test.ts +0 -18
  1026. package/src/utils/proxy.test.ts +0 -176
  1027. package/src/utils/toolContent.test.ts +0 -1432
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.cjs","names":["Tokenizer","serializeStructuredValueBounded","isAtomicToolContentBlock","isComputerCallOutputContent"],"sources":["../../../src/utils/tokens.ts"],"sourcesContent":["import { Tokenizer } from 'ai-tokenizer';\nimport { isProxy } from 'node:util/types';\nimport type { AIMessage, BaseMessage } from '@langchain/core/messages';\nimport {\n isComputerCallOutputContent,\n isAtomicToolContentBlock,\n serializeStructuredValueBounded,\n} from './toolContent';\nimport { ContentTypes } from '@/common/enum';\n\nexport type EncodingName = 'o200k_base' | 'claude';\n\nexport type UnsafeTokenMeasurementReason =\n | 'message_proxy'\n | 'content_proxy'\n | 'metadata_proxy'\n | 'metadata_accessor'\n | 'invalid_count';\n\nexport class UnsafeTokenMeasurementError extends Error {\n readonly type = 'unsafe_token_measurement';\n readonly reason: UnsafeTokenMeasurementReason;\n readonly path: string;\n\n constructor({\n reason,\n path,\n }: {\n reason: UnsafeTokenMeasurementReason;\n path: string;\n }) {\n super(\n JSON.stringify({\n type: 'unsafe_token_measurement',\n reason,\n path,\n })\n );\n this.name = 'UnsafeTokenMeasurementError';\n this.reason = reason;\n this.path = path;\n }\n}\n\nfunction ensureSafeTokenMeasurement(value: number, path: string): number {\n if (\n !Number.isSafeInteger(value) ||\n value < 0 ||\n value >= Number.MAX_SAFE_INTEGER\n ) {\n throw new UnsafeTokenMeasurementError({\n reason: 'invalid_count',\n path,\n });\n }\n return value;\n}\n\n/** Anthropic minimum image token cost. */\nconst ANTHROPIC_IMAGE_MIN_TOKENS = 1024;\n/** Anthropic divisor: tokens = width × height / 750. */\nconst ANTHROPIC_IMAGE_DIVISOR = 750;\n/** OpenAI low-detail fixed cost. */\nconst OPENAI_IMAGE_LOW_TOKENS = 85;\n/** OpenAI high-detail tile size. */\nconst OPENAI_IMAGE_TILE_SIZE = 512;\n/** OpenAI high-detail tokens per tile. */\nconst OPENAI_IMAGE_TOKENS_PER_TILE = 170;\n/** Google Gemini fixed per-image cost. */\nconst _GEMINI_IMAGE_TOKENS = 258;\n/** Safety margin for image and document token estimates (5% overestimate). */\nexport const IMAGE_TOKEN_SAFETY_MARGIN = 1.05;\n\n/**\n * Anthropic PDF: each page costs image tokens + text tokens.\n * Typical range is 1500-3000 tokens/page. Using 2000 as midpoint.\n */\nconst ANTHROPIC_PDF_TOKENS_PER_PAGE = 2000;\n/** OpenAI PDF: each page rendered as high-detail image. ~1500 tokens typical. */\nconst OPENAI_PDF_TOKENS_PER_PAGE = 1500;\n/** Gemini PDF: fixed 258 tokens per page. */\nconst _GEMINI_PDF_TOKENS_PER_PAGE = 258;\n/** Approximate base64 bytes per PDF page for page count estimation. */\nconst BASE64_BYTES_PER_PDF_PAGE = 75_000;\n/** Fallback token cost for URL-referenced documents without local data. */\nconst URL_DOCUMENT_FALLBACK_TOKENS = 2000;\n\n/**\n * Timed media (video/audio) is priced by DURATION, not size, and the content\n * carries no duration — so duration is estimated from encoded size at\n * representative bitrates and priced at Gemini's rates (the dominant provider\n * for native video/audio). Deliberately rough; superseded by real provider\n * usage after the first turn.\n */\n/** Gemini video ≈ 258 tokens/frame (1 fps) + 32 tokens/s audio ≈ 300 tokens/s. */\nconst VIDEO_TOKENS_PER_SECOND = 300;\n/** Gemini audio: 32 tokens/s (single channel). */\nconst AUDIO_TOKENS_PER_SECOND = 32;\n/** Representative encoded byte rates for duration-from-size estimation. */\nconst VIDEO_BYTES_PER_SECOND = 250_000; // ~2 Mbps\nconst AUDIO_BYTES_PER_SECOND = 16_000; // ~128 kbps\n/** Flat fallback when only a URL is present (no size to estimate from) — ~30s. */\nconst VIDEO_URL_FALLBACK_TOKENS = 9000;\nconst AUDIO_URL_FALLBACK_TOKENS = 960;\n/** Content block types that can carry timed media (video/audio). `media` is\n * generic (Google) so it is classified by MIME; the rest are unambiguous. */\nconst TIMED_MEDIA_TYPES = new Set([\n 'media',\n 'video',\n 'audio',\n 'video_url',\n 'input_audio',\n]);\n/**\n * Structured content is tokenized exactly up to this size. Larger values are\n * traversed by the bounded serializer and priced conservatively for the omitted\n * suffix, avoiding a full JSON string allocation in the context guard.\n */\nconst MAX_STRUCTURED_TOKENIZATION_CHARS = 200_000;\n/** One UTF-16 character can encode to several tokenizer pieces. */\nconst MAX_TOKENS_PER_OMITTED_STRUCTURED_CHAR = 4;\nconst MAX_STRUCTURED_SAFETY_INSPECTION_WORK = 10_000;\n\n/**\n * Extracts image dimensions from the first bytes of a base64-encoded\n * PNG, JPEG, GIF, or WebP without decoding the full image.\n * Returns null if the format is unrecognized or data is too short.\n */\nexport function extractImageDimensions(\n base64Data: string\n): { width: number; height: number } | null {\n const raw = base64Data.startsWith('data:')\n ? base64Data.slice(base64Data.indexOf(',') + 1)\n : base64Data;\n\n if (raw.length < 32) {\n return null;\n }\n\n const bytes = new Uint8Array(Buffer.from(raw.slice(0, 80), 'base64'));\n\n if (bytes[0] === 0x89 && bytes[1] === 0x50) {\n // PNG: width at bytes 16-19, height at 20-23 (big-endian)\n const width =\n (bytes[16] << 24) | (bytes[17] << 16) | (bytes[18] << 8) | bytes[19];\n const height =\n (bytes[20] << 24) | (bytes[21] << 16) | (bytes[22] << 8) | bytes[23];\n return { width, height };\n }\n\n if (bytes[0] === 0xff && bytes[1] === 0xd8) {\n // JPEG: scan for SOF0 (0xFFC0) or SOF2 (0xFFC2) marker\n for (let i = 2; i < bytes.length - 9; i++) {\n if (\n bytes[i] === 0xff &&\n (bytes[i + 1] === 0xc0 || bytes[i + 1] === 0xc2)\n ) {\n const height = (bytes[i + 5] << 8) | bytes[i + 6];\n const width = (bytes[i + 7] << 8) | bytes[i + 8];\n return { width, height };\n }\n }\n return null;\n }\n\n if (bytes[0] === 0x47 && bytes[1] === 0x49 && bytes[2] === 0x46) {\n // GIF: width at bytes 6-7, height at 8-9 (little-endian)\n const width = bytes[6] | (bytes[7] << 8);\n const height = bytes[8] | (bytes[9] << 8);\n return { width, height };\n }\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 // WebP VP8: width at bytes 26-27, height at 28-29\n if (bytes.length > 29) {\n const width = (bytes[26] | (bytes[27] << 8)) & 0x3fff;\n const height = (bytes[28] | (bytes[29] << 8)) & 0x3fff;\n return { width, height };\n }\n return null;\n }\n\n return null;\n}\n\n/** Estimates image token cost for Anthropic/Bedrock (Claude). */\nexport function estimateAnthropicImageTokens(\n width: number,\n height: number\n): number {\n return Math.max(\n ANTHROPIC_IMAGE_MIN_TOKENS,\n Math.ceil((width * height) / ANTHROPIC_IMAGE_DIVISOR)\n );\n}\n\n/** Estimates image token cost for OpenAI (high detail). */\nexport function estimateOpenAIImageTokens(\n width: number,\n height: number,\n detail: string = 'high'\n): number {\n if (detail === 'low') {\n return OPENAI_IMAGE_LOW_TOKENS;\n }\n const tiles =\n Math.ceil(width / OPENAI_IMAGE_TILE_SIZE) *\n Math.ceil(height / OPENAI_IMAGE_TILE_SIZE);\n return OPENAI_IMAGE_LOW_TOKENS + tiles * OPENAI_IMAGE_TOKENS_PER_TILE;\n}\n\n/**\n * Estimates token cost for an image content block.\n * Extracts dimensions from base64 header when available.\n * Falls back to Anthropic minimum (1024) when dimensions can't be determined.\n */\nexport function estimateImageBlockTokens(\n block: Record<string, unknown>,\n encoding: EncodingName\n): number {\n let base64Data: string | undefined;\n\n if (\n block.type === ContentTypes.IMAGE_URL ||\n block.type === 'image_url' ||\n block.type === 'computer_screenshot' ||\n block.type === 'input_image'\n ) {\n const imageUrl = block.image_url as string | { url?: string } | undefined;\n const url = typeof imageUrl === 'string' ? imageUrl : imageUrl?.url;\n if (typeof url === 'string' && url.startsWith('data:')) {\n base64Data = url;\n } else if (typeof block.file_id === 'string' && block.file_id !== '') {\n return block.detail === 'low'\n ? OPENAI_IMAGE_LOW_TOKENS\n : ANTHROPIC_IMAGE_MIN_TOKENS;\n } else {\n return ANTHROPIC_IMAGE_MIN_TOKENS;\n }\n } else if (block.type === 'image') {\n const source = block.source as { type?: string; data?: string } | undefined;\n if (source?.type === 'base64' && typeof source.data === 'string') {\n base64Data = source.data;\n } else {\n return ANTHROPIC_IMAGE_MIN_TOKENS;\n }\n } else {\n return ANTHROPIC_IMAGE_MIN_TOKENS;\n }\n\n const dims = extractImageDimensions(base64Data);\n if (dims == null) {\n return ANTHROPIC_IMAGE_MIN_TOKENS;\n }\n\n if (encoding === 'claude') {\n return estimateAnthropicImageTokens(dims.width, dims.height);\n }\n return estimateOpenAIImageTokens(dims.width, dims.height);\n}\n\n/**\n * Estimates token cost for a document/file content block.\n * Handles both LangChain standard format (`type: 'file'` with `source_type`)\n * and Anthropic format (`type: 'document'` with `source`).\n *\n * - Plain text: tokenized directly via `getTokenCount`.\n * - Base64 PDF: page count estimated from base64 length × per-page cost.\n * - URL reference: conservative flat estimate.\n */\nexport function estimateDocumentBlockTokens(\n block: Record<string, unknown>,\n encoding: EncodingName,\n getTokenCount: (text: string) => number\n): number {\n const pdfTokensPerPage =\n encoding === 'claude'\n ? ANTHROPIC_PDF_TOKENS_PER_PAGE\n : OPENAI_PDF_TOKENS_PER_PAGE;\n\n // LangChain standard format: type='file', source_type, data/text/url, mime_type\n const sourceType = block.source_type as string | undefined;\n if (typeof sourceType === 'string') {\n const mimeType = ((block.mime_type as string | undefined) ?? '').split(\n ';'\n )[0];\n\n if (sourceType === 'text' && typeof block.text === 'string') {\n return getTokenCount(block.text as string);\n }\n\n if (sourceType === 'base64' && typeof block.data === 'string') {\n if (mimeType === 'application/pdf' || mimeType === '') {\n const pageEstimate = Math.max(\n 1,\n Math.ceil((block.data as string).length / BASE64_BYTES_PER_PDF_PAGE)\n );\n return pageEstimate * pdfTokensPerPage;\n }\n // Image inside a file block — delegate to image estimation\n if (mimeType.startsWith('image/')) {\n return estimateImageBlockTokens(\n {\n ...block,\n type: 'image',\n source: { type: 'base64', data: block.data },\n },\n encoding\n );\n }\n return getTokenCount(block.data as string);\n }\n\n if (sourceType === 'url') {\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n // Anthropic format: type='document', source: { type, data, media_type }\n const source = block.source as\n | {\n type?: string;\n data?: string;\n media_type?: string;\n content?: unknown[];\n }\n | undefined;\n\n if (source == null) {\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n if (source.type === 'text' && typeof source.data === 'string') {\n return getTokenCount(source.data);\n }\n\n if (source.type === 'base64' && typeof source.data === 'string') {\n const mediaType = (source.media_type ?? '').split(';')[0];\n if (mediaType === 'application/pdf' || mediaType === '') {\n const pageEstimate = Math.max(\n 1,\n Math.ceil(source.data.length / BASE64_BYTES_PER_PDF_PAGE)\n );\n return pageEstimate * pdfTokensPerPage;\n }\n if (mediaType.startsWith('image/')) {\n return estimateImageBlockTokens(\n { type: 'image', source: { type: 'base64', data: source.data } },\n encoding\n );\n }\n return getTokenCount(source.data);\n }\n\n if (source.type === 'url') {\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n // content-type source (wraps other blocks like images)\n if (source.type === 'content' && Array.isArray(source.content)) {\n let total = 0;\n for (const inner of source.content) {\n if (inner != null && typeof inner === 'object' && 'type' in inner) {\n const innerBlock = inner as Record<string, unknown>;\n if (innerBlock.type === 'image') {\n total += estimateImageBlockTokens(innerBlock, encoding);\n }\n }\n }\n return total > 0 ? total : URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n return URL_DOCUMENT_FALLBACK_TOKENS;\n}\n\n/** Decoded byte length of base64 or a `data:` URL; 0 for any remote URI (http,\n * gs, s3, file, …) or empty. Base64 never contains `:`, so any scheme prefix\n * marks a remote reference with no local size. */\nfunction base64ByteLength(value: string | undefined): number {\n if (typeof value !== 'string' || value.length === 0) {\n return 0;\n }\n if (value.startsWith('data:')) {\n const comma = value.indexOf(',');\n return comma < 0 ? 0 : Math.floor(((value.length - comma - 1) * 3) / 4);\n }\n if (/^[a-z][a-z0-9+.-]*:/i.test(value)) {\n return 0;\n }\n return Math.floor((value.length * 3) / 4);\n}\n\nfunction timedMediaTokens(\n bytes: number,\n bytesPerSecond: number,\n tokensPerSecond: number,\n urlFallback: number\n): number {\n if (bytes <= 0) {\n return urlFallback;\n }\n return Math.max(\n tokensPerSecond,\n Math.ceil((bytes / bytesPerSecond) * tokensPerSecond)\n );\n}\n\n/** Decoded byte length of a media block payload — top-level `data` (base64\n * string or `Uint8Array`) or base64 `url`, or the nested `video|audio.{data,\n * url, source.bytes}` shapes (`formatMessage` media arrays / native Bedrock);\n * 0 for a bare remote URL, `fileId`/`fileUri`, S3 location, or empty. */\nfunction mediaBlockByteLength(block: Record<string, unknown>): number {\n const data = block.data;\n if (typeof data === 'string') {\n return base64ByteLength(data);\n }\n if (data instanceof Uint8Array) {\n return data.length;\n }\n if (typeof block.url === 'string') {\n return base64ByteLength(block.url);\n }\n const nested = (block.video ?? block.audio) as\n | { data?: unknown; url?: unknown; source?: { bytes?: unknown } }\n | undefined;\n if (nested != null) {\n if (typeof nested.data === 'string') {\n return base64ByteLength(nested.data);\n }\n if (typeof nested.url === 'string') {\n return base64ByteLength(nested.url);\n }\n if (nested.source?.bytes instanceof Uint8Array) {\n return nested.source.bytes.length;\n }\n }\n return 0;\n}\n\n/** Classifies a block as timed media, or null when it is not video/audio — e.g.\n * a generic Google `media` block carrying an image/document MIME, which must\n * NOT be priced as video. Also handles the Google shape where `type` IS the\n * MIME string (e.g. `{ type: 'audio/wav', data }`). */\nfunction timedMediaKind(\n block: Record<string, unknown>\n): 'video' | 'audio' | null {\n const type =\n typeof block.type === 'string' ? normalizeMediaMimeType(block.type) : '';\n if (type === 'input_audio' || type === 'audio') {\n return 'audio';\n }\n if (type === 'video_url' || type === 'video') {\n return 'video';\n }\n const mediaMime = getMediaMimeType(block);\n const mime = type === 'media' && mediaMime != null ? mediaMime : type;\n if (mime.startsWith('audio/')) {\n return 'audio';\n }\n if (mime.startsWith('video/')) {\n return 'video';\n }\n return null;\n}\n\nfunction getMediaMimeType(block: Record<string, unknown>): string | undefined {\n if (typeof block.mimeType === 'string') {\n return normalizeMediaMimeType(block.mimeType);\n }\n if (typeof block.mime_type === 'string') {\n return normalizeMediaMimeType(block.mime_type);\n }\n return undefined;\n}\n\nfunction normalizeMediaMimeType(mimeType: string): string {\n return mimeType.split(';')[0].trim().toLowerCase();\n}\n\n/** Whether a content-block `type` can carry timed media — the fixed set plus the\n * Google MIME-as-type shape (`audio/*` / `video/*`). Gates callers before they\n * hand the block to {@link estimateTimedMediaBlockTokens}. */\nfunction isTimedMediaType(type: string): boolean {\n const normalizedType = normalizeMediaMimeType(type);\n return (\n TIMED_MEDIA_TYPES.has(normalizedType) ||\n normalizedType.startsWith('audio/') ||\n normalizedType.startsWith('video/')\n );\n}\n\n/** Conservatively prices unknown inline media without materializing JSON. */\nfunction estimateUnknownMediaBlockTokens(data: unknown): number {\n if (typeof data === 'string') {\n if (base64ByteLength(data) <= 0) {\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n return Math.max(URL_DOCUMENT_FALLBACK_TOKENS, data.length);\n }\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n return Math.max(\n URL_DOCUMENT_FALLBACK_TOKENS,\n Math.ceil((data.byteLength * 4) / 3)\n );\n }\n return URL_DOCUMENT_FALLBACK_TOKENS;\n}\n\n/**\n * Estimates Google `type: \"media\"` blocks whose MIME describes static content.\n * Timed audio/video continues through {@link estimateTimedMediaBlockTokens}.\n */\nfunction estimateStaticMediaBlockTokens(\n block: Record<string, unknown>,\n encoding: EncodingName,\n getTokenCount: (text: string) => number\n): number | undefined {\n const mediaMime = getMediaMimeType(block);\n if (block.type !== 'media' || mediaMime == null) {\n return undefined;\n }\n\n const mimeType = mediaMime;\n const nestedMedia =\n block.media != null && typeof block.media === 'object'\n ? (block.media as Record<string, unknown>)\n : undefined;\n const data =\n block.data ?? block.bytes ?? nestedMedia?.data ?? nestedMedia?.bytes;\n const reference =\n block.url ??\n block.fileUri ??\n block.fileId ??\n nestedMedia?.url ??\n nestedMedia?.fileUri ??\n nestedMedia?.fileId;\n\n if (mimeType.startsWith('image/')) {\n let encodedImage: string | undefined;\n if (typeof data === 'string') {\n encodedImage = data;\n } else if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n const view =\n data instanceof ArrayBuffer\n ? new Uint8Array(data)\n : new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n encodedImage = Buffer.from(view.subarray(0, 80)).toString('base64');\n }\n\n if (encodedImage != null && encodedImage.length > 0) {\n return estimateImageBlockTokens(\n {\n type: 'image',\n source: { type: 'base64', data: encodedImage },\n },\n encoding\n );\n }\n return estimateImageBlockTokens(\n {\n type: 'image_url',\n image_url: { url: typeof reference === 'string' ? reference : '' },\n },\n encoding\n );\n }\n\n if (mimeType === 'application/pdf') {\n if (typeof data === 'string' && data.length > 0) {\n const comma = data.startsWith('data:') ? data.indexOf(',') : -1;\n const base64Data = comma >= 0 ? data.slice(comma + 1) : data;\n return estimateDocumentBlockTokens(\n {\n type: 'file',\n source_type: 'base64',\n mime_type: mimeType,\n data: base64Data,\n },\n encoding,\n getTokenCount\n );\n }\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n const estimatedBase64Chars = Math.ceil((data.byteLength * 4) / 3);\n const pdfTokensPerPage =\n encoding === 'claude'\n ? ANTHROPIC_PDF_TOKENS_PER_PAGE\n : OPENAI_PDF_TOKENS_PER_PAGE;\n return (\n Math.max(\n 1,\n Math.ceil(estimatedBase64Chars / BASE64_BYTES_PER_PDF_PAGE)\n ) * pdfTokensPerPage\n );\n }\n return URL_DOCUMENT_FALLBACK_TOKENS;\n }\n\n if (mimeType.startsWith('audio/') || mimeType.startsWith('video/')) {\n return undefined;\n }\n return estimateUnknownMediaBlockTokens(data);\n}\n\n/**\n * Estimates token cost for a timed-media block (video/audio). Handles Google\n * `{ type: 'media', mimeType, data|url|fileUri }`, OpenRouter\n * `{ type: 'video_url' }` / `{ type: 'input_audio' }`, and standard\n * `{ type: 'video' }` / `{ type: 'audio' }` blocks (payload as `data` base64 or\n * `Uint8Array`, base64 `url`, or `fileId`). Duration is inferred from encoded\n * size (providers price by duration, which the block does not carry) at Gemini's\n * rates; a payload with no size (bare URL / file id) falls back to a ~30s\n * estimate. Returns 0 for non-timed media (e.g. an image/document `media` block)\n * so it is never mispriced as video.\n */\nexport function estimateTimedMediaBlockTokens(\n block: Record<string, unknown>\n): number {\n const kind = timedMediaKind(block);\n if (kind == null) {\n return 0;\n }\n let bytes: number;\n if (block.type === 'input_audio') {\n const audio = block.input_audio as { data?: string } | undefined;\n bytes = base64ByteLength(audio?.data);\n } else if (block.type === 'video_url') {\n const video = block.video_url as string | { url?: string } | undefined;\n bytes = base64ByteLength(typeof video === 'string' ? video : video?.url);\n } else {\n bytes = mediaBlockByteLength(block);\n }\n if (kind === 'audio') {\n return timedMediaTokens(\n bytes,\n AUDIO_BYTES_PER_SECOND,\n AUDIO_TOKENS_PER_SECOND,\n AUDIO_URL_FALLBACK_TOKENS\n );\n }\n return timedMediaTokens(\n bytes,\n VIDEO_BYTES_PER_SECOND,\n VIDEO_TOKENS_PER_SECOND,\n VIDEO_URL_FALLBACK_TOKENS\n );\n}\n\nconst tokenizers: Partial<Record<EncodingName, Tokenizer>> = {};\n\nasync function getTokenizer(\n encoding: EncodingName = 'o200k_base'\n): Promise<Tokenizer> {\n const cached = tokenizers[encoding];\n if (cached) {\n return cached;\n }\n const data =\n encoding === 'claude'\n ? await import('ai-tokenizer/encoding/claude')\n : await import('ai-tokenizer/encoding/o200k_base');\n const instance = new Tokenizer(data);\n tokenizers[encoding] = instance;\n return instance;\n}\n\nexport function encodingForModel(model: string): EncodingName {\n if (model.toLowerCase().includes('claude')) {\n return 'claude';\n }\n return 'o200k_base';\n}\n\ntype StructuredSafetyInspection = {\n remaining: number;\n};\n\nfunction consumeStructuredSafetyWork(\n inspection: StructuredSafetyInspection\n): boolean {\n if (inspection.remaining <= 0) {\n return false;\n }\n inspection.remaining--;\n return true;\n}\n\nfunction hasUnsafeToJSON(\n value: object,\n inspection: StructuredSafetyInspection\n): boolean {\n let current: object | null = value;\n const seen = new Set<object>();\n try {\n while (current != null) {\n if (isProxy(current)) {\n return true;\n }\n if (seen.has(current) || !consumeStructuredSafetyWork(inspection)) {\n return true;\n }\n seen.add(current);\n const descriptor = Object.getOwnPropertyDescriptor(current, 'toJSON');\n if (descriptor != null) {\n return (\n ('value' in descriptor && typeof descriptor.value === 'function') ||\n !('value' in descriptor)\n );\n }\n current = Object.getPrototypeOf(current) as object | null;\n }\n } catch {\n return true;\n }\n return false;\n}\n\nconst arrayBufferByteLengthGetter = Object.getOwnPropertyDescriptor(\n ArrayBuffer.prototype,\n 'byteLength'\n)?.get;\n\n/**\n * Tests native binary values without `instanceof`, whose prototype walk can\n * recurse or throw for adversarial proxies.\n */\nfunction isNativeBinaryValue(value: object): boolean {\n try {\n if (ArrayBuffer.isView(value)) {\n return true;\n }\n } catch {\n return true;\n }\n if (arrayBufferByteLengthGetter == null) {\n return false;\n }\n try {\n arrayBufferByteLengthGetter.call(value);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Detects an inherited accessor without reading it. Any proxy/prototype trap or\n * cyclic prototype chain is unsafe rather than observable to the caller.\n */\nfunction hasUnsafeInheritedProperty(\n value: object,\n key: string,\n inspection: StructuredSafetyInspection\n): boolean {\n const seen = new Set<object>([value]);\n let current: object | null;\n try {\n current = Object.getPrototypeOf(value) as object | null;\n } catch {\n return true;\n }\n\n while (current != null) {\n if (isProxy(current)) {\n return true;\n }\n if (seen.has(current) || !consumeStructuredSafetyWork(inspection)) {\n return true;\n }\n seen.add(current);\n let descriptor: PropertyDescriptor | undefined;\n try {\n descriptor = Object.getOwnPropertyDescriptor(current, key);\n } catch {\n return true;\n }\n if (descriptor != null) {\n return !('value' in descriptor);\n }\n try {\n current = Object.getPrototypeOf(current) as object | null;\n } catch {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Detects values whose native JSON representation can differ after local\n * measurement. Accessor properties and `toJSON` hooks are deliberately not\n * invoked; values too large to inspect within bounded work are treated as\n * unsafe so the caller can normalize or reject them conservatively.\n */\nexport function hasUnsafeStructuredSerialization(value: unknown): boolean {\n if (typeof value === 'bigint') {\n return true;\n }\n if (value == null || typeof value !== 'object') {\n return false;\n }\n if (isProxy(value)) {\n return true;\n }\n if (isNativeBinaryValue(value)) {\n return true;\n }\n\n const stack: object[] = [value];\n const seen = new Set<object>();\n const inspection: StructuredSafetyInspection = {\n remaining: MAX_STRUCTURED_SAFETY_INSPECTION_WORK,\n };\n while (stack.length > 0) {\n const current = stack.pop() as object;\n if (isProxy(current)) {\n return true;\n }\n if (seen.has(current)) {\n return true;\n }\n seen.add(current);\n if (!consumeStructuredSafetyWork(inspection)) {\n return true;\n }\n\n try {\n if (hasUnsafeToJSON(current, inspection)) {\n return true;\n }\n for (const key in current) {\n if (!consumeStructuredSafetyWork(inspection)) {\n return true;\n }\n const descriptor = Object.getOwnPropertyDescriptor(current, key);\n if (descriptor == null) {\n if (hasUnsafeInheritedProperty(current, key, inspection)) {\n return true;\n }\n continue;\n }\n if (descriptor.enumerable !== true) {\n continue;\n }\n if (!('value' in descriptor)) {\n return true;\n }\n if ('value' in descriptor) {\n if (typeof descriptor.value === 'bigint') {\n return true;\n }\n if (\n descriptor.value != null &&\n typeof descriptor.value === 'object' &&\n isNativeBinaryValue(descriptor.value)\n ) {\n return true;\n }\n if (\n descriptor.value != null &&\n typeof descriptor.value === 'object'\n ) {\n stack.push(descriptor.value);\n }\n }\n }\n } catch {\n return true;\n }\n }\n return false;\n}\n\nfunction getBoundedTextTokenCount(\n value: string,\n getTokenCount: (text: string) => number\n): number {\n const preview =\n value.length > MAX_STRUCTURED_TOKENIZATION_CHARS\n ? value.slice(0, MAX_STRUCTURED_TOKENIZATION_CHARS)\n : value;\n const previewTokens = ensureSafeTokenMeasurement(\n getTokenCount(preview),\n 'tokenizer'\n );\n const omittedChars = value.length - preview.length;\n if (omittedChars <= 0) {\n return previewTokens;\n }\n return Math.min(\n Number.MAX_SAFE_INTEGER,\n previewTokens + omittedChars * MAX_TOKENS_PER_OMITTED_STRUCTURED_CHAR\n );\n}\n\nfunction getBoundedStructuredTokenCount(\n value: unknown,\n getTokenCount: (text: string) => number\n): number {\n const serialized = serializeStructuredValueBounded(\n value,\n MAX_STRUCTURED_TOKENIZATION_CHARS\n );\n const previewTokens = ensureSafeTokenMeasurement(\n getTokenCount(serialized.content),\n 'tokenizer'\n );\n if (!serialized.truncated) {\n return previewTokens;\n }\n // The bounded serializer uses MAX_SAFE_INTEGER as its unknown-size sentinel.\n // Do not extrapolate from it: use its bounded preview and let the provider\n // input projection preserve the same bounded behavior before invocation.\n if (\n !Number.isSafeInteger(serialized.originalChars) ||\n serialized.originalChars >= Number.MAX_SAFE_INTEGER\n ) {\n return previewTokens;\n }\n\n const omittedChars = Math.max(\n 0,\n serialized.originalChars - serialized.content.length\n );\n return Math.min(\n Number.MAX_SAFE_INTEGER,\n previewTokens + omittedChars * MAX_TOKENS_PER_OMITTED_STRUCTURED_CHAR\n );\n}\n\nexport function getTokenCountForMessage(\n message: BaseMessage,\n getTokenCount: (text: string) => number,\n encoding: EncodingName = 'o200k_base'\n): number {\n const tokensPerMessage = 3;\n const countText = (text: string): number =>\n getBoundedTextTokenCount(text, getTokenCount);\n if (isProxy(message)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'message_proxy',\n path: 'message',\n });\n }\n\n type ContentBlock = Record<string, unknown> & {\n type?: string;\n tool_call?: {\n id?: string;\n name?: string;\n args?: unknown;\n output?: unknown;\n };\n };\n const representedToolCallIds = new Set<string>();\n\n const processValue = (value: unknown, path: string): void => {\n if (value != null && typeof value === 'object' && isProxy(value)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'content_proxy',\n path,\n });\n }\n if (Array.isArray(value)) {\n for (let index = 0; index < value.length; index++) {\n const raw = value[index];\n if (\n typeof raw === 'string' ||\n typeof raw === 'number' ||\n typeof raw === 'boolean'\n ) {\n processValue(raw, `${path}[${index}]`);\n continue;\n }\n const item = raw as ContentBlock | null | undefined;\n if (item == null || typeof item !== 'object') {\n continue;\n }\n if (isProxy(item)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'content_proxy',\n path: `${path}[${index}]`,\n });\n }\n if (typeof item.type !== 'string') {\n numTokens += getBoundedStructuredTokenCount(item, countText);\n continue;\n }\n if (item.type === ContentTypes.TOOL_CALL || item.type === 'tool_use') {\n const inlineId =\n typeof item.id === 'string' ? item.id : item.tool_call?.id;\n if (typeof inlineId === 'string' && inlineId.length > 0) {\n representedToolCallIds.add(inlineId);\n }\n }\n if (item.type === ContentTypes.ERROR) {\n continue;\n }\n\n if (\n isAtomicToolContentBlock(item) &&\n (item.type === ContentTypes.IMAGE_URL ||\n item.type === 'image_url' ||\n item.type === 'image' ||\n item.type === 'computer_screenshot' ||\n item.type === 'input_image')\n ) {\n numTokens += Math.ceil(\n estimateImageBlockTokens(item, encoding) * IMAGE_TOKEN_SAFETY_MARGIN\n );\n continue;\n }\n\n if (\n isAtomicToolContentBlock(item) &&\n (item.type === 'document' ||\n item.type === 'file' ||\n item.type === ContentTypes.IMAGE_FILE)\n ) {\n numTokens += Math.ceil(\n estimateDocumentBlockTokens(item, encoding, countText) *\n IMAGE_TOKEN_SAFETY_MARGIN\n );\n continue;\n }\n\n if (isAtomicToolContentBlock(item) && item.type === 'media') {\n const staticMediaTokens = estimateStaticMediaBlockTokens(\n item,\n encoding,\n countText\n );\n if (staticMediaTokens != null) {\n numTokens += Math.ceil(\n staticMediaTokens * IMAGE_TOKEN_SAFETY_MARGIN\n );\n continue;\n }\n }\n\n if (isAtomicToolContentBlock(item) && isTimedMediaType(item.type)) {\n const timedMediaTokens = estimateTimedMediaBlockTokens(item);\n if (timedMediaTokens > 0) {\n numTokens += Math.ceil(\n timedMediaTokens * IMAGE_TOKEN_SAFETY_MARGIN\n );\n continue;\n }\n }\n\n if (item.type === ContentTypes.TOOL_CALL && item.tool_call != null) {\n const toolName = item.tool_call.name;\n if (typeof toolName === 'string' && toolName.length > 0) {\n numTokens += countText(toolName);\n }\n const args = item.tool_call.args;\n if (args != null) {\n numTokens +=\n typeof args === 'string'\n ? countText(args)\n : getBoundedStructuredTokenCount(args, countText);\n }\n const output = item.tool_call.output;\n if (output != null) {\n processValue(output, `${path}[${index}].tool_call.output`);\n }\n continue;\n }\n\n const nestedValue = item[item.type];\n if (nestedValue == null) {\n numTokens += getBoundedStructuredTokenCount(item, countText);\n continue;\n }\n\n processValue(nestedValue, `${path}[${index}].${item.type}`);\n }\n } else if (typeof value === 'string') {\n numTokens += countText(value);\n } else if (typeof value === 'number') {\n numTokens += countText(value.toString());\n } else if (typeof value === 'boolean') {\n numTokens += countText(value.toString());\n } else if (value != null && typeof value === 'object') {\n numTokens += getBoundedStructuredTokenCount(value, countText);\n }\n };\n\n const rawAdditionalKwargs = message.additional_kwargs as unknown;\n const additionalKwargs =\n rawAdditionalKwargs != null && typeof rawAdditionalKwargs === 'object'\n ? rawAdditionalKwargs\n : undefined;\n if (additionalKwargs != null && isProxy(additionalKwargs)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_proxy',\n path: 'additional_kwargs',\n });\n }\n let additionalType: PropertyDescriptor | undefined;\n try {\n additionalType =\n additionalKwargs != null\n ? Object.getOwnPropertyDescriptor(additionalKwargs, 'type')\n : undefined;\n } catch {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_accessor',\n path: 'additional_kwargs.type',\n });\n }\n if (additionalType != null && !('value' in additionalType)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_accessor',\n path: 'additional_kwargs.type',\n });\n }\n\n let numTokens = tokensPerMessage;\n const messageType = message.getType();\n const isComputerCallOutput =\n messageType === 'tool' &&\n additionalType?.value === 'computer_call_output' &&\n isComputerCallOutputContent(message.content);\n if (isComputerCallOutput && typeof message.content === 'string') {\n numTokens += Math.ceil(\n estimateImageBlockTokens(\n {\n type: 'computer_screenshot',\n image_url: message.content,\n },\n encoding\n ) * IMAGE_TOKEN_SAFETY_MARGIN\n );\n } else {\n processValue(message.content, 'content');\n }\n ensureSafeTokenMeasurement(numTokens, 'content');\n const messageRole = (message as BaseMessage & { role?: unknown }).role;\n if (messageType === 'ai' || messageRole === 'assistant') {\n const toolCalls = (message as AIMessage).tool_calls ?? [];\n if (isProxy(toolCalls)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_proxy',\n path: 'tool_calls',\n });\n }\n for (const toolCall of toolCalls) {\n if (isProxy(toolCall)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_proxy',\n path: 'tool_calls',\n });\n }\n if (\n typeof toolCall.id === 'string' &&\n representedToolCallIds.has(toolCall.id)\n ) {\n continue;\n }\n if (typeof toolCall.name === 'string' && toolCall.name.length > 0) {\n numTokens += countText(toolCall.name);\n }\n const args: unknown = toolCall.args;\n if (args != null) {\n numTokens +=\n typeof args === 'string'\n ? countText(args)\n : getBoundedStructuredTokenCount(args, countText);\n }\n }\n let legacyFunctionCall: PropertyDescriptor | undefined;\n try {\n legacyFunctionCall =\n additionalKwargs != null\n ? Object.getOwnPropertyDescriptor(additionalKwargs, 'function_call')\n : undefined;\n } catch {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_accessor',\n path: 'additional_kwargs.function_call',\n });\n }\n if (legacyFunctionCall != null) {\n if (!('value' in legacyFunctionCall)) {\n throw new UnsafeTokenMeasurementError({\n reason: 'metadata_accessor',\n path: 'additional_kwargs.function_call',\n });\n }\n if (legacyFunctionCall.value != null) {\n numTokens += getBoundedStructuredTokenCount(\n legacyFunctionCall.value,\n countText\n );\n }\n }\n }\n return ensureSafeTokenMeasurement(numTokens, 'message');\n}\n\n/**\n * Largest-remainder apportionment: scales each count by `multiplier` and\n * distributes the rounding remainder so the results sum exactly to\n * `targetTotal`. Keeps per-item breakdowns reconciled with an aggregate\n * computed as a single rounded product of the summed raw counts.\n */\nexport function apportionTokenCounts(\n rawCounts: Record<string, number>,\n multiplier: number,\n targetTotal: number\n): Record<string, number> {\n const result: Record<string, number> = Object.create(null);\n const remainders: Array<{ name: string; remainder: number }> = [];\n let floorSum = 0;\n for (const [name, rawCount] of Object.entries(rawCounts)) {\n const scaled = rawCount * multiplier;\n const floored = Math.floor(scaled);\n result[name] = floored;\n floorSum += floored;\n remainders.push({ name, remainder: scaled - floored });\n }\n let leftover = targetTotal - floorSum;\n if (leftover <= 0 || remainders.length === 0) {\n return result;\n }\n remainders.sort((a, b) => b.remainder - a.remainder);\n for (let i = 0; leftover > 0; i = (i + 1) % remainders.length) {\n result[remainders[i].name] += 1;\n leftover--;\n }\n return result;\n}\n\n/**\n * Anthropic's API consistently reports ~10% more tokens than the local\n * claude tokenizer due to internal message framing and content encoding.\n * Verified empirically across content types via the count_tokens endpoint.\n */\nconst CLAUDE_TOKEN_CORRECTION = 1.1;\n\n/**\n * Creates a token counter function using the specified encoding.\n * Lazily loads the encoding data on first use via dynamic import.\n */\nexport const createTokenCounter = async (\n encoding: EncodingName = 'o200k_base'\n): Promise<(message: BaseMessage) => number> => {\n const tok = await getTokenizer(encoding);\n const countTokens = (text: string): number => tok.count(text);\n const isClaude = encoding === 'claude';\n return (message: BaseMessage): number => {\n const count = getTokenCountForMessage(message, countTokens, encoding);\n const correctedCount = isClaude\n ? Math.ceil(count * CLAUDE_TOKEN_CORRECTION)\n : count;\n return ensureSafeTokenMeasurement(correctedCount, 'message');\n };\n};\n\n/** Utility to manage the token encoder lifecycle explicitly. */\nexport const TokenEncoderManager = {\n async initialize(): Promise<void> {\n // No-op: ai-tokenizer is synchronously initialized from bundled data.\n },\n\n reset(): void {\n for (const key of Object.keys(tokenizers)) {\n delete tokenizers[key as EncodingName];\n }\n },\n\n isInitialized(): boolean {\n return Object.keys(tokenizers).length > 0;\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"tokens.cjs","names":["Tokenizer","serializeStructuredValueBounded","isAtomicToolContentBlock","isComputerCallOutputContent"],"sources":["../../../src/utils/tokens.ts"],"mappings":"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"}
@@ -303,10 +303,6 @@ function appendJsonSafeRange(collector, value, start, end) {
303
303
  offset = chunkEnd;
304
304
  }
305
305
  }
306
- /**
307
- * Emits one JSON string incrementally. Calling JSON.stringify on the complete
308
- * string would allocate an escaped copy before the output cap could apply.
309
- */
310
306
  function appendJsonString(collector, value) {
311
307
  if (collector.work.exceeded) {
312
308
  appendSerializedChunk(collector, `"${collector.work.failurePlaceholder ?? CHARACTER_WORK_PLACEHOLDER}"`);
@@ -394,11 +390,6 @@ function readStructuredArrayLength(value, work) {
394
390
  work.exceeded = true;
395
391
  work.remaining = 0;
396
392
  }
397
- /**
398
- * Provider-neutral JSON writer which deliberately does not invoke `toJSON` or
399
- * property accessors. Native `JSON.stringify` can invoke both before a replacer
400
- * can bound their output.
401
- */
402
393
  function appendStructuredValue(collector, value, ancestors, depth, position) {
403
394
  if (collector.work.exceeded) {
404
395
  appendSerializedChunk(collector, `"${collector.work.failurePlaceholder ?? CHARACTER_WORK_PLACEHOLDER}"`);
@@ -575,16 +566,6 @@ function formatBoundedStructuredContent(collector, maxChars, prefix, suffix) {
575
566
  if (tailNewline > 0 && tailNewline < tailStart + 200) tailStart = tailNewline + 1;
576
567
  return prefix.slice(0, headEnd) + indicator + suffix.slice(tailStart);
577
568
  }
578
- /**
579
- * Serializes structured output while retaining at most the requested provider
580
- * preview and registry prefix. The traversal never calls `toJSON` and never
581
- * materializes the complete serialized string when it exceeds those limits.
582
- *
583
- * `prefixChars` is useful for the tool-output registry: it receives the exact
584
- * serialized prefix up to `registry.perOutputLimit`, while `content` retains
585
- * the provider-facing head/tail truncation behavior at `maxChars`. Property
586
- * accessors are represented by a fixed placeholder instead of being invoked.
587
- */
588
569
  function serializeStructuredValueBounded(value, maxChars, prefixChars = 0, work = createStructuredWorkState()) {
589
570
  const normalizedMaxChars = normalizeCharLimit(maxChars);
590
571
  const normalizedPrefixChars = normalizeCharLimit(prefixChars);
@@ -1041,9 +1022,6 @@ function getToolContentCharLength(content) {
1041
1022
  return Number.MAX_SAFE_INTEGER;
1042
1023
  }
1043
1024
  }
1044
- /**
1045
- * Produces provider-facing tool-result text without ever exceeding `maxChars`.
1046
- */
1047
1025
  function serializeToolContentBounded(content, maxChars) {
1048
1026
  const normalizedMaxChars = normalizeCharLimit(maxChars);
1049
1027
  if (typeof content === "string") return require_truncation.truncateToolResultContent(content, normalizedMaxChars);
@@ -1125,7 +1103,6 @@ function readSafeArrayItem(content, expectedLength, index) {
1125
1103
  return { found: false };
1126
1104
  }
1127
1105
  }
1128
- /** Reads one safe text block and returns its bounded text payload. */
1129
1106
  function getBoundedSingleTextToolContent(content, maxChars) {
1130
1107
  const block = readSafeArrayItem(content, 1, 0);
1131
1108
  if (!block.found || !isRecord(block.value) || (0, node_util_types.isProxy)(block.value) || !hasSafePlainPrototype(block.value) || !hasOnlyEnumerableKeys(block.value, SINGLE_TEXT_TOOL_CONTENT_KEYS)) return;
@@ -1135,10 +1112,6 @@ function getBoundedSingleTextToolContent(content, maxChars) {
1135
1112
  const normalizedMaxChars = Number.isFinite(maxChars) ? Math.max(0, Math.floor(maxChars)) : Number.MAX_SAFE_INTEGER;
1136
1113
  return require_truncation.truncateToolResultContent(text.value, normalizedMaxChars);
1137
1114
  }
1138
- /**
1139
- * Canonicalizes the single cache-decorated text block produced by tail prompt
1140
- * caching without invoking accessors or custom serialization hooks.
1141
- */
1142
1115
  function getBoundedCacheControlledTextToolContent(content, maxChars) {
1143
1116
  const block = readSafeArrayItem(content, 1, 0);
1144
1117
  if (!block.found || !isRecord(block.value) || (0, node_util_types.isProxy)(block.value) || !hasSafePlainPrototype(block.value) || !hasOnlyEnumerableKeys(block.value, CACHE_CONTROLLED_TEXT_TOOL_CONTENT_KEYS)) return;
@@ -1188,10 +1161,6 @@ const INPUT_IMAGE_DETAILS = new Set([
1188
1161
  "auto",
1189
1162
  "original"
1190
1163
  ]);
1191
- /**
1192
- * Selects the exact screenshot shape accepted by LangChain's Responses
1193
- * converter without invoking accessors or user-defined serialization hooks.
1194
- */
1195
1164
  function getComputerCallOutputScreenshot(content) {
1196
1165
  if (isProviderImageUrl(content)) return {
1197
1166
  type: "input_image",
@@ -1248,11 +1217,9 @@ function getComputerCallOutputScreenshot(content) {
1248
1217
  }
1249
1218
  }
1250
1219
  }
1251
- /** Returns whether content can be sent as a native computer screenshot. */
1252
1220
  function isComputerCallOutputContent(content) {
1253
1221
  return getComputerCallOutputScreenshot(content) != null;
1254
1222
  }
1255
- /** Returns whether a ToolMessage carries the native computer-output marker. */
1256
1223
  function hasComputerCallOutputMarker(message) {
1257
1224
  try {
1258
1225
  if (message.getType() !== "tool") return false;
@@ -1264,16 +1231,9 @@ function hasComputerCallOutputMarker(message) {
1264
1231
  return false;
1265
1232
  }
1266
1233
  }
1267
- /** Native Responses computer screenshots are indivisible provider payloads. */
1268
1234
  function isComputerCallOutputMessage(message) {
1269
1235
  return hasComputerCallOutputMarker(message) && isComputerCallOutputContent(message.content);
1270
1236
  }
1271
- /**
1272
- * Bounds structured tool output without slicing binary/media payloads.
1273
- * Purely textual/structured arrays become a universally valid string tool
1274
- * result. For mixed-media arrays, compactable blocks become one text preview
1275
- * while atomic blocks remain intact.
1276
- */
1277
1237
  function compactToolContent(content, maxChars) {
1278
1238
  const normalizedMaxChars = Number.isFinite(maxChars) ? Math.max(0, Math.floor(maxChars)) : Number.MAX_SAFE_INTEGER;
1279
1239
  if (typeof content === "string") return {
@@ -1483,7 +1443,6 @@ function compactToolContent(content, maxChars) {
1483
1443
  };
1484
1444
  }
1485
1445
  }
1486
- /** Clones a ToolMessage while retaining fields omitted by ad-hoc clones. */
1487
1446
  function cloneToolMessageWithContent(message, content, artifact = message.artifact) {
1488
1447
  return new _langchain_core_messages.ToolMessage({
1489
1448
  content,