@markusylisiurunen/tau 0.3.33 → 0.3.34

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 (265) hide show
  1. package/README.md +7 -7
  2. package/dist/core/agent/agent_runtime.js +80 -34
  3. package/dist/core/agent/agent_runtime.js.map +1 -1
  4. package/dist/core/config/content_loader.js +5 -3
  5. package/dist/core/config/content_loader.js.map +1 -1
  6. package/dist/core/index.js +2 -1
  7. package/dist/core/index.js.map +1 -1
  8. package/dist/core/personas.js +3 -2
  9. package/dist/core/personas.js.map +1 -1
  10. package/dist/core/runtime/chat_runtime.js +4 -2
  11. package/dist/core/runtime/chat_runtime.js.map +1 -1
  12. package/dist/core/session/auto_compaction_archive.js +239 -0
  13. package/dist/core/session/auto_compaction_archive.js.map +1 -0
  14. package/dist/core/session/compaction.js +96 -28
  15. package/dist/core/session/compaction.js.map +1 -1
  16. package/dist/core/session/runner.js +78 -5
  17. package/dist/core/session/runner.js.map +1 -1
  18. package/dist/core/subagents/agent_supervisor.js +173 -132
  19. package/dist/core/subagents/agent_supervisor.js.map +1 -1
  20. package/dist/core/subagents/format.js +101 -0
  21. package/dist/core/subagents/format.js.map +1 -0
  22. package/dist/core/subagents/registry.js +3 -1
  23. package/dist/core/subagents/registry.js.map +1 -1
  24. package/dist/core/subagents/types.js +1 -0
  25. package/dist/core/subagents/types.js.map +1 -1
  26. package/dist/core/tools/catalog.js +4 -2
  27. package/dist/core/tools/catalog.js.map +1 -1
  28. package/dist/core/tools/interrupt_agent.js +119 -0
  29. package/dist/core/tools/interrupt_agent.js.map +1 -0
  30. package/dist/core/tools/list_agents.js +64 -0
  31. package/dist/core/tools/list_agents.js.map +1 -0
  32. package/dist/core/tools/send_input_to_agent.js +8 -9
  33. package/dist/core/tools/send_input_to_agent.js.map +1 -1
  34. package/dist/core/tools/spawn_agent.js +8 -23
  35. package/dist/core/tools/spawn_agent.js.map +1 -1
  36. package/dist/core/tools/tool_names.js +4 -2
  37. package/dist/core/tools/tool_names.js.map +1 -1
  38. package/dist/core/tools/wait_for_agents.js +28 -82
  39. package/dist/core/tools/wait_for_agents.js.map +1 -1
  40. package/dist/core/utils/compact.js +19 -10
  41. package/dist/core/utils/compact.js.map +1 -1
  42. package/dist/core/version.js +1 -1
  43. package/dist/diff_tool/app/dist/assets/actionscript-3-Cs6JJXT5.js +1 -0
  44. package/dist/diff_tool/app/dist/assets/ahk-CA9gdOdF.js +1 -0
  45. package/dist/diff_tool/app/dist/assets/ahk2-_6rzW9BS.js +1 -0
  46. package/dist/diff_tool/app/dist/assets/{angular-html-DbgxQryr.js → angular-html-vSIwre92.js} +1 -1
  47. package/dist/diff_tool/app/dist/assets/{angular-ts-Dzjq8SvI.js → angular-ts-B9yWa-IT.js} +1 -1
  48. package/dist/diff_tool/app/dist/assets/apex-KFGFyKwG.js +1 -0
  49. package/dist/diff_tool/app/dist/assets/{apl-6AmEMJr-.js → apl-CBg9ewu1.js} +1 -1
  50. package/dist/diff_tool/app/dist/assets/asciidoc-SCjQUq34.js +1 -0
  51. package/dist/diff_tool/app/dist/assets/{astro-BM8EbfIg.js → astro-BVjxSYjj.js} +1 -1
  52. package/dist/diff_tool/app/dist/assets/{bat-Bo4NYOV-.js → bat-qdxAdBWQ.js} +1 -1
  53. package/dist/diff_tool/app/dist/assets/bird2-CYIUgYqB.js +1 -0
  54. package/dist/diff_tool/app/dist/assets/{blade-DiKMnN3e.js → blade-jvqV5kiv.js} +1 -1
  55. package/dist/diff_tool/app/dist/assets/bsl-_VjlB9mv.js +1 -0
  56. package/dist/diff_tool/app/dist/assets/{c-DMT5X-u9.js → c-DDAfW08c.js} +1 -1
  57. package/dist/diff_tool/app/dist/assets/c3-D0apG41V.js +1 -0
  58. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
  59. package/dist/diff_tool/app/dist/assets/catppuccin-latte-CtsyrtPq.js +1 -0
  60. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
  61. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
  62. package/dist/diff_tool/app/dist/assets/chapel-Qflwfgbt.js +1 -0
  63. package/dist/diff_tool/app/dist/assets/clarity-CtfBBspg.js +1 -0
  64. package/dist/diff_tool/app/dist/assets/{cobol-CACNMc1O.js → cobol-4iJI1LUg.js} +1 -1
  65. package/dist/diff_tool/app/dist/assets/{coffee-D_WUFE0g.js → coffee-C9LbGGO3.js} +1 -1
  66. package/dist/diff_tool/app/dist/assets/coq-DuBRPxYg.js +1 -0
  67. package/dist/diff_tool/app/dist/assets/cpp-B-x6veTx.js +1 -0
  68. package/dist/diff_tool/app/dist/assets/{crystal-wh93mtUe.js → crystal-S06EUmKn.js} +1 -1
  69. package/dist/diff_tool/app/dist/assets/{css-CCfuUqEr.js → css-DA4RYriG.js} +1 -1
  70. package/dist/diff_tool/app/dist/assets/{edge-DP-spcJf.js → edge-7dx6BjGp.js} +1 -1
  71. package/dist/diff_tool/app/dist/assets/{elixir-BXBkaEtJ.js → elixir-DPywG97a.js} +1 -1
  72. package/dist/diff_tool/app/dist/assets/{elm-BXr8OwKP.js → elm-Dgo_WnqC.js} +1 -1
  73. package/dist/diff_tool/app/dist/assets/emacs-lisp-c_oH4hRZ.js +1 -0
  74. package/dist/diff_tool/app/dist/assets/{erb-Cu5Zacs_.js → erb-CVW4PjFl.js} +1 -1
  75. package/dist/diff_tool/app/dist/assets/{gdresource-C0sCabJj.js → gdresource-xMC7jr7x.js} +1 -1
  76. package/dist/diff_tool/app/dist/assets/gdscript-DYvRD3hg.js +1 -0
  77. package/dist/diff_tool/app/dist/assets/{git-rebase-DO8LWld4.js → git-rebase-CtU0gmBJ.js} +1 -1
  78. package/dist/diff_tool/app/dist/assets/{glimmer-js-Bh-OAIDW.js → glimmer-js-twAYiPP2.js} +1 -1
  79. package/dist/diff_tool/app/dist/assets/{glimmer-ts-DI9lHU4q.js → glimmer-ts-BfNoXayN.js} +1 -1
  80. package/dist/diff_tool/app/dist/assets/{glsl--zoY4RCO.js → glsl-D_XrtFF7.js} +1 -1
  81. package/dist/diff_tool/app/dist/assets/{graphql-C8h2T_SC.js → graphql-B_GeapzM.js} +1 -1
  82. package/dist/diff_tool/app/dist/assets/hack-BCaCVoSX.js +1 -0
  83. package/dist/diff_tool/app/dist/assets/{haml-C2BBBsDW.js → haml-z9Mz7I1O.js} +1 -1
  84. package/dist/diff_tool/app/dist/assets/{handlebars-cZMztphK.js → handlebars-D0FVYagc.js} +1 -1
  85. package/dist/diff_tool/app/dist/assets/haxe-C8oCnwJJ.js +1 -0
  86. package/dist/diff_tool/app/dist/assets/{html-BtccomkJ.js → html-BOM4tb7u.js} +1 -1
  87. package/dist/diff_tool/app/dist/assets/{html-derivative-qjeUe52-.js → html-derivative-CsSlhJgr.js} +1 -1
  88. package/dist/diff_tool/app/dist/assets/{http-Dv8OQO33.js → http-Cjy9oaQn.js} +1 -1
  89. package/dist/diff_tool/app/dist/assets/{hurl-B6Fnr2ae.js → hurl-CjLQ7ql5.js} +1 -1
  90. package/dist/diff_tool/app/dist/assets/hxml-Dcm88srW.js +1 -0
  91. package/dist/diff_tool/app/dist/assets/index-QO81yN6b.js +1550 -0
  92. package/dist/diff_tool/app/dist/assets/{java-BuadWMcp.js → java-cn8DiFD8.js} +1 -1
  93. package/dist/diff_tool/app/dist/assets/{javascript-BIKxmHeL.js → javascript-CEnHZaZM.js} +1 -1
  94. package/dist/diff_tool/app/dist/assets/{jinja-Cm_guvgu.js → jinja-DIp6kVk7.js} +1 -1
  95. package/dist/diff_tool/app/dist/assets/{jison-Sst29gJb.js → jison-Dx116ito.js} +1 -1
  96. package/dist/diff_tool/app/dist/assets/{json-Bg6l2vym.js → json-C6B9h0n5.js} +1 -1
  97. package/dist/diff_tool/app/dist/assets/{jsx-BiREAxkr.js → jsx-CDEGT2B2.js} +1 -1
  98. package/dist/diff_tool/app/dist/assets/{julia-DAhrWFzr.js → julia-CsIJA3Km.js} +1 -1
  99. package/dist/diff_tool/app/dist/assets/{just-xBwbf5aT.js → just-DZRYvkQw.js} +1 -1
  100. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-Bozd7klA.js +1 -0
  101. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
  102. package/dist/diff_tool/app/dist/assets/kanagawa-wave-BML5mF2J.js +1 -0
  103. package/dist/diff_tool/app/dist/assets/latex-CeR-RQOI.js +1 -0
  104. package/dist/diff_tool/app/dist/assets/{liquid-BTsCzVvF.js → liquid-Dhf8N4mn.js} +1 -1
  105. package/dist/diff_tool/app/dist/assets/{llvm-Cm23YOpf.js → llvm-DqHOMS-s.js} +1 -1
  106. package/dist/diff_tool/app/dist/assets/{lua-BJt9x0JP.js → lua-zVTVaJzn.js} +1 -1
  107. package/dist/diff_tool/app/dist/assets/luau-C2pBCSgt.js +1 -0
  108. package/dist/diff_tool/app/dist/assets/{marko-CWdJkbvC.js → marko-BGPq5r3o.js} +1 -1
  109. package/dist/diff_tool/app/dist/assets/mdc-D8K78bym.js +1 -0
  110. package/dist/diff_tool/app/dist/assets/mermaid-BxpfTIzt.js +1 -0
  111. package/dist/diff_tool/app/dist/assets/mojo-CFuIV2fl.js +1 -0
  112. package/dist/diff_tool/app/dist/assets/monokai-B_bV9PQ9.js +1 -0
  113. package/dist/diff_tool/app/dist/assets/moonbit-DgjMoLWr.js +1 -0
  114. package/dist/diff_tool/app/dist/assets/move-BYnGhZoM.js +1 -0
  115. package/dist/diff_tool/app/dist/assets/{nginx-BwS0G4IK.js → nginx-Bo-bEa75.js} +1 -1
  116. package/dist/diff_tool/app/dist/assets/{nim-B2VFbcs9.js → nim-Bfy5M54r.js} +1 -1
  117. package/dist/diff_tool/app/dist/assets/nsis-CjNLYCLg.js +1 -0
  118. package/dist/diff_tool/app/dist/assets/nushell-DHYfO66s.js +1 -0
  119. package/dist/diff_tool/app/dist/assets/org-BKetN7sT.js +1 -0
  120. package/dist/diff_tool/app/dist/assets/{perl-BTeqR-l8.js → perl-WiwTOQTV.js} +1 -1
  121. package/dist/diff_tool/app/dist/assets/{php-Crua7nbA.js → php-CM2FzhGV.js} +1 -1
  122. package/dist/diff_tool/app/dist/assets/{powershell-DshXNtvi.js → powershell-CCSX75yM.js} +1 -1
  123. package/dist/diff_tool/app/dist/assets/prisma-DMgNhnYS.js +1 -0
  124. package/dist/diff_tool/app/dist/assets/{pug-CUlgPjMU.js → pug-D2WvUHZ-.js} +1 -1
  125. package/dist/diff_tool/app/dist/assets/{qml-DI0IjNUw.js → qml-DGPbc6TL.js} +1 -1
  126. package/dist/diff_tool/app/dist/assets/r-CCFYJ_KM.js +1 -0
  127. package/dist/diff_tool/app/dist/assets/{razor-DrkKtFm5.js → razor-D1JuQWQz.js} +1 -1
  128. package/dist/diff_tool/app/dist/assets/rbs-C0MpOrj4.js +1 -0
  129. package/dist/diff_tool/app/dist/assets/red-DX1BQOs8.js +1 -0
  130. package/dist/diff_tool/app/dist/assets/{regexp-DRmxJil7.js → regexp-zTiHwMow.js} +1 -1
  131. package/dist/diff_tool/app/dist/assets/rose-pine-aMsaMD1D.js +1 -0
  132. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
  133. package/dist/diff_tool/app/dist/assets/rose-pine-moon-DO-qXg-I.js +1 -0
  134. package/dist/diff_tool/app/dist/assets/{rst-DiRke36z.js → rst-CuUAArfH.js} +1 -1
  135. package/dist/diff_tool/app/dist/assets/{ruby-t7r9jzAg.js → ruby-DznrLCoG.js} +1 -1
  136. package/dist/diff_tool/app/dist/assets/{sas-CR7Z4kg-.js → sas-D2hJmLva.js} +1 -1
  137. package/dist/diff_tool/app/dist/assets/{scala-DKOlJaKm.js → scala-BiFt_7mu.js} +1 -1
  138. package/dist/diff_tool/app/dist/assets/{scss--CnPWaDv.js → scss-Cjb3p_6n.js} +1 -1
  139. package/dist/diff_tool/app/dist/assets/{shellscript-Bz7H5174.js → shellscript-BtwI-tfX.js} +1 -1
  140. package/dist/diff_tool/app/dist/assets/{shellsession-mlKnHJfN.js → shellsession-BYirS1xP.js} +1 -1
  141. package/dist/diff_tool/app/dist/assets/smalltalk-BHpQb5nM.js +1 -0
  142. package/dist/diff_tool/app/dist/assets/smithy-Dgaz7aur.js +1 -0
  143. package/dist/diff_tool/app/dist/assets/solarized-dark-UdsmMDCL.js +1 -0
  144. package/dist/diff_tool/app/dist/assets/solarized-light-C1IUL_tW.js +1 -0
  145. package/dist/diff_tool/app/dist/assets/solidity-Bj7E1mRn.js +1 -0
  146. package/dist/diff_tool/app/dist/assets/{soy-CKu9y9G1.js → soy-D4Ndk7-j.js} +1 -1
  147. package/dist/diff_tool/app/dist/assets/{sql-DcvKi3Jj.js → sql-DbLQ5SJl.js} +1 -1
  148. package/dist/diff_tool/app/dist/assets/{stata-Yo25QZyV.js → stata-BXoNBosJ.js} +1 -1
  149. package/dist/diff_tool/app/dist/assets/surrealql-toyTYnAL.js +1 -0
  150. package/dist/diff_tool/app/dist/assets/{svelte-BIhEVbnP.js → svelte-BEpa7pAW.js} +1 -1
  151. package/dist/diff_tool/app/dist/assets/swift-CyEgAFGc.js +1 -0
  152. package/dist/diff_tool/app/dist/assets/system-verilog-Dh5ihWbf.js +1 -0
  153. package/dist/diff_tool/app/dist/assets/{templ-D6FrV4mZ.js → templ-CZfW_RJI.js} +1 -1
  154. package/dist/diff_tool/app/dist/assets/tex-COemmIIu.js +1 -0
  155. package/dist/diff_tool/app/dist/assets/theming-B5HubD5i.js +1 -0
  156. package/dist/diff_tool/app/dist/assets/theming-BTK0wyKj.js +1 -0
  157. package/dist/diff_tool/app/dist/assets/theming-BTUlzJFw.js +1 -0
  158. package/dist/diff_tool/app/dist/assets/theming-BURFlYfV.js +1 -0
  159. package/dist/diff_tool/app/dist/assets/theming-BVZjihoZ.js +1 -0
  160. package/dist/diff_tool/app/dist/assets/theming-BWSkzMBn.js +1 -0
  161. package/dist/diff_tool/app/dist/assets/theming-BchIqPOb.js +1 -0
  162. package/dist/diff_tool/app/dist/assets/theming-CeLfRn2P.js +1 -0
  163. package/dist/diff_tool/app/dist/assets/theming-DMjwMSwU.js +1 -0
  164. package/dist/diff_tool/app/dist/assets/theming-QWGGdlwd.js +1 -0
  165. package/dist/diff_tool/app/dist/assets/{ts-tags-Kqn1PP6m.js → ts-tags-CMVUY_BA.js} +1 -1
  166. package/dist/diff_tool/app/dist/assets/{tsx-L3TEJWGL.js → tsx-BTvP6uzd.js} +1 -1
  167. package/dist/diff_tool/app/dist/assets/twig-DzP5RjJc.js +1 -0
  168. package/dist/diff_tool/app/dist/assets/{typescript-Dvc5RX4H.js → typescript-CQaGlMoX.js} +1 -1
  169. package/dist/diff_tool/app/dist/assets/{v-DETTlOr0.js → v-DBj4K9d_.js} +1 -1
  170. package/dist/diff_tool/app/dist/assets/{vb-Djn5o6TS.js → vb-DOwzaHZ0.js} +1 -1
  171. package/dist/diff_tool/app/dist/assets/verilog-B2gwz-sJ.js +1 -0
  172. package/dist/diff_tool/app/dist/assets/{vue-X1uI3I2A.js → vue-DaVWTtvb.js} +1 -1
  173. package/dist/diff_tool/app/dist/assets/{vue-html-BMpHEoeQ.js → vue-html-BA_OH0Xt.js} +1 -1
  174. package/dist/diff_tool/app/dist/assets/{vue-vine-DnTGaA4r.js → vue-vine-C_H4XbNR.js} +1 -1
  175. package/dist/diff_tool/app/dist/assets/{xml-QlPQXP0d.js → xml-1JLzpunp.js} +1 -1
  176. package/dist/diff_tool/app/dist/assets/{xsl-JpRU16Li.js → xsl-GtZi0Erj.js} +1 -1
  177. package/dist/diff_tool/app/dist/assets/{yaml-Djukn3_s.js → yaml-LueTtDDo.js} +1 -1
  178. package/dist/diff_tool/app/dist/index.html +1 -1
  179. package/dist/host/client_tool_broker.js +2 -1
  180. package/dist/host/client_tool_broker.js.map +1 -1
  181. package/dist/host/hosted_ephemeral_agent_session.js +5 -0
  182. package/dist/host/hosted_ephemeral_agent_session.js.map +1 -1
  183. package/dist/host/local_session_host.js +31 -52
  184. package/dist/host/local_session_host.js.map +1 -1
  185. package/dist/host/session_protocol_handler.js +4 -4
  186. package/dist/protocol/index.d.ts +1 -1
  187. package/dist/protocol/index.js.map +1 -1
  188. package/dist/protocol/session_protocol.d.ts +53 -17
  189. package/dist/protocol/session_protocol.js +86 -25
  190. package/dist/protocol/session_protocol.js.map +1 -1
  191. package/dist/sdk/index.d.ts +1 -1
  192. package/dist/sdk/session.js +4 -4
  193. package/dist/sdk/types.d.ts +3 -3
  194. package/dist/starter/prompts/approval-review-branch.md +7 -0
  195. package/dist/starter/prompts/approval-review-current-changes.md +7 -0
  196. package/dist/starter/prompts/approval-review-last-commit.md +7 -0
  197. package/dist/starter/skills/approval-review/SKILL.md +219 -0
  198. package/dist/store/session_snapshot_migrations.js +20 -1
  199. package/dist/store/session_snapshot_migrations.js.map +1 -1
  200. package/dist/tui/session_chat_controller.js +31 -66
  201. package/dist/tui/session_chat_controller.js.map +1 -1
  202. package/dist/tui/ui/subagent_panel.js +24 -28
  203. package/dist/tui/ui/subagent_panel.js.map +1 -1
  204. package/dist/tui/ui/tool_ui_registry.js +71 -22
  205. package/dist/tui/ui/tool_ui_registry.js.map +1 -1
  206. package/package.json +4 -4
  207. package/dist/core/tools/terminate_agent.js +0 -155
  208. package/dist/core/tools/terminate_agent.js.map +0 -1
  209. package/dist/diff_tool/app/dist/assets/actionscript-3--17pq3dv.js +0 -1
  210. package/dist/diff_tool/app/dist/assets/apex-VAyPSnFM.js +0 -1
  211. package/dist/diff_tool/app/dist/assets/asciidoc-DE70LPWp.js +0 -1
  212. package/dist/diff_tool/app/dist/assets/bird2-C6vDhewU.js +0 -1
  213. package/dist/diff_tool/app/dist/assets/bsl-BkkzgIyY.js +0 -1
  214. package/dist/diff_tool/app/dist/assets/c3-BFHwR3_K.js +0 -1
  215. package/dist/diff_tool/app/dist/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
  216. package/dist/diff_tool/app/dist/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
  217. package/dist/diff_tool/app/dist/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
  218. package/dist/diff_tool/app/dist/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
  219. package/dist/diff_tool/app/dist/assets/clarity-SemFz856.js +0 -1
  220. package/dist/diff_tool/app/dist/assets/coq-BrsZFFmf.js +0 -1
  221. package/dist/diff_tool/app/dist/assets/cpp-BcU9r9kv.js +0 -1
  222. package/dist/diff_tool/app/dist/assets/emacs-lisp-B4R74twV.js +0 -1
  223. package/dist/diff_tool/app/dist/assets/gdscript-Cp2uCuqX.js +0 -1
  224. package/dist/diff_tool/app/dist/assets/hack-DAsjGmmw.js +0 -1
  225. package/dist/diff_tool/app/dist/assets/haxe-OTjmBuCE.js +0 -1
  226. package/dist/diff_tool/app/dist/assets/hxml-B0Qn7Nwc.js +0 -1
  227. package/dist/diff_tool/app/dist/assets/index-U7G4V3LV.js +0 -1579
  228. package/dist/diff_tool/app/dist/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
  229. package/dist/diff_tool/app/dist/assets/kanagawa-lotus-BN08jTvb.js +0 -1
  230. package/dist/diff_tool/app/dist/assets/kanagawa-wave-CTweb8Dz.js +0 -1
  231. package/dist/diff_tool/app/dist/assets/latex-Bydg2zYo.js +0 -1
  232. package/dist/diff_tool/app/dist/assets/luau-FMPmPwt6.js +0 -1
  233. package/dist/diff_tool/app/dist/assets/mdc-B6ddHTKx.js +0 -1
  234. package/dist/diff_tool/app/dist/assets/mermaid-Bk4SNUv9.js +0 -1
  235. package/dist/diff_tool/app/dist/assets/mojo-BgCJLMeH.js +0 -1
  236. package/dist/diff_tool/app/dist/assets/monokai-CdkpiU2Y.js +0 -1
  237. package/dist/diff_tool/app/dist/assets/moonbit-CaWjb8XO.js +0 -1
  238. package/dist/diff_tool/app/dist/assets/move-B1IS1UjX.js +0 -1
  239. package/dist/diff_tool/app/dist/assets/nushell-DcLAeLz5.js +0 -1
  240. package/dist/diff_tool/app/dist/assets/pierre-dark-CpLgRqie.js +0 -1
  241. package/dist/diff_tool/app/dist/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +0 -1
  242. package/dist/diff_tool/app/dist/assets/pierre-dark-soft-kZQmAZld.js +0 -1
  243. package/dist/diff_tool/app/dist/assets/pierre-dark-tritanopia-CpjhbsIL.js +0 -1
  244. package/dist/diff_tool/app/dist/assets/pierre-dark-vibrant-CpQYzh95.js +0 -1
  245. package/dist/diff_tool/app/dist/assets/pierre-light-CoaEpmwp.js +0 -1
  246. package/dist/diff_tool/app/dist/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +0 -1
  247. package/dist/diff_tool/app/dist/assets/pierre-light-soft-lWLdNTOI.js +0 -1
  248. package/dist/diff_tool/app/dist/assets/pierre-light-tritanopia-CEbqgOJL.js +0 -1
  249. package/dist/diff_tool/app/dist/assets/pierre-light-vibrant-D80Fkn33.js +0 -1
  250. package/dist/diff_tool/app/dist/assets/prisma-BsRQq5mF.js +0 -1
  251. package/dist/diff_tool/app/dist/assets/r-DRexFFDh.js +0 -1
  252. package/dist/diff_tool/app/dist/assets/red-CJ3rzSJv.js +0 -1
  253. package/dist/diff_tool/app/dist/assets/rose-pine-BthvhNj6.js +0 -1
  254. package/dist/diff_tool/app/dist/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
  255. package/dist/diff_tool/app/dist/assets/rose-pine-moon-hon4tzzS.js +0 -1
  256. package/dist/diff_tool/app/dist/assets/smalltalk-B16xEiuN.js +0 -1
  257. package/dist/diff_tool/app/dist/assets/solarized-dark-DV17i1UV.js +0 -1
  258. package/dist/diff_tool/app/dist/assets/solarized-light-DSh2HLQt.js +0 -1
  259. package/dist/diff_tool/app/dist/assets/solidity-CKzVLygQ.js +0 -1
  260. package/dist/diff_tool/app/dist/assets/surrealql-CUddZ4Qk.js +0 -1
  261. package/dist/diff_tool/app/dist/assets/swift-DonLKvLd.js +0 -1
  262. package/dist/diff_tool/app/dist/assets/system-verilog-DJ5XKQeo.js +0 -1
  263. package/dist/diff_tool/app/dist/assets/tex-BOTYELrL.js +0 -1
  264. package/dist/diff_tool/app/dist/assets/twig-BpzmhnWz.js +0 -1
  265. package/dist/diff_tool/app/dist/assets/verilog-CiiDBU1e.js +0 -1
@@ -1,18 +1,19 @@
1
1
  import { Buffer } from "node:buffer";
2
- import { buildCompactionUserMessage, formatHistoryForCompaction } from "../utils/compact.js";
2
+ import { buildCompactionUserMessage, formatHistoryForCompaction, truncateToolRecoveryResults, } from "../utils/compact.js";
3
3
  import { extractAssistantText } from "../utils/messages.js";
4
4
  import { bytesToTokens } from "../utils/token.js";
5
5
  import { truncateForTokens } from "../utils/truncate.js";
6
- import { formatTauUserText, getSummaryCompactionMetadataFromMessage, hasAutoCompactionContinuationMetadata, stripTauUserMetadata, } from "../utils/user_metadata.js";
6
+ import { formatTauUserText, getSummaryCompactionMetadataFromMessage, hasAutoCompactionContinuationMetadata, hasToolRecoveryMetadata, stripTauUserMetadata, } from "../utils/user_metadata.js";
7
7
  const PRESERVED_USER_MESSAGE_MAX_TOKENS = 20_000;
8
+ const RETAINED_TOOL_RESULT_MAX_TOKENS = 8_192;
8
9
  const PRESERVED_USER_MESSAGE_IDS_OPEN_TAG = "<preserved-user-message-ids>";
9
10
  const PRESERVED_USER_MESSAGE_IDS_CLOSE_TAG = "</preserved-user-message-ids>";
10
- export const COMPACTION_SUMMARIZATION_SYSTEM_PROMPT = "You are a context compaction assistant. Your output will replace the conversation history for another assistant. Do not continue the conversation. Do not answer any conversation questions. Only output the structured summary in the exact format requested.";
11
+ export const COMPACTION_SUMMARIZATION_SYSTEM_PROMPT = "You are a context compaction assistant. Your output will replace the conversation history for another assistant. Do not continue the conversation. Do not answer any conversation questions. Only output a structured handoff summary followed by the required preserved user message id block.";
11
12
  const COMPACTION_SUMMARIZATION_PROMPT = `The messages above are a conversation to compact. Create an information-dense context checkpoint summary that will replace the full conversation history. Another assistant should be able to continue the session from this summary as if the original conversation were still available.
12
13
 
13
14
  If a [System prompt] block is present, use it as context for interpreting the conversation. Do not summarize it as part of the conversation history.
14
15
 
15
- Use this exact format:
16
+ Use this structure as a strong default, not a rigid form. Preserve the same continuity-critical concerns, but reorganize, combine, omit, or add sections when another structure would produce a clearer handoff. Project-specific sections and concise prose are allowed. The <preserved-user-message-ids> block remains required and must appear exactly once at the end.
16
17
 
17
18
  ## Goal
18
19
  [What the user is currently trying to accomplish. If the goal changed, briefly note the shift.]
@@ -55,7 +56,8 @@ Rules:
55
56
  - If goals evolved over time, capture the current goal and briefly note the change.
56
57
  - Collapse tangents, retries, and pleasantries unless they materially affect decisions, blockers, or next steps.
57
58
  - Select preserved user message ids only from <user-message-candidates>. The candidates with source "conversation" are identified inline in <conversation> by matching [User id="..."] markers. Select user messages whose exact wording is likely needed to continue, such as standing goals, constraints, corrections, explicit instructions, and recent actionable requests. Omit resolved, repetitive, superseded, or conversational messages. Keep the selected messages under roughly 20,000 tokens total.
58
- - Preserve exact file paths, function names, commands, and error messages.`;
59
+ - Preserve exact file paths, function names, commands, and error messages.
60
+ - Treat the suggested headings as a checklist, not a form to fill mechanically. Add project-specific sections, combine or omit empty subsections, and use prose or tables when they communicate the handoff more clearly.`;
59
61
  const COMPACTION_UPDATE_SUMMARIZATION_PROMPT = `The messages above are new conversation messages to incorporate into the existing summary in <previous-summary> tags. The updated summary will replace the prior summary plus these new messages as the session's continuity context.
60
62
 
61
63
  If a [System prompt] block is present, use it as context for interpreting the new conversation messages. Do not summarize it as part of the conversation history.
@@ -67,7 +69,7 @@ Update the existing structured summary with these rules:
67
69
  - Update Next Steps based on the current state.
68
70
  - Remove only information that is clearly obsolete, superseded, or irrelevant to continuing the session.
69
71
 
70
- Use the exact same format as before:
72
+ Use the previous summary's structure when it remains clear, but reorganize it when the conversation has changed enough that another structure would produce a better handoff. Preserve the same continuity-critical concerns. You may combine, omit, or add sections, use project-specific headings, and mix concise prose with lists. The <preserved-user-message-ids> block remains required and must appear exactly once at the end.
71
73
 
72
74
  ## Goal
73
75
  [Preserve and extend goals as needed. If the goal shifted, reflect the latest goal and note the change briefly.]
@@ -109,23 +111,24 @@ Rules:
109
111
  - If goals evolved over time, capture the current goal and briefly note the change.
110
112
  - Collapse tangents, retries, and pleasantries unless they materially affect decisions, blockers, or next steps.
111
113
  - Select preserved user message ids only from <user-message-candidates>. The candidates with source "conversation" are identified inline in <conversation> by matching [User id="..."] markers. Select user messages whose exact wording is likely needed to continue, such as standing goals, constraints, corrections, explicit instructions, and recent actionable requests. Omit resolved, repetitive, superseded, or conversational messages. Keep the selected messages under roughly 20,000 tokens total.
112
- - Preserve exact file paths, function names, commands, and error messages.`;
114
+ - Preserve exact file paths, function names, commands, and error messages.
115
+ - Treat the suggested headings as a checklist, not a form to fill mechanically. Add project-specific sections, combine or omit empty subsections, and use prose or tables when they communicate the handoff more clearly.`;
113
116
  export function prepareSessionCompaction(entries, options) {
114
117
  const latestCompaction = findLatestCompactionEntry(entries);
115
118
  const entriesToSummarize = entries
116
119
  .slice(latestCompaction.index + 1)
117
120
  .filter((entry) => !hasAutoCompactionContinuationMetadata(entry.message));
118
121
  const messagesToSummarize = entriesToSummarize.map((entry) => entry.message);
119
- const userMessageIds = buildUserMessageIdMap(entriesToSummarize);
122
+ const historyEntryIds = buildHistoryEntryIdMap(entriesToSummarize);
120
123
  const formattedConversation = formatHistoryForCompaction(messagesToSummarize, {
121
- userMessageIds,
124
+ historyEntryIds,
122
125
  });
123
126
  if (!formattedConversation) {
124
127
  return undefined;
125
128
  }
126
129
  const formattedHistory = formatHistoryForCompaction(messagesToSummarize, {
127
130
  systemPrompt: options.systemPrompt,
128
- userMessageIds,
131
+ historyEntryIds,
129
132
  });
130
133
  return {
131
134
  previousSummary: latestCompaction.summary,
@@ -264,14 +267,13 @@ function fitPreservedUserMessages(candidates) {
264
267
  };
265
268
  });
266
269
  }
267
- function buildUserMessageIdMap(entries) {
268
- const ids = new Map();
269
- for (const entry of entries) {
270
- if (extractPreservableUserText(entry.message)) {
271
- ids.set(entry.message, entry.id);
272
- }
273
- }
274
- return ids;
270
+ function buildHistoryEntryIdMap(entries) {
271
+ return new Map(entries.map((entry) => [entry.message, entry.id]));
272
+ }
273
+ function isAutoCompactionArchiveEntry(entry) {
274
+ const message = entry.message;
275
+ return !(message.role === "assistant" &&
276
+ (message.stopReason === "error" || message.stopReason === "aborted"));
275
277
  }
276
278
  function collectUserMessageCandidates(entries, previousMessages) {
277
279
  const candidates = new Map();
@@ -305,7 +307,8 @@ function extractPreservableUserText(message) {
305
307
  return undefined;
306
308
  }
307
309
  if (getSummaryCompactionMetadataFromMessage(message) ||
308
- hasAutoCompactionContinuationMetadata(message)) {
310
+ hasAutoCompactionContinuationMetadata(message) ||
311
+ hasToolRecoveryMetadata(message)) {
309
312
  return undefined;
310
313
  }
311
314
  const text = extractUserText(message);
@@ -336,6 +339,53 @@ function escapeXmlAttribute(value) {
336
339
  function estimateTextTokens(text) {
337
340
  return Math.max(1, bytesToTokens(Buffer.byteLength(text, "utf8")));
338
341
  }
342
+ function boundRetainedEntry(entry) {
343
+ const message = structuredClone(entry.message);
344
+ if (message.role === "user" && hasToolRecoveryMetadata(message)) {
345
+ if (typeof message.content === "string") {
346
+ message.content = truncateToolRecoveryResults(message.content, RETAINED_TOOL_RESULT_MAX_TOKENS);
347
+ }
348
+ else {
349
+ for (const block of message.content) {
350
+ if (block.type === "text") {
351
+ block.text = truncateToolRecoveryResults(block.text, RETAINED_TOOL_RESULT_MAX_TOKENS);
352
+ }
353
+ }
354
+ }
355
+ return { id: entry.id, message };
356
+ }
357
+ if (message.role !== "toolResult") {
358
+ return { id: entry.id, message };
359
+ }
360
+ const toolResult = message;
361
+ const text = toolResult.content
362
+ .filter((content) => content.type === "text")
363
+ .map((content) => content.text)
364
+ .join("\n");
365
+ const truncated = truncateForTokens(text, {
366
+ maxTokens: RETAINED_TOOL_RESULT_MAX_TOKENS,
367
+ strategy: "middle",
368
+ });
369
+ if (!truncated.truncated) {
370
+ return { id: entry.id, message };
371
+ }
372
+ const content = [];
373
+ let replacedText = false;
374
+ for (const block of toolResult.content) {
375
+ if (block.type !== "text") {
376
+ content.push(block);
377
+ continue;
378
+ }
379
+ if (!replacedText) {
380
+ content.push({ ...block, text: truncated.content });
381
+ replacedText = true;
382
+ }
383
+ }
384
+ return {
385
+ id: entry.id,
386
+ message: { ...toolResult, content },
387
+ };
388
+ }
339
389
  export function prepareAutoCompaction(entries, settings) {
340
390
  const latestCompaction = findLatestCompactionEntry(entries);
341
391
  const cut = selectAutoCompactionCut(entries, {
@@ -349,21 +399,21 @@ export function prepareAutoCompaction(entries, settings) {
349
399
  .slice(latestCompaction.index + 1, cut.startIndex)
350
400
  .filter((entry) => !hasAutoCompactionContinuationMetadata(entry.message));
351
401
  const messagesToSummarize = entriesToSummarize.map((entry) => entry.message);
352
- const userMessageIds = buildUserMessageIdMap(entriesToSummarize);
402
+ const historyEntryIds = buildHistoryEntryIdMap(entriesToSummarize.filter(isAutoCompactionArchiveEntry));
353
403
  const formattedConversation = formatHistoryForCompaction(messagesToSummarize, {
354
- userMessageIds,
404
+ historyEntryIds,
355
405
  });
356
406
  if (!formattedConversation) {
357
407
  return undefined;
358
408
  }
359
409
  const formattedHistory = formatHistoryForCompaction(messagesToSummarize, {
360
410
  systemPrompt: settings.systemPrompt,
361
- userMessageIds,
411
+ historyEntryIds,
362
412
  });
363
413
  const retainedEntries = entries
364
414
  .slice(cut.startIndex)
365
415
  .filter((entry) => !hasAutoCompactionContinuationMetadata(entry.message))
366
- .map((entry) => ({ ...entry }));
416
+ .map(boundRetainedEntry);
367
417
  if (retainedEntries.length === 0) {
368
418
  return undefined;
369
419
  }
@@ -375,23 +425,40 @@ export function prepareAutoCompaction(entries, settings) {
375
425
  userMessageCandidates: collectUserMessageCandidates(entriesToSummarize, latestCompaction.preservedUserMessages),
376
426
  };
377
427
  }
428
+ const AUTO_COMPACTION_ARCHIVE_REFERENCE_GUIDANCE = `After compaction, the continuing assistant will receive paths to temporary text and JSON transcripts of the pre-compaction context. Conversation records above that show a history entry id can be recovered from those transcripts by id. The continuing assistant can search the numbered text transcripts first, then inspect the corresponding JSON record when it needs the full archived content.
429
+
430
+ Keep the summary independently useful. State continuity-critical goals, constraints, decisions, current state, blockers, and next steps directly. When exact or bulky details would be wasteful to reproduce, you may mention the relevant history entry id in ordinary prose so the continuing assistant can retrieve it. This is useful for long tool output, diagnostic logs, exact errors, payloads, and large code excerpts. Use such references sparingly and only for ids shown in the conversation.
431
+
432
+ Good pattern: "The key failure is a missing RuntimeConfig field; the complete compiler output is in history entry 'HISTORY_ENTRY_ID'."
433
+ Bad pattern: "See history entry 'HISTORY_ENTRY_ID' for what happened."`;
378
434
  export function buildAutoCompactionPrompt(preparation) {
435
+ const retainedContextGuidance = preparation.cutType === "split-turn"
436
+ ? `The retained context will begin in the middle of the latest assistant/tool turn. Add a "## Current Turn Handoff" section that clearly captures:
437
+ - the original user request for this turn
438
+ - work completed before the retained suffix
439
+ - tool state and findings at the cut boundary
440
+ - what the first retained message is continuing and what remains unresolved
441
+
442
+ Place the section wherever it makes the handoff clearest. Preserve earlier session context elsewhere in the summary without duplicating the retained suffix.`
443
+ : "The retained context will include recent messages. Ensure the summary complements that retained context without duplicating unnecessary detail.";
444
+ const boundedRetainedContextGuidance = "Individual textual tool results and tool-recovery payloads in the retained context may be middle-truncated above the retention limit. Do not describe the retained context as exact or verbatim. The continuing assistant can recover omitted output through a targeted search of the pre-compaction archive when needed.";
379
445
  return buildSessionCompactionPrompt({
380
446
  preparation,
381
- guidance: preparation.cutType === "split-turn"
382
- ? "The retained context will begin in the middle of the latest assistant/tool turn. Ensure the summary preserves the original user request, earlier tool work, and the state immediately before the retained suffix."
383
- : "The retained context will include recent messages verbatim. Ensure the summary complements that retained context without duplicating unnecessary detail.",
447
+ guidance: `${retainedContextGuidance}\n\n${boundedRetainedContextGuidance}\n\n${AUTO_COMPACTION_ARCHIVE_REFERENCE_GUIDANCE}`,
384
448
  });
385
449
  }
386
450
  export function buildAutoCompactionContinuationMessage(args) {
387
451
  const lines = [
388
452
  "The conversation context before this point has been compacted.",
389
- "Earlier context is summarized in the compaction message above. Recent messages are retained verbatim after that summary.",
453
+ "Earlier context is summarized in the compaction message above. Recent messages are retained after that summary, but large textual tool results and tool-recovery payloads may be middle-truncated.",
390
454
  "Continue from the summary and retained context without asking the user to repeat information.",
391
455
  ];
392
456
  if (args.cutType === "split-turn") {
393
457
  lines.push("The retained messages begin in the middle of the latest assistant/tool turn. The summary contains the original request and earlier tool work from that turn.");
394
458
  }
459
+ if (args.archive) {
460
+ lines.push("The summary and retained context should normally be sufficient. If a specific missing detail is needed, temporary pre-compaction snapshots are available as numbered pairs in one directory:", `- this compaction's text transcript: ${args.archive.textPath}`, `- this compaction's full JSON: ${args.archive.jsonPath}`, "Earlier numbered pairs in the same directory contain older pre-compaction snapshots, so include them in targeted searches when the detail may predate this compaction.", "When the compaction summary mentions a history entry id, search the numbered text transcripts for that id first, then inspect the corresponding JSON record if the text transcript is truncated or incomplete.", "When retained output is marked as truncated, search the text transcript by tool name and distinctive surrounding text, then inspect the paired JSON record for the complete output.", "Prefer narrow searches and bounded reads of the text transcripts; their tool results are middle-truncated. The JSON files retain untruncated archived content and may be very large.", "When available, delegating a precise archive lookup to a low-effort subagent can preserve this context more efficiently than reading large sections directly.", "These files are temporary and may no longer exist.");
461
+ }
395
462
  const hiddenSystemMessages = [lines.join("\n")];
396
463
  return {
397
464
  role: "user",
@@ -478,7 +545,8 @@ function collectTurnStarts(entries, startIndex) {
478
545
  continue;
479
546
  }
480
547
  if (getSummaryCompactionMetadataFromMessage(message) ||
481
- hasAutoCompactionContinuationMetadata(message)) {
548
+ hasAutoCompactionContinuationMetadata(message) ||
549
+ hasToolRecoveryMetadata(message)) {
482
550
  continue;
483
551
  }
484
552
  starts.push(index);
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../src/core/session/compaction.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,20 @@
1
1
  import { MessageAccumulator } from "./message_accumulator.js";
2
2
  const ASSISTANT_PARTIAL_MIN_INTERVAL_MS = 33;
3
+ export class ProviderStreamError extends Error {
4
+ providerError;
5
+ constructor(providerError) {
6
+ super(providerError instanceof Error
7
+ ? providerError.message
8
+ : providerError &&
9
+ typeof providerError === "object" &&
10
+ "errorMessage" in providerError &&
11
+ typeof providerError.errorMessage === "string"
12
+ ? providerError.errorMessage
13
+ : String(providerError));
14
+ this.providerError = providerError;
15
+ this.name = "ProviderStreamError";
16
+ }
17
+ }
3
18
  function getStreamingToolCallIdentity(event) {
4
19
  const content = event.partial.content[event.contentIndex];
5
20
  if (content?.type !== "toolCall" || !content.id.trim() || !content.name.trim()) {
@@ -11,7 +26,13 @@ export async function* runModelSubturn(options) {
11
26
  const { model, context, streamModel, streamOptions, signal, emitPartials, retry } = options;
12
27
  let hasEmittedCompletedToolCall = false;
13
28
  const runAttempt = async function* (attemptOptions) {
14
- const stream = streamModel(context, attemptOptions);
29
+ let stream;
30
+ try {
31
+ stream = streamModel(context, attemptOptions);
32
+ }
33
+ catch (error) {
34
+ throw new ProviderStreamError(error);
35
+ }
15
36
  const accumulator = emitPartials ? new MessageAccumulator() : undefined;
16
37
  let lastPartialEmittedAt = 0;
17
38
  let hasPendingPartial = false;
@@ -69,8 +90,51 @@ export async function* runModelSubturn(options) {
69
90
  yield { type: "assistant_partial", snapshot };
70
91
  lastPartialEmittedAt = Date.now();
71
92
  };
93
+ const streamIterator = stream[Symbol.asyncIterator]();
94
+ const readStreamEvent = async () => {
95
+ try {
96
+ return { type: "stream_event", result: await streamIterator.next() };
97
+ }
98
+ catch (error) {
99
+ throw new ProviderStreamError(error);
100
+ }
101
+ };
102
+ let pendingStreamEvent;
72
103
  try {
73
- for await (const event of stream) {
104
+ while (true) {
105
+ pendingStreamEvent ??= readStreamEvent();
106
+ let next;
107
+ if (accumulator && hasPendingPartial && lastPartialEmittedAt !== 0) {
108
+ const delayMs = Math.max(0, ASSISTANT_PARTIAL_MIN_INTERVAL_MS - (Date.now() - lastPartialEmittedAt));
109
+ if (delayMs === 0) {
110
+ yield* emitPartialIfPending();
111
+ continue;
112
+ }
113
+ let timer;
114
+ const partialFlush = new Promise((resolve) => {
115
+ timer = setTimeout(() => resolve({ type: "partial_flush" }), delayMs);
116
+ });
117
+ try {
118
+ next = await Promise.race([pendingStreamEvent, partialFlush]);
119
+ }
120
+ finally {
121
+ if (timer) {
122
+ clearTimeout(timer);
123
+ }
124
+ }
125
+ }
126
+ else {
127
+ next = await pendingStreamEvent;
128
+ }
129
+ if (next.type === "partial_flush") {
130
+ yield* emitPartialIfPending();
131
+ continue;
132
+ }
133
+ if (next.result.done) {
134
+ break;
135
+ }
136
+ pendingStreamEvent = undefined;
137
+ const event = next.result.value;
74
138
  if (accumulator && event.type !== "toolcall_end") {
75
139
  accumulator.processEvent(event);
76
140
  }
@@ -153,11 +217,19 @@ export async function* runModelSubturn(options) {
153
217
  }
154
218
  throw error;
155
219
  }
220
+ finally {
221
+ await streamIterator.return?.();
222
+ }
156
223
  yield* emitPartialIfPending();
157
224
  for (const discarded of discardStreamingToolCalls()) {
158
225
  yield discarded;
159
226
  }
160
- return await stream.result();
227
+ try {
228
+ return await stream.result();
229
+ }
230
+ catch (error) {
231
+ throw new ProviderStreamError(error);
232
+ }
161
233
  };
162
234
  const retryNotice = retry?.notice
163
235
  ? {
@@ -211,9 +283,10 @@ export async function* runModelSubturn(options) {
211
283
  return result;
212
284
  }
213
285
  catch (error) {
214
- if (!hasEmittedCompletedToolCall &&
286
+ if (error instanceof ProviderStreamError &&
287
+ !hasEmittedCompletedToolCall &&
215
288
  attempt < maxRetries &&
216
- retry?.shouldRetryAfterError?.({ error, model })) {
289
+ retry?.shouldRetryAfterError?.({ error: error.providerError, model })) {
217
290
  attempt += 1;
218
291
  retry?.onRetry?.();
219
292
  yield { type: "model_retry_scheduled", attempt, delayMs };
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/session/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/core/session/runner.ts"],"names":[],"mappings":"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"}