@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
@@ -39,13 +39,9 @@ function getOtelScopeAgentId(activeContext) {
39
39
  const value = activeContext.getValue(langfuseScopeAgentIdKey);
40
40
  return typeof value === "string" && value.trim() !== "" ? value : void 0;
41
41
  }
42
- /** The run identity the active scope belongs to (see
43
- * `LangfuseRuntimeContext.runId`), or `undefined` for unstamped scopes. */
44
42
  function resolveLangfuseScopeRunId(activeContext) {
45
43
  return require_langfuseRuntimeContext.getLangfuseScopeRunId() ?? getOtelScopeRunId(activeContext);
46
44
  }
47
- /** The agent identity of a per-agent overlay scope (see
48
- * `LangfuseRuntimeContext.agentId`), or `undefined` for run-level scopes. */
49
45
  function resolveLangfuseScopeAgentId(activeContext) {
50
46
  return require_langfuseRuntimeContext.getLangfuseScopeAgentId() ?? getOtelScopeAgentId(activeContext);
51
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"langfuseRuntimeScope.cjs","names":["getLangfuseRuntimeConfig","getTraceIdSeed","getLangfuseScopeRunId","getLangfuseScopeAgentId","getLangfuseRuntimeToolOutputTracingConfig","hasLangfuseRuntimeContextValue","context","replaceLangfuseRuntimeContext","runWithLangfuseRuntimeContext","resolveLangfuseConfig","hasToolOutputTracingConfig","resolveToolOutputTracingConfig"],"sources":["../../src/langfuseRuntimeScope.ts"],"sourcesContent":["import { context, createContextKey } from '@opentelemetry/api';\nimport type { Context } from '@opentelemetry/api';\nimport type {\n LangfuseRuntimeContext,\n ResolvedLangfuseToolOutputTracingConfig,\n} from '@/langfuseRuntimeContext';\nimport type * as t from '@/types';\nimport {\n getLangfuseRuntimeConfig,\n getLangfuseRuntimeToolOutputTracingConfig,\n getLangfuseScopeAgentId,\n getLangfuseScopeRunId,\n getTraceIdSeed,\n hasLangfuseRuntimeContextValue,\n replaceLangfuseRuntimeContext,\n runWithLangfuseRuntimeContext,\n} from '@/langfuseRuntimeContext';\nimport {\n hasToolOutputTracingConfig,\n resolveLangfuseConfig,\n resolveToolOutputTracingConfig,\n} from '@/langfuseConfig';\n\nexport type LangfuseRuntimeScope = LangfuseRuntimeContext;\n\nexport type ResolveLangfuseRuntimeScopeParams = {\n runLangfuse?: t.LangfuseConfig;\n langfuseOverlay?: t.LangfuseConfig;\n traceIdSeed?: string;\n runId?: string;\n agentId?: string;\n};\n\nexport type LangfuseRuntimeScopeOptions = {\n /** Replace the surrounding scope entirely instead of merging with it:\n * fields absent from `scope` are CLEARED rather than inherited. Required\n * when rejecting a foreign concurrent run's scope, whose explicit values\n * must not survive merge inheritance. */\n replace?: boolean;\n};\n\nconst langfuseToolOutputTracingConfigKey = createContextKey(\n 'librechat.langfuse.tool-output-tracing'\n);\nconst langfuseConfigKey = createContextKey('librechat.langfuse.config');\nconst langfuseTraceIdSeedKey = createContextKey(\n 'librechat.langfuse.trace-id-seed'\n);\nconst langfuseScopeRunIdKey = createContextKey('librechat.langfuse.run-id');\nconst langfuseScopeAgentIdKey = createContextKey('librechat.langfuse.agent-id');\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction hasText(value: string | undefined): value is string {\n return value != null && value.trim() !== '';\n}\n\nexport function getOtelLangfuseConfig(\n activeContext: Context\n): t.LangfuseConfig | undefined {\n const value = activeContext.getValue(langfuseConfigKey);\n return isRecord(value) ? (value as t.LangfuseConfig) : undefined;\n}\n\nexport function getOtelTraceIdSeed(activeContext: Context): string | undefined {\n const value = activeContext.getValue(langfuseTraceIdSeedKey);\n return typeof value === 'string' && value.trim() !== '' ? value : undefined;\n}\n\nexport function getOtelToolOutputTracingConfig(\n activeContext: Context\n): ResolvedLangfuseToolOutputTracingConfig | undefined {\n const value = activeContext.getValue(langfuseToolOutputTracingConfigKey);\n return isRecord(value)\n ? (value as ResolvedLangfuseToolOutputTracingConfig)\n : undefined;\n}\n\nexport function resolveLangfuseConfigForSpan(\n activeContext: Context\n): t.LangfuseConfig | undefined {\n return getLangfuseRuntimeConfig() ?? getOtelLangfuseConfig(activeContext);\n}\n\nexport function resolveTraceIdSeedForSpan(\n activeContext: Context\n): string | undefined {\n return getTraceIdSeed() ?? getOtelTraceIdSeed(activeContext);\n}\n\nfunction getOtelScopeRunId(activeContext: Context): string | undefined {\n const value = activeContext.getValue(langfuseScopeRunIdKey);\n return typeof value === 'string' && value.trim() !== '' ? value : undefined;\n}\n\nfunction getOtelScopeAgentId(activeContext: Context): string | undefined {\n const value = activeContext.getValue(langfuseScopeAgentIdKey);\n return typeof value === 'string' && value.trim() !== '' ? value : undefined;\n}\n\n/** The run identity the active scope belongs to (see\n * `LangfuseRuntimeContext.runId`), or `undefined` for unstamped scopes. */\nexport function resolveLangfuseScopeRunId(\n activeContext: Context\n): string | undefined {\n return getLangfuseScopeRunId() ?? getOtelScopeRunId(activeContext);\n}\n\n/** The agent identity of a per-agent overlay scope (see\n * `LangfuseRuntimeContext.agentId`), or `undefined` for run-level scopes. */\nexport function resolveLangfuseScopeAgentId(\n activeContext: Context\n): string | undefined {\n return getLangfuseScopeAgentId() ?? getOtelScopeAgentId(activeContext);\n}\n\nexport function resolveToolOutputTracingConfigForSpan(\n activeContext: Context\n): ResolvedLangfuseToolOutputTracingConfig | undefined {\n return (\n getLangfuseRuntimeToolOutputTracingConfig() ??\n getOtelToolOutputTracingConfig(activeContext)\n );\n}\n\nfunction setOrClearContextValue(\n activeContext: Context,\n key: Parameters<Context['setValue']>[0],\n value: unknown,\n replace: boolean\n): Context {\n if (value != null) {\n return activeContext.setValue(key, value);\n }\n return replace ? activeContext.deleteValue(key) : activeContext;\n}\n\nexport function withLangfuseRuntimeScope<T>(\n scope: LangfuseRuntimeScope,\n action: () => T,\n options?: LangfuseRuntimeScopeOptions\n): T {\n const replace = options?.replace === true;\n if (!replace && !hasLangfuseRuntimeContextValue(scope)) {\n return action();\n }\n\n let activeContext = context.active();\n activeContext = setOrClearContextValue(\n activeContext,\n langfuseConfigKey,\n scope.langfuse,\n replace\n );\n activeContext = setOrClearContextValue(\n activeContext,\n langfuseToolOutputTracingConfigKey,\n scope.toolOutputTracing,\n replace\n );\n activeContext = setOrClearContextValue(\n activeContext,\n langfuseTraceIdSeedKey,\n hasText(scope.traceIdSeed) ? scope.traceIdSeed : undefined,\n replace\n );\n activeContext = setOrClearContextValue(\n activeContext,\n langfuseScopeRunIdKey,\n hasText(scope.runId) ? scope.runId : undefined,\n replace\n );\n activeContext = setOrClearContextValue(\n activeContext,\n langfuseScopeAgentIdKey,\n hasText(scope.agentId) ? scope.agentId : undefined,\n replace\n );\n\n // Span processors receive the OTel parent context in `onStart`, while\n // LangChain callback handlers may run outside that context and need ALS.\n // The trace id generator reads the seed from ALS or OTel context so SDK\n // callbacks that preserve only one of those contexts still keep trace/score\n // cohesion.\n const runScoped = replace\n ? replaceLangfuseRuntimeContext\n : runWithLangfuseRuntimeContext;\n return runScoped(scope, () => context.with(activeContext, action));\n}\n\nexport function resolveLangfuseRuntimeScope({\n runLangfuse,\n langfuseOverlay,\n traceIdSeed,\n runId,\n agentId,\n}: ResolveLangfuseRuntimeScopeParams): LangfuseRuntimeScope {\n const langfuse = resolveLangfuseConfig(runLangfuse, langfuseOverlay);\n const toolOutputTracing = !hasToolOutputTracingConfig(\n runLangfuse,\n langfuseOverlay\n )\n ? undefined\n : resolveToolOutputTracingConfig(runLangfuse, langfuseOverlay);\n return { langfuse, traceIdSeed, toolOutputTracing, runId, agentId };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"langfuseRuntimeScope.cjs","names":["getLangfuseRuntimeConfig","getTraceIdSeed","getLangfuseScopeRunId","getLangfuseScopeAgentId","getLangfuseRuntimeToolOutputTracingConfig","hasLangfuseRuntimeContextValue","context","replaceLangfuseRuntimeContext","runWithLangfuseRuntimeContext","resolveLangfuseConfig","hasToolOutputTracingConfig","resolveToolOutputTracingConfig"],"sources":["../../src/langfuseRuntimeScope.ts"],"mappings":"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"}
@@ -2,25 +2,6 @@ const require_misc = require("./utils/misc.cjs");
2
2
  const require_langfuseConfig = require("./langfuseConfig.cjs");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/langfuseSpanRegistry.ts
5
- /**
6
- * Spans created through the Langfuse tracer provider, keyed by the export
7
- * destination they were routed to. Callback handlers use this to distinguish
8
- * safe ambient parents from spans a root observation must not inherit:
9
- *
10
- * - Foreign spans (a host's own OpenTelemetry instrumentation, e.g. HTTP
11
- * server spans on the global provider) are never exported to Langfuse —
12
- * inheriting one orphans the trace root (its root/trace input-output
13
- * shaping is skipped), collapses concurrent runs inside one request
14
- * context into a single merged trace, and bypasses the seeded
15
- * deterministic trace id generator.
16
- * - Langfuse-managed spans bound to a *different* destination (another
17
- * tenant's project) would leave the new trace dangling in its own
18
- * destination while inheriting the other tenant's trace id.
19
- *
20
- * Only a managed span whose destination matches the starting run's resolved
21
- * destination is a safe parent — that is the sanctioned way for hosts to
22
- * group runs under their own Langfuse observations.
23
- */
24
5
  const managedSpanDestinations = /* @__PURE__ */ new WeakMap();
25
6
  function registerLangfuseManagedSpan(span, destinationKey) {
26
7
  managedSpanDestinations.set(span, destinationKey);
@@ -67,13 +48,6 @@ function getLangfuseSpanProcessorParams(langfuse) {
67
48
  function hashCacheKeyValue(value) {
68
49
  return require_misc.isPresent(value) ? (0, node_crypto.createHash)("sha256").update(value, "utf8").digest("hex") : void 0;
69
50
  }
70
- /**
71
- * Identity of an export destination (project credentials + endpoint +
72
- * environment) only. Processor-level policies like `toolOutputTracing` are
73
- * deliberately excluded: two spans exporting to the same project under
74
- * different redaction settings still share a destination and may parent one
75
- * another.
76
- */
77
51
  function getLangfuseDestinationKey(params) {
78
52
  return JSON.stringify({
79
53
  publicKey: params.publicKey,
@@ -82,8 +56,6 @@ function getLangfuseDestinationKey(params) {
82
56
  environment: params.environment
83
57
  });
84
58
  }
85
- /** The export destination a run with this config resolves to, or `undefined`
86
- * when no Langfuse destination is configured. */
87
59
  function resolveLangfuseDestinationKey(langfuse) {
88
60
  const params = getLangfuseSpanProcessorParams(langfuse);
89
61
  return params == null ? void 0 : getLangfuseDestinationKey(params);
@@ -1 +1 @@
1
- {"version":3,"file":"langfuseSpanRegistry.cjs","names":["hasLangfuseConfigCredentials","isPresent","hasLangfuseEnvConfig","hasLangfuseEnvCredentials"],"sources":["../../src/langfuseSpanRegistry.ts"],"sourcesContent":["import { createHash } from 'node:crypto';\nimport type { LangfuseSpanProcessorParams } from '@langfuse/otel';\nimport type { Span } from '@opentelemetry/api';\nimport type * as t from '@/types';\nimport {\n hasLangfuseConfigCredentials,\n hasLangfuseEnvCredentials,\n hasLangfuseEnvConfig,\n} from '@/langfuseConfig';\nimport { isPresent } from '@/utils/misc';\n\n/**\n * Spans created through the Langfuse tracer provider, keyed by the export\n * destination they were routed to. Callback handlers use this to distinguish\n * safe ambient parents from spans a root observation must not inherit:\n *\n * - Foreign spans (a host's own OpenTelemetry instrumentation, e.g. HTTP\n * server spans on the global provider) are never exported to Langfuse —\n * inheriting one orphans the trace root (its root/trace input-output\n * shaping is skipped), collapses concurrent runs inside one request\n * context into a single merged trace, and bypasses the seeded\n * deterministic trace id generator.\n * - Langfuse-managed spans bound to a *different* destination (another\n * tenant's project) would leave the new trace dangling in its own\n * destination while inheriting the other tenant's trace id.\n *\n * Only a managed span whose destination matches the starting run's resolved\n * destination is a safe parent — that is the sanctioned way for hosts to\n * group runs under their own Langfuse observations.\n */\nconst managedSpanDestinations = new WeakMap<Span, string>();\n\nexport function registerLangfuseManagedSpan(\n span: Span,\n destinationKey: string\n): void {\n managedSpanDestinations.set(span, destinationKey);\n}\n\nexport function getLangfuseManagedSpanDestination(\n span: Span\n): string | undefined {\n return managedSpanDestinations.get(span);\n}\n\nfunction resolveLangfuseEnvironment(\n langfuse?: t.LangfuseConfig\n): string | undefined {\n const candidates = [\n langfuse?.environment,\n process.env.LANGFUSE_TRACING_ENVIRONMENT,\n process.env.NODE_ENV,\n ];\n for (const candidate of candidates) {\n if (candidate != null && candidate.trim() !== '') {\n return candidate.trim();\n }\n }\n return undefined;\n}\n\nexport function getLangfuseSpanProcessorParams(\n langfuse?: t.LangfuseConfig\n): LangfuseSpanProcessorParams | undefined {\n if (langfuse?.enabled === false) {\n return undefined;\n }\n const environment = resolveLangfuseEnvironment(langfuse);\n if (hasLangfuseConfigCredentials(langfuse)) {\n return {\n publicKey: langfuse.publicKey,\n secretKey: langfuse.secretKey,\n ...(isPresent(langfuse.baseUrl) ? { baseUrl: langfuse.baseUrl } : {}),\n ...(isPresent(environment) ? { environment } : {}),\n ...(langfuse.mediaUploadEnabled != null\n ? { mediaUploadEnabled: langfuse.mediaUploadEnabled }\n : {}),\n };\n }\n if (hasLangfuseEnvConfig()) {\n const baseUrl =\n langfuse?.baseUrl ??\n process.env.LANGFUSE_BASE_URL ??\n process.env.LANGFUSE_BASEURL;\n return {\n publicKey: process.env.LANGFUSE_PUBLIC_KEY as string,\n secretKey: process.env.LANGFUSE_SECRET_KEY as string,\n ...(isPresent(baseUrl) ? { baseUrl } : {}),\n ...(isPresent(environment) ? { environment } : {}),\n ...(langfuse?.mediaUploadEnabled != null\n ? { mediaUploadEnabled: langfuse.mediaUploadEnabled }\n : {}),\n };\n }\n if (isPresent(langfuse?.baseUrl) && hasLangfuseEnvCredentials()) {\n return {\n publicKey: process.env.LANGFUSE_PUBLIC_KEY as string,\n secretKey: process.env.LANGFUSE_SECRET_KEY as string,\n baseUrl: langfuse.baseUrl,\n ...(isPresent(environment) ? { environment } : {}),\n ...(langfuse.mediaUploadEnabled != null\n ? { mediaUploadEnabled: langfuse.mediaUploadEnabled }\n : {}),\n };\n }\n return undefined;\n}\n\nfunction hashCacheKeyValue(value: string | undefined): string | undefined {\n return isPresent(value)\n ? createHash('sha256').update(value, 'utf8').digest('hex')\n : undefined;\n}\n\n/**\n * Identity of an export destination (project credentials + endpoint +\n * environment) only. Processor-level policies like `toolOutputTracing` are\n * deliberately excluded: two spans exporting to the same project under\n * different redaction settings still share a destination and may parent one\n * another.\n */\nexport function getLangfuseDestinationKey(\n params: LangfuseSpanProcessorParams\n): string {\n return JSON.stringify({\n publicKey: params.publicKey,\n secretKeyHash: hashCacheKeyValue(params.secretKey),\n baseUrl: params.baseUrl,\n environment: params.environment,\n });\n}\n\n/** The export destination a run with this config resolves to, or `undefined`\n * when no Langfuse destination is configured. */\nexport function resolveLangfuseDestinationKey(\n langfuse?: t.LangfuseConfig\n): string | undefined {\n const params = getLangfuseSpanProcessorParams(langfuse);\n return params == null ? undefined : getLangfuseDestinationKey(params);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAM,0CAA0B,IAAI,QAAsB;AAE1D,SAAgB,4BACd,MACA,gBACM;CACN,wBAAwB,IAAI,MAAM,cAAc;AAClD;AAEA,SAAgB,kCACd,MACoB;CACpB,OAAO,wBAAwB,IAAI,IAAI;AACzC;AAEA,SAAS,2BACP,UACoB;CACpB,MAAM,aAAa;EACjB,UAAU;EACV,QAAQ,IAAI;EACZ,QAAQ,IAAI;CACd;CACA,KAAK,MAAM,aAAa,YACtB,IAAI,aAAa,QAAQ,UAAU,KAAK,MAAM,IAC5C,OAAO,UAAU,KAAK;AAI5B;AAEA,SAAgB,+BACd,UACyC;CACzC,IAAI,UAAU,YAAY,OACxB;CAEF,MAAM,cAAc,2BAA2B,QAAQ;CACvD,IAAIA,uBAAAA,6BAA6B,QAAQ,GACvC,OAAO;EACL,WAAW,SAAS;EACpB,WAAW,SAAS;EACpB,GAAIC,aAAAA,UAAU,SAAS,OAAO,IAAI,EAAE,SAAS,SAAS,QAAQ,IAAI,CAAC;EACnE,GAAIA,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;EAChD,GAAI,SAAS,sBAAsB,OAC/B,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;CACP;CAEF,IAAIC,uBAAAA,qBAAqB,GAAG;EAC1B,MAAM,UACJ,UAAU,WACV,QAAQ,IAAI,qBACZ,QAAQ,IAAI;EACd,OAAO;GACL,WAAW,QAAQ,IAAI;GACvB,WAAW,QAAQ,IAAI;GACvB,GAAID,aAAAA,UAAU,OAAO,IAAI,EAAE,QAAQ,IAAI,CAAC;GACxC,GAAIA,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;GAChD,GAAI,UAAU,sBAAsB,OAChC,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;EACP;CACF;CACA,IAAIA,aAAAA,UAAU,UAAU,OAAO,KAAKE,uBAAAA,0BAA0B,GAC5D,OAAO;EACL,WAAW,QAAQ,IAAI;EACvB,WAAW,QAAQ,IAAI;EACvB,SAAS,SAAS;EAClB,GAAIF,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;EAChD,GAAI,SAAS,sBAAsB,OAC/B,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;CACP;AAGJ;AAEA,SAAS,kBAAkB,OAA+C;CACxE,OAAOA,aAAAA,UAAU,KAAK,KAAA,GAAA,YAAA,WAAA,CACP,QAAQ,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC,OAAO,KAAK,IACvD,KAAA;AACN;;;;;;;;AASA,SAAgB,0BACd,QACQ;CACR,OAAO,KAAK,UAAU;EACpB,WAAW,OAAO;EAClB,eAAe,kBAAkB,OAAO,SAAS;EACjD,SAAS,OAAO;EAChB,aAAa,OAAO;CACtB,CAAC;AACH;;;AAIA,SAAgB,8BACd,UACoB;CACpB,MAAM,SAAS,+BAA+B,QAAQ;CACtD,OAAO,UAAU,OAAO,KAAA,IAAY,0BAA0B,MAAM;AACtE"}
1
+ {"version":3,"file":"langfuseSpanRegistry.cjs","names":["hasLangfuseConfigCredentials","isPresent","hasLangfuseEnvConfig","hasLangfuseEnvCredentials"],"sources":["../../src/langfuseSpanRegistry.ts"],"mappings":";;;;AA8BA,MAAM,0CAA0B,IAAI,QAAsB;AAE1D,SAAgB,4BACd,MACA,gBACM;CACN,wBAAwB,IAAI,MAAM,cAAc;AAClD;AAEA,SAAgB,kCACd,MACoB;CACpB,OAAO,wBAAwB,IAAI,IAAI;AACzC;AAEA,SAAS,2BACP,UACoB;CACpB,MAAM,aAAa;EACjB,UAAU;EACV,QAAQ,IAAI;EACZ,QAAQ,IAAI;CACd;CACA,KAAK,MAAM,aAAa,YACtB,IAAI,aAAa,QAAQ,UAAU,KAAK,MAAM,IAC5C,OAAO,UAAU,KAAK;AAI5B;AAEA,SAAgB,+BACd,UACyC;CACzC,IAAI,UAAU,YAAY,OACxB;CAEF,MAAM,cAAc,2BAA2B,QAAQ;CACvD,IAAIA,uBAAAA,6BAA6B,QAAQ,GACvC,OAAO;EACL,WAAW,SAAS;EACpB,WAAW,SAAS;EACpB,GAAIC,aAAAA,UAAU,SAAS,OAAO,IAAI,EAAE,SAAS,SAAS,QAAQ,IAAI,CAAC;EACnE,GAAIA,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;EAChD,GAAI,SAAS,sBAAsB,OAC/B,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;CACP;CAEF,IAAIC,uBAAAA,qBAAqB,GAAG;EAC1B,MAAM,UACJ,UAAU,WACV,QAAQ,IAAI,qBACZ,QAAQ,IAAI;EACd,OAAO;GACL,WAAW,QAAQ,IAAI;GACvB,WAAW,QAAQ,IAAI;GACvB,GAAID,aAAAA,UAAU,OAAO,IAAI,EAAE,QAAQ,IAAI,CAAC;GACxC,GAAIA,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;GAChD,GAAI,UAAU,sBAAsB,OAChC,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;EACP;CACF;CACA,IAAIA,aAAAA,UAAU,UAAU,OAAO,KAAKE,uBAAAA,0BAA0B,GAC5D,OAAO;EACL,WAAW,QAAQ,IAAI;EACvB,WAAW,QAAQ,IAAI;EACvB,SAAS,SAAS;EAClB,GAAIF,aAAAA,UAAU,WAAW,IAAI,EAAE,YAAY,IAAI,CAAC;EAChD,GAAI,SAAS,sBAAsB,OAC/B,EAAE,oBAAoB,SAAS,mBAAmB,IAClD,CAAC;CACP;AAGJ;AAEA,SAAS,kBAAkB,OAA+C;CACxE,OAAOA,aAAAA,UAAU,KAAK,KAAA,GAAA,YAAA,WAAA,CACP,QAAQ,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC,OAAO,KAAK,IACvD,KAAA;AACN;AASA,SAAgB,0BACd,QACQ;CACR,OAAO,KAAK,UAAU;EACpB,WAAW,OAAO;EAClB,eAAe,kBAAkB,OAAO,SAAS;EACjD,SAAS,OAAO;EAChB,aAAa,OAAO;CACtB,CAAC;AACH;AAIA,SAAgB,8BACd,UACoB;CACpB,MAAM,SAAS,+BAA+B,QAAQ;CACtD,OAAO,UAAU,OAAO,KAAA,IAAY,0BAA0B,MAAM;AACtE"}
@@ -92,9 +92,6 @@ function toolNameMatches(toolName, config) {
92
92
  }
93
93
  return config.redactedToolNames.has(normalizedToolName);
94
94
  }
95
- /** Whether a tool's outputs are excluded from tracing (global disable or
96
- * `redactedToolNames` match). Exported for the activity-label prompt
97
- * builder, whose prompt becomes Langfuse generation input. */
98
95
  function shouldRedactTool(toolName, config) {
99
96
  return config.enabled === false || toolNameMatches(toolName, config);
100
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"langfuseToolOutputTracing.cjs","names":["normalizeToolName","LangfuseOtelSpanAttributes","LangfuseSpanProcessor","shouldDropLangfuseSpan","resolveToolOutputTracingConfigForSpan","hasToolOutputTracingConfig","resolveToolOutputTracingConfig","resolveLangfuseConfig"],"sources":["../../src/langfuseToolOutputTracing.ts"],"sourcesContent":["import { LangfuseSpanProcessor } from '@langfuse/otel';\nimport { LangfuseOtelSpanAttributes } from '@langfuse/tracing';\nimport type {\n ReadableSpan,\n Span,\n SpanProcessor,\n} from '@opentelemetry/sdk-trace-base';\nimport type { LangfuseSpanProcessorParams } from '@langfuse/otel';\nimport type { Context } from '@opentelemetry/api';\nimport type { ResolvedLangfuseToolOutputTracingConfig } from '@/langfuseRuntimeContext';\nimport type * as t from '@/types';\nimport {\n LANGFUSE_TOOL_OUTPUT_REDACTION_TEXT,\n hasToolOutputTracingConfig,\n normalizeToolName,\n resolveLangfuseConfig,\n resolveToolOutputTracingConfig,\n} from '@/langfuseConfig';\nimport {\n shapeLangfuseSpan,\n shouldDropLangfuseSpan,\n} from '@/langfuseTraceShaping';\nimport { resolveToolOutputTracingConfigForSpan } from '@/langfuseRuntimeScope';\n\nexport { LANGFUSE_TOOL_OUTPUT_REDACTION_TEXT, resolveLangfuseConfig };\n\nconst LANGGRAPH_TOOL_NODE_PREFIX = 'tools=';\nconst SERVER_TOOL_RESULT_PREFIX = '{\"serverToolResult\":';\nconst SERVER_TOOL_RESULT_REPLAY_MARKER_KEY = 'librechatResponsesReplay';\n\nconst CHAT_ROLES = new Set([\n 'assistant',\n 'developer',\n 'human',\n 'system',\n 'user',\n]);\n\ntype SpanWithAttributes = ReadableSpan & {\n attributes: Record<string, unknown>;\n};\n\ntype RedactionResult = {\n value: unknown;\n changed: boolean;\n};\n\ntype RedactionContext = {\n generatedImageData: Set<string>;\n generatedImageIds: Set<string>;\n toolNamesByCallId: Map<string, string>;\n};\n\nconst TOOL_OUTPUT_FIELD_KEYS = ['content', 'artifact'];\n\ntype ResponsesReplayOutputDescriptor = {\n nestedOutputFields?: Readonly<Record<string, readonly string[]>>;\n outputFields: readonly string[];\n resolveToolNameFromCallId?: boolean;\n toolName?: string;\n};\n\nconst RESPONSES_REPLAY_OUTPUT_DESCRIPTORS: Readonly<\n Record<string, ResponsesReplayOutputDescriptor>\n> = {\n local_shell_call_output: {\n outputFields: ['output'],\n toolName: 'local_shell',\n },\n shell_call_output: { outputFields: ['output'], toolName: 'shell' },\n apply_patch_call_output: {\n outputFields: ['output'],\n toolName: 'apply_patch',\n },\n program_output: { outputFields: ['result'], toolName: 'program' },\n code_interpreter_call: {\n outputFields: ['outputs'],\n toolName: 'code_interpreter',\n },\n mcp_call: { outputFields: ['output', 'error'], toolName: 'mcp' },\n mcp_list_tools: {\n outputFields: ['tools', 'error'],\n toolName: 'mcp_list_tools',\n },\n image_generation_call: {\n outputFields: ['result'],\n toolName: 'image_generation',\n },\n file_search_call: {\n outputFields: ['results'],\n toolName: 'file_search',\n },\n web_search_call: {\n nestedOutputFields: { action: ['sources'] },\n outputFields: ['results'],\n toolName: 'web_search',\n },\n tool_search_output: {\n outputFields: ['tools'],\n toolName: 'tool_search',\n },\n function_call_output: {\n outputFields: ['output'],\n resolveToolNameFromCallId: true,\n },\n custom_tool_call_output: {\n outputFields: ['output'],\n resolveToolNameFromCallId: true,\n },\n computer_call_output: {\n outputFields: ['output'],\n toolName: 'computer_use',\n },\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction isPresent(value: unknown): value is string {\n return typeof value === 'string' && value.trim() !== '';\n}\n\nfunction shouldApplyToolOutputRedaction(\n config: ResolvedLangfuseToolOutputTracingConfig\n): boolean {\n return config.enabled === false || config.redactedToolNames.size > 0;\n}\n\nfunction toolNameMatches(\n toolName: string | undefined,\n config: ResolvedLangfuseToolOutputTracingConfig\n): boolean {\n if (!isPresent(toolName)) {\n return false;\n }\n\n const normalizedToolName = normalizeToolName(toolName);\n if (config.redactedToolNameMatchMode === 'partial') {\n for (const redactedToolName of config.redactedToolNames) {\n if (normalizedToolName.includes(redactedToolName)) {\n return true;\n }\n }\n return false;\n }\n\n return config.redactedToolNames.has(normalizedToolName);\n}\n\n/** Whether a tool's outputs are excluded from tracing (global disable or\n * `redactedToolNames` match). Exported for the activity-label prompt\n * builder, whose prompt becomes Langfuse generation input. */\nexport function shouldRedactTool(\n toolName: string | undefined,\n config: ResolvedLangfuseToolOutputTracingConfig\n): boolean {\n return config.enabled === false || toolNameMatches(toolName, config);\n}\n\nfunction getStringField(\n value: Record<string, unknown>,\n key: string\n): string | undefined {\n const field = value[key];\n return typeof field === 'string' ? field : undefined;\n}\n\nfunction getNestedStringField(\n value: Record<string, unknown>,\n objectKey: string,\n fieldKey: string\n): string | undefined {\n const nested = value[objectKey];\n if (!isRecord(nested)) {\n return undefined;\n }\n return getStringField(nested, fieldKey);\n}\n\nfunction getSerializedToolCallId(\n value: Record<string, unknown>\n): string | undefined {\n return (\n getStringField(value, 'tool_call_id') ??\n getStringField(value, 'toolCallId') ??\n getStringField(value, 'call_id') ??\n getNestedStringField(value, 'kwargs', 'tool_call_id') ??\n getNestedStringField(value, 'additional_kwargs', 'tool_call_id') ??\n getNestedStringField(value, 'data', 'tool_call_id') ??\n (typeof value.id === 'string' ? value.id : undefined)\n );\n}\n\nfunction getSerializedToolName(\n value: Record<string, unknown>,\n redactionContext?: RedactionContext\n): string | undefined {\n const role = getStringField(value, 'role');\n const explicitName =\n getStringField(value, 'name') ??\n getStringField(value, 'tool_name') ??\n getNestedStringField(value, 'function', 'name') ??\n getNestedStringField(value, 'kwargs', 'name') ??\n getNestedStringField(value, 'additional_kwargs', 'name') ??\n getNestedStringField(value, 'data', 'name') ??\n (role != null && role.toLowerCase() !== 'tool' ? role : undefined);\n\n if (explicitName != null) {\n return explicitName;\n }\n\n const toolCallId = getSerializedToolCallId(value);\n return toolCallId != null\n ? redactionContext?.toolNamesByCallId.get(toolCallId)\n : undefined;\n}\n\nfunction hasToolMessageIdentity(value: Record<string, unknown>): boolean {\n const type = getStringField(value, 'type') ?? getStringField(value, '_type');\n if (type === 'tool' || type === 'tool_message') {\n return true;\n }\n\n const id = value.id;\n if (\n Array.isArray(id) &&\n id.some((part) => typeof part === 'string' && part.includes('ToolMessage'))\n ) {\n return true;\n }\n\n if (\n 'tool_call_id' in value ||\n getNestedStringField(value, 'kwargs', 'tool_call_id') != null ||\n getNestedStringField(value, 'additional_kwargs', 'tool_call_id') != null\n ) {\n return true;\n }\n\n const role = getStringField(value, 'role');\n return (\n role != null &&\n !CHAT_ROLES.has(role.toLowerCase()) &&\n ('content' in value || isRecord(value.kwargs) || isRecord(value.data))\n );\n}\n\nfunction hasAssistantMessageIdentity(value: Record<string, unknown>): boolean {\n const role = getStringField(value, 'role');\n if (role?.toLowerCase() === 'assistant') {\n return true;\n }\n const type = getStringField(value, 'type') ?? getStringField(value, '_type');\n if (type === 'ai' || type === 'assistant') {\n return true;\n }\n const id = value.id;\n return (\n Array.isArray(id) &&\n id.some(\n (part) =>\n typeof part === 'string' &&\n (part === 'AIMessage' || part === 'AIMessageChunk')\n )\n );\n}\n\nfunction redactToolContentFields(\n value: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig\n): Record<string, unknown> {\n const next = { ...value };\n\n for (const outputKey of TOOL_OUTPUT_FIELD_KEYS) {\n if (outputKey in next) {\n next[outputKey] = config.redactionText;\n }\n }\n\n for (const nestedKey of ['kwargs', 'data', 'additional_kwargs']) {\n const nested = next[nestedKey];\n if (!isRecord(nested)) {\n continue;\n }\n const nextNested = { ...nested };\n let changed = false;\n for (const outputKey of TOOL_OUTPUT_FIELD_KEYS) {\n if (outputKey in nextNested) {\n nextNested[outputKey] = config.redactionText;\n changed = true;\n }\n }\n if (changed) {\n next[nestedKey] = nextNested;\n }\n }\n\n return next;\n}\n\nfunction redactResponsesReplayOutput(\n value: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig,\n redactionContext: RedactionContext\n): RedactionResult | undefined {\n const type = getStringField(value, 'type');\n if (\n type == null ||\n !Object.prototype.hasOwnProperty.call(\n RESPONSES_REPLAY_OUTPUT_DESCRIPTORS,\n type\n )\n ) {\n return undefined;\n }\n const descriptor =\n RESPONSES_REPLAY_OUTPUT_DESCRIPTORS[\n type as keyof typeof RESPONSES_REPLAY_OUTPUT_DESCRIPTORS\n ];\n const hasDirectOutput = descriptor.outputFields.some(\n (outputField) => outputField in value\n );\n const hasNestedOutput = Object.entries(\n descriptor.nestedOutputFields ?? {}\n ).some(([objectField, outputFields]) => {\n const nested = value[objectField];\n return (\n isRecord(nested) &&\n outputFields.some((outputField) => outputField in nested)\n );\n });\n if (!hasDirectOutput && !hasNestedOutput) {\n return undefined;\n }\n let toolName = descriptor.toolName;\n if (descriptor.resolveToolNameFromCallId === true) {\n toolName = getSerializedToolName(value, redactionContext);\n } else if (type === 'mcp_call') {\n toolName = getStringField(value, 'name') ?? descriptor.toolName;\n }\n if (!shouldRedactTool(toolName, config)) {\n return undefined;\n }\n const redacted = { ...value };\n for (const outputField of descriptor.outputFields) {\n if (outputField in redacted) {\n redacted[outputField] = config.redactionText;\n }\n }\n for (const [objectField, outputFields] of Object.entries(\n descriptor.nestedOutputFields ?? {}\n )) {\n const nested = redacted[objectField];\n if (!isRecord(nested)) {\n continue;\n }\n const redactedNested = { ...nested };\n for (const outputField of outputFields) {\n if (outputField in redactedNested) {\n redactedNested[outputField] = config.redactionText;\n }\n }\n redacted[objectField] = redactedNested;\n }\n return {\n value: redacted,\n changed: true,\n };\n}\n\nfunction redactStandardServerToolResult(\n value: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig,\n redactionContext: RedactionContext\n): RedactionResult | undefined {\n if (\n getStringField(value, 'type') !== 'server_tool_call_result' ||\n !('output' in value)\n ) {\n return undefined;\n }\n const toolName =\n getNestedStringField(value, 'extras', 'name') ??\n getSerializedToolName(value, redactionContext);\n if (!shouldRedactTool(toolName, config)) {\n return undefined;\n }\n return {\n value: { ...value, output: config.redactionText },\n changed: true,\n };\n}\n\nfunction parseSerializedServerToolResultMarker(\n text: string\n): { toolName?: string } | undefined {\n if (!text.startsWith(SERVER_TOOL_RESULT_PREFIX)) {\n return undefined;\n }\n try {\n const parsed = JSON.parse(text) as unknown;\n if (!isRecord(parsed) || !isRecord(parsed.serverToolResult)) {\n return undefined;\n }\n const result = parsed.serverToolResult;\n if (result[SERVER_TOOL_RESULT_REPLAY_MARKER_KEY] !== true) {\n return undefined;\n }\n const status = getStringField(result, 'status');\n if (\n (status !== 'error' && status !== 'success') ||\n !Object.prototype.hasOwnProperty.call(result, 'output')\n ) {\n return undefined;\n }\n const toolName = getStringField(result, 'toolName');\n return toolName != null ? { toolName } : {};\n } catch {\n const match =\n /^\\{\"serverToolResult\":\\{\"librechatResponsesReplay\":true,(?:\"toolName\":(\"(?:\\\\.|[^\"\\\\])*\"),)?\"status\":\"(?:error|success)\",\"output\":/.exec(\n text.slice(0, 512)\n );\n if (match == null) {\n return undefined;\n }\n const encodedToolName = match.at(1);\n if (encodedToolName == null) {\n return {};\n }\n try {\n const toolName = JSON.parse(encodedToolName) as unknown;\n return typeof toolName === 'string' ? { toolName } : {};\n } catch {\n return {};\n }\n }\n}\n\nfunction redactMarkedServerToolResult(\n value: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig,\n allowSerializedMarker: boolean\n): RedactionResult | undefined {\n const type = getStringField(value, 'type');\n if (type !== 'text' && type !== 'image') {\n return undefined;\n }\n const text = type === 'text' ? getStringField(value, 'text') : undefined;\n const extras = value.extras;\n const marker = isRecord(extras)\n ? extras.librechatServerToolResult\n : undefined;\n const serializedMarker =\n allowSerializedMarker && text != null\n ? parseSerializedServerToolResultMarker(text)\n : undefined;\n if (!isRecord(marker) && serializedMarker == null) {\n return undefined;\n }\n const toolName = isRecord(marker)\n ? getStringField(marker, 'toolName')\n : serializedMarker?.toolName;\n if (!shouldRedactTool(toolName, config)) {\n return undefined;\n }\n if (type === 'image') {\n const redacted = { ...value };\n let changed = false;\n for (const outputField of ['data', 'url', 'fileId']) {\n if (outputField in redacted) {\n redacted[outputField] = config.redactionText;\n changed = true;\n }\n }\n return changed ? { value: redacted, changed: true } : undefined;\n }\n return {\n value: { ...value, text: config.redactionText },\n changed: true,\n };\n}\n\nfunction redactGeneratedImageBlock(\n value: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig,\n redactionContext: RedactionContext,\n isAssistantContent: boolean\n): RedactionResult | undefined {\n if (\n getStringField(value, 'type') !== 'image' ||\n !shouldRedactTool('image_generation', config)\n ) {\n return undefined;\n }\n const extras = value.extras;\n const explicitMarker = isRecord(extras)\n ? extras.librechatServerToolResult\n : undefined;\n const explicitToolName = isRecord(explicitMarker)\n ? getStringField(explicitMarker, 'toolName')\n : undefined;\n if (\n explicitToolName != null &&\n normalizeToolName(explicitToolName) !== 'image_generation'\n ) {\n return undefined;\n }\n const id = getStringField(value, 'id');\n const data = getStringField(value, 'data');\n const metadata = value.metadata;\n const normalizedStatus = isRecord(metadata)\n ? getStringField(metadata, 'status')\n : undefined;\n const hasNormalizedGeneratedImageIdentity =\n isAssistantContent &&\n id?.startsWith('ig_') === true &&\n isPresent(normalizedStatus);\n const isGeneratedImage =\n explicitToolName != null ||\n hasNormalizedGeneratedImageIdentity ||\n (id != null\n ? redactionContext.generatedImageIds.has(id)\n : data != null && redactionContext.generatedImageData.has(data));\n if (!isGeneratedImage) {\n return undefined;\n }\n const redacted = { ...value };\n let changed = false;\n for (const outputField of ['data', 'url', 'fileId']) {\n if (outputField in redacted) {\n redacted[outputField] = config.redactionText;\n changed = true;\n }\n }\n return changed ? { value: redacted, changed: true } : undefined;\n}\n\nfunction collectRedactionContext(\n value: unknown,\n redactionContext: RedactionContext\n): void {\n if (Array.isArray(value)) {\n for (const item of value) {\n collectRedactionContext(item, redactionContext);\n }\n return;\n }\n\n if (!isRecord(value)) {\n return;\n }\n\n const toolCallId = getSerializedToolCallId(value);\n const toolName = getSerializedToolName(value);\n if (toolCallId != null && toolName != null) {\n redactionContext.toolNamesByCallId.set(toolCallId, toolName);\n }\n\n if (getStringField(value, 'type') === 'image_generation_call') {\n const id = getStringField(value, 'id');\n const result = getStringField(value, 'result');\n if (id != null) {\n redactionContext.generatedImageIds.add(id);\n }\n if (result != null) {\n redactionContext.generatedImageData.add(result);\n }\n }\n\n for (const child of Object.values(value)) {\n collectRedactionContext(child, redactionContext);\n }\n}\n\nfunction redactValue(\n value: unknown,\n config: ResolvedLangfuseToolOutputTracingConfig,\n redactionContext: RedactionContext,\n allowSerializedServerToolResult = false\n): RedactionResult {\n if (Array.isArray(value)) {\n let changed = false;\n const next: unknown[] = [];\n for (const item of value) {\n const result = redactValue(\n item,\n config,\n redactionContext,\n allowSerializedServerToolResult\n );\n if (result.changed) {\n changed = true;\n }\n next.push(result.value);\n }\n return changed ? { value: next, changed } : { value, changed };\n }\n\n if (!isRecord(value)) {\n return { value, changed: false };\n }\n\n const allowSerializedMarker =\n allowSerializedServerToolResult || hasAssistantMessageIdentity(value);\n\n const replayOutput = redactResponsesReplayOutput(\n value,\n config,\n redactionContext\n );\n if (replayOutput != null) {\n return replayOutput;\n }\n const standardServerToolResult = redactStandardServerToolResult(\n value,\n config,\n redactionContext\n );\n if (standardServerToolResult != null) {\n return standardServerToolResult;\n }\n const markedServerToolResult = redactMarkedServerToolResult(\n value,\n config,\n allowSerializedMarker\n );\n if (markedServerToolResult != null) {\n return markedServerToolResult;\n }\n const generatedImageBlock = redactGeneratedImageBlock(\n value,\n config,\n redactionContext,\n allowSerializedMarker\n );\n if (generatedImageBlock != null) {\n return generatedImageBlock;\n }\n\n const toolName = getSerializedToolName(value, redactionContext);\n if (hasToolMessageIdentity(value) && shouldRedactTool(toolName, config)) {\n return {\n value: redactToolContentFields(value, config),\n changed: true,\n };\n }\n\n let changed = false;\n const next: Record<string, unknown> = {};\n for (const [key, child] of Object.entries(value)) {\n const result = redactValue(\n child,\n config,\n redactionContext,\n allowSerializedMarker\n );\n if (result.changed) {\n changed = true;\n }\n next[key] = result.value;\n }\n\n return changed ? { value: next, changed } : { value, changed };\n}\n\nfunction redactSerializedValue(\n value: unknown,\n config: ResolvedLangfuseToolOutputTracingConfig\n): RedactionResult {\n const redactionContext: RedactionContext = {\n generatedImageData: new Set(),\n generatedImageIds: new Set(),\n toolNamesByCallId: new Map(),\n };\n if (typeof value !== 'string') {\n collectRedactionContext(value, redactionContext);\n return redactValue(value, config, redactionContext);\n }\n\n const trimmed = value.trim();\n if (!trimmed.startsWith('{') && !trimmed.startsWith('[')) {\n return { value, changed: false };\n }\n\n try {\n const parsed = JSON.parse(value) as unknown;\n collectRedactionContext(parsed, redactionContext);\n const result = redactValue(parsed, config, redactionContext);\n return result.changed\n ? { value: JSON.stringify(result.value), changed: true }\n : { value, changed: false };\n } catch {\n // OpenTelemetry truncates string attributes before span processors run.\n // Langfuse serializes structured message values to JSON first, so a\n // truncated attribute can still contain tool output even though it is no\n // longer parseable. Fail closed for JSON-shaped attributes whenever tool\n // output redaction is active instead of exporting a partial secret.\n return { value: config.redactionText, changed: true };\n }\n}\n\nfunction redactAttribute(\n attributes: Record<string, unknown>,\n key: string,\n config: ResolvedLangfuseToolOutputTracingConfig\n): void {\n if (!(key in attributes)) {\n return;\n }\n\n const result = redactSerializedValue(attributes[key], config);\n if (result.changed) {\n attributes[key] = result.value;\n }\n}\n\nfunction isToolObservation(attributes: Record<string, unknown>): boolean {\n const type = attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE];\n return typeof type === 'string' && type.toLowerCase() === 'tool';\n}\n\nfunction classifyLangGraphToolNodeSpan(\n attributes: Record<string, unknown>\n): void {\n const type = attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE];\n if (typeof type !== 'string' || type.toLowerCase() !== 'span') {\n return;\n }\n\n const langGraphNode =\n attributes[\n `${LangfuseOtelSpanAttributes.OBSERVATION_METADATA}.langgraph_node`\n ];\n if (\n typeof langGraphNode === 'string' &&\n langGraphNode.startsWith(LANGGRAPH_TOOL_NODE_PREFIX)\n ) {\n attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] = 'tool';\n }\n}\n\nexport function classifyLangfuseToolNodeSpan(span: ReadableSpan): void {\n classifyLangGraphToolNodeSpan((span as SpanWithAttributes).attributes);\n}\n\nfunction redactToolObservationOutput(\n span: ReadableSpan,\n attributes: Record<string, unknown>,\n config: ResolvedLangfuseToolOutputTracingConfig\n): void {\n if (\n !(\n isToolObservation(attributes) &&\n shouldRedactTool(span.name, config) &&\n LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT in attributes\n )\n ) {\n return;\n }\n\n attributes[LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT] =\n config.redactionText;\n}\n\nexport function redactLangfuseSpanToolOutputs(\n span: ReadableSpan,\n config: ResolvedLangfuseToolOutputTracingConfig\n): void {\n const attributes = (span as SpanWithAttributes).attributes;\n classifyLangfuseToolNodeSpan(span);\n\n if (!shouldApplyToolOutputRedaction(config)) {\n return;\n }\n\n redactToolObservationOutput(span, attributes, config);\n\n for (const key of [\n LangfuseOtelSpanAttributes.OBSERVATION_INPUT,\n LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT,\n LangfuseOtelSpanAttributes.TRACE_INPUT,\n LangfuseOtelSpanAttributes.TRACE_OUTPUT,\n ]) {\n redactAttribute(attributes, key, config);\n }\n}\n\nexport function prepareLangfuseSpanForExport(\n span: ReadableSpan,\n config?: ResolvedLangfuseToolOutputTracingConfig\n): void {\n classifyLangfuseToolNodeSpan(span);\n if (config != null) {\n redactLangfuseSpanToolOutputs(span, config);\n }\n shapeLangfuseSpan(span);\n}\n\nclass ToolOutputRedactingLangfuseSpanProcessor implements SpanProcessor {\n private readonly processor: LangfuseSpanProcessor;\n private readonly fallbackConfig?: ResolvedLangfuseToolOutputTracingConfig;\n private readonly spanConfigs = new WeakMap<\n object,\n ResolvedLangfuseToolOutputTracingConfig\n >();\n\n constructor(\n params?: LangfuseSpanProcessorParams,\n fallbackConfig?: ResolvedLangfuseToolOutputTracingConfig\n ) {\n this.processor = new LangfuseSpanProcessor(params);\n this.fallbackConfig = fallbackConfig;\n }\n\n onStart(span: Span, parentContext: Context): void {\n if (shouldDropLangfuseSpan(span.name)) {\n return;\n }\n const config =\n resolveToolOutputTracingConfigForSpan(parentContext) ??\n this.fallbackConfig;\n if (config != null) {\n this.spanConfigs.set(span, config);\n }\n this.processor.onStart(span, parentContext);\n }\n\n onEnd(span: ReadableSpan): void {\n if (shouldDropLangfuseSpan(span.name)) {\n return;\n }\n const config = this.spanConfigs.get(span) ?? this.fallbackConfig;\n prepareLangfuseSpanForExport(span, config);\n this.processor.onEnd(span);\n }\n\n forceFlush(): Promise<void> {\n return this.processor.forceFlush();\n }\n\n shutdown(): Promise<void> {\n return this.processor.shutdown();\n }\n}\n\nexport function createLangfuseSpanProcessor(\n params?: LangfuseSpanProcessorParams,\n runLangfuse?: t.LangfuseConfig,\n agentLangfuse?: t.LangfuseConfig\n): SpanProcessor {\n const fallbackConfig = hasToolOutputTracingConfig(runLangfuse, agentLangfuse)\n ? resolveToolOutputTracingConfig(runLangfuse, agentLangfuse)\n : undefined;\n return new ToolOutputRedactingLangfuseSpanProcessor(params, fallbackConfig);\n}\n\nfunction hasLangfuseEnvKeys(): boolean {\n return (\n isPresent(process.env.LANGFUSE_SECRET_KEY) &&\n isPresent(process.env.LANGFUSE_PUBLIC_KEY)\n );\n}\n\nfunction hasLangfuseConfigKeys(langfuse?: t.LangfuseConfig): boolean {\n if (langfuse == null) {\n return false;\n }\n return isPresent(langfuse.secretKey) && isPresent(langfuse.publicKey);\n}\n\nexport function shouldTraceToolNodeForLangfuse({\n runLangfuse,\n agentLangfuse,\n}: {\n runLangfuse?: t.LangfuseConfig;\n agentLangfuse?: t.LangfuseConfig;\n}): boolean {\n const langfuse = resolveLangfuseConfig(runLangfuse, agentLangfuse);\n if (langfuse?.enabled === false) {\n return false;\n }\n\n const explicit = langfuse?.toolNodeTracing?.enabled;\n if (explicit !== true) {\n return false;\n }\n\n return hasLangfuseConfigKeys(langfuse) || hasLangfuseEnvKeys();\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"langfuseToolOutputTracing.cjs","names":["normalizeToolName","LangfuseOtelSpanAttributes","LangfuseSpanProcessor","shouldDropLangfuseSpan","resolveToolOutputTracingConfigForSpan","hasToolOutputTracingConfig","resolveToolOutputTracingConfig","resolveLangfuseConfig"],"sources":["../../src/langfuseToolOutputTracing.ts"],"mappings":"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"}
@@ -102,16 +102,6 @@ function getMessageToolCalls(message) {
102
102
  }
103
103
  return calls;
104
104
  }
105
- /**
106
- * Id-bearing `invalid_tool_calls` on the assistant turn. ToolNode pairs these
107
- * with synthesized error results (and an invalid-only turn is routed on them
108
- * alone), so the tool-dispatch span must count them as part of the executing
109
- * batch — otherwise an invalid-only dispatch finds zero calls and the span
110
- * keeps the full serialized graph state as its input, and a mixed dispatch
111
- * silently omits the malformed call. `args` stays the raw unparsed string.
112
- */
113
- /** Tool-result ids present in the serialized state — ToolNode's
114
- * `!toolMessageIds.has(id)` execution filter, mirrored for the span. */
115
105
  function getToolResultIds(messages) {
116
106
  const ids = /* @__PURE__ */ new Set();
117
107
  for (const message of messages) {
@@ -135,8 +125,6 @@ function getMessageInvalidToolCalls(message, answeredIds) {
135
125
  }
136
126
  return calls;
137
127
  }
138
- /** The serialized message's own id (uuid), NOT the LC-serialization type id
139
- * array that `message.id` carries in constructor dumps. */
140
128
  function getSerializedMessageId(message) {
141
129
  const kwargsId = isRecord(message.kwargs) ? message.kwargs.id : void 0;
142
130
  const dataId = isRecord(message.data) ? message.data.id : void 0;
@@ -144,17 +132,9 @@ function getSerializedMessageId(message) {
144
132
  const id = kwargsId ?? dataId ?? rawId;
145
133
  return typeof id === "string" && id !== "" ? id : void 0;
146
134
  }
147
- /** Latest assistant turn's tool calls — the calls this tool node is executing. */
148
135
  function findPendingToolCalls(value) {
149
136
  const messages = getMessageArray(value);
150
137
  if (messages == null) return [];
151
- /**
152
- * Invalid calls count only where ToolNode's own gate lets them execute:
153
- * the messages-state form (a bare-array state means the node returns a
154
- * plain output list and skips invalid handling) with an id-bearing
155
- * assistant message (no id, no reducer upsert). Mirrors
156
- * `canPromoteInvalidCalls` so the span never reports skipped calls.
157
- */
158
138
  const invalidCallsApply = !Array.isArray(value);
159
139
  const answeredIds = invalidCallsApply ? getToolResultIds(messages) : void 0;
160
140
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -173,13 +153,6 @@ function getRootSpanParentId(span) {
173
153
  function isRootSpan(span) {
174
154
  return getRootSpanParentId(span) == null;
175
155
  }
176
- /**
177
- * LangGraph plumbing observations that add noise without information:
178
- * the duplicated `__start__` channel-seed nodes and anonymous
179
- * `RunnableLambda` pass-throughs (Langfuse team feedback items 4 & 5).
180
- * Internal ToolNode batch spans are disabled at their source so traced child
181
- * tools retain an exported parent. Explicitly traced ToolNodes are preserved.
182
- */
183
156
  function shouldDropLangfuseSpan(spanName) {
184
157
  return spanName === LANGGRAPH_START_NODE || spanName === ANONYMOUS_LAMBDA_NAME;
185
158
  }
@@ -203,13 +176,6 @@ function shapeRootSpan(span) {
203
176
  const outputKey = _langfuse_tracing.LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT;
204
177
  const question = findLastMessageText(parseAttributeValue(span.attributes[inputKey]), "user");
205
178
  const answer = findLastMessageText(parseAttributeValue(span.attributes[outputKey]), "assistant");
206
- /** A generation that IS the trace root — a bare `model.invoke` with no
207
- * wrapping chain, i.e. the activity-label path — is also the only
208
- * observation carrying its own prompt: reducing its observation input
209
- * would discard the SystemMessage from the one place it is traced.
210
- * Chain/agent roots keep the full reduction; their child generations
211
- * still record the complete prompt. Trace-level input/output reduce
212
- * either way, so the trace list keeps showing question and answer. */
213
179
  if (!isGenerationSpan(span)) {
214
180
  if (question != null) span.attributes[inputKey] = question;
215
181
  if (answer != null) span.attributes[outputKey] = answer;
@@ -227,25 +193,9 @@ function isToolSpan(span) {
227
193
  const type = span.attributes[_langfuse_tracing.LangfuseOtelSpanAttributes.OBSERVATION_TYPE];
228
194
  return typeof type === "string" && type.toLowerCase() === TOOL_OBSERVATION_TYPE;
229
195
  }
230
- /**
231
- * Whether the span is a LangGraph node execution whose node id is the span
232
- * name — the shape of the outer workflow-agent node. `@langfuse/tracing`
233
- * flattens object metadata to per-key attributes with string values stored
234
- * raw, so LangGraph's `langgraph_node` arrives directly comparable.
235
- */
236
196
  function isWorkflowNodeSpan(span) {
237
197
  return span.attributes[OBSERVATION_METADATA_LANGGRAPH_NODE] === span.name;
238
198
  }
239
- /**
240
- * LibreChat ephemeral agents are identified as
241
- * `endpoint__model___sender[____index]` (`__` encodes `:`; see LibreChat's
242
- * `encodeEphemeralAgentId`), and the outer workflow node carries that id as
243
- * its span name — so switching models renames the span (item 1). Returns the
244
- * stable human `sender` segment only when the name matches that encoding:
245
- * the `endpoint__model` prefix must contain both segments and — unlike
246
- * display names such as `LibreChat Agent: Ops___EU` — never contains
247
- * whitespace, so legitimate names that merely embed `___` are left alone.
248
- */
249
199
  function extractEphemeralAgentSender(name) {
250
200
  let workingId = name;
251
201
  const indexSeparator = workingId.lastIndexOf(EPHEMERAL_AGENT_INDEX_SEPARATOR);
@@ -259,12 +209,6 @@ function extractEphemeralAgentSender(name) {
259
209
  const sender = workingId.slice(senderSeparator + 3).replace(/__/g, ":");
260
210
  return sender === "" ? void 0 : sender;
261
211
  }
262
- /** Workflow-agent node spans are always children of the run's root chain and
263
- * always carry `langgraph_node` metadata equal to their name, so host-named
264
- * run roots (`LibreChat Agent: <name>`) and ordinary chains that merely look
265
- * like encoded ids (`pipeline__stage___EU`) are never rename candidates.
266
- * Successful decodes become `agent` observations, matching the inner
267
- * `agent=<id>` node shaping. */
268
212
  function shapeEphemeralAgentNodeSpan(span) {
269
213
  if (isToolSpan(span) || isRootSpan(span) || !isWorkflowNodeSpan(span)) return;
270
214
  const sender = extractEphemeralAgentSender(span.name);
@@ -284,24 +228,6 @@ function shapeRootObservationType(span) {
284
228
  }
285
229
  if (hasTraceTag(span, AGENT_TRACE_TAG)) span.attributes[_langfuse_tracing.LangfuseOtelSpanAttributes.OBSERVATION_TYPE] = ROOT_OBSERVATION_TYPE;
286
230
  }
287
- /**
288
- * Reshapes spans per Langfuse-team feedback before export:
289
- * - `agent=<id>` / `tools=<id>` node names carry the ephemeral agent id
290
- * (`provider__model`) — strip it so switching models doesn't break
291
- * name-based logic (item 1). The outer workflow node is named with the
292
- * bare agent id; ephemeral ids reduce to their stable sender name.
293
- * - LLM generation spans keep the provider client class name (`ChatOpenAI`,
294
- * `AzureChatOpenAI`, …); rename them to a provider-agnostic `llm` so the
295
- * name reflects the operation, not the model (the model stays on the
296
- * generation's model attribute).
297
- * - Agent nodes become `agent` observations, while tool-dispatch nodes become
298
- * stable `chain` observations whose input is scoped to the pending calls.
299
- * Individual child calls remain `tool` observations (items 3 & 4).
300
- * - Agent trace roots become `agent` observations, while title and activity
301
- * summary roots become `chain` observations. Root and trace input/output are
302
- * reduced to the user question and assistant response when chat messages are
303
- * available (item 2).
304
- */
305
231
  function shapeLangfuseSpan(span) {
306
232
  const mutable = span;
307
233
  if (mutable.name.startsWith(LANGGRAPH_AGENT_NODE_PREFIX)) shapeAgentNodeSpan(mutable);
@@ -1 +1 @@
1
- {"version":3,"file":"langfuseTraceShaping.cjs","names":["LangfuseOtelSpanAttributes"],"sources":["../../src/langfuseTraceShaping.ts"],"sourcesContent":["import { LangfuseOtelSpanAttributes } from '@langfuse/tracing';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-base';\nimport { Constants } from '@/common';\n\nconst LANGGRAPH_START_NODE = '__start__';\nconst ANONYMOUS_LAMBDA_NAME = 'RunnableLambda';\nconst LANGGRAPH_AGENT_NODE_PREFIX = 'agent=';\nconst LANGGRAPH_TOOL_NODE_PREFIX = 'tools=';\nconst AGENT_NODE_SPAN_NAME = 'agent';\nconst TOOL_DISPATCH_SPAN_NAME = 'tool-dispatch';\nconst GENERATION_SPAN_NAME = 'llm';\nconst ROOT_OBSERVATION_TYPE = 'agent';\nconst CHAIN_OBSERVATION_TYPE = 'chain';\nconst TOOL_OBSERVATION_TYPE = 'tool';\nconst AGENT_TRACE_TAG = 'agent';\nconst TITLE_TRACE_TAG = 'title';\nconst ACTIVITY_PHASE_TRACE_TAG = 'activity-phase';\nconst ACTIVITY_PHASE_ROOT_NAME = 'summarize-activity-phase';\nconst EPHEMERAL_AGENT_SENDER_SEPARATOR = '___';\nconst EPHEMERAL_AGENT_INDEX_SEPARATOR = '____';\nconst OBSERVATION_METADATA_LANGGRAPH_NODE = `${LangfuseOtelSpanAttributes.OBSERVATION_METADATA}.langgraph_node`;\n\ntype MutableSpan = ReadableSpan & {\n name: string;\n attributes: Record<string, unknown>;\n};\n\ntype SerializedToolCall = {\n name: string;\n args: unknown;\n id?: string;\n};\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction parseAttributeValue(value: unknown): unknown {\n if (typeof value !== 'string') {\n return value;\n }\n const trimmed = value.trim();\n if (!trimmed.startsWith('{') && !trimmed.startsWith('[')) {\n return value;\n }\n try {\n return JSON.parse(value) as unknown;\n } catch {\n return value;\n }\n}\n\nfunction getMessageArray(\n value: unknown\n): Record<string, unknown>[] | undefined {\n if (Array.isArray(value)) {\n const records = value.filter(isRecord);\n return records.length > 0 ? records : undefined;\n }\n if (!isRecord(value)) {\n return undefined;\n }\n return (\n getMessageArray(value.messages) ??\n getMessageArray(value.input) ??\n getMessageArray(value.output)\n );\n}\n\nfunction getMessageRole(message: Record<string, unknown>): string | undefined {\n const id = message.id;\n if (Array.isArray(id)) {\n const className = id[id.length - 1];\n if (typeof className === 'string') {\n if (className.includes('Human')) {\n return 'user';\n }\n if (className.includes('AI')) {\n return 'assistant';\n }\n if (className.includes('System')) {\n return 'system';\n }\n if (className.includes('Tool')) {\n return 'tool';\n }\n }\n }\n const rawRole =\n message.type ?? message._type ?? message.role ?? message.sender;\n if (typeof rawRole !== 'string') {\n const kwargs = message.kwargs;\n return isRecord(kwargs) ? getMessageRole(kwargs) : undefined;\n }\n const normalized = rawRole.toLowerCase();\n if (normalized === 'human') {\n return 'user';\n }\n if (normalized === 'ai') {\n return 'assistant';\n }\n return normalized;\n}\n\nfunction getMessageText(message: Record<string, unknown>): string | undefined {\n const content =\n message.content ??\n (isRecord(message.kwargs) ? message.kwargs.content : undefined) ??\n (isRecord(message.data) ? message.data.content : undefined);\n if (typeof content === 'string') {\n return content;\n }\n if (!Array.isArray(content)) {\n return undefined;\n }\n const text = content\n .filter(isRecord)\n .map((part) => (typeof part.text === 'string' ? part.text : ''))\n .join('');\n return text === '' ? undefined : text;\n}\n\nfunction findLastMessageText(value: unknown, role: string): string | undefined {\n const messages = getMessageArray(value);\n if (messages == null) {\n return undefined;\n }\n for (let i = messages.length - 1; i >= 0; i--) {\n if (getMessageRole(messages[i]) !== role) {\n continue;\n }\n const text = getMessageText(messages[i]);\n if (text != null && text.trim() !== '') {\n return text;\n }\n }\n return undefined;\n}\n\nfunction normalizeToolCall(value: unknown): SerializedToolCall | undefined {\n if (!isRecord(value)) {\n return undefined;\n }\n const fn = value.function;\n if (isRecord(fn) && typeof fn.name === 'string') {\n return {\n name: fn.name,\n args: parseAttributeValue(fn.arguments),\n ...(typeof value.id === 'string' ? { id: value.id } : {}),\n };\n }\n if (typeof value.name !== 'string') {\n return undefined;\n }\n return {\n name: value.name,\n args: value.args ?? {},\n ...(typeof value.id === 'string' ? { id: value.id } : {}),\n };\n}\n\nfunction getMessageToolCalls(\n message: Record<string, unknown>\n): SerializedToolCall[] {\n const rawCalls =\n message.tool_calls ??\n (isRecord(message.kwargs) ? message.kwargs.tool_calls : undefined) ??\n (isRecord(message.additional_kwargs)\n ? message.additional_kwargs.tool_calls\n : undefined) ??\n (isRecord(message.data) ? message.data.tool_calls : undefined);\n if (!Array.isArray(rawCalls)) {\n return [];\n }\n const calls: SerializedToolCall[] = [];\n for (const rawCall of rawCalls) {\n const call = normalizeToolCall(rawCall);\n if (call != null) {\n calls.push(call);\n }\n }\n return calls;\n}\n\n/**\n * Id-bearing `invalid_tool_calls` on the assistant turn. ToolNode pairs these\n * with synthesized error results (and an invalid-only turn is routed on them\n * alone), so the tool-dispatch span must count them as part of the executing\n * batch — otherwise an invalid-only dispatch finds zero calls and the span\n * keeps the full serialized graph state as its input, and a mixed dispatch\n * silently omits the malformed call. `args` stays the raw unparsed string.\n */\n/** Tool-result ids present in the serialized state — ToolNode's\n * `!toolMessageIds.has(id)` execution filter, mirrored for the span. */\nfunction getToolResultIds(\n messages: Record<string, unknown>[]\n): Set<string> {\n const ids = new Set<string>();\n for (const message of messages) {\n if (getMessageRole(message) !== 'tool') {\n continue;\n }\n const rawId =\n message.tool_call_id ??\n (isRecord(message.kwargs) ? message.kwargs.tool_call_id : undefined) ??\n (isRecord(message.data) ? message.data.tool_call_id : undefined);\n if (typeof rawId === 'string' && rawId !== '') {\n ids.add(rawId);\n }\n }\n return ids;\n}\n\nfunction getMessageInvalidToolCalls(\n message: Record<string, unknown>,\n answeredIds: ReadonlySet<string>\n): SerializedToolCall[] {\n const rawCalls =\n message.invalid_tool_calls ??\n (isRecord(message.kwargs) ? message.kwargs.invalid_tool_calls : undefined) ??\n (isRecord(message.data) ? message.data.invalid_tool_calls : undefined);\n if (!Array.isArray(rawCalls)) {\n return [];\n }\n const calls: SerializedToolCall[] = [];\n for (const rawCall of rawCalls) {\n // Same attribution predicate ToolNode executes with (id-bearing,\n // non-server) so the span never claims calls the node deliberately skips.\n if (\n !isRecord(rawCall) ||\n typeof rawCall.id !== 'string' ||\n rawCall.id === '' ||\n answeredIds.has(rawCall.id) ||\n rawCall.id.startsWith(Constants.ANTHROPIC_SERVER_TOOL_PREFIX)\n ) {\n continue;\n }\n // Same name fallback ToolNode synthesizes with — a nameless attributable\n // call still gets a result, so it must still count in the span input.\n const call = normalizeToolCall(\n typeof rawCall.name === 'string' && rawCall.name !== ''\n ? rawCall\n : { ...rawCall, name: 'unknown' }\n );\n if (call != null) {\n calls.push(call);\n }\n }\n return calls;\n}\n\n/** The serialized message's own id (uuid), NOT the LC-serialization type id\n * array that `message.id` carries in constructor dumps. */\nfunction getSerializedMessageId(\n message: Record<string, unknown>\n): string | undefined {\n const kwargsId = isRecord(message.kwargs) ? message.kwargs.id : undefined;\n const dataId = isRecord(message.data) ? message.data.id : undefined;\n const rawId = message.id;\n const id = kwargsId ?? dataId ?? rawId;\n return typeof id === 'string' && id !== '' ? id : undefined;\n}\n\n/** Latest assistant turn's tool calls — the calls this tool node is executing. */\nfunction findPendingToolCalls(value: unknown): SerializedToolCall[] {\n const messages = getMessageArray(value);\n if (messages == null) {\n return [];\n }\n /**\n * Invalid calls count only where ToolNode's own gate lets them execute:\n * the messages-state form (a bare-array state means the node returns a\n * plain output list and skips invalid handling) with an id-bearing\n * assistant message (no id, no reducer upsert). Mirrors\n * `canPromoteInvalidCalls` so the span never reports skipped calls.\n */\n const invalidCallsApply = !Array.isArray(value);\n const answeredIds = invalidCallsApply\n ? getToolResultIds(messages)\n : undefined;\n for (let i = messages.length - 1; i >= 0; i--) {\n if (getMessageRole(messages[i]) !== 'assistant') {\n continue;\n }\n const calls = [\n ...getMessageToolCalls(messages[i]),\n ...(invalidCallsApply && getSerializedMessageId(messages[i]) != null\n ? getMessageInvalidToolCalls(messages[i], answeredIds!)\n : []),\n ];\n if (calls.length > 0) {\n return calls;\n }\n }\n return [];\n}\n\nfunction getRootSpanParentId(span: ReadableSpan): string | undefined {\n const legacyParent = (span as { parentSpanId?: string }).parentSpanId;\n if (typeof legacyParent === 'string' && legacyParent !== '') {\n return legacyParent;\n }\n const parentContext = (span as { parentSpanContext?: { spanId?: string } })\n .parentSpanContext;\n const spanId = parentContext?.spanId;\n return typeof spanId === 'string' && spanId !== '' ? spanId : undefined;\n}\n\nfunction isRootSpan(span: ReadableSpan): boolean {\n return getRootSpanParentId(span) == null;\n}\n\n/**\n * LangGraph plumbing observations that add noise without information:\n * the duplicated `__start__` channel-seed nodes and anonymous\n * `RunnableLambda` pass-throughs (Langfuse team feedback items 4 & 5).\n * Internal ToolNode batch spans are disabled at their source so traced child\n * tools retain an exported parent. Explicitly traced ToolNodes are preserved.\n */\nexport function shouldDropLangfuseSpan(spanName: string): boolean {\n return (\n spanName === LANGGRAPH_START_NODE || spanName === ANONYMOUS_LAMBDA_NAME\n );\n}\n\nfunction shapeToolNodeSpan(span: MutableSpan): void {\n const inputKey = LangfuseOtelSpanAttributes.OBSERVATION_INPUT;\n span.name = TOOL_DISPATCH_SPAN_NAME;\n span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] =\n CHAIN_OBSERVATION_TYPE;\n const calls = findPendingToolCalls(\n parseAttributeValue(span.attributes[inputKey])\n );\n if (calls.length === 0) {\n return;\n }\n span.attributes[inputKey] = JSON.stringify(\n calls.map(({ name, args }) => ({ name, args }))\n );\n}\n\nfunction shapeAgentNodeSpan(span: MutableSpan): void {\n span.name = AGENT_NODE_SPAN_NAME;\n span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] =\n ROOT_OBSERVATION_TYPE;\n}\n\nfunction shapeRootSpan(span: MutableSpan): void {\n const inputKey = LangfuseOtelSpanAttributes.OBSERVATION_INPUT;\n const outputKey = LangfuseOtelSpanAttributes.OBSERVATION_OUTPUT;\n const question = findLastMessageText(\n parseAttributeValue(span.attributes[inputKey]),\n 'user'\n );\n const answer = findLastMessageText(\n parseAttributeValue(span.attributes[outputKey]),\n 'assistant'\n );\n /** A generation that IS the trace root — a bare `model.invoke` with no\n * wrapping chain, i.e. the activity-label path — is also the only\n * observation carrying its own prompt: reducing its observation input\n * would discard the SystemMessage from the one place it is traced.\n * Chain/agent roots keep the full reduction; their child generations\n * still record the complete prompt. Trace-level input/output reduce\n * either way, so the trace list keeps showing question and answer. */\n if (!isGenerationSpan(span)) {\n if (question != null) {\n span.attributes[inputKey] = question;\n }\n if (answer != null) {\n span.attributes[outputKey] = answer;\n }\n }\n const traceInput = question ?? span.attributes[inputKey];\n const traceOutput = answer ?? span.attributes[outputKey];\n if (traceInput != null) {\n span.attributes[LangfuseOtelSpanAttributes.TRACE_INPUT] = traceInput;\n }\n if (traceOutput != null) {\n span.attributes[LangfuseOtelSpanAttributes.TRACE_OUTPUT] = traceOutput;\n }\n}\n\nfunction isGenerationSpan(span: MutableSpan): boolean {\n const type = span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE];\n return typeof type === 'string' && type.toLowerCase() === 'generation';\n}\n\nfunction isToolSpan(span: MutableSpan): boolean {\n const type = span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE];\n return (\n typeof type === 'string' && type.toLowerCase() === TOOL_OBSERVATION_TYPE\n );\n}\n\n/**\n * Whether the span is a LangGraph node execution whose node id is the span\n * name — the shape of the outer workflow-agent node. `@langfuse/tracing`\n * flattens object metadata to per-key attributes with string values stored\n * raw, so LangGraph's `langgraph_node` arrives directly comparable.\n */\nfunction isWorkflowNodeSpan(span: MutableSpan): boolean {\n return span.attributes[OBSERVATION_METADATA_LANGGRAPH_NODE] === span.name;\n}\n\n/**\n * LibreChat ephemeral agents are identified as\n * `endpoint__model___sender[____index]` (`__` encodes `:`; see LibreChat's\n * `encodeEphemeralAgentId`), and the outer workflow node carries that id as\n * its span name — so switching models renames the span (item 1). Returns the\n * stable human `sender` segment only when the name matches that encoding:\n * the `endpoint__model` prefix must contain both segments and — unlike\n * display names such as `LibreChat Agent: Ops___EU` — never contains\n * whitespace, so legitimate names that merely embed `___` are left alone.\n */\nfunction extractEphemeralAgentSender(name: string): string | undefined {\n let workingId = name;\n const indexSeparator = workingId.lastIndexOf(EPHEMERAL_AGENT_INDEX_SEPARATOR);\n if (\n indexSeparator !== -1 &&\n /^\\d+$/.test(\n workingId.slice(indexSeparator + EPHEMERAL_AGENT_INDEX_SEPARATOR.length)\n )\n ) {\n workingId = workingId.slice(0, indexSeparator);\n }\n const senderSeparator = workingId.indexOf(EPHEMERAL_AGENT_SENDER_SEPARATOR);\n if (senderSeparator <= 0) {\n return undefined;\n }\n const encodedPrefix = workingId.slice(0, senderSeparator);\n if (/\\s/.test(encodedPrefix)) {\n return undefined;\n }\n const prefixParts = encodedPrefix.split('__');\n if (prefixParts.length < 2 || prefixParts.some((part) => part === '')) {\n return undefined;\n }\n const sender = workingId\n .slice(senderSeparator + EPHEMERAL_AGENT_SENDER_SEPARATOR.length)\n .replace(/__/g, ':');\n return sender === '' ? undefined : sender;\n}\n\n/** Workflow-agent node spans are always children of the run's root chain and\n * always carry `langgraph_node` metadata equal to their name, so host-named\n * run roots (`LibreChat Agent: <name>`) and ordinary chains that merely look\n * like encoded ids (`pipeline__stage___EU`) are never rename candidates.\n * Successful decodes become `agent` observations, matching the inner\n * `agent=<id>` node shaping. */\nfunction shapeEphemeralAgentNodeSpan(span: MutableSpan): void {\n if (isToolSpan(span) || isRootSpan(span) || !isWorkflowNodeSpan(span)) {\n return;\n }\n const sender = extractEphemeralAgentSender(span.name);\n if (sender == null) {\n return;\n }\n span.name = sender;\n span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] =\n ROOT_OBSERVATION_TYPE;\n}\n\nfunction hasTraceTag(span: MutableSpan, expectedTag: string): boolean {\n const tags = parseAttributeValue(\n span.attributes[LangfuseOtelSpanAttributes.TRACE_TAGS]\n );\n return (\n Array.isArray(tags) &&\n tags.some((tag) => typeof tag === 'string' && tag === expectedTag)\n );\n}\n\nfunction shapeRootObservationType(span: MutableSpan): void {\n if (isGenerationSpan(span)) {\n return;\n }\n if (\n hasTraceTag(span, TITLE_TRACE_TAG) ||\n (span.name === ACTIVITY_PHASE_ROOT_NAME &&\n hasTraceTag(span, ACTIVITY_PHASE_TRACE_TAG))\n ) {\n span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] =\n CHAIN_OBSERVATION_TYPE;\n return;\n }\n if (hasTraceTag(span, AGENT_TRACE_TAG)) {\n span.attributes[LangfuseOtelSpanAttributes.OBSERVATION_TYPE] =\n ROOT_OBSERVATION_TYPE;\n }\n}\n\n/**\n * Reshapes spans per Langfuse-team feedback before export:\n * - `agent=<id>` / `tools=<id>` node names carry the ephemeral agent id\n * (`provider__model`) — strip it so switching models doesn't break\n * name-based logic (item 1). The outer workflow node is named with the\n * bare agent id; ephemeral ids reduce to their stable sender name.\n * - LLM generation spans keep the provider client class name (`ChatOpenAI`,\n * `AzureChatOpenAI`, …); rename them to a provider-agnostic `llm` so the\n * name reflects the operation, not the model (the model stays on the\n * generation's model attribute).\n * - Agent nodes become `agent` observations, while tool-dispatch nodes become\n * stable `chain` observations whose input is scoped to the pending calls.\n * Individual child calls remain `tool` observations (items 3 & 4).\n * - Agent trace roots become `agent` observations, while title and activity\n * summary roots become `chain` observations. Root and trace input/output are\n * reduced to the user question and assistant response when chat messages are\n * available (item 2).\n */\nexport function shapeLangfuseSpan(span: ReadableSpan): void {\n const mutable = span as MutableSpan;\n if (mutable.name.startsWith(LANGGRAPH_AGENT_NODE_PREFIX)) {\n shapeAgentNodeSpan(mutable);\n } else if (mutable.name.startsWith(LANGGRAPH_TOOL_NODE_PREFIX)) {\n shapeToolNodeSpan(mutable);\n } else if (isGenerationSpan(mutable)) {\n mutable.name = GENERATION_SPAN_NAME;\n } else {\n shapeEphemeralAgentNodeSpan(mutable);\n }\n if (!isRootSpan(span)) {\n return;\n }\n shapeRootObservationType(mutable);\n shapeRootSpan(mutable);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"langfuseTraceShaping.cjs","names":["LangfuseOtelSpanAttributes"],"sources":["../../src/langfuseTraceShaping.ts"],"mappings":"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"}
@@ -182,9 +182,6 @@ var CustomAnthropic = class extends _langchain_anthropic.ChatAnthropicMessages {
182
182
  static lc_name() {
183
183
  return "LibreChatAnthropic";
184
184
  }
185
- /**
186
- * Get the parameters used to invoke the model
187
- */
188
185
  invocationParams(options) {
189
186
  const tool_choice = require_tools.handleToolChoice(options?.tool_choice);
190
187
  const callOptions = options;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["isSignalAborted","AIMessageChunk","ChatAnthropicMessages","resolveStreamDelay","handleToolChoice","ChatGenerationChunk","stripUnsupportedAssistantPrefill","_convertMessagesToAnthropicPayload","convertAnthropicStream","smoothStream","_makeMessageChunkFromAnthropicEvent"],"sources":["../../../../src/llm/anthropic/index.ts"],"sourcesContent":["import { AIMessageChunk } from '@langchain/core/messages';\nimport { ChatAnthropicMessages } from '@langchain/anthropic';\nimport { ChatGenerationChunk } from '@langchain/core/outputs';\nimport type { BaseChatModelParams } from '@langchain/core/language_models/chat_models';\nimport type {\n BaseMessage,\n MessageContentComplex,\n} from '@langchain/core/messages';\nimport type { ChatModelStreamEvent } from '@langchain/core/language_models/event';\nimport type { CallbackManagerForLLMRun } from '@langchain/core/callbacks/manager';\nimport type { AnthropicInput } from '@langchain/anthropic';\nimport type { Anthropic } from '@anthropic-ai/sdk';\nimport type {\n AnthropicMessageCreateParams,\n AnthropicStreamingMessageCreateParams,\n AnthropicOutputConfig,\n AnthropicBeta,\n ChatAnthropicToolType,\n AnthropicMCPServerURLDefinition,\n AnthropicContextManagementConfigParam,\n AnthropicRequestOptions,\n AnthropicMessageStreamEvent,\n} from '@/llm/anthropic/types';\nimport type { SmoothItem } from '@/llm/stream/smoother';\nimport type { AnthropicUsageData } from './utils/message_outputs';\nimport {\n _convertMessagesToAnthropicPayload,\n stripUnsupportedAssistantPrefill,\n} from './utils/message_inputs';\nimport { _makeMessageChunkFromAnthropicEvent } from './utils/message_outputs';\nimport { smoothStream, resolveStreamDelay, isSignalAborted } from '@/llm/stream/smoother';\nimport { convertAnthropicStream } from './utils/stream_events';\nimport { handleToolChoice } from './utils/tools';\n\ntype StreamTokenType = 'string' | 'input' | 'content';\n\ninterface AnthropicStreamUsage {\n inputTokens: number;\n cacheCreationInputTokens: number;\n cacheReadInputTokens: number;\n outputTokens: number;\n}\n\ninterface CumulativeUsageValue {\n cumulative: number;\n increment: number;\n}\n\ninterface AnthropicEventStream\n extends AsyncIterable<AnthropicMessageStreamEvent> {\n controller?: { abort: () => void };\n}\n\nconst ANTHROPIC_TOOL_BETAS: Partial<Record<string, AnthropicBeta>> = {\n tool_search_tool_regex_20251119: 'advanced-tool-use-2025-11-20',\n tool_search_tool_bm25_20251119: 'advanced-tool-use-2025-11-20',\n memory_20250818: 'context-management-2025-06-27',\n web_fetch_20250910: 'web-fetch-2025-09-10',\n code_execution_20250825: 'code-execution-2025-08-25',\n computer_20251124: 'computer-use-2025-11-24',\n computer_20250124: 'computer-use-2025-01-24',\n mcp_toolset: 'mcp-client-2025-11-20',\n};\n\nfunction _toolsInParams(\n params: AnthropicMessageCreateParams | AnthropicStreamingMessageCreateParams\n): boolean {\n return !!(params.tools && params.tools.length > 0);\n}\nexport function _documentsInParams(\n params: AnthropicMessageCreateParams | AnthropicStreamingMessageCreateParams\n): boolean {\n for (const message of params.messages) {\n if (typeof message.content === 'string') {\n continue;\n }\n for (const block of message.content) {\n const maybeBlock: unknown = block;\n if (\n typeof maybeBlock === 'object' &&\n maybeBlock !== null &&\n 'type' in maybeBlock &&\n maybeBlock.type === 'document' &&\n 'citations' in maybeBlock &&\n maybeBlock.citations != null &&\n typeof maybeBlock.citations === 'object' &&\n 'enabled' in maybeBlock.citations &&\n maybeBlock.citations.enabled === true\n ) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction _thinkingInParams(\n params: AnthropicMessageCreateParams | AnthropicStreamingMessageCreateParams\n): boolean {\n return !!(\n params.thinking &&\n (params.thinking.type === 'enabled' || params.thinking.type === 'adaptive')\n );\n}\n\nfunction _compactionInParams(\n params: (\n | AnthropicMessageCreateParams\n | AnthropicStreamingMessageCreateParams\n ) & {\n context_management?: AnthropicContextManagementConfigParam;\n }\n): boolean {\n return (\n params.context_management?.edits?.some(\n (edit) => edit.type === 'compact_20260112'\n ) === true\n );\n}\n\nfunction isThinkingEnabled(thinking: Anthropic.ThinkingConfigParam): boolean {\n return thinking.type === 'enabled' || thinking.type === 'adaptive';\n}\n\nfunction isOpus47Model(model?: string): boolean {\n return /^claude-opus-4-7(?:-|$)/.test(model ?? '');\n}\n\nfunction combineBetas(\n ...betaGroups: (AnthropicBeta[] | undefined)[]\n): AnthropicBeta[] {\n const betas = new Set<AnthropicBeta>();\n for (const betaGroup of betaGroups) {\n for (const beta of betaGroup ?? []) {\n betas.add(beta);\n }\n }\n return [...betas];\n}\n\nfunction getToolBetas(tools?: ChatAnthropicToolType[]): AnthropicBeta[] {\n const betas = new Set<AnthropicBeta>();\n for (const tool of tools ?? []) {\n if (typeof tool !== 'object' || !('type' in tool)) {\n continue;\n }\n const beta = ANTHROPIC_TOOL_BETAS[String(tool.type)];\n if (beta != null) {\n betas.add(beta);\n }\n }\n return [...betas];\n}\n\nfunction getCompactionBetas(\n contextManagement?: AnthropicContextManagementConfigParam\n): AnthropicBeta[] {\n return contextManagement?.edits?.some(\n (edit) => edit.type === 'compact_20260112'\n ) === true\n ? ['compact-2026-01-12']\n : [];\n}\n\nfunction getTaskBudgetBetas(\n model: string,\n outputConfig?: AnthropicOutputConfig\n): AnthropicBeta[] {\n return isOpus47Model(model) &&\n outputConfig != null &&\n 'task_budget' in outputConfig &&\n outputConfig.task_budget != null\n ? ['task-budgets-2026-03-13']\n : [];\n}\n\nfunction isSetSamplingValue(value?: number | null): value is number {\n return value != null && value !== -1;\n}\n\nfunction isNonDefaultTemperature(value?: number): boolean {\n return isSetSamplingValue(value) && value !== 1;\n}\n\nfunction validateInvocationParamCompatibility({\n model,\n thinking,\n topK,\n topP,\n temperature,\n}: {\n model: string;\n thinking: Anthropic.ThinkingConfigParam;\n topK?: number;\n topP?: number | null;\n temperature?: number;\n}): void {\n const opus47 = isOpus47Model(model);\n if (opus47 && thinking.type === 'enabled') {\n throw new Error(\n 'thinking.type=\"enabled\" is not supported for claude-opus-4-7; use thinking.type=\"adaptive\" instead'\n );\n }\n if (opus47 && 'budget_tokens' in thinking) {\n throw new Error(\n 'thinking.budget_tokens is not supported for claude-opus-4-7; use outputConfig.effort instead'\n );\n }\n if (opus47) {\n if (isSetSamplingValue(topK)) {\n throw new Error(\n 'topK is not supported for claude-opus-4-7; omit topK/topP/temperature or use model prompting instead'\n );\n }\n if (isSetSamplingValue(topP) && topP !== 1) {\n throw new Error(\n 'topP is not supported for claude-opus-4-7 when set to non-default values'\n );\n }\n if (isNonDefaultTemperature(temperature)) {\n throw new Error(\n 'temperature is not supported for claude-opus-4-7 when set to non-default values'\n );\n }\n }\n if (!isThinkingEnabled(thinking)) {\n return;\n }\n if (isSetSamplingValue(topK)) {\n throw new Error('topK is not supported when thinking is enabled');\n }\n if (isSetSamplingValue(topP)) {\n throw new Error('topP is not supported when thinking is enabled');\n }\n if (isNonDefaultTemperature(temperature)) {\n throw new Error('temperature is not supported when thinking is enabled');\n }\n}\n\nfunction getSamplingParams({\n model,\n thinking,\n topK,\n topP,\n temperature,\n}: {\n model: string;\n thinking: Anthropic.ThinkingConfigParam;\n topK?: number;\n topP?: number | null;\n temperature?: number;\n}): {\n temperature?: number;\n top_k?: number;\n top_p?: number;\n} {\n if (isThinkingEnabled(thinking) || isOpus47Model(model)) {\n return {};\n }\n return {\n ...(isSetSamplingValue(temperature) ? { temperature } : {}),\n ...(isSetSamplingValue(topK) ? { top_k: topK } : {}),\n ...(isSetSamplingValue(topP) ? { top_p: topP } : {}),\n };\n}\n\nasync function* abortableAnthropicStream(\n source: AnthropicEventStream,\n signal?: AbortSignal\n): AsyncGenerator<AnthropicMessageStreamEvent> {\n for await (const data of source) {\n if (isSignalAborted(signal)) {\n source.controller?.abort();\n return;\n }\n yield data;\n }\n}\n\nfunction extractToken(\n chunk: AIMessageChunk\n): [string, StreamTokenType] | [undefined] {\n if (typeof chunk.content === 'string') {\n return [chunk.content, 'string'];\n } else if (\n Array.isArray(chunk.content) &&\n chunk.content.length >= 1 &&\n 'input' in chunk.content[0]\n ) {\n return typeof chunk.content[0].input === 'string'\n ? [chunk.content[0].input, 'input']\n : [JSON.stringify(chunk.content[0].input), 'input'];\n } else if (\n Array.isArray(chunk.content) &&\n chunk.content.length >= 1 &&\n 'text' in chunk.content[0]\n ) {\n const text = chunk.content[0].text;\n return typeof text === 'string' ? [text, 'content'] : [undefined];\n } else if (\n Array.isArray(chunk.content) &&\n chunk.content.length >= 1 &&\n 'thinking' in chunk.content[0]\n ) {\n const thinking = chunk.content[0].thinking;\n return typeof thinking === 'string' ? [thinking, 'content'] : [undefined];\n }\n return [undefined];\n}\n\nfunction cloneChunk(\n text: string,\n tokenType: StreamTokenType,\n chunk: AIMessageChunk\n): AIMessageChunk {\n if (tokenType === 'string') {\n return new AIMessageChunk(Object.assign({}, chunk, { content: text }));\n } else if (tokenType === 'input') {\n return chunk;\n }\n const content = chunk.content[0] as MessageContentComplex;\n if (content.type === 'text') {\n return new AIMessageChunk(\n Object.assign({}, chunk, {\n content: [Object.assign({}, content, { text })],\n })\n );\n } else if (content.type === 'text_delta') {\n return new AIMessageChunk(\n Object.assign({}, chunk, {\n content: [Object.assign({}, content, { text })],\n })\n );\n } else if (\n typeof content.type === 'string' &&\n content.type.startsWith('thinking')\n ) {\n return new AIMessageChunk(\n Object.assign({}, chunk, {\n content: [Object.assign({}, content, { thinking: text })],\n })\n );\n }\n\n return chunk;\n}\n\nfunction resolveCumulativeUsageValue(\n current: number | null | undefined,\n previous: number\n): CumulativeUsageValue {\n if (current == null) {\n return { cumulative: previous, increment: 0 };\n }\n const cumulative = Math.max(previous, current);\n return { cumulative, increment: cumulative - previous };\n}\n\nfunction withIncrementalMessageDeltaUsage(\n chunk: AIMessageChunk,\n previousUsage: AnthropicStreamUsage,\n cumulativeUsage: AnthropicUsageData\n): { chunk: AIMessageChunk; usage: AnthropicStreamUsage } {\n const usage = chunk.usage_metadata;\n if (usage == null) {\n return { chunk, usage: previousUsage };\n }\n\n const inputTokens = resolveCumulativeUsageValue(\n cumulativeUsage.input_tokens,\n previousUsage.inputTokens\n );\n const cacheCreationInputTokens = resolveCumulativeUsageValue(\n cumulativeUsage.cache_creation_input_tokens,\n previousUsage.cacheCreationInputTokens\n );\n const cacheReadInputTokens = resolveCumulativeUsageValue(\n cumulativeUsage.cache_read_input_tokens,\n previousUsage.cacheReadInputTokens\n );\n const outputTokens = resolveCumulativeUsageValue(\n cumulativeUsage.output_tokens,\n previousUsage.outputTokens\n );\n const incrementalInputTokens =\n inputTokens.increment +\n cacheCreationInputTokens.increment +\n cacheReadInputTokens.increment;\n const hasCacheUsage =\n cumulativeUsage.cache_creation_input_tokens != null ||\n cumulativeUsage.cache_read_input_tokens != null;\n const inputTokenDetails = {\n ...(cumulativeUsage.cache_creation_input_tokens != null && {\n cache_creation: cacheCreationInputTokens.increment,\n }),\n ...(cumulativeUsage.cache_read_input_tokens != null && {\n cache_read: cacheReadInputTokens.increment,\n }),\n };\n\n return {\n chunk: new AIMessageChunk(\n Object.assign({}, chunk, {\n usage_metadata: {\n ...usage,\n input_tokens: incrementalInputTokens,\n output_tokens: outputTokens.increment,\n total_tokens: incrementalInputTokens + outputTokens.increment,\n input_token_details: hasCacheUsage ? inputTokenDetails : undefined,\n },\n })\n ),\n usage: {\n inputTokens: inputTokens.cumulative,\n cacheCreationInputTokens: cacheCreationInputTokens.cumulative,\n cacheReadInputTokens: cacheReadInputTokens.cumulative,\n outputTokens: outputTokens.cumulative,\n },\n };\n}\n\nexport type CustomAnthropicInput = AnthropicInput & {\n _lc_stream_delay?: number;\n outputConfig?: AnthropicOutputConfig;\n inferenceGeo?: string;\n contextManagement?: AnthropicContextManagementConfigParam;\n} & BaseChatModelParams;\n\nexport type CustomAnthropicCallOptions = {\n outputConfig?: AnthropicOutputConfig;\n outputFormat?: Anthropic.Messages.JSONOutputFormat;\n inferenceGeo?: string;\n betas?: AnthropicBeta[];\n container?: string;\n mcp_servers?: AnthropicMCPServerURLDefinition[];\n};\n\ntype CustomAnthropicInvocationParams = {\n betas?: AnthropicBeta[];\n container?: string;\n context_management?: AnthropicContextManagementConfigParam;\n inference_geo?: string;\n mcp_servers?: AnthropicMCPServerURLDefinition[];\n output_config?: AnthropicOutputConfig;\n};\n\ntype AnthropicEmittedChunk = {\n chunk: ChatGenerationChunk;\n token: string;\n};\n\nexport class CustomAnthropic extends ChatAnthropicMessages {\n _lc_stream_delay: number;\n private tools_in_params?: boolean;\n top_k: number | undefined;\n outputConfig?: AnthropicOutputConfig;\n inferenceGeo?: string;\n contextManagement?: AnthropicContextManagementConfigParam;\n constructor(fields?: CustomAnthropicInput) {\n super(fields);\n this.resetTokenEvents();\n this.setDirectFields(fields);\n this._lc_stream_delay = resolveStreamDelay(fields?._lc_stream_delay);\n this.outputConfig = fields?.outputConfig;\n this.inferenceGeo = fields?.inferenceGeo;\n this.contextManagement = fields?.contextManagement;\n }\n\n static lc_name(): 'LibreChatAnthropic' {\n return 'LibreChatAnthropic';\n }\n\n /**\n * Get the parameters used to invoke the model\n */\n override invocationParams(\n options?: this['ParsedCallOptions'] & CustomAnthropicCallOptions\n ): Omit<\n AnthropicMessageCreateParams | AnthropicStreamingMessageCreateParams,\n 'messages'\n > &\n CustomAnthropicInvocationParams {\n const tool_choice:\n | Anthropic.Messages.ToolChoiceAuto\n | Anthropic.Messages.ToolChoiceAny\n | Anthropic.Messages.ToolChoiceTool\n | Anthropic.Messages.ToolChoiceNone\n | undefined = handleToolChoice(options?.tool_choice);\n\n const callOptions = options as CustomAnthropicCallOptions | undefined;\n const mergedOutputConfig: AnthropicOutputConfig | undefined = (():\n | AnthropicOutputConfig\n | undefined => {\n const base = {\n ...this.outputConfig,\n ...callOptions?.outputConfig,\n };\n if (callOptions?.outputFormat && !base.format) {\n base.format = callOptions.outputFormat;\n }\n return Object.keys(base).length > 0 ? base : undefined;\n })();\n\n const inferenceGeo = callOptions?.inferenceGeo ?? this.inferenceGeo;\n\n const contextManagement = this.contextManagement;\n const toolBetas = getToolBetas(options?.tools);\n const compactionBetas = getCompactionBetas(contextManagement);\n const taskBudgetBetas = getTaskBudgetBetas(this.model, mergedOutputConfig);\n const formattedTools = this.formatStructuredToolToAnthropic(\n options?.tools,\n {\n strict: options?.strict,\n }\n );\n\n const sharedParams = {\n tools: formattedTools,\n tool_choice,\n // Match upstream: omit `thinking` unless the user set it, so we don't send\n // `{ type: 'disabled' }` (an unsupported param on some models) by default.\n thinking: this.thinkingExplicitlySet ? this.thinking : undefined,\n context_management: contextManagement,\n ...this.invocationKwargs,\n container: callOptions?.container,\n betas: combineBetas(\n this.betas,\n callOptions?.betas,\n toolBetas,\n compactionBetas,\n taskBudgetBetas\n ),\n output_config: mergedOutputConfig,\n inference_geo: inferenceGeo,\n mcp_servers: callOptions?.mcp_servers,\n // Top-level request cache_control (1.5.x): API auto-advances the cache\n // breakpoint across turns. Additive — independent of our block-level cache.\n cache_control: options?.cache_control,\n };\n validateInvocationParamCompatibility({\n model: this.model,\n thinking: this.thinking,\n topK: this.top_k,\n topP: this.topP,\n temperature: this.temperature,\n });\n\n return {\n model: this.model,\n stop_sequences: options?.stop ?? this.stopSequences,\n stream: this.streaming,\n max_tokens: this.maxTokens,\n ...getSamplingParams({\n model: this.model,\n thinking: this.thinking,\n topK: this.top_k,\n topP: this.topP,\n temperature: this.temperature,\n }),\n ...sharedParams,\n };\n }\n\n resetTokenEvents(): void {\n this.tools_in_params = undefined;\n }\n\n setDirectFields(fields?: CustomAnthropicInput): void {\n this.temperature = fields?.temperature ?? undefined;\n this.topP = fields?.topP ?? undefined;\n this.top_k = fields?.topK;\n if (this.temperature === -1 || this.temperature === 1) {\n this.temperature = undefined;\n }\n if (this.topP === -1) {\n this.topP = undefined;\n }\n if (this.top_k === -1) {\n this.top_k = undefined;\n }\n }\n\n private createGenerationChunk({\n token,\n chunk,\n shouldStreamUsage,\n }: {\n token?: string;\n chunk: AIMessageChunk;\n shouldStreamUsage: boolean;\n }): ChatGenerationChunk {\n const usage_metadata = shouldStreamUsage ? chunk.usage_metadata : undefined;\n return new ChatGenerationChunk({\n message: new AIMessageChunk({\n // Just yield chunk as it is and tool_use will be concat by BaseChatModel._generateUncached().\n content: chunk.content,\n additional_kwargs: chunk.additional_kwargs,\n tool_call_chunks: chunk.tool_call_chunks,\n response_metadata: chunk.response_metadata,\n usage_metadata,\n id: chunk.id,\n }),\n text: token ?? '',\n });\n }\n\n protected override async createStreamWithRetry(\n request: AnthropicStreamingMessageCreateParams,\n options?: AnthropicRequestOptions\n ): ReturnType<ChatAnthropicMessages['createStreamWithRetry']> {\n return super.createStreamWithRetry(\n stripUnsupportedAssistantPrefill(request),\n options\n );\n }\n\n protected override async completionWithRetry(\n request: AnthropicMessageCreateParams,\n options: AnthropicRequestOptions\n ): ReturnType<ChatAnthropicMessages['completionWithRetry']> {\n return super.completionWithRetry(\n stripUnsupportedAssistantPrefill(request),\n options\n );\n }\n\n async *_streamChatModelEvents(\n messages: BaseMessage[],\n options: this['ParsedCallOptions'],\n _runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatModelStreamEvent> {\n const params = this.invocationParams(options);\n const formattedMessages = _convertMessagesToAnthropicPayload(messages);\n const payload = stripUnsupportedAssistantPrefill({\n ...params,\n ...formattedMessages,\n stream: true,\n } as const);\n const stream = await this.createStreamWithRetry(payload, {\n headers: options.headers,\n signal: options.signal,\n });\n const shouldStreamUsage = options.streamUsage ?? this.streamUsage;\n yield* convertAnthropicStream(\n abortableAnthropicStream(stream, options.signal),\n { streamUsage: shouldStreamUsage }\n );\n }\n\n async *_streamResponseChunks(\n messages: BaseMessage[],\n options: this['ParsedCallOptions'],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n this.resetTokenEvents();\n const params = this.invocationParams(options);\n const formattedMessages = _convertMessagesToAnthropicPayload(messages);\n const payload = stripUnsupportedAssistantPrefill({\n ...params,\n ...formattedMessages,\n stream: true,\n } as const);\n const coerceContentToString =\n !_toolsInParams(payload) &&\n !_documentsInParams(payload) &&\n !_thinkingInParams(payload) &&\n !_compactionInParams(payload);\n\n const stream = await this.createStreamWithRetry(payload, {\n headers: options.headers,\n signal: options.signal,\n });\n\n const shouldStreamUsage = options.streamUsage ?? this.streamUsage;\n let streamUsage: AnthropicStreamUsage = {\n inputTokens: 0,\n cacheCreationInputTokens: 0,\n cacheReadInputTokens: 0,\n outputTokens: 0,\n };\n const toEmittedChunk = (\n token: string,\n chunk: AIMessageChunk\n ): AnthropicEmittedChunk => ({\n token,\n chunk: this.createGenerationChunk({ token, chunk, shouldStreamUsage }),\n });\n\n const source = (async function* (): AsyncGenerator<\n SmoothItem<AnthropicEmittedChunk>\n > {\n for await (const data of stream) {\n const result = _makeMessageChunkFromAnthropicEvent(\n data as Anthropic.Beta.Messages.BetaRawMessageStreamEvent,\n {\n streamUsage: shouldStreamUsage,\n coerceContentToString,\n }\n );\n if (!result) {\n continue;\n }\n\n let { chunk } = result;\n if (data.type === 'message_start') {\n streamUsage = {\n ...streamUsage,\n inputTokens: data.message.usage.input_tokens,\n outputTokens: data.message.usage.output_tokens,\n cacheCreationInputTokens:\n data.message.usage.cache_creation_input_tokens ?? 0,\n cacheReadInputTokens:\n data.message.usage.cache_read_input_tokens ?? 0,\n };\n }\n if (data.type === 'message_delta') {\n const incremental = withIncrementalMessageDeltaUsage(\n chunk,\n streamUsage,\n data.usage\n );\n chunk = incremental.chunk;\n streamUsage = incremental.usage;\n }\n\n const [token = '', tokenType] = extractToken(chunk);\n if (\n !tokenType ||\n tokenType === 'input' ||\n (token === '' && (chunk.usage_metadata != null || chunk.id != null))\n ) {\n yield {\n text: '',\n smooth: false,\n emit: (): AnthropicEmittedChunk => toEmittedChunk(token, chunk),\n };\n continue;\n }\n\n if (token === '') {\n continue;\n }\n\n yield {\n text: token,\n smooth: true,\n emit: (piece): AnthropicEmittedChunk => {\n if (piece.isFirst && piece.isLast) {\n return toEmittedChunk(token, chunk);\n }\n const cloned = cloneChunk(piece.text, tokenType, chunk);\n const chunkForPiece =\n !piece.isFirst && cloned.usage_metadata != null\n ? new AIMessageChunk(\n Object.assign({}, cloned, { usage_metadata: undefined })\n )\n : cloned;\n return toEmittedChunk(piece.text, chunkForPiece);\n },\n };\n }\n })();\n\n const smoothed = smoothStream({\n source,\n delayMs: this._lc_stream_delay,\n signal: options.signal,\n abortUpstream: () => stream.controller.abort(),\n });\n\n try {\n for await (const emitted of smoothed) {\n yield emitted.chunk;\n await runManager?.handleLLMNewToken(\n emitted.token,\n undefined,\n undefined,\n undefined,\n undefined,\n { chunk: emitted.chunk }\n );\n }\n } finally {\n this.resetTokenEvents();\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["isSignalAborted","AIMessageChunk","ChatAnthropicMessages","resolveStreamDelay","handleToolChoice","ChatGenerationChunk","stripUnsupportedAssistantPrefill","_convertMessagesToAnthropicPayload","convertAnthropicStream","smoothStream","_makeMessageChunkFromAnthropicEvent"],"sources":["../../../../src/llm/anthropic/index.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.cjs","names":[],"sources":["../../../../src/llm/anthropic/types.ts"],"sourcesContent":["import Anthropic from '@anthropic-ai/sdk';\n\nimport type { BindToolsInput } from '@langchain/core/language_models/chat_models';\nimport type { AnthropicBeta } from '@anthropic-ai/sdk/resources';\n\nexport type { AnthropicBeta };\n\nexport type AnthropicStreamUsage = Anthropic.Usage;\nexport type AnthropicMessageDeltaEvent = Anthropic.MessageDeltaEvent;\nexport type AnthropicMessageStartEvent = Anthropic.MessageStartEvent;\n\nexport type AnthropicToolResponse = {\n type: 'tool_use' | 'server_tool_use';\n id: string;\n name: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input: Record<string, any>;\n};\n\nexport type AnthropicMessageParam = Anthropic.MessageParam;\nexport type AnthropicMessageResponse =\n | Anthropic.ContentBlock\n | AnthropicToolResponse;\nexport type AnthropicMessageCreateParams =\n Anthropic.MessageCreateParamsNonStreaming;\nexport type AnthropicStreamingMessageCreateParams =\n Anthropic.MessageCreateParamsStreaming;\nexport type AnthropicThinkingConfigParam = Anthropic.ThinkingConfigParam;\nexport type AnthropicContextManagementConfigParam =\n Anthropic.Beta.BetaContextManagementConfig;\nexport type AnthropicMessageStreamEvent = Anthropic.MessageStreamEvent;\nexport type AnthropicRequestOptions = Anthropic.RequestOptions;\nexport type AnthropicMCPServerURLDefinition =\n Anthropic.Beta.Messages.BetaRequestMCPServerURLDefinition;\nexport type AnthropicToolChoice =\n | {\n type: 'tool';\n name: string;\n }\n | 'any'\n | 'auto'\n | 'none'\n | string;\nexport type ChatAnthropicToolType = Anthropic.Messages.Tool | BindToolsInput;\nexport type AnthropicTextBlockParam = Anthropic.Messages.TextBlockParam;\nexport type AnthropicImageBlockParam = Anthropic.Messages.ImageBlockParam;\nexport type AnthropicToolUseBlockParam = Anthropic.Messages.ToolUseBlockParam;\nexport type AnthropicToolResultBlockParam =\n Anthropic.Messages.ToolResultBlockParam;\nexport type AnthropicDocumentBlockParam = Anthropic.Messages.DocumentBlockParam;\nexport type AnthropicThinkingBlockParam = Anthropic.Messages.ThinkingBlockParam;\nexport type AnthropicRedactedThinkingBlockParam =\n Anthropic.Messages.RedactedThinkingBlockParam;\nexport type AnthropicServerToolUseBlockParam =\n Anthropic.Messages.ServerToolUseBlockParam;\nexport type AnthropicWebSearchToolResultBlockParam =\n Anthropic.Messages.WebSearchToolResultBlockParam;\nexport type AnthropicWebSearchResultBlockParam =\n Anthropic.Messages.WebSearchResultBlockParam;\nexport type AnthropicSearchResultBlockParam =\n Anthropic.Beta.BetaSearchResultBlockParam;\nexport type AnthropicCompactionBlockParam =\n Anthropic.Beta.BetaCompactionBlockParam;\nexport type AnthropicCompactionBlock = Anthropic.Beta.BetaCompactionBlock;\nexport type AnthropicCompactionContentBlockDelta =\n Anthropic.Beta.BetaCompactionContentBlockDelta;\nexport type AnthropicOutputConfig = Anthropic.Messages.OutputConfig;\nexport type ChatAnthropicOutputFormat = Anthropic.Messages.JSONOutputFormat;\n\n// Union of all possible content block types including server tool use\nexport type AnthropicContentBlock =\n | AnthropicTextBlockParam\n | AnthropicImageBlockParam\n | AnthropicToolUseBlockParam\n | AnthropicToolResultBlockParam\n | AnthropicDocumentBlockParam\n | AnthropicThinkingBlockParam\n | AnthropicRedactedThinkingBlockParam\n | AnthropicServerToolUseBlockParam\n | AnthropicWebSearchToolResultBlockParam\n | AnthropicWebSearchResultBlockParam\n | AnthropicCompactionBlockParam;\n\n// Union of all possible content block types including server tool use\nexport type ChatAnthropicContentBlock =\n | AnthropicTextBlockParam\n | AnthropicImageBlockParam\n | AnthropicToolUseBlockParam\n | AnthropicToolResultBlockParam\n | AnthropicDocumentBlockParam\n | AnthropicThinkingBlockParam\n | AnthropicRedactedThinkingBlockParam\n | AnthropicServerToolUseBlockParam\n | AnthropicWebSearchToolResultBlockParam\n | AnthropicWebSearchResultBlockParam\n | AnthropicSearchResultBlockParam\n | AnthropicCompactionBlockParam;\n\nexport function isAnthropicImageBlockParam(\n block: unknown\n): block is AnthropicImageBlockParam {\n if (block == null) {\n return false;\n }\n if (typeof block !== 'object') {\n return false;\n }\n if (!('type' in block) || block.type !== 'image') {\n return false;\n }\n\n if (!('source' in block) || typeof block.source !== 'object') {\n return false;\n }\n\n if (block.source == null) {\n return false;\n }\n\n if (!('type' in block.source)) {\n return false;\n }\n\n if (block.source.type === 'base64') {\n if (!('media_type' in block.source)) {\n return false;\n }\n\n if (typeof block.source.media_type !== 'string') {\n return false;\n }\n\n if (!('data' in block.source)) {\n return false;\n }\n\n if (typeof block.source.data !== 'string') {\n return false;\n }\n\n return true;\n }\n\n if (block.source.type === 'url') {\n if (!('url' in block.source)) {\n return false;\n }\n\n if (typeof block.source.url !== 'string') {\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n"],"mappings":";AAkGA,SAAgB,2BACd,OACmC;CACnC,IAAI,SAAS,MACX,OAAO;CAET,IAAI,OAAO,UAAU,UACnB,OAAO;CAET,IAAI,EAAE,UAAU,UAAU,MAAM,SAAS,SACvC,OAAO;CAGT,IAAI,EAAE,YAAY,UAAU,OAAO,MAAM,WAAW,UAClD,OAAO;CAGT,IAAI,MAAM,UAAU,MAClB,OAAO;CAGT,IAAI,EAAE,UAAU,MAAM,SACpB,OAAO;CAGT,IAAI,MAAM,OAAO,SAAS,UAAU;EAClC,IAAI,EAAE,gBAAgB,MAAM,SAC1B,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,eAAe,UACrC,OAAO;EAGT,IAAI,EAAE,UAAU,MAAM,SACpB,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,SAAS,UAC/B,OAAO;EAGT,OAAO;CACT;CAEA,IAAI,MAAM,OAAO,SAAS,OAAO;EAC/B,IAAI,EAAE,SAAS,MAAM,SACnB,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,QAAQ,UAC9B,OAAO;EAGT,OAAO;CACT;CAEA,OAAO;AACT"}
1
+ {"version":3,"file":"types.cjs","names":[],"sources":["../../../../src/llm/anthropic/types.ts"],"mappings":";AAkGA,SAAgB,2BACd,OACmC;CACnC,IAAI,SAAS,MACX,OAAO;CAET,IAAI,OAAO,UAAU,UACnB,OAAO;CAET,IAAI,EAAE,UAAU,UAAU,MAAM,SAAS,SACvC,OAAO;CAGT,IAAI,EAAE,YAAY,UAAU,OAAO,MAAM,WAAW,UAClD,OAAO;CAGT,IAAI,MAAM,UAAU,MAClB,OAAO;CAGT,IAAI,EAAE,UAAU,MAAM,SACpB,OAAO;CAGT,IAAI,MAAM,OAAO,SAAS,UAAU;EAClC,IAAI,EAAE,gBAAgB,MAAM,SAC1B,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,eAAe,UACrC,OAAO;EAGT,IAAI,EAAE,UAAU,MAAM,SACpB,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,SAAS,UAC/B,OAAO;EAGT,OAAO;CACT;CAEA,IAAI,MAAM,OAAO,SAAS,OAAO;EAC/B,IAAI,EAAE,SAAS,MAAM,SACnB,OAAO;EAGT,IAAI,OAAO,MAAM,OAAO,QAAQ,UAC9B,OAAO;EAGT,OAAO;CACT;CAEA,OAAO;AACT"}