zidane 9.1.1 → 9.1.3

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 (279) hide show
  1. package/dist/{acp-Di9WvMDF.js → acp-CeCavNlg.js} +7 -7
  2. package/dist/{acp-Di9WvMDF.js.map → acp-CeCavNlg.js.map} +1 -1
  3. package/dist/acp-cli.js +5 -5
  4. package/dist/acp.d.ts +2 -2
  5. package/dist/acp.js +1 -1
  6. package/dist/{agent-DJhpTS-B.js → agent-Dh_XZ7fj.js} +74 -19
  7. package/dist/agent-Dh_XZ7fj.js.map +1 -0
  8. package/dist/agent.d.ts +1 -1
  9. package/dist/agent.js +1 -1
  10. package/dist/{auth-store-port-DFgf22oo.js → auth-store-port-BKpjlJ8a.js} +2 -2
  11. package/dist/{auth-store-port-DFgf22oo.js.map → auth-store-port-BKpjlJ8a.js.map} +1 -1
  12. package/dist/{auto-update-restart-BFB7Ek87.js → auto-update-restart-CQJtndMG.js} +277 -41
  13. package/dist/auto-update-restart-CQJtndMG.js.map +1 -0
  14. package/dist/{browser-BcoCCB_n.js → browser-BkdeKnxO.js} +56 -2
  15. package/dist/browser-BkdeKnxO.js.map +1 -0
  16. package/dist/{browser-entry-ypi8CyE-.d.ts → browser-entry-BCwruqNa.d.ts} +10 -10
  17. package/dist/{browser-entry-ypi8CyE-.d.ts.map → browser-entry-BCwruqNa.d.ts.map} +1 -1
  18. package/dist/channels.d.ts +5 -5
  19. package/dist/chat/browser.d.ts +4 -4
  20. package/dist/chat/browser.js +6 -6
  21. package/dist/chat/pure.d.ts +5 -5
  22. package/dist/chat/pure.js +8 -8
  23. package/dist/chat.d.ts +5 -5
  24. package/dist/chat.js +55 -55
  25. package/dist/chat.js.map +1 -1
  26. package/dist/{cli-shared-CabruH8Z.js → cli-shared-DeRHgYvl.js} +4 -4
  27. package/dist/{cli-shared-CabruH8Z.js.map → cli-shared-DeRHgYvl.js.map} +1 -1
  28. package/dist/cli-style-DBEm6CyT.js +105 -0
  29. package/dist/cli-style-DBEm6CyT.js.map +1 -0
  30. package/dist/{client-core-CIixwznM.d.ts → client-core-C_4m_oL6.d.ts} +4 -4
  31. package/dist/{client-core-CIixwznM.d.ts.map → client-core-C_4m_oL6.d.ts.map} +1 -1
  32. package/dist/{client-CCaIXWue.d.ts → client-ygTASGis.d.ts} +2 -2
  33. package/dist/{client-CCaIXWue.d.ts.map → client-ygTASGis.d.ts.map} +1 -1
  34. package/dist/codemode-worker.js +8 -5
  35. package/dist/codemode-worker.js.map +1 -1
  36. package/dist/codemode.d.ts +16 -0
  37. package/dist/codemode.d.ts.map +1 -1
  38. package/dist/codemode.js +2 -2
  39. package/dist/{connection-loop-QmWL-fJf.d.ts → connection-loop-D_pRONCr.d.ts} +4 -4
  40. package/dist/{connection-loop-QmWL-fJf.d.ts.map → connection-loop-D_pRONCr.d.ts.map} +1 -1
  41. package/dist/contexts/daytona.d.ts +3 -3
  42. package/dist/contexts/docker.d.ts +1 -1
  43. package/dist/contexts/e2b.d.ts +2 -2
  44. package/dist/contexts/sandbox.d.ts +1 -1
  45. package/dist/{contexts-C72b0mMa.js → contexts-DLZTSRHU.js} +17 -106
  46. package/dist/contexts-DLZTSRHU.js.map +1 -0
  47. package/dist/contexts.d.ts +4 -4
  48. package/dist/contexts.js +2 -2
  49. package/dist/{credentials-wwETW8rI.js → credentials-Bqg-qNBM.js} +2 -2
  50. package/dist/{credentials-wwETW8rI.js.map → credentials-Bqg-qNBM.js.map} +1 -1
  51. package/dist/{cwd-picker-CcekODCt.js → cwd-picker-BsHA6HKv.js} +4 -4
  52. package/dist/{cwd-picker-CcekODCt.js.map → cwd-picker-BsHA6HKv.js.map} +1 -1
  53. package/dist/daemon-cli.js +4 -3
  54. package/dist/daemon-cli.js.map +1 -1
  55. package/dist/{decisions-CXmK0nz9.js → decisions-hsw5XS2g.js} +3 -1
  56. package/dist/decisions-hsw5XS2g.js.map +1 -0
  57. package/dist/{discovery-DycXFxdA.js → discovery-CX7nbMCn.js} +4 -4
  58. package/dist/{discovery-DycXFxdA.js.map → discovery-CX7nbMCn.js.map} +1 -1
  59. package/dist/durable/sqlite.d.ts +2 -2
  60. package/dist/durable.d.ts +1 -1
  61. package/dist/{engine-VQ86XGdG.js → engine-CxBGgU94.js} +6 -6
  62. package/dist/{engine-VQ86XGdG.js.map → engine-CxBGgU94.js.map} +1 -1
  63. package/dist/{eval-Bod0I1W_.js → eval-CfGUDAkN.js} +3 -3
  64. package/dist/{eval-Bod0I1W_.js.map → eval-CfGUDAkN.js.map} +1 -1
  65. package/dist/eval.d.ts +1 -1
  66. package/dist/eval.js +1 -1
  67. package/dist/{executor-C7RQrkEq.js → executor-j_LFRBwS.js} +4 -4
  68. package/dist/{executor-C7RQrkEq.js.map → executor-j_LFRBwS.js.map} +1 -1
  69. package/dist/{extension-mark-BqKdEZwF.js → extension-mark-_rhkDWL5.js} +9 -6
  70. package/dist/extension-mark-_rhkDWL5.js.map +1 -0
  71. package/dist/extensions/testing.d.ts +1 -1
  72. package/dist/extensions/testing.js +2 -2
  73. package/dist/{extensions-BCx4QuGB.js → extensions-ADlhBQ_1.js} +8 -8
  74. package/dist/{extensions-BCx4QuGB.js.map → extensions-ADlhBQ_1.js.map} +1 -1
  75. package/dist/{extensions-client-D8tEAcMw.d.ts → extensions-client-D4Q2XRKV.d.ts} +31 -5
  76. package/dist/extensions-client-D4Q2XRKV.d.ts.map +1 -0
  77. package/dist/extensions.d.ts +1 -1
  78. package/dist/extensions.js +6 -6
  79. package/dist/{fold-rules-DvLK8pbf.d.ts → fold-rules-1DpDwG9h.d.ts} +2 -2
  80. package/dist/{fold-rules-DvLK8pbf.d.ts.map → fold-rules-1DpDwG9h.d.ts.map} +1 -1
  81. package/dist/{google-Crva32sk.js → google-B-Dhmzzf.js} +2 -2
  82. package/dist/{google-Crva32sk.js.map → google-B-Dhmzzf.js.map} +1 -1
  83. package/dist/{headless-CCm-jLLT.js → headless-CQm19BL0.js} +4 -4
  84. package/dist/{headless-CCm-jLLT.js.map → headless-CQm19BL0.js.map} +1 -1
  85. package/dist/headless.d.ts +1 -1
  86. package/dist/headless.js +1 -1
  87. package/dist/history-worker.js +1 -1
  88. package/dist/{host-wO_6GW0y.js → host-C61ntFBC.js} +276 -103
  89. package/dist/host-C61ntFBC.js.map +1 -0
  90. package/dist/{host-BHMs9jsN.js → host-DEoEzQal.js} +13 -4
  91. package/dist/host-DEoEzQal.js.map +1 -0
  92. package/dist/{host-scoped-settings-CrbcqOkP.js → host-scoped-settings-WBYaCork.js} +2 -2
  93. package/dist/{host-scoped-settings-CrbcqOkP.js.map → host-scoped-settings-WBYaCork.js.map} +1 -1
  94. package/dist/{host-signals-Jsjd_-4g.js → host-signals-Cb2TlGtN.js} +5 -5
  95. package/dist/{host-signals-Jsjd_-4g.js.map → host-signals-Cb2TlGtN.js.map} +1 -1
  96. package/dist/{host-version-CNAr9pov.js → host-version-BIx4CuBM.js} +2 -2
  97. package/dist/{host-version-CNAr9pov.js.map → host-version-BIx4CuBM.js.map} +1 -1
  98. package/dist/{index-C6nnKu32.d.ts → index-B0PLo9jn.d.ts} +4 -4
  99. package/dist/{index-C6nnKu32.d.ts.map → index-B0PLo9jn.d.ts.map} +1 -1
  100. package/dist/{index-Djnc8Peh.d.ts → index-De4x-s76.d.ts} +14 -14
  101. package/dist/{index-Djnc8Peh.d.ts.map → index-De4x-s76.d.ts.map} +1 -1
  102. package/dist/{index-CGbOWa7y.d.ts → index-WlE93Q6d.d.ts} +411 -3
  103. package/dist/index-WlE93Q6d.d.ts.map +1 -0
  104. package/dist/{index-CCf_WeTQ.d.ts → index-f-XWIoYo.d.ts} +2 -2
  105. package/dist/{index-CCf_WeTQ.d.ts.map → index-f-XWIoYo.d.ts.map} +1 -1
  106. package/dist/index.d.ts +5 -5
  107. package/dist/index.js +17 -17
  108. package/dist/ipc/browser-types.d.ts +304 -7
  109. package/dist/ipc/browser-types.d.ts.map +1 -1
  110. package/dist/ipc/browser.d.ts +4 -4
  111. package/dist/ipc/browser.js +2 -2
  112. package/dist/ipc/remote.d.ts +6 -6
  113. package/dist/ipc/remote.js +3 -3
  114. package/dist/{ipc-BzWhIybr.js → ipc-DiH_P-wr.js} +4 -4
  115. package/dist/{ipc-BzWhIybr.js.map → ipc-DiH_P-wr.js.map} +1 -1
  116. package/dist/ipc.d.ts +10 -10
  117. package/dist/ipc.js +8 -8
  118. package/dist/{json-Dj-YATkZ.js → json-BjClr43H.js} +2 -20
  119. package/dist/json-BjClr43H.js.map +1 -0
  120. package/dist/{links-CJG_rFvf.js → links-BbC_lOnn.js} +9 -9
  121. package/dist/{links-CJG_rFvf.js.map → links-BbC_lOnn.js.map} +1 -1
  122. package/dist/{loaded-entry-DTURJo_R.js → loaded-entry-C0vkCVNQ.js} +2 -2
  123. package/dist/{loaded-entry-DTURJo_R.js.map → loaded-entry-C0vkCVNQ.js.map} +1 -1
  124. package/dist/mcp.d.ts +1 -1
  125. package/dist/{media-type-BtA0cbfI.d.ts → media-type-ZSmAGHvg.d.ts} +188 -7
  126. package/dist/media-type-ZSmAGHvg.d.ts.map +1 -0
  127. package/dist/{memory-DuVGrzbl.js → memory-C3w8nO8f.js} +132 -31
  128. package/dist/memory-C3w8nO8f.js.map +1 -0
  129. package/dist/model-test-CAtJ76kM.js.map +1 -1
  130. package/dist/{move-session-kylExJ5H.js → move-session-D7ILECs-.js} +4 -4
  131. package/dist/{move-session-kylExJ5H.js.map → move-session-D7ILECs-.js.map} +1 -1
  132. package/dist/{nested-call-record-DlzPeTB7.js → nested-call-record-OayszZBQ.js} +4 -3
  133. package/dist/nested-call-record-OayszZBQ.js.map +1 -0
  134. package/dist/output/stream-json.d.ts +1 -1
  135. package/dist/output/terminal.d.ts +1 -1
  136. package/dist/{path-display-COVV71Yu.js → path-display-DRAEpKOU.js} +3 -3
  137. package/dist/{path-display-COVV71Yu.js.map → path-display-DRAEpKOU.js.map} +1 -1
  138. package/dist/plugins.d.ts +1 -1
  139. package/dist/{prelude-CVKoUzV8.js → prelude-BwiSR1uA.js} +16 -5
  140. package/dist/prelude-BwiSR1uA.js.map +1 -0
  141. package/dist/{presets-CBt6rFfS.js → presets-CMY43nUP.js} +3 -3
  142. package/dist/{presets-CBt6rFfS.js.map → presets-CMY43nUP.js.map} +1 -1
  143. package/dist/presets.d.ts +1 -1
  144. package/dist/presets.js +1 -1
  145. package/dist/{protocol-CEVqBO-q.d.ts → protocol-C2lqKuMd.d.ts} +50 -7
  146. package/dist/protocol-C2lqKuMd.d.ts.map +1 -0
  147. package/dist/protocol-DOGyHgLQ.js.map +1 -1
  148. package/dist/protocol-NSllElLw.js.map +1 -1
  149. package/dist/providers/anthropic.d.ts +1 -1
  150. package/dist/providers/arcee.d.ts +1 -1
  151. package/dist/providers/baseten.d.ts +1 -1
  152. package/dist/providers/cerebras.d.ts +1 -1
  153. package/dist/providers/google.d.ts +1 -1
  154. package/dist/providers/google.js +1 -1
  155. package/dist/providers/local.d.ts +1 -1
  156. package/dist/providers/neuralwatt.d.ts +1 -1
  157. package/dist/providers/openai-compat.d.ts +1 -1
  158. package/dist/providers/openai.d.ts +1 -1
  159. package/dist/providers/openrouter.d.ts +1 -1
  160. package/dist/providers/xai.d.ts +1 -1
  161. package/dist/{providers-Z0TaBp1O.js → providers-CpXV_uLE.js} +5 -5
  162. package/dist/providers-CpXV_uLE.js.map +1 -0
  163. package/dist/providers.d.ts +1 -1
  164. package/dist/providers.js +1 -1
  165. package/dist/{readonly-db-D7Z-k0pQ.js → readonly-db-DrbT8tX6.js} +2 -2
  166. package/dist/{readonly-db-D7Z-k0pQ.js.map → readonly-db-DrbT8tX6.js.map} +1 -1
  167. package/dist/{registry-BKjeBnoy.js → registry-CJHvmvaP.js} +2 -2
  168. package/dist/{registry-BKjeBnoy.js.map → registry-CJHvmvaP.js.map} +1 -1
  169. package/dist/{registry-B6Ww76iW.js → registry-CN6JlZKj.js} +2 -2
  170. package/dist/{registry-B6Ww76iW.js.map → registry-CN6JlZKj.js.map} +1 -1
  171. package/dist/{registry-B9INJwJR.js → registry-CnnKaY9s.js} +324 -39
  172. package/dist/registry-CnnKaY9s.js.map +1 -0
  173. package/dist/{remote-hosts-BMWoHCWO.js → remote-hosts-DoO9CJUQ.js} +4 -4
  174. package/dist/{remote-hosts-BMWoHCWO.js.map → remote-hosts-DoO9CJUQ.js.map} +1 -1
  175. package/dist/{repo-url-D4Dr8NfZ.js → repo-url-DLjjuVk_.js} +169 -2
  176. package/dist/repo-url-DLjjuVk_.js.map +1 -0
  177. package/dist/restate.d.ts +2 -2
  178. package/dist/{sandbox-BwiPGKF7.d.ts → sandbox-B4OW6oNx.d.ts} +2 -2
  179. package/dist/{sandbox-BwiPGKF7.d.ts.map → sandbox-B4OW6oNx.d.ts.map} +1 -1
  180. package/dist/script-progress-CrZ507Qq.js +900 -0
  181. package/dist/script-progress-CrZ507Qq.js.map +1 -0
  182. package/dist/session/sqlite.d.ts +1 -1
  183. package/dist/session.d.ts +1 -1
  184. package/dist/{setting-BQBSyUq0.js → setting-D_FpKFMw.js} +6 -6
  185. package/dist/{setting-BQBSyUq0.js.map → setting-D_FpKFMw.js.map} +1 -1
  186. package/dist/{settings-catalog-4IU2i_jG.js → settings-catalog-DEZlXP51.js} +14 -2
  187. package/dist/settings-catalog-DEZlXP51.js.map +1 -0
  188. package/dist/{settings-keys-iI_Y-7MC.js → settings-keys-CW2UgHgb.js} +3 -3
  189. package/dist/{settings-keys-iI_Y-7MC.js.map → settings-keys-CW2UgHgb.js.map} +1 -1
  190. package/dist/{skills-CFXRItJ6.js → skills-CEbosUlM.js} +2 -2
  191. package/dist/{skills-CFXRItJ6.js.map → skills-CEbosUlM.js.map} +1 -1
  192. package/dist/skills.d.ts +1 -1
  193. package/dist/skills.js +1 -1
  194. package/dist/{source-Bl1Z501r.js → source-3ZnEPOSa.js} +3 -2
  195. package/dist/source-3ZnEPOSa.js.map +1 -0
  196. package/dist/{sqlite-runtime-BZ2L4RaG.d.ts → sqlite-runtime-CS_LBaAN.d.ts} +2 -2
  197. package/dist/sqlite-runtime-CS_LBaAN.d.ts.map +1 -0
  198. package/dist/{src-BY_ND2xn.js → src-BmTXDta8.js} +2 -2
  199. package/dist/{src-BY_ND2xn.js.map → src-BmTXDta8.js.map} +1 -1
  200. package/dist/{store-C6gI7FfZ.js → store-ByCDaKgJ.js} +14 -3
  201. package/dist/store-ByCDaKgJ.js.map +1 -0
  202. package/dist/{system-freeze-m5o1sGIM.js → system-freeze-XgDPIwQS.js} +3 -3
  203. package/dist/{system-freeze-m5o1sGIM.js.map → system-freeze-XgDPIwQS.js.map} +1 -1
  204. package/dist/{todo-edits-CbukbjyV.js → todo-edits-Dyj32ds6.js} +4 -3
  205. package/dist/todo-edits-Dyj32ds6.js.map +1 -0
  206. package/dist/tools/fetch-url.d.ts +1 -1
  207. package/dist/tools/web-search.d.ts +1 -1
  208. package/dist/{tools-CVTGhggj.js → tools-BsrGQ8K4.js} +2 -2
  209. package/dist/{tools-CVTGhggj.js.map → tools-BsrGQ8K4.js.map} +1 -1
  210. package/dist/tools.d.ts +1 -1
  211. package/dist/tools.js +3 -3
  212. package/dist/{transcript-anchors-CiSi_UBn.js → transcript-anchors-DMjvyUjk.js} +3 -3
  213. package/dist/{transcript-anchors-CiSi_UBn.js.map → transcript-anchors-DMjvyUjk.js.map} +1 -1
  214. package/dist/{transcript-reconcile-jbSBjLq2.js → transcript-reconcile-DpQO85wl.js} +3 -3
  215. package/dist/{transcript-reconcile-jbSBjLq2.js.map → transcript-reconcile-DpQO85wl.js.map} +1 -1
  216. package/dist/tui.d.ts +9 -9
  217. package/dist/tui.d.ts.map +1 -1
  218. package/dist/tui.js +289 -38
  219. package/dist/tui.js.map +1 -1
  220. package/dist/{types-bDQagoiL.d.ts → types-2HrgolQz.d.ts} +20 -8
  221. package/dist/types-2HrgolQz.d.ts.map +1 -0
  222. package/dist/types-4q1bFG53.js +122 -0
  223. package/dist/types-4q1bFG53.js.map +1 -0
  224. package/dist/{types-DnRd9_cA.d.ts → types-SXqk6hLD.d.ts} +3 -3
  225. package/dist/{types-DnRd9_cA.d.ts.map → types-SXqk6hLD.d.ts.map} +1 -1
  226. package/dist/types-myxheQkw.js.map +1 -1
  227. package/dist/types.d.ts +3 -3
  228. package/dist/{usage-summary-BfcXjiSM.js → usage-summary-BM7B3JdI.js} +2 -2
  229. package/dist/{usage-summary-BfcXjiSM.js.map → usage-summary-BM7B3JdI.js.map} +1 -1
  230. package/dist/{version-DqqqvHDP.js → version-szdW1Od9.js} +2 -2
  231. package/dist/{version-DqqqvHDP.js.map → version-szdW1Od9.js.map} +1 -1
  232. package/dist/{wait-task-BX4NcOOm.js → wait-task-BiI5UaZQ.js} +13 -3
  233. package/dist/wait-task-BiI5UaZQ.js.map +1 -0
  234. package/dist/{wire-CLm2rMK0.js → wire-C3l9jl9x.js} +2 -2
  235. package/dist/{wire-CLm2rMK0.js.map → wire-C3l9jl9x.js.map} +1 -1
  236. package/dist/{write-file-0E6TUJ9A.js → write-file-Dquu7MzB.js} +5 -3
  237. package/dist/write-file-Dquu7MzB.js.map +1 -0
  238. package/dist/{ws-DfGGYQ4W.js → ws-CEHi0CiB.js} +4 -4
  239. package/dist/{ws-DfGGYQ4W.js.map → ws-CEHi0CiB.js.map} +1 -1
  240. package/dist/{ws-client-CFMbhsNq.js → ws-client-t8XNWxcq.js} +2 -2
  241. package/dist/{ws-client-CFMbhsNq.js.map → ws-client-t8XNWxcq.js.map} +1 -1
  242. package/docs/CHAT.md +55 -0
  243. package/docs/CODEMODE.md +37 -0
  244. package/docs/EXTENSIONS.md +8 -6
  245. package/docs/RELEASE-NOTES-NEXT.md +48 -1
  246. package/docs/RELEASE.md +9 -1
  247. package/package.json +2 -3
  248. package/dist/agent-DJhpTS-B.js.map +0 -1
  249. package/dist/auto-update-restart-BFB7Ek87.js.map +0 -1
  250. package/dist/browser-BcoCCB_n.js.map +0 -1
  251. package/dist/contexts-C72b0mMa.js.map +0 -1
  252. package/dist/decisions-CXmK0nz9.js.map +0 -1
  253. package/dist/extension-mark-BqKdEZwF.js.map +0 -1
  254. package/dist/extensions-client-D8tEAcMw.d.ts.map +0 -1
  255. package/dist/host-BHMs9jsN.js.map +0 -1
  256. package/dist/host-wO_6GW0y.js.map +0 -1
  257. package/dist/index-CGbOWa7y.d.ts.map +0 -1
  258. package/dist/json-Dj-YATkZ.js.map +0 -1
  259. package/dist/media-type-BtA0cbfI.d.ts.map +0 -1
  260. package/dist/memory-DuVGrzbl.js.map +0 -1
  261. package/dist/nested-call-events-BYk8XvGX.js +0 -182
  262. package/dist/nested-call-events-BYk8XvGX.js.map +0 -1
  263. package/dist/nested-call-record-DlzPeTB7.js.map +0 -1
  264. package/dist/prelude-CVKoUzV8.js.map +0 -1
  265. package/dist/protocol-CEVqBO-q.d.ts.map +0 -1
  266. package/dist/providers-Z0TaBp1O.js.map +0 -1
  267. package/dist/registry-B9INJwJR.js.map +0 -1
  268. package/dist/repo-url-D4Dr8NfZ.js.map +0 -1
  269. package/dist/settings-catalog-4IU2i_jG.js.map +0 -1
  270. package/dist/source-Bl1Z501r.js.map +0 -1
  271. package/dist/sqlite-runtime-BZ2L4RaG.d.ts.map +0 -1
  272. package/dist/store-C6gI7FfZ.js.map +0 -1
  273. package/dist/todo-edits-CbukbjyV.js.map +0 -1
  274. package/dist/types-DTMEhKJO.js +0 -14
  275. package/dist/types-DTMEhKJO.js.map +0 -1
  276. package/dist/types-bDQagoiL.d.ts.map +0 -1
  277. package/dist/wait-task-BX4NcOOm.js.map +0 -1
  278. package/dist/write-file-0E6TUJ9A.js.map +0 -1
  279. package/scripts/eval.ts +0 -179
@@ -6,54 +6,54 @@ import { u as readSessionFacets } from "./facets-_ZhKMxS8.js";
6
6
  import { l as normalizeArtifactInput } from "./artifacts-DPVc-oG0.js";
7
7
  import { l as readOrCreateHostIdFile, n as createSendRequestBook } from "./send-requests-Bpb99rP5.js";
8
8
  import { l as setExtensionSessionState, r as deleteExtensionSessionState, s as loadSession } from "./session-BORxmqlM.js";
9
- import { a as isSafeRecordKey, r as isJson } from "./json-Dj-YATkZ.js";
10
- import { n as createDecider } from "./decisions-CXmK0nz9.js";
11
- import { C as createFileStoragePort, F as UI_TOKEN_NAMES, G as NoUiError, Pt as readKeybindingsRaw, Ut as isValueSetting, _t as builtinKeymapEntries, ft as mergeWireSettings, ht as toWireValue, i as onPanelChanged, kt as keybindingsPath, u as runtimeSettingsWire, ut as createExtensionHostRuntimeBridge, zt as actionScope } from "./registry-B9INJwJR.js";
9
+ import { i as isSafeRecordKey, r as isJson } from "./json-BjClr43H.js";
10
+ import { n as createDecider } from "./decisions-hsw5XS2g.js";
11
+ import { C as createFileStoragePort, Ht as actionScope, I as UI_TOKEN_NAMES, K as NoUiError, Kt as isValueSetting, Lt as readKeybindingsRaw, Mt as keybindingsPath, bt as builtinKeymapEntries, ht as mergeWireSettings, i as onPanelChanged, pt as createExtensionHostRuntimeBridge, u as runtimeSettingsWire, vt as toWireValue } from "./registry-CnnKaY9s.js";
12
12
  import { i as writeJsonFileAtomic, n as writeFileAtomic, t as OWNER_ONLY } from "./atomic-write-BewQOXlD.js";
13
13
  import { c as imageSizeFromBase64 } from "./skills-use-Di0AfLgC.js";
14
14
  import { c as projectRootOf, i as folderLocation, n as findGitRoot, t as cachedRepoKeyOf } from "./project-root-BZcgGJMi.js";
15
- import { E as resolveInlineSuggestion, T as createPathAutocompleteProvider, i as createHostPerf, x as loginMcpServer } from "./src-BY_ND2xn.js";
16
- import { i as imageMediaTypeFor } from "./write-file-0E6TUJ9A.js";
15
+ import { E as resolveInlineSuggestion, T as createPathAutocompleteProvider, i as createHostPerf, x as loginMcpServer } from "./src-BmTXDta8.js";
16
+ import { i as imageMediaTypeFor } from "./write-file-Dquu7MzB.js";
17
17
  import { t as projectUserPaths } from "./project-user-paths-Chsi83mp.js";
18
18
  import "./row-fields-CAYcZogp.js";
19
19
  import { l as refreshArtifact, p as sessionsBadges } from "./builtin-artifact-kinds-DsqaAQjX.js";
20
- import { n as compareVersions, t as ZIDANE_VERSION } from "./version-DqqqvHDP.js";
21
- import { n as abortableInstallIo } from "./source-Bl1Z501r.js";
22
- import { r as browseSkillSource, s as installSkillFromSpec } from "./skills-CFXRItJ6.js";
23
- import { m as createExtension } from "./system-freeze-m5o1sGIM.js";
20
+ import { n as compareVersions, t as ZIDANE_VERSION } from "./version-szdW1Od9.js";
21
+ import { n as abortableInstallIo } from "./source-3ZnEPOSa.js";
22
+ import { r as browseSkillSource, s as installSkillFromSpec } from "./skills-CEbosUlM.js";
23
+ import { m as createExtension } from "./system-freeze-XgDPIwQS.js";
24
24
  import { G as normalizeBadgeTarget, H as extensionBadgeActions, K as runBadgeAction, i as referenceProviderWires, n as createReferenceResolver } from "./references-DZ5qTYDl.js";
25
25
  import { o as fanoutSink, r as createLogger, t as consoleSink } from "./logger-BQj8QCJp.js";
26
- import { n as defaultExtensionScanPaths, u as loadableExtensionDirs } from "./discovery-DycXFxdA.js";
26
+ import { n as defaultExtensionScanPaths, u as loadableExtensionDirs } from "./discovery-CX7nbMCn.js";
27
27
  import { a as registerExtensionApiHostModules } from "./host-modules-C2GGiSjg.js";
28
- import { $ as toWireConfigSchema, A as removeInstalledExtension, F as extensionRuntimeOf, G as runExtensionAction, L as filterRegistryPlugins, M as reloadChangedExtensions, O as readExtensionInstallOrigin, S as changeExtensionOrigin, T as installExtensionFromSpec, U as listActionSummaries, W as probeActionStatuses, a as listExtensionPaletteItems, b as loadExtensionsConfig, c as panelSummaries, d as subscribeExtensionPalette, f as subscribeExtensionPanel, g as applyExtensionsConfigReport, h as createConfigSettingsLayer, j as updateInstalledExtension, l as runExtensionPaletteItem, lt as classifyUiImport, m as discoverAndBuildExtensionRegistry, nt as completionProviderSummaries, o as loadExtensionPanel, rt as createCompletionRunner, st as resolveUiEntries, t as createSharedWatches, u as runExtensionPanelAction, v as configuredExtensions, x as ExtensionInstallError, y as createExtensionsConfigSync } from "./extensions-BCx4QuGB.js";
29
- import { i as SettingsWriteError, n as RpcErrorType } from "./wire-CLm2rMK0.js";
28
+ import { $ as toWireConfigSchema, A as removeInstalledExtension, F as extensionRuntimeOf, G as runExtensionAction, L as filterRegistryPlugins, M as reloadChangedExtensions, O as readExtensionInstallOrigin, S as changeExtensionOrigin, T as installExtensionFromSpec, U as listActionSummaries, W as probeActionStatuses, a as listExtensionPaletteItems, b as loadExtensionsConfig, c as panelSummaries, d as subscribeExtensionPalette, f as subscribeExtensionPanel, g as applyExtensionsConfigReport, h as createConfigSettingsLayer, j as updateInstalledExtension, l as runExtensionPaletteItem, lt as classifyUiImport, m as discoverAndBuildExtensionRegistry, nt as completionProviderSummaries, o as loadExtensionPanel, rt as createCompletionRunner, st as resolveUiEntries, t as createSharedWatches, u as runExtensionPanelAction, v as configuredExtensions, x as ExtensionInstallError, y as createExtensionsConfigSync } from "./extensions-ADlhBQ_1.js";
29
+ import { i as SettingsWriteError, n as RpcErrorType } from "./wire-C3l9jl9x.js";
30
30
  import { c as isPaletteContext } from "./palette-DhfYhvnx.js";
31
31
  import { n as canSignInRemotely } from "./server-uWgMffBf.js";
32
- import { S as writeCredentialEntry, _ as setCredentialLabel, g as removeStoredCredential, h as removeProviderCredential, i as credentialsPath, l as providerFieldViews, m as readProviderCredentials, n as configureProviderCredential, r as configuredProviderFields, t as applyApiKeyEnv, u as readCredentialEntry, v as setPreferredCredential, w as BUILTIN_PROVIDERS, y as setProviderCredential } from "./credentials-wwETW8rI.js";
33
- import { n as createCredentialsAuthStore } from "./auth-store-port-DFgf22oo.js";
32
+ import { S as writeCredentialEntry, _ as setCredentialLabel, g as removeStoredCredential, h as removeProviderCredential, i as credentialsPath, l as providerFieldViews, m as readProviderCredentials, n as configureProviderCredential, r as configuredProviderFields, t as applyApiKeyEnv, u as readCredentialEntry, v as setPreferredCredential, w as BUILTIN_PROVIDERS, y as setProviderCredential } from "./credentials-Bqg-qNBM.js";
33
+ import { n as createCredentialsAuthStore } from "./auth-store-port-BKpjlJ8a.js";
34
34
  import { a as sqliteStoreFile } from "./sqlite-store-D5y70PuL.js";
35
35
  import { t as runUsageAggregates } from "./sqlite-usage-BkM2Yp_t.js";
36
- import { i as DEFAULT_IMAGE_DIR } from "./tools-CVTGhggj.js";
36
+ import { i as DEFAULT_IMAGE_DIR } from "./tools-BsrGQ8K4.js";
37
37
  import { a as errorResponse, n as JsonRpcRemoteError, o as successResponse, r as createJsonRpcConnection, t as JsonRpcConnectionClosedError } from "./json-rpc-G0rBfEar.js";
38
- import { B as selectActiveTodos, V as setTodosForRun, _ as availableAgents, o as describeForkFailure } from "./setting-BQBSyUq0.js";
38
+ import { B as selectActiveTodos, V as setTodosForRun, _ as availableAgents, o as describeForkFailure } from "./setting-D_FpKFMw.js";
39
39
  import { d as sessionModelFallbacks, u as readSessionAccount } from "./turn-operations-CWoCTC_L.js";
40
40
  import { B as isSideSession, R as isMainSession, m as readSessionSpaceId, nt as sideSessionParent, r as SPACE_METADATA_KEY, t as DEFAULT_SPACE_ID, w as parseModelSetting } from "./spaces-BaE3ZcBx.js";
41
41
  import { A as readProjects, D as listSafelists, M as safelistProjectKey, P as writeProjects, d as discoverProjectMcps, j as removeFromSafelist, p as parseMcpsFile, s as userSystemMdPath } from "./environment-credentials-C8jkOGQ6.js";
42
- import { $n as buildPluginContributions, $t as createExtensionMcpHost, B as exportFilename, Bt as mcpsWritePath, Cn as discoverProjectSkills, Et as gitStatus, Fn as insideDeclaredRoots, G as detectOnboardingEnvironment, Gn as recordAgentHooksFanout, Gt as runIntegrationSignIn, Ht as upsertMcpServer, Jt as supportsOAuth, Kt as runOAuthLogin, Mn as resolveSessionModel, Mt as invalidateDiagnostics, Nn as discoverSessionMcpServers, Nt as listDiagnosticsTools, Pn as machineDiscoveryCwd, Pt as runDiagnostics, Q as listExtensionSource, Qn as scopeCwd, Qt as createArtifactKindsHost, R as fetchGithubUsage, Rt as listProjectFiles, V as renderSession, Vt as removeMcpServer, W as connectorGithubToken, Wn as createAgentHooksFanout, X as onboardingProviders, Zt as createMcpStatusTracker, _r as liveAgentProfiles, at as createGitWatches, br as createMemoryApprovalsStore, ct as forgetGitCaches, dn as isInside, dr as listDecisionModels, dt as gitCreateBranch, en as resolveConfig, er as discoverProjectPlugins, fn as createCatalogPorts, ft as gitInfo, gn as readPinnedSkills, gr as changedCatalogItems, gt as cloneRepository, hn as pinnedSkillsValue, ht as gitSwitch, it as previewClaudeImport, j as fetchAllProviderUsage, jn as createProviderBuilder, jt as resolvePaths, lr as imageModelSources, lt as gitBranches, mn as PINNED_SKILLS_META_KEY, mr as testDecisionModel, mt as gitPrList, nn as createChatHost, nt as hasClaudeCodeSetup, o as watchInstalledVersion, on as createFileMcpCredentialStore, pn as linkCatalogs, pr as resolveDecisionsOption, pt as gitPr, qt as signsInWithIntegration, rr as loadMcpToolsCache, rt as importFromClaudeCode, st as gitSync, tt as countClaudeSessionFiles, ur as listImageModels, ut as gitCommit, vn as isStaleRunMarker, vt as createCapabilityProbe, wt as gitDiff, yn as createPromptSubmissions, yt as searchWorkspace, zt as isMcpServerName } from "./auto-update-restart-BFB7Ek87.js";
43
- import { S as sumRunCosts, T as toolResultText, _ as runProgress, a as eventsFromTurns, b as sessionEnvironmentSummary, c as headerFromData, g as runInProgress, i as deriveSessionTitle, l as lastContextSizeFromTurns, m as readSessionHeader, o as getSessionHeader, s as getSessionMeta, u as listSessionMeta } from "./store-C6gI7FfZ.js";
42
+ import { $n as buildPluginContributions, $t as createExtensionMcpHost, B as exportFilename, Bt as mcpsWritePath, Cn as discoverProjectSkills, Et as gitStatus, Fn as insideDeclaredRoots, G as detectOnboardingEnvironment, Gn as recordAgentHooksFanout, Gt as runIntegrationSignIn, Ht as upsertMcpServer, Jt as supportsOAuth, Kt as runOAuthLogin, Mn as resolveSessionModel, Mt as invalidateDiagnostics, Nn as discoverSessionMcpServers, Nt as listDiagnosticsTools, Pn as machineDiscoveryCwd, Pt as runDiagnostics, Q as listExtensionSource, Qn as scopeCwd, Qt as createArtifactKindsHost, R as fetchGithubUsage, Rt as listProjectFiles, V as renderSession, Vt as removeMcpServer, W as connectorGithubToken, Wn as createAgentHooksFanout, X as onboardingProviders, Zt as createMcpStatusTracker, _r as liveAgentProfiles, at as createGitWatches, br as createMemoryApprovalsStore, ct as forgetGitCaches, dn as isInside, dr as listDecisionModels, dt as gitCreateBranch, en as resolveConfig, er as discoverProjectPlugins, fn as createCatalogPorts, ft as gitInfo, gn as readPinnedSkills, gr as changedCatalogItems, gt as cloneRepository, hn as pinnedSkillsValue, ht as gitSwitch, it as previewClaudeImport, j as fetchAllProviderUsage, jn as createProviderBuilder, jt as resolvePaths, lr as imageModelSources, lt as gitBranches, mn as PINNED_SKILLS_META_KEY, mr as testDecisionModel, mt as gitPrList, nn as createChatHost, nt as hasClaudeCodeSetup, o as watchInstalledVersion, on as createFileMcpCredentialStore, pn as linkCatalogs, pr as resolveDecisionsOption, pt as gitPr, qt as signsInWithIntegration, rr as loadMcpToolsCache, rt as importFromClaudeCode, st as gitSync, tt as countClaudeSessionFiles, ur as listImageModels, ut as gitCommit, vn as isStaleRunMarker, vt as createCapabilityProbe, wt as gitDiff, yn as createPromptSubmissions, yt as searchWorkspace, zt as isMcpServerName } from "./auto-update-restart-CQJtndMG.js";
43
+ import { S as sumRunCosts, T as toolResultText, _ as runProgress, a as eventsFromTurns, b as sessionEnvironmentSummary, c as headerFromData, g as runInProgress, i as deriveSessionTitle, l as lastContextSizeFromTurns, m as readSessionHeader, o as getSessionHeader, s as getSessionMeta, u as listSessionMeta } from "./store-ByCDaKgJ.js";
44
44
  import { f as searchSessionIndexAsync, l as searchSessionHistoryIndexAsync, n as buildSessionSearchIndexAsync, p as searchSessionTextIndexAsync, r as buildSessionTextIndexAsync, u as searchSessionHistoryTextIndexAsync } from "./history-search-DYciSC2c.js";
45
- import { X as MachineErrorCode, Z as isValidMachineName, t as parseRepoInput, tt as toMachineName } from "./repo-url-D4Dr8NfZ.js";
45
+ import { Y as SHELL_BLOCK_MAX_CHARS, dt as isValidMachineName, ht as toMachineName, t as parseRepoInput, ut as MachineErrorCode } from "./repo-url-DLjjuVk_.js";
46
46
  import { E as pendingInteractionsFromTurns, a as TITLE_SOURCE_KEY, f as normalizeLaunchOverrides, p as toTodosSnapshot, s as describeTitleStatus, t as testModel } from "./model-test-CAtJ76kM.js";
47
- import { E as DEFAULT_SETTINGS, M as settingsFromStored, N as sparseSettingsUpdate, l as enforceSettingsInvariants, s as SETTINGS_TOGGLES } from "./settings-catalog-4IU2i_jG.js";
47
+ import { E as DEFAULT_SETTINGS, M as settingsFromStored, N as sparseSettingsUpdate, l as enforceSettingsInvariants, s as SETTINGS_TOGGLES } from "./settings-catalog-DEZlXP51.js";
48
48
  import { a as parseSessionPolicy, n as SESSION_POLICY_KEY, o as policyLoosening, r as SessionPolicyError, s as sessionPolicyOf } from "./session-policy-Bo7rDcG5.js";
49
- import { Gt as remoteHostsGate, et as enabledMcpsWith, r as summarizeUsage, s as mergeOnboardingState, t as USAGE_RANGES, tt as enabledMcpsWithout, yt as runningEstimateViews } from "./usage-summary-BfcXjiSM.js";
50
- import { i as detectAuth, r as activeAccountOf } from "./cli-shared-CabruH8Z.js";
51
- import { a as settingsFromWire, c as applyEnvironmentSettingsChange, f as readEnvironmentSettings, o as settingsToWire, r as isWindowOnlySetting } from "./host-scoped-settings-CrbcqOkP.js";
49
+ import { Gt as remoteHostsGate, et as enabledMcpsWith, r as summarizeUsage, s as mergeOnboardingState, t as USAGE_RANGES, tt as enabledMcpsWithout, yt as runningEstimateViews } from "./usage-summary-BM7B3JdI.js";
50
+ import { i as detectAuth, r as activeAccountOf } from "./cli-shared-DeRHgYvl.js";
51
+ import { a as settingsFromWire, c as applyEnvironmentSettingsChange, f as readEnvironmentSettings, o as settingsToWire, r as isWindowOnlySetting } from "./host-scoped-settings-WBYaCork.js";
52
52
  import { i as METHOD_NOT_FOUND } from "./connection-BaHd3T-D.js";
53
- import { a as createSignalListeners, d as legacySocketPath, f as probeSocket, i as IpcVersionMismatchError, n as hashValue, o as openIpcClient, r as isRecord$1, s as IPC_BUILD_ID, t as isSyncableSetting, u as ensureDaemonRunning } from "./settings-keys-iI_Y-7MC.js";
53
+ import { a as createSignalListeners, d as legacySocketPath, f as probeSocket, i as IpcVersionMismatchError, n as hashValue, o as openIpcClient, r as isRecord$1, s as IPC_BUILD_ID, t as isSyncableSetting, u as ensureDaemonRunning } from "./settings-keys-CW2UgHgb.js";
54
54
  import { c as SESSION_TURNS_MAX_PAGE, r as IpcErrorCode, s as REDACTED, u as SIGNAL_SEQ_FIELD } from "./protocol-DOGyHgLQ.js";
55
- import { _ as methodScope, g as isClientScope, h as METHOD_SCOPES, i as SERVER_OAUTH_CALLBACK_PATH, v as scopeAllows, y as SERVER_EXTENSIONS_UI_PATH } from "./browser-BcoCCB_n.js";
56
- import { d as checkParams, f as nonNegativeInt, h as sessionIdOf, l as loadOrThrow, m as requiredString, n as changedSessionOf, o as isPagedLoad, p as optionalString$1, r as createTranscriptReplayCache, t as openReadonlySqlite, u as InvalidParamsError } from "./readonly-db-D7Z-k0pQ.js";
55
+ import { _ as methodScope, g as isClientScope, h as METHOD_SCOPES, i as SERVER_OAUTH_CALLBACK_PATH, v as scopeAllows, y as SERVER_EXTENSIONS_UI_PATH } from "./browser-BkdeKnxO.js";
56
+ import { d as checkParams, f as nonNegativeInt, h as sessionIdOf, l as loadOrThrow, m as requiredString, n as changedSessionOf, o as isPagedLoad, p as optionalString$1, r as createTranscriptReplayCache, t as openReadonlySqlite, u as InvalidParamsError } from "./readonly-db-DrbT8tX6.js";
57
57
  import { n as SYNCABLE_ENVIRONMENT_KINDS, r as SYNC_CATEGORIES, s as SYSTEM_MD_FIELD, u as settingField } from "./types-Skz6Z48Z.js";
58
58
  import { i as looksLikeSecret, n as isSecretName, r as isSecretPathSegment, t as KNOWN_TOKEN } from "./secret-shapes-zEM382gq.js";
59
59
  import { i as isIntegrationState, n as INTEGRATION_STATES, r as hasControlCharacters, t as CHANNEL_KIND_PREFIX } from "./integrations-BOrJSCDY.js";
@@ -1638,6 +1638,7 @@ function createStorageSyncHub(options) {
1638
1638
  const synced = {
1639
1639
  file,
1640
1640
  port: {
1641
+ folderOf: file.folderOf,
1641
1642
  load: (loc) => file.load(loc),
1642
1643
  save: async (loc, area, key, value) => {
1643
1644
  const version = await apply(loc, area, key, value);
@@ -2465,6 +2466,7 @@ async function createHostEnvironment(options) {
2465
2466
  JSON.stringify(settings.enabledExtensions ?? null),
2466
2467
  String(settings.loadProjectExtensions === true)
2467
2468
  ].join("\0");
2469
+ const cwdOfKey = (key) => key.slice(0, key.indexOf("\0"));
2468
2470
  const runtimeConfig = (cwd) => {
2469
2471
  const settings = readSettings();
2470
2472
  const key = runtimeKey(cwd, settings);
@@ -2515,7 +2517,7 @@ async function createHostEnvironment(options) {
2515
2517
  }))), () => void 0);
2516
2518
  runtimeCache.set(key, promise);
2517
2519
  while (runtimeCache.size > RUNTIME_CACHE_MAX) {
2518
- const oldest = runtimeCache.keys().next().value;
2520
+ const oldest = [...runtimeCache.keys()].find((other) => other !== key && !runActiveIn(cwdOfKey(other)));
2519
2521
  if (oldest === void 0) break;
2520
2522
  const evicted = runtimeCache.get(oldest);
2521
2523
  runtimeCache.delete(oldest);
@@ -2736,7 +2738,7 @@ function createMachineLinkHandlers(options) {
2736
2738
  });
2737
2739
  };
2738
2740
  const load = () => {
2739
- links ??= import("./links-CJG_rFvf.js").then(({ startMachineLinks }) => startMachineLinks({
2741
+ links ??= import("./links-BbC_lOnn.js").then(({ startMachineLinks }) => startMachineLinks({
2740
2742
  dataDir: env.userDataDir(),
2741
2743
  machines: host.machines,
2742
2744
  hostId: options.hostId,
@@ -3967,6 +3969,102 @@ function createAuthHandlers({ auth }) {
3967
3969
  };
3968
3970
  }
3969
3971
  //#endregion
3972
+ //#region src/ipc/daemon/handlers/block-runs.ts
3973
+ const BLOCK_RUN_LIMITS = {
3974
+ /** Runs one connection may have going at once. */
3975
+ maxConcurrent: 4 };
3976
+ function nonEmpty(value, name) {
3977
+ if (typeof value !== "string" || value === "") throw new InvalidParamsError(`${name} must be a non-empty string.`);
3978
+ return value;
3979
+ }
3980
+ function createBlockRunHandlers({ host, isConnected, limits = BLOCK_RUN_LIMITS }) {
3981
+ const running = /* @__PURE__ */ new Map();
3982
+ const perPeer = /* @__PURE__ */ new WeakMap();
3983
+ const send = (peer, signal) => {
3984
+ if (isConnected(peer)) peer.send(signal);
3985
+ };
3986
+ return {
3987
+ methods: {
3988
+ "sessions.runBlock": (p, peer) => {
3989
+ const sessionId = nonEmpty(p.sessionId, "sessionId");
3990
+ const turnId = nonEmpty(p.turnId, "turnId");
3991
+ const code = nonEmpty(p.code, "code");
3992
+ const language = nonEmpty(p.language, "language");
3993
+ if (code.length > 65536) throw new InvalidParamsError(`code is longer than ${SHELL_BLOCK_MAX_CHARS} characters.`);
3994
+ const own = perPeer.get(peer) ?? /* @__PURE__ */ new Set();
3995
+ perPeer.set(peer, own);
3996
+ if (own.size >= limits.maxConcurrent) throw new Error(`This connection already runs ${own.size} blocks (at most ${limits.maxConcurrent}): stop one first.`);
3997
+ const runId = randomUUID();
3998
+ const controller = new AbortController();
3999
+ own.add(runId);
4000
+ running.set(runId, {
4001
+ peer,
4002
+ controller
4003
+ });
4004
+ host.runBlock(sessionId, {
4005
+ turnId,
4006
+ code,
4007
+ language
4008
+ }, {
4009
+ signal: controller.signal,
4010
+ onOutput: (stream, chunk) => send(peer, {
4011
+ kind: "block-run:data",
4012
+ runId,
4013
+ stream,
4014
+ chunk
4015
+ })
4016
+ }).then((run) => send(peer, {
4017
+ kind: "block-run:end",
4018
+ runId,
4019
+ run
4020
+ }), (err) => send(peer, {
4021
+ kind: "block-run:end",
4022
+ runId,
4023
+ error: err instanceof Error ? err.message : String(err)
4024
+ })).finally(() => {
4025
+ own.delete(runId);
4026
+ running.delete(runId);
4027
+ });
4028
+ return { runId };
4029
+ },
4030
+ "sessions.runBlockCancel": (p, peer) => {
4031
+ const entry = typeof p.runId === "string" ? running.get(p.runId) : void 0;
4032
+ if (!entry || entry.peer !== peer) return { cancelled: false };
4033
+ entry.controller.abort();
4034
+ return { cancelled: true };
4035
+ },
4036
+ "sessions.blockRuns": async (p) => ({ runs: await host.listBlockRuns(nonEmpty(p.sessionId, "sessionId")) }),
4037
+ "sessions.removeBlockRun": async (p) => {
4038
+ await host.removeBlockRun(nonEmpty(p.sessionId, "sessionId"), nonEmpty(p.key, "key"));
4039
+ }
4040
+ },
4041
+ releasePeer(peer) {
4042
+ for (const runId of perPeer.get(peer) ?? []) running.get(runId)?.controller.abort();
4043
+ }
4044
+ };
4045
+ }
4046
+ /**
4047
+ * Other streamed-command handlers (a workspace exec's) with Run here's added:
4048
+ * the methods of both, and one release that stops what a dropped connection
4049
+ * started in either.
4050
+ *
4051
+ * @param streams - The other handlers.
4052
+ * @param deps - What {@link createBlockRunHandlers} needs.
4053
+ */
4054
+ function withBlockRunHandlers(streams, deps) {
4055
+ const blocks = createBlockRunHandlers(deps);
4056
+ return {
4057
+ methods: {
4058
+ ...streams.methods,
4059
+ ...blocks.methods
4060
+ },
4061
+ releasePeer(peer) {
4062
+ streams.releasePeer(peer);
4063
+ blocks.releasePeer(peer);
4064
+ }
4065
+ };
4066
+ }
4067
+ //#endregion
3970
4068
  //#region src/ipc/daemon/handlers/browser.ts
3971
4069
  function createBrowserHandlers({ host }) {
3972
4070
  return {
@@ -6289,7 +6387,7 @@ function createMachineServeHandlers(input) {
6289
6387
  return existing.executor;
6290
6388
  }
6291
6389
  makeRoom(principal);
6292
- const { createMachineExecutor } = await import("./executor-C7RQrkEq.js");
6390
+ const { createMachineExecutor } = await import("./executor-j_LFRBwS.js");
6293
6391
  const entry = {
6294
6392
  peer,
6295
6393
  principal,
@@ -9832,7 +9930,10 @@ async function createHostDispatcher(options) {
9832
9930
  isConnected: peers.has
9833
9931
  });
9834
9932
  const projectTerminals = identity.kind !== "server";
9835
- const execStreams = createWorkspaceExecStreamHandlers({
9933
+ const execStreams = withBlockRunHandlers(createWorkspaceExecStreamHandlers({
9934
+ host,
9935
+ isConnected: peers.has
9936
+ }), {
9836
9937
  host,
9837
9938
  isConnected: peers.has
9838
9939
  });
@@ -10815,4 +10916,4 @@ async function startInProcessHost(options) {
10815
10916
  //#endregion
10816
10917
  export { connectOrSpawnDaemon as A, createSessionSettingsStore as C, watchFileChanges as D, createFlowRegistry as E, watchExtensionFolders as O, createDaemonSettingsPort as S, decisionsPort as T, createMachineLinkHandlers as _, shellPath as a, createHostEnvironment as b, wireIntegration as c, createTranscriptHistoryWorker as d, historyWorkerUrl as f, createMachineHandlers as g, createWorkerRpcClient as h, mergePath as i, connectIpcClient as k, HISTORY_WORKER_KILL_SWITCH as l, WorkerUnavailableError as m, startInProcessHost as n, shellPathAsync as o, WorkerRequestError as p, fixPath as r, startIpcDaemon as s, connectInProcess as t, createHostTranscriptPager as u, createDaemonEnvironment as v, createHostImagePort as w, createStorageSyncHub as x, createFileApprovalsStore as y };
10817
10918
 
10818
- //# sourceMappingURL=memory-DuVGrzbl.js.map
10919
+ //# sourceMappingURL=memory-C3w8nO8f.js.map