agentfootprint 9.125.0 → 9.126.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 (379) hide show
  1. package/CAPABILITIES.md +4 -0
  2. package/canonical-notes.json +5 -1
  3. package/dist/adapters/llm/BrowserAnthropicProvider.js +10 -340
  4. package/dist/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  5. package/dist/adapters/llm/InvokeModelGatewayProvider.js +524 -0
  6. package/dist/adapters/llm/InvokeModelGatewayProvider.js.map +1 -0
  7. package/dist/adapters/llm/anthropicMessagesWire.js +371 -0
  8. package/dist/adapters/llm/anthropicMessagesWire.js.map +1 -0
  9. package/dist/adapters/llm/createProvider.js +3 -0
  10. package/dist/adapters/llm/createProvider.js.map +1 -1
  11. package/dist/adapters/types.js.map +1 -1
  12. package/dist/core/Agent.js +87 -1
  13. package/dist/core/Agent.js.map +1 -1
  14. package/dist/core/agent/AgentBuilder.js +76 -11
  15. package/dist/core/agent/AgentBuilder.js.map +1 -1
  16. package/dist/core/agent/arguments/ask.js +35 -22
  17. package/dist/core/agent/arguments/ask.js.map +1 -1
  18. package/dist/core/agent/arguments/checks.js +382 -0
  19. package/dist/core/agent/arguments/checks.js.map +1 -0
  20. package/dist/core/agent/arguments/declare.js +65 -10
  21. package/dist/core/agent/arguments/declare.js.map +1 -1
  22. package/dist/core/agent/arguments/dispatch.js +28 -8
  23. package/dist/core/agent/arguments/dispatch.js.map +1 -1
  24. package/dist/core/agent/arguments/resolve.js +259 -61
  25. package/dist/core/agent/arguments/resolve.js.map +1 -1
  26. package/dist/core/agent/arguments/rows.js +53 -1
  27. package/dist/core/agent/arguments/rows.js.map +1 -1
  28. package/dist/core/agent/arguments/serve.js +58 -13
  29. package/dist/core/agent/arguments/serve.js.map +1 -1
  30. package/dist/core/agent/arguments/sources.js +113 -0
  31. package/dist/core/agent/arguments/sources.js.map +1 -0
  32. package/dist/core/agent/arguments/subflow.js +71 -12
  33. package/dist/core/agent/arguments/subflow.js.map +1 -1
  34. package/dist/core/agent/assessment/assess.js +109 -5
  35. package/dist/core/agent/assessment/assess.js.map +1 -1
  36. package/dist/core/agent/assessment/compose.js +3 -0
  37. package/dist/core/agent/assessment/compose.js.map +1 -1
  38. package/dist/core/agent/assessment/reasons.js +13 -1
  39. package/dist/core/agent/assessment/reasons.js.map +1 -1
  40. package/dist/core/agent/buildToolRegistry.js +38 -16
  41. package/dist/core/agent/buildToolRegistry.js.map +1 -1
  42. package/dist/core/agent/composeRequest.js +8 -4
  43. package/dist/core/agent/composeRequest.js.map +1 -1
  44. package/dist/core/agent/coverage/answer.js +45 -2
  45. package/dist/core/agent/coverage/answer.js.map +1 -1
  46. package/dist/core/agent/coverage/inProgress.js +277 -0
  47. package/dist/core/agent/coverage/inProgress.js.map +1 -0
  48. package/dist/core/agent/coverage/index.js +6 -1
  49. package/dist/core/agent/coverage/index.js.map +1 -1
  50. package/dist/core/agent/coverage/items.js +8 -4
  51. package/dist/core/agent/coverage/items.js.map +1 -1
  52. package/dist/core/agent/coverage/ledger.js +22 -1
  53. package/dist/core/agent/coverage/ledger.js.map +1 -1
  54. package/dist/core/agent/coverage/read.js +7 -2
  55. package/dist/core/agent/coverage/read.js.map +1 -1
  56. package/dist/core/agent/evidence/evidenceIndex.js +166 -42
  57. package/dist/core/agent/evidence/evidenceIndex.js.map +1 -1
  58. package/dist/core/agent/evidence/frames.js +6 -0
  59. package/dist/core/agent/evidence/frames.js.map +1 -1
  60. package/dist/core/agent/evidence/resultCarries.js +161 -0
  61. package/dist/core/agent/evidence/resultCarries.js.map +1 -0
  62. package/dist/core/agent/evidence/servedJson.js +233 -0
  63. package/dist/core/agent/evidence/servedJson.js.map +1 -0
  64. package/dist/core/agent/findings/reserved.js +188 -17
  65. package/dist/core/agent/findings/reserved.js.map +1 -1
  66. package/dist/core/agent/findings/types.js.map +1 -1
  67. package/dist/core/agent/honesty/armed.js +32 -1
  68. package/dist/core/agent/honesty/armed.js.map +1 -1
  69. package/dist/core/agent/honesty/mounts.js +79 -7
  70. package/dist/core/agent/honesty/mounts.js.map +1 -1
  71. package/dist/core/agent/honesty/sourceCorpus.js +266 -0
  72. package/dist/core/agent/honesty/sourceCorpus.js.map +1 -0
  73. package/dist/core/agent/stages/argumentAsk.js +10 -1
  74. package/dist/core/agent/stages/argumentAsk.js.map +1 -1
  75. package/dist/core/agent/stages/callLLM.js +10 -4
  76. package/dist/core/agent/stages/callLLM.js.map +1 -1
  77. package/dist/core/agent/stages/seed.js +24 -3
  78. package/dist/core/agent/stages/seed.js.map +1 -1
  79. package/dist/core/agent/stages/toolCalls.js +40 -9
  80. package/dist/core/agent/stages/toolCalls.js.map +1 -1
  81. package/dist/core/agent/window/strategies/summarizeOldest.js +4 -0
  82. package/dist/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  83. package/dist/core/agent/window/summarize.js +14 -1
  84. package/dist/core/agent/window/summarize.js.map +1 -1
  85. package/dist/core/messageFrom.js +70 -0
  86. package/dist/core/messageFrom.js.map +1 -0
  87. package/dist/core/slots/buildToolsSlot.js +45 -3
  88. package/dist/core/slots/buildToolsSlot.js.map +1 -1
  89. package/dist/core/toolShownArgs.js +12 -1
  90. package/dist/core/toolShownArgs.js.map +1 -1
  91. package/dist/core-flow/Conditional.js +9 -1
  92. package/dist/core-flow/Conditional.js.map +1 -1
  93. package/dist/core-flow/Graph.js +11 -2
  94. package/dist/core-flow/Graph.js.map +1 -1
  95. package/dist/core-flow/Loop.js +14 -1
  96. package/dist/core-flow/Loop.js.map +1 -1
  97. package/dist/core-flow/Parallel.js +9 -1
  98. package/dist/core-flow/Parallel.js.map +1 -1
  99. package/dist/core-flow/Sequence.js +16 -3
  100. package/dist/core-flow/Sequence.js.map +1 -1
  101. package/dist/core-flow/Workflow.js +12 -1
  102. package/dist/core-flow/Workflow.js.map +1 -1
  103. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js +9 -339
  104. package/dist/esm/adapters/llm/BrowserAnthropicProvider.js.map +1 -1
  105. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.d.ts +187 -0
  106. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js +518 -0
  107. package/dist/esm/adapters/llm/InvokeModelGatewayProvider.js.map +1 -0
  108. package/dist/esm/adapters/llm/anthropicMessagesWire.d.ts +142 -0
  109. package/dist/esm/adapters/llm/anthropicMessagesWire.js +362 -0
  110. package/dist/esm/adapters/llm/anthropicMessagesWire.js.map +1 -0
  111. package/dist/esm/adapters/llm/createProvider.d.ts +5 -2
  112. package/dist/esm/adapters/llm/createProvider.js +3 -0
  113. package/dist/esm/adapters/llm/createProvider.js.map +1 -1
  114. package/dist/esm/adapters/types.d.ts +23 -0
  115. package/dist/esm/adapters/types.js.map +1 -1
  116. package/dist/esm/core/Agent.d.ts +7 -0
  117. package/dist/esm/core/Agent.js +89 -3
  118. package/dist/esm/core/Agent.js.map +1 -1
  119. package/dist/esm/core/agent/AgentBuilder.d.ts +40 -2
  120. package/dist/esm/core/agent/AgentBuilder.js +73 -8
  121. package/dist/esm/core/agent/AgentBuilder.js.map +1 -1
  122. package/dist/esm/core/agent/arguments/ask.d.ts +19 -9
  123. package/dist/esm/core/agent/arguments/ask.js +38 -21
  124. package/dist/esm/core/agent/arguments/ask.js.map +1 -1
  125. package/dist/esm/core/agent/arguments/checks.d.ts +169 -0
  126. package/dist/esm/core/agent/arguments/checks.js +377 -0
  127. package/dist/esm/core/agent/arguments/checks.js.map +1 -0
  128. package/dist/esm/core/agent/arguments/declare.d.ts +37 -3
  129. package/dist/esm/core/agent/arguments/declare.js +62 -9
  130. package/dist/esm/core/agent/arguments/declare.js.map +1 -1
  131. package/dist/esm/core/agent/arguments/dispatch.d.ts +8 -3
  132. package/dist/esm/core/agent/arguments/dispatch.js +29 -9
  133. package/dist/esm/core/agent/arguments/dispatch.js.map +1 -1
  134. package/dist/esm/core/agent/arguments/resolve.d.ts +110 -24
  135. package/dist/esm/core/agent/arguments/resolve.js +261 -63
  136. package/dist/esm/core/agent/arguments/resolve.js.map +1 -1
  137. package/dist/esm/core/agent/arguments/rows.d.ts +86 -15
  138. package/dist/esm/core/agent/arguments/rows.js +50 -0
  139. package/dist/esm/core/agent/arguments/rows.js.map +1 -1
  140. package/dist/esm/core/agent/arguments/serve.d.ts +53 -4
  141. package/dist/esm/core/agent/arguments/serve.js +57 -12
  142. package/dist/esm/core/agent/arguments/serve.js.map +1 -1
  143. package/dist/esm/core/agent/arguments/sources.d.ts +91 -0
  144. package/dist/esm/core/agent/arguments/sources.js +109 -0
  145. package/dist/esm/core/agent/arguments/sources.js.map +1 -0
  146. package/dist/esm/core/agent/arguments/subflow.d.ts +53 -2
  147. package/dist/esm/core/agent/arguments/subflow.js +71 -12
  148. package/dist/esm/core/agent/arguments/subflow.js.map +1 -1
  149. package/dist/esm/core/agent/assessment/assess.js +109 -5
  150. package/dist/esm/core/agent/assessment/assess.js.map +1 -1
  151. package/dist/esm/core/agent/assessment/compose.js +3 -0
  152. package/dist/esm/core/agent/assessment/compose.js.map +1 -1
  153. package/dist/esm/core/agent/assessment/reasons.js +13 -1
  154. package/dist/esm/core/agent/assessment/reasons.js.map +1 -1
  155. package/dist/esm/core/agent/assessment/types.d.ts +19 -6
  156. package/dist/esm/core/agent/buildToolRegistry.d.ts +12 -0
  157. package/dist/esm/core/agent/buildToolRegistry.js +38 -16
  158. package/dist/esm/core/agent/buildToolRegistry.js.map +1 -1
  159. package/dist/esm/core/agent/composeRequest.d.ts +4 -2
  160. package/dist/esm/core/agent/composeRequest.js +8 -4
  161. package/dist/esm/core/agent/composeRequest.js.map +1 -1
  162. package/dist/esm/core/agent/coverage/answer.d.ts +17 -1
  163. package/dist/esm/core/agent/coverage/answer.js +45 -2
  164. package/dist/esm/core/agent/coverage/answer.js.map +1 -1
  165. package/dist/esm/core/agent/coverage/inProgress.d.ts +124 -0
  166. package/dist/esm/core/agent/coverage/inProgress.js +266 -0
  167. package/dist/esm/core/agent/coverage/inProgress.js.map +1 -0
  168. package/dist/esm/core/agent/coverage/index.d.ts +3 -2
  169. package/dist/esm/core/agent/coverage/index.js +1 -0
  170. package/dist/esm/core/agent/coverage/index.js.map +1 -1
  171. package/dist/esm/core/agent/coverage/items.d.ts +3 -0
  172. package/dist/esm/core/agent/coverage/items.js +7 -4
  173. package/dist/esm/core/agent/coverage/items.js.map +1 -1
  174. package/dist/esm/core/agent/coverage/ledger.d.ts +8 -0
  175. package/dist/esm/core/agent/coverage/ledger.js +22 -1
  176. package/dist/esm/core/agent/coverage/ledger.js.map +1 -1
  177. package/dist/esm/core/agent/coverage/read.d.ts +8 -1
  178. package/dist/esm/core/agent/coverage/read.js +7 -2
  179. package/dist/esm/core/agent/coverage/read.js.map +1 -1
  180. package/dist/esm/core/agent/coverage/types.d.ts +49 -0
  181. package/dist/esm/core/agent/evidence/evidenceIndex.d.ts +64 -3
  182. package/dist/esm/core/agent/evidence/evidenceIndex.js +161 -39
  183. package/dist/esm/core/agent/evidence/evidenceIndex.js.map +1 -1
  184. package/dist/esm/core/agent/evidence/frames.d.ts +6 -0
  185. package/dist/esm/core/agent/evidence/frames.js +6 -0
  186. package/dist/esm/core/agent/evidence/frames.js.map +1 -1
  187. package/dist/esm/core/agent/evidence/resultCarries.d.ts +62 -0
  188. package/dist/esm/core/agent/evidence/resultCarries.js +154 -0
  189. package/dist/esm/core/agent/evidence/resultCarries.js.map +1 -0
  190. package/dist/esm/core/agent/evidence/servedJson.d.ts +91 -0
  191. package/dist/esm/core/agent/evidence/servedJson.js +228 -0
  192. package/dist/esm/core/agent/evidence/servedJson.js.map +1 -0
  193. package/dist/esm/core/agent/findings/reserved.d.ts +112 -6
  194. package/dist/esm/core/agent/findings/reserved.js +185 -16
  195. package/dist/esm/core/agent/findings/reserved.js.map +1 -1
  196. package/dist/esm/core/agent/findings/types.d.ts +9 -0
  197. package/dist/esm/core/agent/findings/types.js.map +1 -1
  198. package/dist/esm/core/agent/honesty/armed.d.ts +32 -0
  199. package/dist/esm/core/agent/honesty/armed.js +30 -0
  200. package/dist/esm/core/agent/honesty/armed.js.map +1 -1
  201. package/dist/esm/core/agent/honesty/mounts.d.ts +41 -0
  202. package/dist/esm/core/agent/honesty/mounts.js +79 -7
  203. package/dist/esm/core/agent/honesty/mounts.js.map +1 -1
  204. package/dist/esm/core/agent/honesty/sourceCorpus.d.ts +68 -0
  205. package/dist/esm/core/agent/honesty/sourceCorpus.js +261 -0
  206. package/dist/esm/core/agent/honesty/sourceCorpus.js.map +1 -0
  207. package/dist/esm/core/agent/stages/argumentAsk.js +10 -1
  208. package/dist/esm/core/agent/stages/argumentAsk.js.map +1 -1
  209. package/dist/esm/core/agent/stages/callLLM.d.ts +12 -0
  210. package/dist/esm/core/agent/stages/callLLM.js +11 -5
  211. package/dist/esm/core/agent/stages/callLLM.js.map +1 -1
  212. package/dist/esm/core/agent/stages/seed.d.ts +13 -0
  213. package/dist/esm/core/agent/stages/seed.js +25 -4
  214. package/dist/esm/core/agent/stages/seed.js.map +1 -1
  215. package/dist/esm/core/agent/stages/toolCalls.d.ts +15 -0
  216. package/dist/esm/core/agent/stages/toolCalls.js +40 -9
  217. package/dist/esm/core/agent/stages/toolCalls.js.map +1 -1
  218. package/dist/esm/core/agent/types.d.ts +58 -4
  219. package/dist/esm/core/agent/window/strategies/summarizeOldest.js +4 -0
  220. package/dist/esm/core/agent/window/strategies/summarizeOldest.js.map +1 -1
  221. package/dist/esm/core/agent/window/summarize.d.ts +12 -0
  222. package/dist/esm/core/agent/window/summarize.js +14 -1
  223. package/dist/esm/core/agent/window/summarize.js.map +1 -1
  224. package/dist/esm/core/messageFrom.d.ts +56 -0
  225. package/dist/esm/core/messageFrom.js +64 -0
  226. package/dist/esm/core/messageFrom.js.map +1 -0
  227. package/dist/esm/core/slots/buildToolsSlot.d.ts +14 -0
  228. package/dist/esm/core/slots/buildToolsSlot.js +46 -4
  229. package/dist/esm/core/slots/buildToolsSlot.js.map +1 -1
  230. package/dist/esm/core/toolShownArgs.d.ts +6 -0
  231. package/dist/esm/core/toolShownArgs.js +10 -0
  232. package/dist/esm/core/toolShownArgs.js.map +1 -1
  233. package/dist/esm/core-flow/Conditional.js +9 -1
  234. package/dist/esm/core-flow/Conditional.js.map +1 -1
  235. package/dist/esm/core-flow/Graph.d.ts +6 -0
  236. package/dist/esm/core-flow/Graph.js +11 -2
  237. package/dist/esm/core-flow/Graph.js.map +1 -1
  238. package/dist/esm/core-flow/Loop.js +14 -1
  239. package/dist/esm/core-flow/Loop.js.map +1 -1
  240. package/dist/esm/core-flow/Parallel.js +9 -1
  241. package/dist/esm/core-flow/Parallel.js.map +1 -1
  242. package/dist/esm/core-flow/Sequence.js +16 -3
  243. package/dist/esm/core-flow/Sequence.js.map +1 -1
  244. package/dist/esm/core-flow/Workflow.js +12 -1
  245. package/dist/esm/core-flow/Workflow.js.map +1 -1
  246. package/dist/esm/events/payloads.d.ts +16 -0
  247. package/dist/esm/index.d.ts +3 -1
  248. package/dist/esm/index.js +6 -0
  249. package/dist/esm/index.js.map +1 -1
  250. package/dist/esm/lib/answer-account/facts/howSure.js +5 -0
  251. package/dist/esm/lib/answer-account/facts/howSure.js.map +1 -1
  252. package/dist/esm/lib/answer-account/templates.d.ts +4 -1
  253. package/dist/esm/lib/answer-account/templates.js +7 -2
  254. package/dist/esm/lib/answer-account/templates.js.map +1 -1
  255. package/dist/esm/providers.d.ts +1 -0
  256. package/dist/esm/providers.js +1 -0
  257. package/dist/esm/providers.js.map +1 -1
  258. package/dist/esm/resilience/withRetry.d.ts +31 -15
  259. package/dist/esm/resilience/withRetry.js +115 -52
  260. package/dist/esm/resilience/withRetry.js.map +1 -1
  261. package/dist/index.js +11 -2
  262. package/dist/index.js.map +1 -1
  263. package/dist/lib/answer-account/facts/howSure.js +5 -0
  264. package/dist/lib/answer-account/facts/howSure.js.map +1 -1
  265. package/dist/lib/answer-account/templates.js +7 -2
  266. package/dist/lib/answer-account/templates.js.map +1 -1
  267. package/dist/providers.js +5 -1
  268. package/dist/providers.js.map +1 -1
  269. package/dist/resilience/withRetry.js +115 -52
  270. package/dist/resilience/withRetry.js.map +1 -1
  271. package/dist/types/adapters/llm/BrowserAnthropicProvider.d.ts.map +1 -1
  272. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts +188 -0
  273. package/dist/types/adapters/llm/InvokeModelGatewayProvider.d.ts.map +1 -0
  274. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts +143 -0
  275. package/dist/types/adapters/llm/anthropicMessagesWire.d.ts.map +1 -0
  276. package/dist/types/adapters/llm/createProvider.d.ts +5 -2
  277. package/dist/types/adapters/llm/createProvider.d.ts.map +1 -1
  278. package/dist/types/adapters/types.d.ts +23 -0
  279. package/dist/types/adapters/types.d.ts.map +1 -1
  280. package/dist/types/core/Agent.d.ts +7 -0
  281. package/dist/types/core/Agent.d.ts.map +1 -1
  282. package/dist/types/core/agent/AgentBuilder.d.ts +40 -2
  283. package/dist/types/core/agent/AgentBuilder.d.ts.map +1 -1
  284. package/dist/types/core/agent/arguments/ask.d.ts +19 -9
  285. package/dist/types/core/agent/arguments/ask.d.ts.map +1 -1
  286. package/dist/types/core/agent/arguments/checks.d.ts +170 -0
  287. package/dist/types/core/agent/arguments/checks.d.ts.map +1 -0
  288. package/dist/types/core/agent/arguments/declare.d.ts +37 -3
  289. package/dist/types/core/agent/arguments/declare.d.ts.map +1 -1
  290. package/dist/types/core/agent/arguments/dispatch.d.ts +8 -3
  291. package/dist/types/core/agent/arguments/dispatch.d.ts.map +1 -1
  292. package/dist/types/core/agent/arguments/resolve.d.ts +110 -24
  293. package/dist/types/core/agent/arguments/resolve.d.ts.map +1 -1
  294. package/dist/types/core/agent/arguments/rows.d.ts +86 -15
  295. package/dist/types/core/agent/arguments/rows.d.ts.map +1 -1
  296. package/dist/types/core/agent/arguments/serve.d.ts +53 -4
  297. package/dist/types/core/agent/arguments/serve.d.ts.map +1 -1
  298. package/dist/types/core/agent/arguments/sources.d.ts +92 -0
  299. package/dist/types/core/agent/arguments/sources.d.ts.map +1 -0
  300. package/dist/types/core/agent/arguments/subflow.d.ts +53 -2
  301. package/dist/types/core/agent/arguments/subflow.d.ts.map +1 -1
  302. package/dist/types/core/agent/assessment/assess.d.ts.map +1 -1
  303. package/dist/types/core/agent/assessment/compose.d.ts.map +1 -1
  304. package/dist/types/core/agent/assessment/reasons.d.ts.map +1 -1
  305. package/dist/types/core/agent/assessment/types.d.ts +19 -6
  306. package/dist/types/core/agent/assessment/types.d.ts.map +1 -1
  307. package/dist/types/core/agent/buildToolRegistry.d.ts +12 -0
  308. package/dist/types/core/agent/buildToolRegistry.d.ts.map +1 -1
  309. package/dist/types/core/agent/composeRequest.d.ts +4 -2
  310. package/dist/types/core/agent/composeRequest.d.ts.map +1 -1
  311. package/dist/types/core/agent/coverage/answer.d.ts +17 -1
  312. package/dist/types/core/agent/coverage/answer.d.ts.map +1 -1
  313. package/dist/types/core/agent/coverage/inProgress.d.ts +125 -0
  314. package/dist/types/core/agent/coverage/inProgress.d.ts.map +1 -0
  315. package/dist/types/core/agent/coverage/index.d.ts +3 -2
  316. package/dist/types/core/agent/coverage/index.d.ts.map +1 -1
  317. package/dist/types/core/agent/coverage/items.d.ts +3 -0
  318. package/dist/types/core/agent/coverage/items.d.ts.map +1 -1
  319. package/dist/types/core/agent/coverage/ledger.d.ts +8 -0
  320. package/dist/types/core/agent/coverage/ledger.d.ts.map +1 -1
  321. package/dist/types/core/agent/coverage/read.d.ts +8 -1
  322. package/dist/types/core/agent/coverage/read.d.ts.map +1 -1
  323. package/dist/types/core/agent/coverage/types.d.ts +49 -0
  324. package/dist/types/core/agent/coverage/types.d.ts.map +1 -1
  325. package/dist/types/core/agent/evidence/evidenceIndex.d.ts +64 -3
  326. package/dist/types/core/agent/evidence/evidenceIndex.d.ts.map +1 -1
  327. package/dist/types/core/agent/evidence/frames.d.ts +6 -0
  328. package/dist/types/core/agent/evidence/frames.d.ts.map +1 -1
  329. package/dist/types/core/agent/evidence/resultCarries.d.ts +63 -0
  330. package/dist/types/core/agent/evidence/resultCarries.d.ts.map +1 -0
  331. package/dist/types/core/agent/evidence/servedJson.d.ts +92 -0
  332. package/dist/types/core/agent/evidence/servedJson.d.ts.map +1 -0
  333. package/dist/types/core/agent/findings/reserved.d.ts +112 -6
  334. package/dist/types/core/agent/findings/reserved.d.ts.map +1 -1
  335. package/dist/types/core/agent/findings/types.d.ts +9 -0
  336. package/dist/types/core/agent/findings/types.d.ts.map +1 -1
  337. package/dist/types/core/agent/honesty/armed.d.ts +32 -0
  338. package/dist/types/core/agent/honesty/armed.d.ts.map +1 -1
  339. package/dist/types/core/agent/honesty/mounts.d.ts +41 -0
  340. package/dist/types/core/agent/honesty/mounts.d.ts.map +1 -1
  341. package/dist/types/core/agent/honesty/sourceCorpus.d.ts +69 -0
  342. package/dist/types/core/agent/honesty/sourceCorpus.d.ts.map +1 -0
  343. package/dist/types/core/agent/stages/argumentAsk.d.ts.map +1 -1
  344. package/dist/types/core/agent/stages/callLLM.d.ts +12 -0
  345. package/dist/types/core/agent/stages/callLLM.d.ts.map +1 -1
  346. package/dist/types/core/agent/stages/seed.d.ts +13 -0
  347. package/dist/types/core/agent/stages/seed.d.ts.map +1 -1
  348. package/dist/types/core/agent/stages/toolCalls.d.ts +15 -0
  349. package/dist/types/core/agent/stages/toolCalls.d.ts.map +1 -1
  350. package/dist/types/core/agent/types.d.ts +58 -4
  351. package/dist/types/core/agent/types.d.ts.map +1 -1
  352. package/dist/types/core/agent/window/strategies/summarizeOldest.d.ts.map +1 -1
  353. package/dist/types/core/agent/window/summarize.d.ts +12 -0
  354. package/dist/types/core/agent/window/summarize.d.ts.map +1 -1
  355. package/dist/types/core/messageFrom.d.ts +57 -0
  356. package/dist/types/core/messageFrom.d.ts.map +1 -0
  357. package/dist/types/core/slots/buildToolsSlot.d.ts +14 -0
  358. package/dist/types/core/slots/buildToolsSlot.d.ts.map +1 -1
  359. package/dist/types/core/toolShownArgs.d.ts +6 -0
  360. package/dist/types/core/toolShownArgs.d.ts.map +1 -1
  361. package/dist/types/core-flow/Conditional.d.ts.map +1 -1
  362. package/dist/types/core-flow/Graph.d.ts +6 -0
  363. package/dist/types/core-flow/Graph.d.ts.map +1 -1
  364. package/dist/types/core-flow/Loop.d.ts.map +1 -1
  365. package/dist/types/core-flow/Parallel.d.ts.map +1 -1
  366. package/dist/types/core-flow/Sequence.d.ts.map +1 -1
  367. package/dist/types/core-flow/Workflow.d.ts.map +1 -1
  368. package/dist/types/events/payloads.d.ts +16 -0
  369. package/dist/types/events/payloads.d.ts.map +1 -1
  370. package/dist/types/index.d.ts +3 -1
  371. package/dist/types/index.d.ts.map +1 -1
  372. package/dist/types/lib/answer-account/facts/howSure.d.ts.map +1 -1
  373. package/dist/types/lib/answer-account/templates.d.ts +4 -1
  374. package/dist/types/lib/answer-account/templates.d.ts.map +1 -1
  375. package/dist/types/providers.d.ts +1 -0
  376. package/dist/types/providers.d.ts.map +1 -1
  377. package/dist/types/resilience/withRetry.d.ts +31 -15
  378. package/dist/types/resilience/withRetry.d.ts.map +1 -1
  379. package/package.json +3 -3
package/CAPABILITIES.md CHANGED
@@ -71,7 +71,9 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
71
71
  | explaining ONE answer to a person in plain words — what was asked, how it was routed, what each tool checked and did not check, what it found, how sure, and anything wrong — every line from the record by a fixed versioned template (never a model), each with its template id and who vouches for it (person / library / tool / model / app), "not recorded" instead of a guess, own-run events only, three checks with the ones that could not run said aloud | `accountForAnswer` + `AnswerAccount` | `src/lib/answer-account/` | 9.116.0 |
72
72
  | a tool whose default NOBODY CHOSE (a log search that quietly defaults to 2 hours) — the LIBRARY fills a value the call left out from the tool's declared rule, never the tool; files one `argument` row per ruled argument per call on the findings ledger (`source: 'default'` filled or echoed — `proposed` tells them apart — or `'model'`), stamped with the conversation `turn`; tells the model in a past-tense note (only for a value the call ran with) behind a `toolChars` boundary every reader of a result reads through, so the note grounds nothing and hides no empty result; the answer's standing reads "not sure — assumed"; an "Assumed" block under `.limitsTravelWithTheAnswer()`; carried over MCP `_meta`; a ruled tool on an agent without the layer is REFUSED before any middleware asks, never run unruled; `{ ask }` is the batch ask (next row) | `Tool.askOrAssume` + `Tool.period` (`ToolPeriod`) + `ArgumentRow` + `agentfootprint.findings.argument` + `AgentBuilder.inputsLayer()` + `allow(value, why, { from })` | `src/core/agent/arguments/` | 9.122.0 |
73
73
  | a value the PERSON must give (a look-back period, a site, a row limit) that the model left out — the library asks ONCE for everything the batch needs, before anything in it runs, through the typed ask `requestInput` uses (`isInputPause`, `agent.resume(cp, { requestId, values })`, `standingAgent`): one field per distinct (tool, argument), positional ids, the author's question and choices, `context.agentfootprint` naming each field's calls, one period asked once across spellings (`24h` ↔ `-24h`); the answer re-checked against the property's own schema and asked again (at most three times) when it does not fit; `asked` then `answered` rows; the standing reads "ask" while it waits (`argument-asked`); the resume adds no model call; one human question per resume — a call refused a second pause in the batch that asked keeps the person's answer, so proposed again it runs with it and pauses for its own step (the person is asked once); the resume event carries the reply's shape, never a value | `askOrAssume: { x: { ask, choices? } }` + `argumentAskContext` + `ArgumentRow` (`asked`, `answered`, `free`) | `src/core/agent/arguments/` | 9.123.0 |
74
+ | where each argument value CAME FROM — the model says so (`_findings.from`: the person's words as a `quote`, a result `id`, an earlier answer, the app, or `'assumed'`) and the library CHECKS each claim before the batch runs: the quote in the person's own messages (never a composed step's message), a phrase the author declared on a choice (`said`), the value in the named result's own bytes (numbers and booleans in compact JSON found; a library note never counts), the person's earlier answer (`24h` ↔ `-24h`), the app's text and `externalGrounds`; a failed claim is filed as written, a library lookup is only a hint (`coincides`); an untraced value on an `ask` argument is ASKED (a reading shows the person their own words, `quoted` — no quote is shown on a row or an ask while a tool in reach can hide arguments: a registered argument view, or any ToolProvider); the standing reads `argument-read` / `value-contingent` / `argument-unverified`, and checked values read "consistent with the record" — never "known"; compositions mark another runner's output (`AgentInput.messageFrom: 'composed'`); `from` rides ruled tools only (first and required), explained once in its own property, with or without the findings ledger | `.inputsLayer({ argumentSources: true })` (or `.findings({ argumentSources: true })` beside the ledger) + `ArgumentRow` (`claimed`, `matched`, `quote`, `failed`, …) + `AgentInput.messageFrom` | `src/core/agent/arguments/` | 9.126.0 |
74
75
  | a result that does not say WHAT TIME its read covered — "no failed backups in the last hour" answered from an export that ends at 02:00 — the result declares its period on the doors it already returns (`absent()`, `coverage()`, `describedResult()`: `period: { queried, held, readAt? }` with `held` a range or `'unknown'`, ISO 8601 instants with a zone, never parsed durations) and an absence its source and time (`provenance`, `describedResult()`'s shape); one rule set refuses a malformed one at the mint and reads a foreign one without repair; the coverage channel carries it (`coverageDeclared`, `tools.absent` / `tools.coverage_declared`); the results layer (`src/core/agent/results/`) at the loop head files ONE verdict per call — covered · partly-held · not-held · unknown · undeclared (a tool with a period argument whose result said nothing) — and the answer's standing reads "not sure" for all but covered, joined to the inputs layer's row for who chose the period; a `Period:` line under `.limitsTravelWithTheAnswer()` and `periods` in a typed answer's limits; `canonical-notes.json` publishes the wire spelling for foreign minters | `period` on `absent`/`coverage`/`describedResult` + `DeclaredPeriod` + `periodVerdict` + `PeriodRow` + `PERIOD_WIRE` + `AgentBuilder.resultsLayer()` + `agentfootprint.findings.period` | `src/core/agent/coverage/period.ts` | 9.125.0 |
76
+ | a tool that counts a vendor's IN-FLIGHT state as a failure — a backup still running read as unprotected, 96 sessions still synchronizing read as "non-OK" — because its test was equality with the success value: a vendor state machine has three outcomes (settled-ok, in progress, failed), and the TOOL declares which of its items are still running on the `coverage()` it already returns (`inProgress`: a list of strings or `{ what, why?, short?, count? }`, needs `checked` beside it; the library never reads a state name); one rule set refuses a malformed list at the mint and reads a foreign `in_progress` without repair; the model reads `in_progress` plus one static clause after the note (served only when declared); `tools.coverage_declared` and `coverageDeclared` carry it; an `In progress (outcome not known yet):` section under `.limitsTravelWithTheAnswer()` and `answerCoverage.inProgress` in a typed answer's limits; the answer's standing is NOT changed (a label, not a reason); `canonical-notes.json` publishes `IN_PROGRESS_WIRE` | `inProgress` on `coverage` + `InProgressItem` + `IN_PROGRESS_WIRE` + `IN_PROGRESS_CLAUSE` + `IN_PROGRESS_SECTION_LABEL` + `AnswerInProgress` | `src/core/agent/coverage/inProgress.ts` | 9.126.0 |
75
77
  | how far an answer STANDS — known · consistent with the record · not sure (with the reasons) · ask · not assessed — folded from the run's COMMITTED record (never from the model's confidence, never from events, never "known" from silence: only a passed enforce answer check supports it); each reason names the row it rests on, `checked` counts what ran, this turn only; a pause of any kind reads `ask` from the recording alone, a run with no answer has no standing; one emptiness reader shared with the answer account (`coverage/emptiness.ts`: a `coverage()` envelope read through, a described result counted, an undeclared empty rowset said aloud) | `assessAnswer` + `AnswerAssessment` (on the observe door), `agent.assessment()` | `src/core/agent/assessment/` | 9.120.0 |
76
78
  | the answer's standing INSIDE the run, the moment the answer exists — the same fold as `agent.assessment()`, run as the first stage of the final branch and served as DATA (`turn_end` and one event: the value, its word, the reason kinds, the checks that ran — never a value or a quote); the evidence gate's clean pass and an answer given before a skill's declared steps finished committed as witness rows (so a clean gate reads "consistent", never "known"); an opt-in line appended to a PROSE answer (refused beside `.answerValidation()` and `.outputSchema()`); the in-run standing equals the fold of the saved recording; a typed answer's limits carry the values a tool's rule assumed | `AgentBuilder.answerLayer({ standingLine? })` + `turn_end.answerAssessment` + `agentfootprint.answer.assessed` + `GroundedRow` / `StepsUnfinishedRow` + `AnswerCoverage.assumed` | `src/core/agent/assessment/` | 9.124.0 |
77
79
  | serving that explanation to a browser without the recording: one opt-in wire op returns the account plus allow-listed "show me" leaves, owner-only on the `artifact-get` path, lane-free, cached and single-flight, a stated size ceiling, and a swept record answering "not available" even when cached | `standingAgent({ answerAccounts })` + `{ op: 'answer-account', ref }` + `answerAccountPointerKey` | `src/hosting/answerAccounts.ts` | 9.116.0 |
@@ -100,6 +102,8 @@ not in this table, search `src/index.ts` for the nearest noun before writing cod
100
102
  | a value the model USED — in its answer, or as an argument of a later call — that came ONLY from results it had itself declared open, noise or ruled-out (a theorem tower on a set-aside lemma): declared standings joined to the evidence corpus's carriers, no inference, no judge; one row per value per moment through the one writer; served back under `contingent (read off the record):`; cache reads summed on the record beside the input tokens | `ContingentRow` / `ContingentCarrier` + `agentfootprint.findings.contingent` + `findingsInstructionFor` (`FINDINGS_CONTINGENT_LINE`, registered under BOTH `.findings()` and `.namesAndNumbersFromEvidence()`, never one) + `EvidenceCorpus.carriers` / `EvidenceVerdict.grounded` + `AgentState.totalCacheReadTokens` | `src/core/agent/findings/contingent.ts` | 9.110.0 |
101
103
  | a model's ruling-out that rests only on "nothing found" — a `ruled-out` standing on a result the dispatch door recorded as an absence (`absent()`, bare or bounded by `coverage()`: status `'absent'`, a `coverageDeclared` row; never a second reading of a return) AND the model was served as one (a result an after-tool rule denied, a ceiling's refusal, a placed ticket or a summary files nothing) — marked by a row BESIDE the model's own, never a rewrite of it, carrying what the SERVED envelope said it did not check and its `try_instead` byte for byte; served back under `unsettled by absence (read off the record):`; no event, no instruction line | `UnsettledByAbsenceRow` + `agent.findings()` / the checkpoint's `findingsLedger` (the fold's `unsettled` map and the rule — `withUnsettledRows` / `unsettledRowOf` — are internal) | `src/core/agent/findings/unsettled.ts` | 9.113.0 |
102
104
  | an evaluation platform grading your agent from its OpenTelemetry traces — scores as the GenAI `gen_ai.evaluation.result` event, the conversation (as a digest), declared absence and coverage, the evidence verdict, findings standings and actionable checker accounting as content-free span events, and tool arguments/results only under their own opt-in, after your middleware rules | `otelObservability` options `captureToolContent` / `maxContentChars` / `conversationId` / `checkAccounting` (+ `agentCoreEvaluationSpans`, which turns tool content on) | `src/adapters/observability/otel.ts` | 9.115.0 |
105
+ | retrying a STREAMING call that fails before any token arrives — a 429, a 5xx or a reset at connect — without hand-rolling retries inside your provider, and without ever replaying tokens the caller has already seen — `stream()` is re-opened under the same policy as `complete()` (maxAttempts, shouldRetry, backoff, `req.signal`) until its first chunk arrives, reported as `error.retried` / `error.recovered`; after the first chunk nothing retries, because `openStream` owns the only retry loop and returns with that chunk | `withRetry` + `openStream` | `src/resilience/withRetry.ts` | 9.126.0 |
106
+ | reaching Anthropic models through your organisation's gateway that forwards the Bedrock InvokeModel operation over plain HTTPS with an API-key header (not SigV4, not Converse — so neither `bedrock()` nor `providerFromEnv()` reaches it): `complete()` + `stream()` (SSE the gateway already decoded; tool arguments reassembled), a key per model id (map or function, re-read per request), typed errors that name the model (a 403 says the key is scoped away from it), NO retry loop of its own — compose `withRetry`, whose default predicate now skips an error declaring `retryable: false` (a refusal before any request, a 2xx it could not read) | `invokeModelGateway` + `InvokeModelGatewayError` (`reason`, `status`, `retryable`, `modelId`, `retryAfterSeconds`) + `createProvider({ kind: 'invoke-model-gateway' })` | `src/adapters/llm/InvokeModelGatewayProvider.ts` | 9.126.0 |
103
107
 
104
108
  **Maintaining this table:** a new public capability adds a row, in the same
105
109
  change that adds the capability. `test/docs/capability-index.test.ts` fails if a
@@ -1,5 +1,5 @@
1
1
  {
2
- "$comment": "GENERATED by scripts/gen-canonical-notes.mjs from this package's own built exports - do not edit by hand. These are the strings a tool written in another language must reproduce byte for byte: the static notes each result shape carries, the reserved marker keys that make those shapes recognizable, the coverage block's heading, and the wire spelling of a result's period (every reserved key and the literal 'unknown'). Keys are the exported constant names, so the same value is reachable as a TypeScript import from the package's main entry point. The package version lives in package.json.",
2
+ "$comment": "GENERATED by scripts/gen-canonical-notes.mjs from this package's own built exports - do not edit by hand. These are the strings a tool written in another language must reproduce byte for byte: the static notes each result shape carries, the reserved marker keys that make those shapes recognizable, the coverage block's heading, and the wire spelling of a result's period (every reserved key and the literal 'unknown') and of a ledger's in-progress list. Keys are the exported constant names, so the same value is reachable as a TypeScript import from the package's main entry point. The package version lives in package.json.",
3
3
  "notes": {
4
4
  "ABSENCE_NOTE": "The search ran and matched nothing. This is an ANSWER, not an error: nothing failed, nothing was substituted for what was asked, and calling this tool again with the same arguments returns this same result. `checked` is the ground this answer covers; anything under `not_checked` or `cannot_cover` is ground it does NOT cover, and reaching that needs a different question, not a retry.",
5
5
  "COVERAGE_NOTE": "This result covers only what `checked` lists. `not_checked` is ground the call this result answers did not look at, and `cannot_cover` is ground this tool can never see — a clean result here is NOT evidence about either, and no retry changes `cannot_cover`. Carry these limits into any answer you build on this result.",
@@ -22,6 +22,10 @@
22
22
  "to": "to",
23
23
  "readAt": "read_at",
24
24
  "heldUnknown": "unknown"
25
+ },
26
+ "IN_PROGRESS_WIRE": {
27
+ "key": "in_progress",
28
+ "count": "count"
25
29
  }
26
30
  }
27
31
  }
@@ -22,7 +22,7 @@
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.BrowserAnthropicProvider = exports.browserAnthropic = void 0;
24
24
  const contextWindow_js_1 = require("./contextWindow.js");
25
- const anthropicCacheWire_js_1 = require("./anthropicCacheWire.js");
25
+ const anthropicMessagesWire_js_1 = require("./anthropicMessagesWire.js");
26
26
  const wireManifest_js_1 = require("./wireManifest.js");
27
27
  const ANTHROPIC_API_URL = 'https://api.anthropic.com/v1/messages';
28
28
  const ANTHROPIC_API_VERSION = '2023-06-01';
@@ -77,7 +77,7 @@ function browserAnthropic(options) {
77
77
  const json = (await response.json());
78
78
  // Manifest read from the FINAL body — the very object JSON.stringify
79
79
  // sent — after every transform (wireManifest.ts).
80
- return { ...fromAnthropicResponse(json), wireManifest: (0, wireManifest_js_1.toolManifestOf)(body.tools) };
80
+ return { ...(0, anthropicMessagesWire_js_1.fromAnthropicResponse)(json), wireManifest: (0, wireManifest_js_1.toolManifestOf)(body.tools) };
81
81
  },
82
82
  async *stream(req) {
83
83
  const body = {
@@ -100,176 +100,12 @@ function browserAnthropic(options) {
100
100
  throw await wrapStatus(response);
101
101
  if (!response.body)
102
102
  throw new Error('[browser-anthropic] response has no body');
103
- let tokenIndex = 0;
104
- const accumulatedText = [];
105
- // Tool-use blocks arrive in two waves: `content_block_start` carries
106
- // {id, name, input: {}} (input is ALWAYS empty there), then a series
107
- // of `content_block_delta` events with `delta.type === 'input_json_delta'`
108
- // ship the JSON args as string fragments. We accumulate the fragments
109
- // per content-block index, then JSON.parse on `content_block_stop`.
110
- // Indexing by `event.data.index` (NOT array push order) because text
111
- // and tool_use blocks can interleave.
112
- const toolUseByIndex = new Map();
113
- const completedToolUses = [];
114
- // v2.14 — thinking blocks arrive across multiple stream events:
115
- // - content_block_start with {type: 'thinking'} or {type:'redacted_thinking', signature}
116
- // - content_block_delta with delta.type === 'thinking_delta' (text fragment)
117
- // - content_block_delta with delta.type === 'signature_delta' (signature fragment)
118
- // - content_block_stop closes the block
119
- // We accumulate per-index (text + signature) and reassemble the full
120
- // content array at terminal time so the framework's handler can
121
- // normalize. The accumulator preserves block ORDER (thinking-first per
122
- // Anthropic's wire-format invariant).
123
- const thinkingByIndex = new Map();
124
- const completedThinking = [];
125
- // Anthropic's stream ships usage in two places:
126
- // 1. `message_start.message.usage.input_tokens` — input count, sent first.
127
- // 2. `message_delta.usage.output_tokens` — running output count.
128
- // The terminal `message_stop` carries no usage; we close on whatever
129
- // the latest `message_delta` had. There is no final JSON message.
130
- let messageId;
131
- let stopReason;
132
- let inputTokens = 0;
133
- let outputTokens = 0;
134
- // Cache traffic rides message_start's usage. Stays undefined when the
135
- // API reported nothing — see anthropicCacheWire.readCacheUsage.
136
- let cacheUsage = {};
137
- for await (const event of parseSSE(response.body)) {
138
- if (event.event === 'message_start') {
139
- const msg = event.data.message;
140
- if (msg) {
141
- messageId = msg.id;
142
- inputTokens = msg.usage?.input_tokens ?? 0;
143
- outputTokens = msg.usage?.output_tokens ?? 0;
144
- cacheUsage = (0, anthropicCacheWire_js_1.readCacheUsage)(msg.usage);
145
- }
146
- }
147
- else if (event.event === 'message_delta') {
148
- // Carries `delta.stop_reason` + cumulative `usage.output_tokens`.
149
- const data = event.data;
150
- if (data.delta?.stop_reason)
151
- stopReason = data.delta.stop_reason;
152
- if (data.usage?.output_tokens !== undefined)
153
- outputTokens = data.usage.output_tokens;
154
- if (data.usage?.input_tokens !== undefined)
155
- inputTokens = data.usage.input_tokens;
156
- }
157
- else if (event.event === 'content_block_start') {
158
- const data = event.data;
159
- const block = data.content_block;
160
- if (block?.type === 'tool_use' && typeof data.index === 'number') {
161
- toolUseByIndex.set(data.index, {
162
- id: block.id,
163
- name: block.name,
164
- partialJson: [],
165
- });
166
- }
167
- else if ((block?.type === 'thinking' || block?.type === 'redacted_thinking') &&
168
- typeof data.index === 'number') {
169
- // v2.14 — start tracking a thinking block. Text + signature
170
- // arrive via subsequent content_block_delta events; if start
171
- // ALSO carries a signature (rare but possible for redacted),
172
- // we seed the buffer from there.
173
- thinkingByIndex.set(data.index, {
174
- type: block.type,
175
- thinking: [],
176
- signature: block.signature !== undefined ? [block.signature] : [],
177
- });
178
- }
179
- }
180
- else if (event.event === 'content_block_delta') {
181
- const data = event.data;
182
- const delta = data.delta;
183
- if (delta?.type === 'text_delta' && delta.text) {
184
- accumulatedText.push(delta.text);
185
- yield { tokenIndex, content: delta.text, done: false };
186
- tokenIndex++;
187
- }
188
- else if (delta?.type === 'input_json_delta' &&
189
- typeof data.index === 'number' &&
190
- typeof delta.partial_json === 'string') {
191
- const tu = toolUseByIndex.get(data.index);
192
- if (tu)
193
- tu.partialJson.push(delta.partial_json);
194
- }
195
- else if (delta?.type === 'thinking_delta' &&
196
- typeof data.index === 'number' &&
197
- typeof delta.thinking === 'string') {
198
- // v2.14 — accumulate thinking text fragment
199
- const t = thinkingByIndex.get(data.index);
200
- if (t)
201
- t.thinking.push(delta.thinking);
202
- }
203
- else if (delta?.type === 'signature_delta' &&
204
- typeof data.index === 'number' &&
205
- typeof delta.signature === 'string') {
206
- // v2.14 — accumulate signature fragment (Anthropic ships
207
- // the signature as ONE delta but we accumulate just in case
208
- // they ever chunk it; concat preserves byte-exact regardless)
209
- const t = thinkingByIndex.get(data.index);
210
- if (t)
211
- t.signature.push(delta.signature);
212
- }
213
- }
214
- else if (event.event === 'content_block_stop') {
215
- const data = event.data;
216
- if (typeof data.index === 'number') {
217
- const tu = toolUseByIndex.get(data.index);
218
- if (tu) {
219
- const joined = tu.partialJson.join('');
220
- // Empty partial_json is valid — means no args (e.g. list_skills()).
221
- // JSON.parse('') throws; default to `{}` on empty OR malformed
222
- // payloads (which we should never see, but defending against an
223
- // upstream malformed chunk is cheaper than a broken loop).
224
- let parsed = {};
225
- if (joined.length > 0) {
226
- try {
227
- parsed = JSON.parse(joined);
228
- }
229
- catch {
230
- parsed = {};
231
- }
232
- }
233
- completedToolUses.push({ id: tu.id, name: tu.name, input: parsed });
234
- toolUseByIndex.delete(data.index);
235
- }
236
- // v2.14 — finalize a thinking block at content_block_stop.
237
- const t = thinkingByIndex.get(data.index);
238
- if (t) {
239
- const thinkingText = t.thinking.join('');
240
- const signature = t.signature.join('');
241
- if (t.type === 'redacted_thinking') {
242
- completedThinking.push({
243
- type: 'redacted_thinking',
244
- ...(signature.length > 0 && { signature }),
245
- });
246
- }
247
- else {
248
- completedThinking.push({
249
- type: 'thinking',
250
- thinking: thinkingText,
251
- ...(signature.length > 0 && { signature }),
252
- });
253
- }
254
- thinkingByIndex.delete(data.index);
255
- }
256
- }
257
- }
258
- }
259
- const response2 = {
260
- content: accumulatedText.join(''),
261
- toolCalls: completedToolUses.map((t) => ({ id: t.id, name: t.name, args: t.input })),
262
- usage: { input: inputTokens, output: outputTokens, ...cacheUsage },
263
- stopReason: normalizeStopReason(stopReason ?? 'stop'),
264
- ...(messageId && { providerRef: messageId }),
265
- // v2.14 — pass thinking blocks through as `rawThinking` so the
266
- // framework's NormalizeThinking subflow can normalize them into
267
- // ThinkingBlock[] via AnthropicThinkingHandler. Same shape as the
268
- // non-streaming path's fromAnthropicResponse.
269
- ...(completedThinking.length > 0 && { rawThinking: completedThinking }),
103
+ // Malformed tool-argument JSON becomes `{}` here — this adapter's
104
+ // behaviour since it shipped (the gateway adapter refuses instead).
105
+ yield* (0, anthropicMessagesWire_js_1.assembleAnthropicStream)(parseSSE(response.body), {
270
106
  wireManifest: (0, wireManifest_js_1.toolManifestOf)(body.tools),
271
- };
272
- yield { tokenIndex, content: '', done: true, response: response2 };
107
+ onMalformedToolArgs: () => ({}),
108
+ });
273
109
  },
274
110
  };
275
111
  return provider;
@@ -296,178 +132,12 @@ class BrowserAnthropicProvider {
296
132
  exports.BrowserAnthropicProvider = BrowserAnthropicProvider;
297
133
  // ─── Internals ──────────────────────────────────────────────────────
298
134
  function buildBody(req, defaultModel, defaultMaxTokens, parallelToolCalls) {
299
- // v2.14 — auto-bump max_tokens when thinking would violate Anthropic's
300
- // `max_tokens > thinking.budget_tokens` invariant. See the matching
301
- // logic in AnthropicProvider.buildParams; identical heuristic.
302
- let maxTokens = req.maxTokens ?? defaultMaxTokens;
303
- if (req.thinking && maxTokens <= req.thinking.budget) {
304
- maxTokens = req.thinking.budget + 1024;
305
- }
306
- // The map is only needed when a messages marker has to be placed; building
307
- // it always keeps the transform single-pass and costs one number per message.
308
- const messageIndexMap = [];
309
- const body = {
310
- model: req.model === 'anthropic' || req.model === 'browser-anthropic' ? defaultModel : req.model,
311
- max_tokens: maxTokens,
312
- messages: toAnthropicMessages(req.messages, messageIndexMap),
313
- };
314
- if (req.systemPrompt)
315
- body.system = req.systemPrompt;
316
- if (req.tools && req.tools.length > 0)
317
- body.tools = req.tools.map(toAnthropicTool);
318
- if (req.temperature !== undefined)
319
- body.temperature = req.temperature;
320
- if (req.stop && req.stop.length > 0)
321
- body.stop_sequences = [...req.stop];
322
- // v2.14 — extended-thinking activation, mirrors Node AnthropicProvider.
323
- if (req.thinking) {
324
- body.thinking = { type: 'enabled', budget_tokens: req.thinking.budget };
325
- }
326
- // One tool per reply — same guard as the Node provider: Anthropic rejects
327
- // `tool_choice` on a request that carries no tools.
328
- if (parallelToolCalls === false && body.tools !== undefined && body.tools.length > 0) {
329
- body.tool_choice = { type: 'auto', disable_parallel_tool_use: true };
330
- }
331
- // Forced choice wins over the parallel cap — see the Node provider.
332
- if (req.toolChoice && body.tools !== undefined && body.tools.length > 0) {
333
- body.tool_choice = { type: 'tool', name: req.toolChoice.name };
334
- }
335
- // v2.6+ cache markers — applied AFTER body construction so we have
336
- // the materialized fields (system / tools / messages) to mark.
337
- // Markers are clamped to Anthropic's 4-marker limit by
338
- // AnthropicCacheStrategy before we get here, so the loop below
339
- // doesn't need to enforce.
340
- if (req.cacheMarkers && req.cacheMarkers.length > 0) {
341
- (0, anthropicCacheWire_js_1.applyCacheMarkers)(body, req.cacheMarkers, messageIndexMap);
342
- }
343
- return body;
344
- }
345
- // applyCacheMarkers + MessageIndexMap moved to anthropicCacheWire.ts (shared
346
- // with the Node AnthropicProvider, which used to drop markers on the floor).
347
- function toAnthropicMessages(messages, indexMap) {
348
- const result = [];
349
- for (const m of messages) {
350
- if (m.role === 'system') {
351
- indexMap?.push(-1);
352
- continue;
353
- }
354
- if (m.role === 'user') {
355
- indexMap?.push(result.length);
356
- result.push({ role: 'user', content: m.content });
357
- continue;
358
- }
359
- if (m.role === 'assistant') {
360
- const blocks = [];
361
- // v2.14 — thinking blocks come FIRST per Anthropic's wire format
362
- // ordering rule. Out-of-order = HTTP 400. Signature passes through
363
- // BYTE-EXACT — no String() coercion, no JSON-roundtrip, no trim.
364
- if (m.thinkingBlocks && m.thinkingBlocks.length > 0) {
365
- for (const tb of m.thinkingBlocks) {
366
- if (tb.type === 'redacted_thinking') {
367
- blocks.push({
368
- type: 'redacted_thinking',
369
- ...(tb.signature !== undefined && { signature: tb.signature }),
370
- });
371
- }
372
- else {
373
- blocks.push({
374
- type: 'thinking',
375
- thinking: tb.content,
376
- ...(tb.signature !== undefined && { signature: tb.signature }),
377
- });
378
- }
379
- }
380
- }
381
- if (m.content)
382
- blocks.push({ type: 'text', text: m.content });
383
- if (m.toolCalls) {
384
- for (const tc of m.toolCalls) {
385
- blocks.push({ type: 'tool_use', id: tc.id, name: tc.name, input: { ...tc.args } });
386
- }
387
- }
388
- const hasThinking = m.thinkingBlocks !== undefined && m.thinkingBlocks.length > 0;
389
- indexMap?.push(result.length);
390
- result.push({
391
- role: 'assistant',
392
- content: blocks.length > 0 ? blocks : hasThinking ? blocks : m.content || '',
393
- });
394
- continue;
395
- }
396
- if (m.role === 'tool') {
397
- const block = {
398
- type: 'tool_result',
399
- tool_use_id: m.toolCallId ?? '',
400
- content: m.content,
401
- };
402
- const last = result[result.length - 1];
403
- if (last && last.role === 'user' && Array.isArray(last.content)) {
404
- // Coalesced into the user turn already open — several request messages
405
- // share one body index.
406
- indexMap?.push(result.length - 1);
407
- last.content.push(block);
408
- }
409
- else {
410
- indexMap?.push(result.length);
411
- result.push({ role: 'user', content: [block] });
412
- }
413
- continue;
414
- }
415
- }
416
- return result;
417
- }
418
- function toAnthropicTool(schema) {
419
- return {
420
- name: schema.name,
421
- description: schema.description,
422
- input_schema: { ...schema.inputSchema },
423
- };
424
- }
425
- function fromAnthropicResponse(message) {
426
- const textParts = [];
427
- const toolCalls = [];
428
- // v2.14 — detect thinking presence so we can pass the full content
429
- // array through as `rawThinking` for the framework's thinking subflow
430
- // (handler filters thinking + redacted_thinking blocks; ignores rest).
431
- let hasThinking = false;
432
- for (const block of message.content) {
433
- if (block.type === 'text')
434
- textParts.push(block.text);
435
- else if (block.type === 'tool_use') {
436
- toolCalls.push({ id: block.id, name: block.name, args: block.input });
437
- }
438
- else if (block.type === 'thinking' || block.type === 'redacted_thinking') {
439
- hasThinking = true;
440
- }
441
- }
135
+ // `model` first, then the shared Messages body (anthropicMessagesWire.ts).
442
136
  return {
443
- content: textParts.join(''),
444
- toolCalls,
445
- usage: {
446
- input: message.usage.input_tokens,
447
- output: message.usage.output_tokens,
448
- // Cache traffic, when Anthropic reported it. Absent stays absent —
449
- // see anthropicCacheWire.readCacheUsage.
450
- ...(0, anthropicCacheWire_js_1.readCacheUsage)(message.usage),
451
- },
452
- stopReason: normalizeStopReason(message.stop_reason),
453
- providerRef: message.id,
454
- // Pass the FULL content array — handler filters by type. Undefined
455
- // when no thinking present so the subflow's early-return kicks in.
456
- ...(hasThinking && { rawThinking: message.content }),
137
+ model: req.model === 'anthropic' || req.model === 'browser-anthropic' ? defaultModel : req.model,
138
+ ...(0, anthropicMessagesWire_js_1.buildMessagesBody)(req, defaultMaxTokens, parallelToolCalls),
457
139
  };
458
140
  }
459
- function normalizeStopReason(raw) {
460
- switch (raw) {
461
- case 'end_turn':
462
- return 'stop';
463
- case 'tool_use':
464
- return 'tool_use';
465
- case 'max_tokens':
466
- return 'max_tokens';
467
- default:
468
- return raw;
469
- }
470
- }
471
141
  /** Parse Anthropic's SSE event stream from a fetch ReadableStream. */
472
142
  async function* parseSSE(body) {
473
143
  const reader = body.getReader();
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserAnthropicProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BrowserAnthropicProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;AAYH,yDAA6D;AAC7D,mEAA4E;AAC5E,uDAAmD;AAEnD,MAAM,iBAAiB,GAAG,uCAAuC,CAAC;AAClE,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAwF3C;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAwB,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;AAEtF,SAAgB,gBAAgB,CAAC,OAAwC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC;IACnD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,4BAA4B,CAAC;IAC1E,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;IAC1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAE1C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAE,MAAM;QACnB,mBAAmB,EAAE,qBAAqB;QAC1C,2CAA2C,EAAE,MAAM;KACpD,CAAC;IAEF,MAAM,QAAQ,GAAgB;QAC5B,IAAI,EAAE,mBAAmB;QACzB,iBAAiB,EAAE,mBAAmB;QACtC,uBAAuB,EAAE,IAAI;QAC7B,KAAK,CAAC,QAAQ,CAAC,GAAe;YAC5B,MAAM,IAAI,GAAyB;gBACjC,GAAG,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;aACrE,CAAC;YACF,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;oBACjC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;YACzD,qEAAqE;YACrE,kDAAkD;YAClD,OAAO,EAAE,GAAG,qBAAqB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAA,gCAAc,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,CAAC;QACD,KAAK,CAAC,CAAC,MAAM,CAAC,GAAe;YAC3B,MAAM,IAAI,GAAyB;gBACjC,GAAG,SAAS,CAAC,GAAG,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;gBACpE,MAAM,EAAE,IAAI;aACb,CAAC;YACF,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE;oBACjC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAC1B,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;iBAC1C,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,MAAM,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAEhF,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,MAAM,eAAe,GAAa,EAAE,CAAC;YACrC,qEAAqE;YACrE,qEAAqE;YACrE,2EAA2E;YAC3E,sEAAsE;YACtE,oEAAoE;YACpE,qEAAqE;YACrE,sCAAsC;YACtC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA+D,CAAC;YAC9F,MAAM,iBAAiB,GAIlB,EAAE,CAAC;YACR,gEAAgE;YAChE,2FAA2F;YAC3F,+EAA+E;YAC/E,qFAAqF;YACrF,0CAA0C;YAC1C,qEAAqE;YACrE,gEAAgE;YAChE,uEAAuE;YACvE,sCAAsC;YACtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAG5B,CAAC;YACJ,MAAM,iBAAiB,GAGnB,EAAE,CAAC;YACP,gDAAgD;YAChD,6EAA6E;YAC7E,mEAAmE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,SAA6B,CAAC;YAClC,IAAI,UAA8B,CAAC;YACnC,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,UAAU,GAAgD,EAAE,CAAC;YAEjE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;oBACpC,MAAM,GAAG,GAAI,KAAK,CAAC,IAAuC,CAAC,OAAO,CAAC;oBACnE,IAAI,GAAG,EAAE,CAAC;wBACR,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;wBACnB,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;wBAC3C,YAAY,GAAG,GAAG,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC,CAAC;wBAC7C,UAAU,GAAG,IAAA,sCAAc,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;oBAC3C,kEAAkE;oBAClE,MAAM,IAAI,GAAG,KAAK,CAAC,IAGlB,CAAC;oBACF,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW;wBAAE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;oBACjE,IAAI,IAAI,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS;wBAAE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;oBACrF,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,KAAK,SAAS;wBAAE,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;gBACpF,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IAGlB,CAAC;oBACF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;oBACjC,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACjE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;4BAC7B,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,WAAW,EAAE,EAAE;yBAChB,CAAC,CAAC;oBACL,CAAC;yBAAM,IACL,CAAC,KAAK,EAAE,IAAI,KAAK,UAAU,IAAI,KAAK,EAAE,IAAI,KAAK,mBAAmB,CAAC;wBACnE,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAC9B,CAAC;wBACD,4DAA4D;wBAC5D,6DAA6D;wBAC7D,6DAA6D;wBAC7D,iCAAiC;wBACjC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;4BAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;yBAClE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,qBAAqB,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,KAAK,CAAC,IASlB,CAAC;oBACF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBACzB,IAAI,KAAK,EAAE,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBAC/C,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACjC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACvD,UAAU,EAAE,CAAC;oBACf,CAAC;yBAAM,IACL,KAAK,EAAE,IAAI,KAAK,kBAAkB;wBAClC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;wBAC9B,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,EACtC,CAAC;wBACD,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,EAAE;4BAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAClD,CAAC;yBAAM,IACL,KAAK,EAAE,IAAI,KAAK,gBAAgB;wBAChC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;wBAC9B,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAClC,CAAC;wBACD,4CAA4C;wBAC5C,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,CAAC;4BAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;yBAAM,IACL,KAAK,EAAE,IAAI,KAAK,iBAAiB;wBACjC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;wBAC9B,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EACnC,CAAC;wBACD,yDAAyD;wBACzD,4DAA4D;wBAC5D,8DAA8D;wBAC9D,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,CAAC;4BAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBAChD,MAAM,IAAI,GAAG,KAAK,CAAC,IAA0B,CAAC;oBAC9C,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACnC,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,EAAE,EAAE,CAAC;4BACP,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACvC,oEAAoE;4BACpE,+DAA+D;4BAC/D,gEAAgE;4BAChE,2DAA2D;4BAC3D,IAAI,MAAM,GAA4B,EAAE,CAAC;4BACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACtB,IAAI,CAAC;oCACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAA4B,CAAC;gCACzD,CAAC;gCAAC,MAAM,CAAC;oCACP,MAAM,GAAG,EAAE,CAAC;gCACd,CAAC;4BACH,CAAC;4BACD,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;4BACpE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACpC,CAAC;wBACD,2DAA2D;wBAC3D,MAAM,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC1C,IAAI,CAAC,EAAE,CAAC;4BACN,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACzC,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACvC,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;gCACnC,iBAAiB,CAAC,IAAI,CAAC;oCACrB,IAAI,EAAE,mBAAmB;oCACzB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;iCAC3C,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,iBAAiB,CAAC,IAAI,CAAC;oCACrB,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE,YAAY;oCACtB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC;iCAC3C,CAAC,CAAC;4BACL,CAAC;4BACD,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAgB;gBAC7B,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBACpF,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE;gBAClE,UAAU,EAAE,mBAAmB,CAAC,UAAU,IAAI,MAAM,CAAC;gBACrD,GAAG,CAAC,SAAS,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;gBAC5C,+DAA+D;gBAC/D,gEAAgE;gBAChE,kEAAkE;gBAClE,8CAA8C;gBAC9C,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;gBACvE,YAAY,EAAE,IAAA,gCAAc,EAAC,IAAI,CAAC,KAAK,CAAC;aACzC,CAAC;YACF,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACrE,CAAC;KACF,CAAC;IACF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAhQD,4CAgQC;AAED,MAAa,wBAAwB;IAC1B,IAAI,GAAG,mBAAmB,CAAC;IAC3B,iBAAiB,GAAG,mBAAmB,CAAC;IACxC,uBAAuB,GAAG,IAAI,CAAC;IACvB,KAAK,CAAc;IAEpC,YAAY,OAAwC;QAClD,IAAI,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,6EAA6E;IAC7E,QAAQ,CAAC,GAAe,EAAE,KAAoB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,GAAe,EAAE,KAAoB;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;CACF;AAnBD,4DAmBC;AAED,uEAAuE;AAEvE,SAAS,SAAS,CAChB,GAAe,EACf,YAAoB,EACpB,gBAAwB,EACxB,iBAA2B;IAE3B,uEAAuE;IACvE,oEAAoE;IACpE,+DAA+D;IAC/D,IAAI,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC;IAClD,IAAI,GAAG,CAAC,QAAQ,IAAI,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrD,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC;IACzC,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,IAAI,GAAyB;QACjC,KAAK,EACH,GAAG,CAAC,KAAK,KAAK,WAAW,IAAI,GAAG,CAAC,KAAK,KAAK,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK;QAC3F,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC;KAC7D,CAAC;IACF,IAAI,GAAG,CAAC,YAAY;QAAE,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;IACrD,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACtE,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IACzE,wEAAwE;IACxE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1E,CAAC;IACD,0EAA0E;IAC1E,oDAAoD;IACpD,IAAI,iBAAiB,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC;IACvE,CAAC;IACD,oEAAoE;IACpE,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACjE,CAAC;IACD,mEAAmE;IACnE,+DAA+D;IAC/D,uDAAuD;IACvD,+DAA+D;IAC/D,2BAA2B;IAC3B,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,IAAA,yCAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6EAA6E;AAC7E,6EAA6E;AAE7E,SAAS,mBAAmB,CAC1B,QAA+B,EAC/B,QAAmB;IAEnB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC3B,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,iEAAiE;YACjE,mEAAmE;YACnE,iEAAiE;YACjE,IAAI,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;oBAClC,IAAI,EAAE,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;wBACpC,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,mBAAmB;4BACzB,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;yBAC/D,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,EAAE,CAAC,OAAO;4BACpB,GAAG,CAAC,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC;yBAC/D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;YACD,MAAM,WAAW,GAAG,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;YAClF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE;aAC7E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,KAAK,GAA0B;gBACnC,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;gBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;aACnB,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,uEAAuE;gBACvE,wBAAwB;gBACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE;KACxC,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAyB;IACtD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAkE,EAAE,CAAC;IACpF,mEAAmE;IACnE,sEAAsE;IACtE,uEAAuE;IACvE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACjD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC3E,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,SAAS;QACT,KAAK,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY;YACjC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa;YACnC,mEAAmE;YACnE,yCAAyC;YACzC,GAAG,IAAA,sCAAc,EAAC,OAAO,CAAC,KAAK,CAAC;SACjC;QACD,UAAU,EAAE,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,WAAW,EAAE,OAAO,CAAC,EAAE;QACvB,mEAAmE;QACnE,mEAAmE;QACnE,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,KAAK,SAAS,CAAC,CAAC,QAAQ,CACtB,IAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC;QACH,iDAAiD;QACjD,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI;gBAAE,MAAM;YAChB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,IAAI,GAAG,CAAC;YACR,gCAAgC;YAChC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,KAAK,GAAG,SAAS,CAAC;gBACtB,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;yBACvD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;wBAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,qEAAqE;gBACrE,iEAAiE;gBACjE,gEAAgE;gBAChE,mCAAmC;gBACnC,IAAI,IAAI,GAAY,EAAE,CAAC;gBACvB,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC1C,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,GAAG,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAkB;IAC1C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,MAAM,GAAG,IAAA,0CAAuB,EAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC1D,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ;QACR,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC,CAAC;IACH,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,KAAK,CACP,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAC5F,EACD;QACE,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CACF,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,MAAM,MAAM,GAAG,IAAA,0CAAuB,EAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC/E,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE;YACpE,IAAI,EAAE,+BAA+B;YACrC,KAAK,EAAE,GAAG;SACX,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"BrowserAnthropicProvider.js","sourceRoot":"","sources":["../../../src/adapters/llm/BrowserAnthropicProvider.ts"],"names":[],"mappings":"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"}