zidane 7.2.5 → 8.0.4

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 (376) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +34 -6
  3. package/dist/{acp-D-tVyUjw.js → acp-DQDhi2dj.js} +230 -77
  4. package/dist/acp-DQDhi2dj.js.map +1 -0
  5. package/dist/acp-cli.d.ts +1 -1
  6. package/dist/acp-cli.js +9 -66
  7. package/dist/acp-cli.js.map +1 -1
  8. package/dist/acp.d.ts +10 -590
  9. package/dist/acp.d.ts.map +1 -1
  10. package/dist/acp.js +3 -3
  11. package/dist/{agent-D0zZnGbt.js → agent-DSLNmBp0.js} +14401 -13214
  12. package/dist/agent-DSLNmBp0.js.map +1 -0
  13. package/dist/agent.d.ts +1 -1
  14. package/dist/agent.js +3 -2
  15. package/dist/aliasing-lVFbm81n.js +217 -0
  16. package/dist/aliasing-lVFbm81n.js.map +1 -0
  17. package/dist/{anthropic-C2aole0G.js → anthropic-CD00LhUP.js} +1442 -1264
  18. package/dist/anthropic-CD00LhUP.js.map +1 -0
  19. package/dist/artifacts-CV2hUKnL.js.map +1 -1
  20. package/dist/{atomic-write-B7zr1ddF.js → atomic-write-Ijgf2Mhc.js} +13 -3
  21. package/dist/atomic-write-Ijgf2Mhc.js.map +1 -0
  22. package/dist/call-tool-dHlbGOIY.js +70 -0
  23. package/dist/call-tool-dHlbGOIY.js.map +1 -0
  24. package/dist/chat/pure.d.ts +372 -6
  25. package/dist/chat/pure.d.ts.map +1 -1
  26. package/dist/chat/pure.js +35 -244
  27. package/dist/chat/pure.js.map +1 -1
  28. package/dist/{approvals-DKaJZYlm.js → chat-JPJJ8uu5.js} +15879 -14631
  29. package/dist/chat-JPJJ8uu5.js.map +1 -0
  30. package/dist/chat.d.ts +4 -6
  31. package/dist/chat.js +23 -12
  32. package/dist/cli-shared-C-YCaglL.js +159 -0
  33. package/dist/cli-shared-C-YCaglL.js.map +1 -0
  34. package/dist/client-core-BQSyDALT.d.ts +2115 -0
  35. package/dist/client-core-BQSyDALT.d.ts.map +1 -0
  36. package/dist/codemode-worker.d.ts +1 -0
  37. package/dist/codemode-worker.js +155 -0
  38. package/dist/codemode-worker.js.map +1 -0
  39. package/dist/codemode.d.ts +352 -0
  40. package/dist/codemode.d.ts.map +1 -0
  41. package/dist/codemode.js +5 -0
  42. package/dist/connection-Dr-Js4yZ.d.ts +28 -0
  43. package/dist/connection-Dr-Js4yZ.d.ts.map +1 -0
  44. package/dist/connection-loop-gdh22LTI.js +112 -0
  45. package/dist/connection-loop-gdh22LTI.js.map +1 -0
  46. package/dist/context-segments-BHKlagL6.js +1016 -0
  47. package/dist/context-segments-BHKlagL6.js.map +1 -0
  48. package/dist/{context-transport-T_6AYIvy.js → context-transport-DSMTUsK1.js} +3 -3
  49. package/dist/{context-transport-T_6AYIvy.js.map → context-transport-DSMTUsK1.js.map} +1 -1
  50. package/dist/contexts/daytona.d.ts +19 -8
  51. package/dist/contexts/daytona.d.ts.map +1 -1
  52. package/dist/contexts/daytona.js +1 -440
  53. package/dist/contexts/docker.d.ts +36 -7
  54. package/dist/contexts/docker.d.ts.map +1 -1
  55. package/dist/contexts/docker.js +1 -456
  56. package/dist/contexts/e2b.d.ts +68 -13
  57. package/dist/contexts/e2b.d.ts.map +1 -1
  58. package/dist/contexts/e2b.js +1 -382
  59. package/dist/contexts/sandbox.d.ts +1 -1
  60. package/dist/contexts/sandbox.js +5 -0
  61. package/dist/contexts/sandbox.js.map +1 -1
  62. package/dist/{contexts-CRE9pw07.js → contexts-d7UolYot.js} +1059 -524
  63. package/dist/contexts-d7UolYot.js.map +1 -0
  64. package/dist/contexts.d.ts +3 -3
  65. package/dist/contexts.js +1 -1
  66. package/dist/cred-keys-GpBg71cP.js +105 -0
  67. package/dist/cred-keys-GpBg71cP.js.map +1 -0
  68. package/dist/{auth-BG2rVKSt.js → credentials-JttEuRON.js} +55 -206
  69. package/dist/credentials-JttEuRON.js.map +1 -0
  70. package/dist/{cursor-iojRXHF9.js → cursor-CdjaQTBW.js} +3 -3
  71. package/dist/{cursor-iojRXHF9.js.map → cursor-CdjaQTBW.js.map} +1 -1
  72. package/dist/daemon-cli.d.ts +1 -1
  73. package/dist/daemon-cli.js +3 -2
  74. package/dist/daemon-cli.js.map +1 -1
  75. package/dist/daytona-DG3omipZ.js +513 -0
  76. package/dist/daytona-DG3omipZ.js.map +1 -0
  77. package/dist/defaults-Cx3zvDOV.js +23 -0
  78. package/dist/defaults-Cx3zvDOV.js.map +1 -0
  79. package/dist/dispatcher-BMlu2BmZ.js +4941 -0
  80. package/dist/dispatcher-BMlu2BmZ.js.map +1 -0
  81. package/dist/docker-BZhMMJUp.js +727 -0
  82. package/dist/docker-BZhMMJUp.js.map +1 -0
  83. package/dist/e2b-CEVOdRib.js +480 -0
  84. package/dist/e2b-CEVOdRib.js.map +1 -0
  85. package/dist/edit-utils-EGosADZq.js +234 -0
  86. package/dist/edit-utils-EGosADZq.js.map +1 -0
  87. package/dist/environment-8wsKE2Ln.js +214 -0
  88. package/dist/environment-8wsKE2Ln.js.map +1 -0
  89. package/dist/eval-BNcvle_J.js +1595 -0
  90. package/dist/eval-BNcvle_J.js.map +1 -0
  91. package/dist/eval.d.ts +2 -2
  92. package/dist/eval.js +1 -1489
  93. package/dist/executor-Cx5-8yqi.js +621 -0
  94. package/dist/executor-Cx5-8yqi.js.map +1 -0
  95. package/dist/extension-authoring-DyGGmq9V.js +385 -0
  96. package/dist/extension-authoring-DyGGmq9V.js.map +1 -0
  97. package/dist/extensions.d.ts +2 -2
  98. package/dist/extensions.js +3 -3
  99. package/dist/{fetch-url-DX75gpL0.js → fetch-url-Ct2TjDWt.js} +4 -4
  100. package/dist/{fetch-url-DX75gpL0.js.map → fetch-url-Ct2TjDWt.js.map} +1 -1
  101. package/dist/{format-BF745pLL.js → format-C2NQEVUH.js} +39 -2
  102. package/dist/format-C2NQEVUH.js.map +1 -0
  103. package/dist/format-bytes-C7tfc3Zm.js +55 -0
  104. package/dist/format-bytes-C7tfc3Zm.js.map +1 -0
  105. package/dist/headless-C_rNUuYC.js +960 -0
  106. package/dist/headless-C_rNUuYC.js.map +1 -0
  107. package/dist/headless.d.ts +1 -1
  108. package/dist/headless.js +1 -413
  109. package/dist/{history-search-C4bk1Wz_.js → history-search-CcYzF8-0.js} +7 -3
  110. package/dist/history-search-CcYzF8-0.js.map +1 -0
  111. package/dist/history-search-worker.d.ts +1 -1
  112. package/dist/history-search-worker.js +1 -1
  113. package/dist/host-D7NrI03V.js +378 -0
  114. package/dist/host-D7NrI03V.js.map +1 -0
  115. package/dist/host-signals-BcP5QKUD.js +118 -0
  116. package/dist/host-signals-BcP5QKUD.js.map +1 -0
  117. package/dist/identity-CwfO8K-t.js +26 -0
  118. package/dist/identity-CwfO8K-t.js.map +1 -0
  119. package/dist/{index-BgN1T3lk.d.ts → index-BGe1fQT7.d.ts} +10987 -9320
  120. package/dist/index-BGe1fQT7.d.ts.map +1 -0
  121. package/dist/index-BVQsIKGn.d.ts +448 -0
  122. package/dist/index-BVQsIKGn.d.ts.map +1 -0
  123. package/dist/{index-C6NEd5y_.d.ts → index-CHABJd-L.d.ts} +3386 -502
  124. package/dist/index-CHABJd-L.d.ts.map +1 -0
  125. package/dist/{index-C37_ppWv.d.ts → index-D6a7qXpg.d.ts} +2 -3
  126. package/dist/index-D6a7qXpg.d.ts.map +1 -0
  127. package/dist/index.d.ts +6 -6
  128. package/dist/index.js +27 -23
  129. package/dist/{completion-core-BRo86R_L.js → inline-ghost-BVRQeGoL.js} +50 -2
  130. package/dist/inline-ghost-BVRQeGoL.js.map +1 -0
  131. package/dist/ipc/remote.d.ts +313 -0
  132. package/dist/ipc/remote.d.ts.map +1 -0
  133. package/dist/ipc/remote.js +4 -0
  134. package/dist/ipc.d.ts +6 -964
  135. package/dist/ipc.js +403 -4
  136. package/dist/ipc.js.map +1 -0
  137. package/dist/{isolation-Kfoof0MM.d.ts → isolation-D9L650W5.d.ts} +100 -15
  138. package/dist/isolation-D9L650W5.d.ts.map +1 -0
  139. package/dist/json-rpc--HXQti1E.js +350 -0
  140. package/dist/json-rpc--HXQti1E.js.map +1 -0
  141. package/dist/links-j8rED1sR.js +603 -0
  142. package/dist/links-j8rED1sR.js.map +1 -0
  143. package/dist/local-terminal-D8QThwo_.js +252 -0
  144. package/dist/local-terminal-D8QThwo_.js.map +1 -0
  145. package/dist/{logger--C1VQjwJ.js → logger-Gtqlayx8.js} +199 -173
  146. package/dist/logger-Gtqlayx8.js.map +1 -0
  147. package/dist/logs-view-CWG8aUAG.js.map +1 -1
  148. package/dist/{mcp-CgNd-f3F.js → mcp-_wecH9Qe.js} +608 -562
  149. package/dist/mcp-_wecH9Qe.js.map +1 -0
  150. package/dist/mcp.d.ts +2 -2
  151. package/dist/mcp.js +2 -2
  152. package/dist/media-sniff-UKijEaiQ.js.map +1 -1
  153. package/dist/{messages-2jcOA_5R.js → messages-BqiwcD2Q.js} +1017 -1014
  154. package/dist/messages-BqiwcD2Q.js.map +1 -0
  155. package/dist/{oauth-DxHO17JE.js → oauth-Px_pBB9W.js} +5 -5
  156. package/dist/{oauth-DxHO17JE.js.map → oauth-Px_pBB9W.js.map} +1 -1
  157. package/dist/{openai-compat-Dy56weK8.js → openai-compat-CFrpH7uq.js} +432 -589
  158. package/dist/openai-compat-CFrpH7uq.js.map +1 -0
  159. package/dist/orchestration-BCGmB8Ps.js +511 -0
  160. package/dist/orchestration-BCGmB8Ps.js.map +1 -0
  161. package/dist/output/stream-json.d.ts +1 -2
  162. package/dist/output/stream-json.d.ts.map +1 -1
  163. package/dist/output/stream-json.js +1 -1
  164. package/dist/output/terminal.d.ts +1 -2
  165. package/dist/output/terminal.d.ts.map +1 -1
  166. package/dist/output/terminal.js +13 -7
  167. package/dist/output/terminal.js.map +1 -1
  168. package/dist/{plugins-gbI7SBA6.js → plugins-DS7mahzZ.js} +20 -101
  169. package/dist/plugins-DS7mahzZ.js.map +1 -0
  170. package/dist/plugins.d.ts +1 -1
  171. package/dist/plugins.js +1 -2
  172. package/dist/prelude-Cxo4t74B.js +517 -0
  173. package/dist/prelude-Cxo4t74B.js.map +1 -0
  174. package/dist/presets.d.ts +1 -1
  175. package/dist/presets.js +1 -2
  176. package/dist/project-root-B8zADr4o.js +167 -0
  177. package/dist/project-root-B8zADr4o.js.map +1 -0
  178. package/dist/project-user-paths-BSgtrRxl.js +58 -0
  179. package/dist/project-user-paths-BSgtrRxl.js.map +1 -0
  180. package/dist/{prompts-Pqc3JdW_.d.ts → prompts-DYcvqShf.d.ts} +14 -11
  181. package/dist/prompts-DYcvqShf.d.ts.map +1 -0
  182. package/dist/protocol-DnhqqSmE.js +13 -0
  183. package/dist/protocol-DnhqqSmE.js.map +1 -0
  184. package/dist/providers/anthropic.d.ts +2 -2
  185. package/dist/providers/anthropic.js +1 -2
  186. package/dist/providers/arcee.d.ts +1 -1
  187. package/dist/providers/arcee.js +1 -1
  188. package/dist/providers/baseten.d.ts +1 -1
  189. package/dist/providers/baseten.js +1 -1
  190. package/dist/providers/cerebras.d.ts +1 -1
  191. package/dist/providers/cerebras.js +3 -2
  192. package/dist/providers/cerebras.js.map +1 -1
  193. package/dist/providers/local.d.ts +1 -1
  194. package/dist/providers/local.js +1 -1
  195. package/dist/providers/openai-compat.d.ts +1 -1
  196. package/dist/providers/openai-compat.js +1 -2
  197. package/dist/providers/openai.d.ts +1 -1
  198. package/dist/providers/openai.js +15 -12
  199. package/dist/providers/openai.js.map +1 -1
  200. package/dist/providers/openrouter.d.ts +1 -1
  201. package/dist/providers/openrouter.js +3 -2
  202. package/dist/providers/openrouter.js.map +1 -1
  203. package/dist/providers/xai.d.ts +1 -1
  204. package/dist/providers/xai.js +3 -3
  205. package/dist/{providers-BVhnFyiY.js → providers-XUR7F4Hi.js} +4 -4
  206. package/dist/{providers-BVhnFyiY.js.map → providers-XUR7F4Hi.js.map} +1 -1
  207. package/dist/providers.d.ts +1 -1
  208. package/dist/providers.js +4 -4
  209. package/dist/registry-D6ShBWJU.js +5234 -0
  210. package/dist/registry-D6ShBWJU.js.map +1 -0
  211. package/dist/remote-hosts-BtA_9ZGp.js +97 -0
  212. package/dist/remote-hosts-BtA_9ZGp.js.map +1 -0
  213. package/dist/restate.d.ts +2 -3
  214. package/dist/restate.d.ts.map +1 -1
  215. package/dist/restate.js +631 -572
  216. package/dist/restate.js.map +1 -1
  217. package/dist/run-summary-CklLiZ4y.js +288 -0
  218. package/dist/run-summary-CklLiZ4y.js.map +1 -0
  219. package/dist/{sandbox-BH0WQkXn.d.ts → sandbox-C5dR5DwQ.d.ts} +6 -3
  220. package/dist/sandbox-C5dR5DwQ.d.ts.map +1 -0
  221. package/dist/session/sqlite.d.ts +1 -2
  222. package/dist/session/sqlite.d.ts.map +1 -1
  223. package/dist/session/sqlite.js +1 -616
  224. package/dist/session-factory-BUGY5P40.js +1576 -0
  225. package/dist/session-factory-BUGY5P40.js.map +1 -0
  226. package/dist/{session-BqRP1hS7.js → session-xh9JXu6i.js} +94 -52
  227. package/dist/session-xh9JXu6i.js.map +1 -0
  228. package/dist/session.d.ts +1 -1
  229. package/dist/session.js +2 -2
  230. package/dist/settings-keys-Ckf29NeM.js +677 -0
  231. package/dist/settings-keys-Ckf29NeM.js.map +1 -0
  232. package/dist/shell-path-Dqaoow2J.js +412 -0
  233. package/dist/shell-path-Dqaoow2J.js.map +1 -0
  234. package/dist/{skills-BC3dodWp.js → skills-DKqZJm4X.js} +430 -470
  235. package/dist/skills-DKqZJm4X.js.map +1 -0
  236. package/dist/skills.d.ts +2 -2
  237. package/dist/skills.js +1 -2
  238. package/dist/source-mPExaUm8.js +381 -0
  239. package/dist/source-mPExaUm8.js.map +1 -0
  240. package/dist/sqlite-DV1DQzN2.js +698 -0
  241. package/dist/sqlite-DV1DQzN2.js.map +1 -0
  242. package/dist/{src-CkNQKFKr.js → src-BRMYRJib.js} +903 -1121
  243. package/dist/src-BRMYRJib.js.map +1 -0
  244. package/dist/{stdio-DPpBDPx5.js → stdio-C6YyoW3I.js} +4 -4
  245. package/dist/{stdio-DPpBDPx5.js.map → stdio-C6YyoW3I.js.map} +1 -1
  246. package/dist/{stdio-loader-Bbx19dMZ.js → stdio-loader-C830Vg-Z.js} +4 -4
  247. package/dist/{stdio-loader-Bbx19dMZ.js.map → stdio-loader-C830Vg-Z.js.map} +1 -1
  248. package/dist/system-prompt-MNVHatSD.d.ts.map +1 -1
  249. package/dist/timeout-DEaqslLO.d.ts.map +1 -1
  250. package/dist/todo-edits-Dn251YUP.js +1790 -0
  251. package/dist/todo-edits-Dn251YUP.js.map +1 -0
  252. package/dist/{turn-operations-DrbJlpq9.js → tool-formatters-IQFDrdrs.js} +1456 -2120
  253. package/dist/tool-formatters-IQFDrdrs.js.map +1 -0
  254. package/dist/tool-state-Dku6YqAB.js +989 -0
  255. package/dist/tool-state-Dku6YqAB.js.map +1 -0
  256. package/dist/tools/fetch-url.d.ts +1 -2
  257. package/dist/tools/fetch-url.d.ts.map +1 -1
  258. package/dist/tools/fetch-url.js +1 -2
  259. package/dist/tools/prompts.d.ts +1 -1
  260. package/dist/tools/prompts.js +7 -7
  261. package/dist/tools/prompts.js.map +1 -1
  262. package/dist/tools/web-search.d.ts +1 -2
  263. package/dist/tools/web-search.d.ts.map +1 -1
  264. package/dist/tools/web-search.js +2 -2
  265. package/dist/tools/web-search.js.map +1 -1
  266. package/dist/tools-_DnT3AGM.js +578 -0
  267. package/dist/tools-_DnT3AGM.js.map +1 -0
  268. package/dist/tools.d.ts +3 -3
  269. package/dist/tools.js +4 -2
  270. package/dist/tui.d.ts +534 -517
  271. package/dist/tui.d.ts.map +1 -1
  272. package/dist/tui.js +34933 -27243
  273. package/dist/tui.js.map +1 -1
  274. package/dist/turn-operations-B8sokwi5.js +333 -0
  275. package/dist/turn-operations-B8sokwi5.js.map +1 -0
  276. package/dist/turn-operations-DQX5ZZni.d.ts +3089 -0
  277. package/dist/turn-operations-DQX5ZZni.d.ts.map +1 -0
  278. package/dist/types-C7ZFOztE.d.ts +132 -0
  279. package/dist/types-C7ZFOztE.d.ts.map +1 -0
  280. package/dist/types-CH5XpIHw.js +114 -0
  281. package/dist/types-CH5XpIHw.js.map +1 -0
  282. package/dist/{types-CWgENVLY.js → types-Cu0ZGDu9.js} +10 -6
  283. package/dist/types-Cu0ZGDu9.js.map +1 -0
  284. package/dist/types-IqegbJEE.d.ts +624 -0
  285. package/dist/types-IqegbJEE.d.ts.map +1 -0
  286. package/dist/types.d.ts +4 -4
  287. package/dist/types.js +1 -1
  288. package/dist/url-D8HCl65b.js +1259 -0
  289. package/dist/url-D8HCl65b.js.map +1 -0
  290. package/dist/wasm-BVT-j5cl.js +33 -0
  291. package/dist/wasm-BVT-j5cl.js.map +1 -0
  292. package/dist/workspace-exec-stream-SV2R9d5S.js +355 -0
  293. package/dist/workspace-exec-stream-SV2R9d5S.js.map +1 -0
  294. package/dist/ws-CIHMvlSh.js +952 -0
  295. package/dist/ws-CIHMvlSh.js.map +1 -0
  296. package/dist/ws-client-N7NxzvQp.js +230 -0
  297. package/dist/ws-client-N7NxzvQp.js.map +1 -0
  298. package/dist/{xai-CazjStOK.js → xai-CvJTeLrI.js} +165 -5
  299. package/dist/xai-CvJTeLrI.js.map +1 -0
  300. package/dist/xdg-zweed0-t.js +117 -0
  301. package/dist/xdg-zweed0-t.js.map +1 -0
  302. package/docs/ACP.md +52 -0
  303. package/docs/ARCHITECTURE.md +103 -6
  304. package/docs/ARTIFACTS.md +8 -4
  305. package/docs/CHAT.md +165 -14
  306. package/docs/EXECUTION_CONTEXT.md +8 -0
  307. package/docs/EXTENSIONS.md +123 -2
  308. package/docs/HEADLESS.md +2 -0
  309. package/docs/IPC.md +775 -64
  310. package/docs/MACHINES.md +456 -0
  311. package/docs/PANELS.md +3 -0
  312. package/docs/README.md +4 -0
  313. package/docs/RESTATE.md +3 -2
  314. package/docs/RUN_IN_BACKGROUND.md +10 -2
  315. package/docs/SERVER.md +1085 -0
  316. package/docs/SKILL.md +6 -1
  317. package/docs/TERMINAL.md +75 -0
  318. package/docs/TUI.md +65 -14
  319. package/package.json +58 -26
  320. package/scripts/eval.ts +4 -0
  321. package/dist/acp-D-tVyUjw.js.map +0 -1
  322. package/dist/agent-D0zZnGbt.js.map +0 -1
  323. package/dist/anthropic-C2aole0G.js.map +0 -1
  324. package/dist/approvals-DKaJZYlm.js.map +0 -1
  325. package/dist/atomic-write-B7zr1ddF.js.map +0 -1
  326. package/dist/auth-BG2rVKSt.js.map +0 -1
  327. package/dist/completion-core-BRo86R_L.js.map +0 -1
  328. package/dist/contexts/daytona.js.map +0 -1
  329. package/dist/contexts/docker.js.map +0 -1
  330. package/dist/contexts/e2b.js.map +0 -1
  331. package/dist/contexts-CRE9pw07.js.map +0 -1
  332. package/dist/eval.js.map +0 -1
  333. package/dist/format-BF745pLL.js.map +0 -1
  334. package/dist/glob-DluQFSw1.js +0 -270
  335. package/dist/glob-DluQFSw1.js.map +0 -1
  336. package/dist/headless.js.map +0 -1
  337. package/dist/history-search-C4bk1Wz_.js.map +0 -1
  338. package/dist/index-BgN1T3lk.d.ts.map +0 -1
  339. package/dist/index-C37_ppWv.d.ts.map +0 -1
  340. package/dist/index-C6NEd5y_.d.ts.map +0 -1
  341. package/dist/ipc-BKVIIOqH.js +0 -331
  342. package/dist/ipc-BKVIIOqH.js.map +0 -1
  343. package/dist/ipc.d.ts.map +0 -1
  344. package/dist/isolation-Kfoof0MM.d.ts.map +0 -1
  345. package/dist/json-rpc-rSWMUh9b.js +0 -192
  346. package/dist/json-rpc-rSWMUh9b.js.map +0 -1
  347. package/dist/logger--C1VQjwJ.js.map +0 -1
  348. package/dist/mcp-CgNd-f3F.js.map +0 -1
  349. package/dist/messages-2jcOA_5R.js.map +0 -1
  350. package/dist/openai-compat-Dy56weK8.js.map +0 -1
  351. package/dist/output-cap-C9zukcCj.js +0 -100
  352. package/dist/output-cap-C9zukcCj.js.map +0 -1
  353. package/dist/panels-B6gRk4bf.js +0 -789
  354. package/dist/panels-B6gRk4bf.js.map +0 -1
  355. package/dist/plugins-gbI7SBA6.js.map +0 -1
  356. package/dist/prompts-Pqc3JdW_.d.ts.map +0 -1
  357. package/dist/run-summary-BU_NgwUT.js +0 -269
  358. package/dist/run-summary-BU_NgwUT.js.map +0 -1
  359. package/dist/sandbox-BH0WQkXn.d.ts.map +0 -1
  360. package/dist/session/sqlite.js.map +0 -1
  361. package/dist/session-BqRP1hS7.js.map +0 -1
  362. package/dist/shell-path-DfdXrGg9.js +0 -1549
  363. package/dist/shell-path-DfdXrGg9.js.map +0 -1
  364. package/dist/skills-BC3dodWp.js.map +0 -1
  365. package/dist/src-CkNQKFKr.js.map +0 -1
  366. package/dist/todo-edits-UOwgxGKu.js +0 -528
  367. package/dist/todo-edits-UOwgxGKu.js.map +0 -1
  368. package/dist/tool-formatters-DoRLnfuD.d.ts +0 -759
  369. package/dist/tool-formatters-DoRLnfuD.d.ts.map +0 -1
  370. package/dist/transcript-anchors-BeudMbXx.d.ts +0 -1762
  371. package/dist/transcript-anchors-BeudMbXx.d.ts.map +0 -1
  372. package/dist/turn-operations-C8bMBDl_.d.ts +0 -1258
  373. package/dist/turn-operations-C8bMBDl_.d.ts.map +0 -1
  374. package/dist/turn-operations-DrbJlpq9.js.map +0 -1
  375. package/dist/types-CWgENVLY.js.map +0 -1
  376. package/dist/xai-CazjStOK.js.map +0 -1
@@ -0,0 +1,288 @@
1
+ import { i as statsByModel } from "./stats-DAKBEKjc.js";
2
+ //#region src/run-summary-hooks.ts
3
+ function createRunSummaryInstallState() {
4
+ return {
5
+ runId: void 0,
6
+ parentRunId: void 0,
7
+ depth: 0,
8
+ agentName: void 0,
9
+ startedAt: Date.now(),
10
+ aborted: false,
11
+ errors: [],
12
+ blocks: [],
13
+ validationRejects: [],
14
+ budgetEvents: [],
15
+ repeatGuardEvents: [],
16
+ streamRetries: [],
17
+ pairingRepairs: {},
18
+ children: []
19
+ };
20
+ }
21
+ function resetForNewRun(state) {
22
+ const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs, children } = state;
23
+ state.aborted = false;
24
+ errors.length = 0;
25
+ blocks.length = 0;
26
+ validationRejects.length = 0;
27
+ budgetEvents.length = 0;
28
+ repeatGuardEvents.length = 0;
29
+ streamRetries.length = 0;
30
+ for (const k of Object.keys(pairingRepairs)) delete pairingRepairs[k];
31
+ children.length = 0;
32
+ }
33
+ /** Every incident-recording handler, `agent:start` through `pairing:repair`. */
34
+ function installRunSummaryEventHooks(hooks, unregisters, state) {
35
+ const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs } = state;
36
+ unregisters.push(hooks.hook("agent:start", (ctx) => {
37
+ resetForNewRun(state);
38
+ state.runId = ctx.runId;
39
+ state.parentRunId = ctx.parentRunId;
40
+ state.depth = ctx.depth;
41
+ state.agentName = ctx.agentName;
42
+ state.startedAt = ctx.startedAt;
43
+ }));
44
+ unregisters.push(hooks.hook("agent:abort", () => {
45
+ state.aborted = true;
46
+ }));
47
+ unregisters.push(hooks.hook("stream:retry", (ctx) => {
48
+ const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err);
49
+ streamRetries.push({
50
+ attempt: ctx.attempt,
51
+ delayMs: ctx.delayMs,
52
+ message: msg,
53
+ ...ctx.err instanceof Error ? { errorType: ctx.err.name } : {},
54
+ ...ctx.statusCode !== void 0 ? { statusCode: ctx.statusCode } : {},
55
+ ...ctx.requestId !== void 0 ? { requestId: ctx.requestId } : {},
56
+ turnId: ctx.turnId
57
+ });
58
+ }));
59
+ unregisters.push(hooks.hook("stream:error", (ctx) => {
60
+ const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err);
61
+ const errorType = ctx.err instanceof Error ? ctx.err.name : "unknown";
62
+ errors.push({
63
+ kind: "stream",
64
+ message: msg,
65
+ errorType,
66
+ turnId: ctx.turnId,
67
+ ...ctx.statusCode !== void 0 ? { statusCode: ctx.statusCode } : {},
68
+ ...ctx.requestId !== void 0 ? { requestId: ctx.requestId } : {}
69
+ });
70
+ }));
71
+ unregisters.push(hooks.hook("tool:error", (ctx) => {
72
+ errors.push({
73
+ kind: "tool",
74
+ message: ctx.error.message,
75
+ errorType: ctx.error.name,
76
+ turnId: ctx.turnId,
77
+ callId: ctx.callId,
78
+ toolName: ctx.name
79
+ });
80
+ }));
81
+ unregisters.push(hooks.hook("mcp:tool:error", (ctx) => {
82
+ errors.push({
83
+ kind: "mcp-tool",
84
+ message: ctx.error.message,
85
+ errorType: ctx.error.name,
86
+ turnId: ctx.turnId,
87
+ callId: ctx.callId,
88
+ server: ctx.server,
89
+ toolName: ctx.displayName
90
+ });
91
+ }));
92
+ unregisters.push(hooks.hook("mcp:error", (ctx) => {
93
+ errors.push({
94
+ kind: "mcp",
95
+ message: ctx.error.message,
96
+ errorType: ctx.error.name,
97
+ server: ctx.name
98
+ });
99
+ }));
100
+ unregisters.push(hooks.hook("spawn:error", (ctx) => {
101
+ errors.push({
102
+ kind: "spawn",
103
+ message: ctx.error.message,
104
+ errorType: ctx.error.name,
105
+ childId: ctx.id
106
+ });
107
+ }));
108
+ unregisters.push(hooks.hook("tool:dispatched", (ctx) => {
109
+ if (ctx.outcome === "gate-block" || ctx.outcome === "unknown" || ctx.outcome === "invalid-input") blocks.push({
110
+ callId: ctx.callId,
111
+ toolName: ctx.name,
112
+ outcome: ctx.outcome,
113
+ ...ctx.reason ? { reason: ctx.reason } : {}
114
+ });
115
+ }));
116
+ unregisters.push(hooks.hook("validation:reject", (ctx) => {
117
+ validationRejects.push({
118
+ callId: ctx.callId,
119
+ toolName: ctx.name,
120
+ reason: ctx.reason
121
+ });
122
+ }));
123
+ unregisters.push(hooks.hook("budget:exceeded", (ctx) => {
124
+ budgetEvents.push({
125
+ kind: "bytes",
126
+ observed: ctx.bytes,
127
+ limit: ctx.budget,
128
+ turnId: ctx.turnId
129
+ });
130
+ }));
131
+ unregisters.push(hooks.hook("tool-budget:exceeded", (ctx) => {
132
+ budgetEvents.push({
133
+ kind: "tool-count",
134
+ toolName: ctx.tool,
135
+ mode: ctx.mode,
136
+ observed: ctx.count,
137
+ limit: ctx.max,
138
+ turnId: ctx.turnId
139
+ });
140
+ }));
141
+ unregisters.push(hooks.hook("repeat-guard:exceeded", (ctx) => {
142
+ repeatGuardEvents.push({
143
+ toolName: ctx.tool,
144
+ count: ctx.count,
145
+ threshold: ctx.threshold,
146
+ action: ctx.action,
147
+ turnId: ctx.turnId
148
+ });
149
+ }));
150
+ unregisters.push(hooks.hook("pairing:repair", (ctx) => {
151
+ pairingRepairs[ctx.mode] = (pairingRepairs[ctx.mode] ?? 0) + 1;
152
+ }));
153
+ }
154
+ /** `agent:done` — assemble the {@link RunSummary} and hand it off. */
155
+ function installRunSummaryDoneHook(hooks, unregisters, state, shared, options) {
156
+ const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs, children } = state;
157
+ unregisters.push(hooks.hook("agent:done", (stats) => {
158
+ const { runId, parentRunId, depth, agentName, startedAt, aborted } = state;
159
+ const endedAt = Date.now();
160
+ const byModel = [];
161
+ for (const [modelId, usage] of statsByModel(stats)) byModel.push({
162
+ modelId,
163
+ input: usage.input,
164
+ output: usage.output,
165
+ cacheRead: usage.cacheRead,
166
+ cacheCreation: usage.cacheCreation,
167
+ cost: usage.cost,
168
+ turns: usage.turns
169
+ });
170
+ for (const c of stats.children ?? []) children.push(minimalSummaryFromStats(c.stats, {
171
+ depth: c.depth ?? depth + 1,
172
+ status: c.status === "aborted" ? "aborted" : "completed"
173
+ }));
174
+ const summary = {
175
+ ...runId ? { runId } : {},
176
+ ...parentRunId ? { parentRunId } : {},
177
+ depth,
178
+ ...agentName ? { agentName } : {},
179
+ startedAt,
180
+ endedAt,
181
+ durationMs: endedAt - startedAt,
182
+ status: aborted ? "aborted" : "completed",
183
+ turns: stats.turns,
184
+ totals: buildTotals(stats),
185
+ byModel,
186
+ errors: errors.slice(),
187
+ blocks: blocks.slice(),
188
+ validationRejects: validationRejects.slice(),
189
+ budgetEvents: budgetEvents.slice(),
190
+ streamRetries: streamRetries.slice(),
191
+ repeatGuardEvents: repeatGuardEvents.slice(),
192
+ pairingRepairs: { ...pairingRepairs },
193
+ ...children.length > 0 ? { children: children.slice() } : {}
194
+ };
195
+ shared.last = summary;
196
+ try {
197
+ options.onSummary?.(summary);
198
+ } catch {}
199
+ }));
200
+ }
201
+ function buildTotals(stats) {
202
+ return {
203
+ input: stats.totalIn,
204
+ output: stats.totalOut,
205
+ cacheRead: stats.totalCacheRead,
206
+ cacheCreation: stats.totalCacheCreation,
207
+ ...typeof stats.cost === "number" ? { cost: stats.cost } : {},
208
+ ...typeof stats.timeTillFirstTokenMs === "number" ? { ttftMs: stats.timeTillFirstTokenMs } : {}
209
+ };
210
+ }
211
+ function minimalSummaryFromStats(stats, meta) {
212
+ const byModel = [];
213
+ for (const [modelId, usage] of statsByModel(stats)) byModel.push({
214
+ modelId,
215
+ input: usage.input,
216
+ output: usage.output,
217
+ cacheRead: usage.cacheRead,
218
+ cacheCreation: usage.cacheCreation,
219
+ cost: usage.cost,
220
+ turns: usage.turns
221
+ });
222
+ const children = [];
223
+ for (const c of stats.children ?? []) children.push(minimalSummaryFromStats(c.stats, {
224
+ depth: c.depth ?? meta.depth + 1,
225
+ status: c.status === "aborted" ? "aborted" : "completed"
226
+ }));
227
+ return {
228
+ depth: meta.depth,
229
+ startedAt: 0,
230
+ endedAt: 0,
231
+ durationMs: stats.elapsed,
232
+ status: meta.status,
233
+ turns: stats.turns,
234
+ totals: buildTotals(stats),
235
+ byModel,
236
+ errors: [],
237
+ blocks: [],
238
+ validationRejects: [],
239
+ budgetEvents: [],
240
+ streamRetries: [],
241
+ repeatGuardEvents: [],
242
+ pairingRepairs: {},
243
+ ...children.length > 0 ? { children } : {}
244
+ };
245
+ }
246
+ //#endregion
247
+ //#region src/run-summary.ts
248
+ /**
249
+ * Build a run-summary collector. State is created fresh inside each
250
+ * `install()` call, so a single collector instance can be installed
251
+ * across multiple agents without attribution cross-talk. `latest()`
252
+ * returns the most-recent summary across **any** install — install
253
+ * per-agent collectors if you need separate post-run snapshots.
254
+ *
255
+ * @example
256
+ * ```ts
257
+ * const collector = createRunSummaryCollector({
258
+ * onSummary: s => console.log(JSON.stringify(s)),
259
+ * })
260
+ * const uninstall = collector.install(agent.hooks)
261
+ * try { await agent.run({ prompt }) }
262
+ * finally { uninstall() }
263
+ * ```
264
+ */
265
+ function createRunSummaryCollector(options = {}) {
266
+ const shared = { last: void 0 };
267
+ return {
268
+ latest: () => shared.last,
269
+ install(hooks) {
270
+ const state = createRunSummaryInstallState();
271
+ const unregisters = [];
272
+ installRunSummaryEventHooks(hooks, unregisters, state);
273
+ installRunSummaryDoneHook(hooks, unregisters, state, shared, options);
274
+ let disposed = false;
275
+ return function uninstall() {
276
+ if (disposed) return;
277
+ disposed = true;
278
+ for (const un of unregisters) try {
279
+ un();
280
+ } catch {}
281
+ };
282
+ }
283
+ };
284
+ }
285
+ //#endregion
286
+ export { createRunSummaryCollector as t };
287
+
288
+ //# sourceMappingURL=run-summary-CklLiZ4y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-summary-CklLiZ4y.js","names":[],"sources":["../src/run-summary-hooks.ts","../src/run-summary.ts"],"sourcesContent":["/**\n * Hook-group installers behind {@link createRunSummaryCollector}\n * (`./run-summary`).\n *\n * Each installer registers one contiguous slice of the original\n * registration sequence and pushes its unregister fns onto the shared\n * `unregisters` array, so calling them in order reproduces the exact\n * hook registration order of the single-function original.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from './agent'\nimport type {\n RunSummary,\n RunSummaryBlock,\n RunSummaryBudget,\n RunSummaryByModel,\n RunSummaryCollectorOptions,\n RunSummaryError,\n RunSummaryRepeatGuard,\n RunSummaryRetry,\n RunSummaryTokens,\n RunSummaryValidation,\n} from './run-summary'\nimport type { AgentStats } from './types'\nimport { statsByModel } from './stats'\n\n/**\n * Per-run in-progress accumulators. The hookable bus serializes\n * agent.run lifecycles per agent — we reset between runs on\n * `agent:start` and consume on `agent:done`.\n */\nexport interface RunSummaryInstallState {\n runId: string | undefined\n parentRunId: string | undefined\n depth: number\n agentName: string | undefined\n startedAt: number\n aborted: boolean\n readonly errors: RunSummaryError[]\n readonly blocks: RunSummaryBlock[]\n readonly validationRejects: RunSummaryValidation[]\n readonly budgetEvents: RunSummaryBudget[]\n readonly repeatGuardEvents: RunSummaryRepeatGuard[]\n readonly streamRetries: RunSummaryRetry[]\n readonly pairingRepairs: Record<string, number>\n readonly children: RunSummary[]\n}\n\n/** Collector-wide (cross-install) state: the most-recent summary. */\nexport interface RunSummaryShared {\n last: RunSummary | undefined\n}\n\nexport function createRunSummaryInstallState(): RunSummaryInstallState {\n return {\n runId: undefined,\n parentRunId: undefined,\n depth: 0,\n agentName: undefined,\n startedAt: Date.now(),\n aborted: false,\n errors: [],\n blocks: [],\n validationRejects: [],\n budgetEvents: [],\n repeatGuardEvents: [],\n streamRetries: [],\n pairingRepairs: {},\n children: [],\n }\n}\n\nfunction resetForNewRun(state: RunSummaryInstallState): void {\n const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs, children } = state\n state.aborted = false\n errors.length = 0\n blocks.length = 0\n validationRejects.length = 0\n budgetEvents.length = 0\n repeatGuardEvents.length = 0\n streamRetries.length = 0\n for (const k of Object.keys(pairingRepairs))\n delete pairingRepairs[k]\n children.length = 0\n}\n\n/** Every incident-recording handler, `agent:start` through `pairing:repair`. */\nexport function installRunSummaryEventHooks(\n hooks: Hookable<AgentHooks>,\n unregisters: Array<() => void>,\n state: RunSummaryInstallState,\n): void {\n const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs } = state\n\n unregisters.push(hooks.hook('agent:start', (ctx) => {\n resetForNewRun(state)\n state.runId = ctx.runId\n state.parentRunId = ctx.parentRunId\n state.depth = ctx.depth\n state.agentName = ctx.agentName\n state.startedAt = ctx.startedAt\n }))\n\n unregisters.push(hooks.hook('agent:abort', () => {\n state.aborted = true\n }))\n\n unregisters.push(hooks.hook('stream:retry', (ctx) => {\n const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err)\n streamRetries.push({\n attempt: ctx.attempt,\n delayMs: ctx.delayMs,\n message: msg,\n ...(ctx.err instanceof Error ? { errorType: ctx.err.name } : {}),\n ...(ctx.statusCode !== undefined ? { statusCode: ctx.statusCode } : {}),\n ...(ctx.requestId !== undefined ? { requestId: ctx.requestId } : {}),\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('stream:error', (ctx) => {\n const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err)\n const errorType = ctx.err instanceof Error ? ctx.err.name : 'unknown'\n errors.push({\n kind: 'stream',\n message: msg,\n errorType,\n turnId: ctx.turnId,\n ...(ctx.statusCode !== undefined ? { statusCode: ctx.statusCode } : {}),\n ...(ctx.requestId !== undefined ? { requestId: ctx.requestId } : {}),\n })\n }))\n\n unregisters.push(hooks.hook('tool:error', (ctx) => {\n errors.push({\n kind: 'tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n toolName: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:tool:error', (ctx) => {\n errors.push({\n kind: 'mcp-tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n server: ctx.server,\n toolName: ctx.displayName,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:error', (ctx) => {\n errors.push({\n kind: 'mcp',\n message: ctx.error.message,\n errorType: ctx.error.name,\n server: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('spawn:error', (ctx) => {\n errors.push({\n kind: 'spawn',\n message: ctx.error.message,\n errorType: ctx.error.name,\n childId: ctx.id,\n })\n }))\n\n unregisters.push(hooks.hook('tool:dispatched', (ctx) => {\n if (ctx.outcome === 'gate-block' || ctx.outcome === 'unknown' || ctx.outcome === 'invalid-input') {\n blocks.push({\n callId: ctx.callId,\n toolName: ctx.name,\n outcome: ctx.outcome,\n ...(ctx.reason ? { reason: ctx.reason } : {}),\n })\n }\n }))\n\n unregisters.push(hooks.hook('validation:reject', (ctx) => {\n validationRejects.push({\n callId: ctx.callId,\n toolName: ctx.name,\n reason: ctx.reason,\n })\n }))\n\n unregisters.push(hooks.hook('budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'bytes',\n observed: ctx.bytes,\n limit: ctx.budget,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('tool-budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'tool-count',\n toolName: ctx.tool,\n mode: ctx.mode,\n observed: ctx.count,\n limit: ctx.max,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('repeat-guard:exceeded', (ctx) => {\n repeatGuardEvents.push({\n toolName: ctx.tool,\n count: ctx.count,\n threshold: ctx.threshold,\n action: ctx.action,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('pairing:repair', (ctx) => {\n pairingRepairs[ctx.mode] = (pairingRepairs[ctx.mode] ?? 0) + 1\n }))\n}\n\n/** `agent:done` — assemble the {@link RunSummary} and hand it off. */\nexport function installRunSummaryDoneHook(\n hooks: Hookable<AgentHooks>,\n unregisters: Array<() => void>,\n state: RunSummaryInstallState,\n shared: RunSummaryShared,\n options: RunSummaryCollectorOptions,\n): void {\n const { errors, blocks, validationRejects, budgetEvents, repeatGuardEvents, streamRetries, pairingRepairs, children } = state\n\n unregisters.push(hooks.hook('agent:done', (stats) => {\n const { runId, parentRunId, depth, agentName, startedAt, aborted } = state\n const endedAt = Date.now()\n\n // Build per-model rollup via the existing `statsByModel` helper\n // so we stay in lockstep with how the rest of the harness\n // attributes cost and tokens by model id.\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n\n // Flatten child stats into nested summaries. We don't have the\n // child's full event lists here (those landed on the child's\n // own hooks), so the nested entry is a minimal totals-only\n // record — enough for a flat per-run audit trail; consumers\n // wanting full per-child event lists install a collector on\n // each subagent.\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n\n const summary: RunSummary = {\n ...(runId ? { runId } : {}),\n ...(parentRunId ? { parentRunId } : {}),\n depth,\n ...(agentName ? { agentName } : {}),\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n status: aborted ? 'aborted' : 'completed',\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: errors.slice(),\n blocks: blocks.slice(),\n validationRejects: validationRejects.slice(),\n budgetEvents: budgetEvents.slice(),\n streamRetries: streamRetries.slice(),\n repeatGuardEvents: repeatGuardEvents.slice(),\n pairingRepairs: { ...pairingRepairs },\n ...(children.length > 0 ? { children: children.slice() } : {}),\n }\n\n shared.last = summary\n try {\n options.onSummary?.(summary)\n }\n catch {\n // Sink errors are not the collector's concern.\n }\n }))\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction buildTotals(stats: AgentStats): RunSummaryTokens {\n return {\n input: stats.totalIn,\n output: stats.totalOut,\n cacheRead: stats.totalCacheRead,\n cacheCreation: stats.totalCacheCreation,\n ...(typeof stats.cost === 'number' ? { cost: stats.cost } : {}),\n ...(typeof stats.timeTillFirstTokenMs === 'number' ? { ttftMs: stats.timeTillFirstTokenMs } : {}),\n }\n}\n\nfunction minimalSummaryFromStats(\n stats: AgentStats,\n meta: { depth: number, status: 'completed' | 'aborted' },\n): RunSummary {\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n const children: RunSummary[] = []\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? meta.depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n return {\n depth: meta.depth,\n startedAt: 0,\n endedAt: 0,\n durationMs: stats.elapsed,\n status: meta.status,\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: [],\n blocks: [],\n validationRejects: [],\n budgetEvents: [],\n streamRetries: [],\n repeatGuardEvents: [],\n pairingRepairs: {},\n ...(children.length > 0 ? { children } : {}),\n }\n}\n","/**\n * Run summary collector — one JSON postmortem per `agent.run()`.\n *\n * `AgentStats` is great for billing and per-turn accounting but doesn't\n * carry a record of the *interesting* events that happened during a run\n * (errors, gate blocks, validation rejects, budget hits, MCP failures).\n * Reconstructing that from a hook stream after the fact is exactly the\n * kind of plumbing every consumer ends up re-implementing.\n *\n * This module ships:\n *\n * - {@link RunSummary} — a serializable shape that bundles totals,\n * per-model breakdown, and all the per-run incident lists.\n * - {@link createRunSummaryCollector} — installs hook listeners that\n * build up a {@link RunSummary} during the run and surfaces it on\n * `agent:done`. Calls an optional `onSummary` callback so the host can\n * forward to a log aggregator / DB / postmortem dashboard without\n * touching `agent.run()`'s return value.\n *\n * The collector is purely additive — it doesn't touch the agent loop,\n * doesn't change return shapes, and doesn't suppress any other hook\n * handlers. Drop it in alongside tracing / metrics / logging or use it\n * standalone when you only need the summary.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from './agent'\nimport type { RunSummaryShared } from './run-summary-hooks'\nimport { createRunSummaryInstallState, installRunSummaryDoneHook, installRunSummaryEventHooks } from './run-summary-hooks'\n\n// ---------------------------------------------------------------------------\n// Public shape\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryTokens {\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost?: number\n /** First observable byte from the provider, ms from run start. */\n ttftMs?: number\n}\n\nexport interface RunSummaryByModel {\n modelId: string\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost: number\n turns: number\n}\n\nexport interface RunSummaryError {\n kind: 'stream' | 'tool' | 'mcp-tool' | 'mcp' | 'spawn'\n message: string\n errorType?: string\n turnId?: string\n callId?: string\n server?: string\n toolName?: string\n childId?: string\n statusCode?: number\n requestId?: string\n}\n\nexport interface RunSummaryBlock {\n callId: string\n toolName: string\n outcome: 'gate-block' | 'unknown' | 'invalid-input'\n reason?: string\n}\n\nexport interface RunSummaryValidation {\n callId: string\n toolName: string\n reason: string\n}\n\nexport interface RunSummaryBudget {\n kind: 'bytes' | 'tool-count'\n /** Tool name (for `'tool-count'`); absent for byte budgets. */\n toolName?: string\n /** `mode` for `'tool-count'`; absent for byte budgets. */\n mode?: 'steer' | 'block'\n observed: number\n limit: number\n turnId?: string\n}\n\nexport interface RunSummaryRepeatGuard {\n toolName: string\n /** Observed repeat count that tripped the guard. */\n count: number\n threshold: number\n action: 'block' | 'steer' | 'abort'\n turnId?: string\n}\n\n/**\n * One absorbed provider-stream retry. Retries are invisible in the transcript\n * (no turn, no tool result) yet their backoff is real wall time the user\n * waited — measured in production as unexplained 30-90s gaps before trivial\n * tool calls. Recording them makes \"LLM residual\" stalls attributable.\n */\nexport interface RunSummaryRetry {\n /** 1-based attempt number that failed and triggered this retry. */\n attempt: number\n /** Backoff delay taken before the next attempt (ms, after retry-after/cap). */\n delayMs: number\n message: string\n errorType?: string\n statusCode?: number\n requestId?: string\n turnId?: string\n}\n\n/**\n * Postmortem snapshot of one `agent.run()`. Strictly serializable — every\n * field round-trips through `JSON.stringify` / `JSON.parse` without loss\n * so a log aggregator can ingest it as-is.\n */\nexport interface RunSummary {\n runId?: string\n parentRunId?: string\n depth: number\n agentName?: string\n startedAt: number\n endedAt: number\n durationMs: number\n status: 'completed' | 'aborted'\n turns: number\n totals: RunSummaryTokens\n byModel: RunSummaryByModel[]\n errors: RunSummaryError[]\n blocks: RunSummaryBlock[]\n validationRejects: RunSummaryValidation[]\n budgetEvents: RunSummaryBudget[]\n /**\n * Provider-stream retries the loop absorbed. Empty on healthy runs; on\n * incident runs the summed `delayMs` explains wall time that appears\n * nowhere else (not in turns, not in tool durations).\n */\n streamRetries: RunSummaryRetry[]\n /**\n * Repeat-guard escalations. An `action: 'steer'` entry means the tool still\n * executed and got a steering message appended to its result. An\n * `action: 'abort'` entry means the guard terminated the run via the agent's\n * AbortController (the run finalizes as `'aborted'`).\n */\n repeatGuardEvents: RunSummaryRepeatGuard[]\n /** Counts of pairing repairs, keyed by repair mode. */\n pairingRepairs: Record<string, number>\n /**\n * Postmortem snapshots of child runs that bubbled their stats up via\n * `spawn:complete`. Only present when the run actually spawned.\n */\n children?: RunSummary[]\n}\n\n// ---------------------------------------------------------------------------\n// Collector\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryCollectorOptions {\n /**\n * Called with the assembled {@link RunSummary} on every `agent:done`.\n * Synchronous — heavy I/O should be deferred (e.g. via `setImmediate`).\n */\n onSummary?: (summary: RunSummary) => void\n}\n\nexport interface RunSummaryCollector {\n /** Install the collector's hook handlers. Returns an uninstall fn. */\n install: (hooks: Hookable<AgentHooks>) => () => void\n /** Most-recent summary; `undefined` until the first `agent:done` fires. */\n latest: () => RunSummary | undefined\n}\n\n/**\n * Build a run-summary collector. State is created fresh inside each\n * `install()` call, so a single collector instance can be installed\n * across multiple agents without attribution cross-talk. `latest()`\n * returns the most-recent summary across **any** install — install\n * per-agent collectors if you need separate post-run snapshots.\n *\n * @example\n * ```ts\n * const collector = createRunSummaryCollector({\n * onSummary: s => console.log(JSON.stringify(s)),\n * })\n * const uninstall = collector.install(agent.hooks)\n * try { await agent.run({ prompt }) }\n * finally { uninstall() }\n * ```\n */\nexport function createRunSummaryCollector(\n options: RunSummaryCollectorOptions = {},\n): RunSummaryCollector {\n const shared: RunSummaryShared = { last: undefined }\n\n return {\n latest: () => shared.last,\n install(hooks: Hookable<AgentHooks>): () => void {\n // Per-run in-progress accumulators. The hookable bus serializes\n // agent.run lifecycles per agent — we reset between runs on\n // `agent:start` and consume on `agent:done`.\n const state = createRunSummaryInstallState()\n\n const unregisters: Array<() => void> = []\n\n installRunSummaryEventHooks(hooks, unregisters, state)\n installRunSummaryDoneHook(hooks, unregisters, state, shared, options)\n\n let disposed = false\n return function uninstall() {\n if (disposed)\n return\n disposed = true\n for (const un of unregisters) {\n try {\n un()\n }\n catch { /* ignore */ }\n }\n }\n },\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { b as StreamHandle, m as ExecutionContext, p as ExecResult, v as ListFilesOptions, y as SpawnConfig } from "./isolation-Kfoof0MM.js";
1
+ import { D as TerminalProcess, E as TerminalOptions, b as SpawnConfig, h as ExecutionContext, m as ExecResult, x as StreamHandle, y as ListFilesOptions } from "./isolation-D9L650W5.js";
2
2
  import { Buffer } from "node:buffer";
3
-
4
3
  //#region src/contexts/sandbox.d.ts
5
4
  interface SandboxProvider {
6
5
  name: string;
@@ -29,8 +28,12 @@ interface SandboxProvider {
29
28
  env?: Record<string, string>;
30
29
  signal?: AbortSignal;
31
30
  }) => Promise<StreamHandle>;
31
+ /** Optional interactive terminal — see {@link ExecutionContext.openTerminal}. */
32
+ openTerminal?: (sandboxId: string, options: TerminalOptions) => Promise<TerminalProcess>;
33
+ /** Re-attach to a terminal by id — see {@link ExecutionContext.reconnectTerminal}. */
34
+ reconnectTerminal?: (sandboxId: string, id: string, options: TerminalOptions) => Promise<TerminalProcess | null>;
32
35
  }
33
36
  declare function createSandboxContext(provider: SandboxProvider): ExecutionContext;
34
37
  //#endregion
35
38
  export { createSandboxContext as n, SandboxProvider as t };
36
- //# sourceMappingURL=sandbox-BH0WQkXn.d.ts.map
39
+ //# sourceMappingURL=sandbox-C5dR5DwQ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox-C5dR5DwQ.d.ts","names":[],"sources":["../src/contexts/sandbox.ts"],"mappings":";;;UAgBiB;EACf;EACA,QAAQ,QAAQ,gBAAgB;IAAU;IAAY;;EACtD,OAAO,mBAAmB,iBAAiB;IAAY;IAAc,MAAM;IAAwB;QAAuB,QAAQ;EAClI,WAAW,mBAAmB,iBAAiB;EAC/C,YAAY,mBAAmB,cAAc,kBAAkB,QAAQ,WAAW,mBAAmB;EACrG,YAAY,mBAAmB,cAAc,UAAU,qBAAqB;EAC5E,UAAU,sBAAsB;;;;;;;;EAQhC,cACE,mBACA,iBACA;IAAY;IAAc,MAAM;IAAwB,SAAS;QAC9D,QAAQ;;EAEb,gBAAgB,mBAAmB,SAAS,oBAAoB,QAAQ;;EAExE,qBAAqB,mBAAmB,YAAY,SAAS,oBAAoB,QAAQ;;iBAO3E,qBAAqB,UAAU,kBAAkB"}
@@ -1,5 +1,4 @@
1
- import { Zv as SessionStore } from "../index-BgN1T3lk.js";
2
-
1
+ import { tx as SessionStore } from "../index-BGe1fQT7.js";
3
2
  //#region src/session/sqlite.d.ts
4
3
  interface SqliteStoreOptions {
5
4
  /** Path to the SQLite database file */
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","names":[],"sources":["../../src/session/sqlite.ts"],"mappings":";;;UAsHiB,kBAAA;;EAEf,IAAI;AAAA;;;;;;iBAQU,gBAAA,CAAiB,GAAY;;;;;;;;;;;iBAe7B,iBAAA,CAAkB,GAAA,WAAc,MAAc;AAAA,iBAgB9C,iBAAA,CAAkB,OAAA,EAAS,kBAAA,GAAqB,YAAY;;;;;;;;;;;iBA6/B5D,cAAA,CAAe,MAAA,WAAiB,YAAY"}
1
+ {"version":3,"file":"sqlite.d.ts","names":[],"sources":["../../src/session/sqlite.ts"],"mappings":";;UA+HiB;;EAEf;;;;;;;iBAQc,iBAAiB;;;;;;;;;;;iBAejB,kBAAkB,cAAc;iBAgBhC,kBAAkB,SAAS,qBAAqB;;;;;;;;;;;iBA8QhD,eAAe,iBAAiB"}