@qwen-code/qwen-code 0.24.1-preview.0 → 0.24.1

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 (274) hide show
  1. package/chunks/{MaxSizedBox-KUCJSYXS.js → MaxSizedBox-VP25QGME.js} +17 -17
  2. package/chunks/{StandaloneSessionPicker-QT4DUNJR.js → StandaloneSessionPicker-AXIM3BD3.js} +30 -30
  3. package/chunks/{acp-subagent-executor-KW6N4O5M.js → acp-subagent-executor-6R2L4TW4.js} +22 -22
  4. package/chunks/{acpAgent-RNLWJ6MG.js → acpAgent-ANIVCBU3.js} +60 -60
  5. package/chunks/{agent-JYSR2HWP.js → agent-WINHBR34.js} +8 -8
  6. package/chunks/{agent-headless-B5LKNH46.js → agent-headless-A5K4MW5N.js} +8 -8
  7. package/chunks/{anthropicContentGenerator-5IQ7K553.js → anthropicContentGenerator-32MSDQUP.js} +3 -3
  8. package/chunks/{bridge-6BIZOKHU.js → bridge-HPCI3VIX.js} +21 -21
  9. package/chunks/{channel-settings-store-GWLLLZNN.js → channel-settings-store-THO2BU2E.js} +22 -22
  10. package/chunks/{channel-worker-group-JQVH6YXZ.js → channel-worker-group-OXNNU6H7.js} +2 -2
  11. package/chunks/{channel-worker-manager-6GRAAS5P.js → channel-worker-manager-WVBU5ABS.js} +2 -2
  12. package/chunks/{chunk-5GGB5BBQ.js → chunk-2UK4NN6N.js} +3 -3
  13. package/chunks/{chunk-BUGGU43J.js → chunk-2WYISDSZ.js} +12 -12
  14. package/chunks/{chunk-N4SQ4YAQ.js → chunk-3JHSUEQN.js} +29 -29
  15. package/chunks/{chunk-NKRIFDS7.js → chunk-3MYXEXVX.js} +1 -1
  16. package/chunks/{chunk-FLMQNPT7.js → chunk-3T7YUINK.js} +1 -1
  17. package/chunks/{chunk-YTVYZJKS.js → chunk-3UOPPEN5.js} +1 -1
  18. package/chunks/{chunk-AGSCJIHL.js → chunk-3XH7WS7C.js} +1 -1
  19. package/chunks/{chunk-IXORUYH3.js → chunk-44LWSWTY.js} +4 -4
  20. package/chunks/{chunk-ITY5NM7C.js → chunk-4HIQNJMZ.js} +2 -2
  21. package/chunks/{chunk-WWLAMZKC.js → chunk-4VLVXV4E.js} +3 -3
  22. package/chunks/{chunk-CZIABXYD.js → chunk-5JDABAZR.js} +41 -16
  23. package/chunks/{chunk-ES7Y4WAU.js → chunk-5S2PLWHB.js} +3 -3
  24. package/chunks/{chunk-ZZHSX7DH.js → chunk-647NOM2H.js} +1 -1
  25. package/chunks/{chunk-FQRWWEBV.js → chunk-6SFODSTA.js} +5 -5
  26. package/chunks/{chunk-DP4UACBB.js → chunk-7MJKFPGJ.js} +1 -1
  27. package/chunks/{chunk-OVU4JKTO.js → chunk-7OQL6UOC.js} +1 -1
  28. package/chunks/{chunk-MCXETRWJ.js → chunk-7UWZX65L.js} +5 -5
  29. package/chunks/{chunk-AA7TDMW7.js → chunk-A4IJR5S6.js} +210 -21
  30. package/chunks/{chunk-L7TJUPNR.js → chunk-A4MRRFBI.js} +5 -0
  31. package/chunks/{chunk-EXWXXD6V.js → chunk-ADQSGJV5.js} +2 -2
  32. package/chunks/{chunk-SH4TBUBG.js → chunk-ADXJQFDY.js} +10 -10
  33. package/chunks/{chunk-NGUKVAO3.js → chunk-B3VUYOPR.js} +1 -1
  34. package/chunks/{chunk-SDOSMUK7.js → chunk-B5GKOUHJ.js} +10 -10
  35. package/chunks/{chunk-AHJF2GP6.js → chunk-C4B5ZCE5.js} +3 -3
  36. package/chunks/{chunk-TXPFRFNN.js → chunk-CBJBLKDH.js} +6 -6
  37. package/chunks/{chunk-DAIWLFBL.js → chunk-CGDPJBVR.js} +1 -1
  38. package/chunks/{chunk-SHJBXWWG.js → chunk-CT6GGM4O.js} +3 -3
  39. package/chunks/{chunk-EJ34K56Y.js → chunk-DARAVO2F.js} +3 -3
  40. package/chunks/{chunk-EIGKYA3A.js → chunk-DHM2SAA3.js} +6 -6
  41. package/chunks/{chunk-ZL4IRXYL.js → chunk-DIJ4SN6P.js} +2 -2
  42. package/chunks/{chunk-T5U7ZMER.js → chunk-DOG4JYVA.js} +1 -1
  43. package/chunks/{chunk-FP6ZEPRZ.js → chunk-E3BHICIC.js} +11 -11
  44. package/chunks/{chunk-CBIQ7JYA.js → chunk-EE5L2LJI.js} +1 -1
  45. package/chunks/{chunk-74JB3JDQ.js → chunk-ET3ETUJS.js} +11 -11
  46. package/chunks/{chunk-GOVHQ7MU.js → chunk-FHL2YO3J.js} +3 -3
  47. package/chunks/{chunk-5RX3WWHF.js → chunk-FIC4SULR.js} +1 -1
  48. package/chunks/{chunk-TRJLFLSG.js → chunk-FUZESLZQ.js} +1 -1
  49. package/chunks/{chunk-LRB2MK5S.js → chunk-FVLDT6YJ.js} +12 -12
  50. package/chunks/{chunk-7F4PJYUT.js → chunk-GJV3UMRE.js} +1 -1
  51. package/chunks/{chunk-MMRGG6R4.js → chunk-H32AKV4B.js} +1 -1
  52. package/chunks/{chunk-ZVSFBBEP.js → chunk-HAYKZNOJ.js} +39 -39
  53. package/chunks/{chunk-D4QVZ3JC.js → chunk-HISXBKXU.js} +2 -2
  54. package/chunks/{chunk-2SDAQDRJ.js → chunk-HVXNAVUO.js} +9 -3
  55. package/chunks/{chunk-CSZQMAJU.js → chunk-ICWTEQBN.js} +7 -2
  56. package/chunks/{chunk-RPGUFXRL.js → chunk-IDJYUSKS.js} +1 -1
  57. package/chunks/{chunk-U33SJE32.js → chunk-IDT4P6XO.js} +22 -22
  58. package/chunks/{chunk-AHAFF43V.js → chunk-IHTXJ34C.js} +3 -3
  59. package/chunks/{chunk-KEA5LER2.js → chunk-J6QWYIXU.js} +41 -41
  60. package/chunks/{chunk-FIGVLM7P.js → chunk-JDS6RRHY.js} +37 -2
  61. package/chunks/{chunk-5NMDAR3R.js → chunk-JNCTEVLS.js} +1 -1
  62. package/chunks/{chunk-IAXMFUQS.js → chunk-JSKHW2K5.js} +5 -5
  63. package/chunks/{chunk-ZRXYTB4K.js → chunk-JXSZU3MK.js} +3 -3
  64. package/chunks/{chunk-HQASDZCX.js → chunk-KGPIAV25.js} +1 -1
  65. package/chunks/{chunk-VBO2XHNW.js → chunk-KPRD727P.js} +4 -4
  66. package/chunks/{chunk-VCUAEDIB.js → chunk-KZADFPIV.js} +1 -1
  67. package/chunks/{chunk-AW4D3YZH.js → chunk-MJFPRGEQ.js} +5 -5
  68. package/chunks/{chunk-QSYAJODM.js → chunk-MQD3FY7L.js} +1 -1
  69. package/chunks/{chunk-GVRLIFA4.js → chunk-MUREOC7V.js} +3 -3
  70. package/chunks/{chunk-RJUBIGK4.js → chunk-MZJANQV6.js} +4 -4
  71. package/chunks/{chunk-R4CCSBN5.js → chunk-NCAZON2B.js} +7 -7
  72. package/chunks/{chunk-JEX74CST.js → chunk-NIXL6GCQ.js} +1 -1
  73. package/chunks/{chunk-UKJB6ZQG.js → chunk-NM2N7ZFI.js} +1 -1
  74. package/chunks/{chunk-YJUHLWQP.js → chunk-O62LF7MT.js} +2 -2
  75. package/chunks/{chunk-PUN3M7R2.js → chunk-ORC4JFM2.js} +3 -3
  76. package/chunks/{chunk-YXHY6BKS.js → chunk-OY4DP3XV.js} +14 -1
  77. package/chunks/{chunk-ZFRHTGGC.js → chunk-P6FFA7BC.js} +3 -3
  78. package/chunks/{chunk-BGVLXVEL.js → chunk-PESOPZ2F.js} +1 -1
  79. package/chunks/{chunk-AU2UW4DJ.js → chunk-QBCQIJ5K.js} +2 -2
  80. package/chunks/{chunk-QWJUL3EV.js → chunk-QEOLKEN7.js} +10 -10
  81. package/chunks/{chunk-4BJBICBR.js → chunk-QXYC7SNQ.js} +1 -1
  82. package/chunks/{chunk-4JL7XATQ.js → chunk-QZECTXG4.js} +1 -1
  83. package/chunks/{chunk-JTVICULJ.js → chunk-RUWHZMXW.js} +1 -1
  84. package/chunks/{chunk-NNT6O4J3.js → chunk-S4XLNZOV.js} +2 -2
  85. package/chunks/{chunk-LJV4K3DB.js → chunk-S6JKXUFG.js} +3 -3
  86. package/chunks/{chunk-E6LQ7EPP.js → chunk-S7Z7UUYJ.js} +2 -2
  87. package/chunks/{chunk-OM4T37CL.js → chunk-SMWV3EVV.js} +2 -2
  88. package/chunks/{chunk-WQRSYHOV.js → chunk-SR22PJAJ.js} +1 -1
  89. package/chunks/{chunk-M7L2SA2L.js → chunk-SWT6XVJE.js} +2 -2
  90. package/chunks/{chunk-B27WBTQL.js → chunk-SZ4UJWEJ.js} +3 -3
  91. package/chunks/{chunk-23AKEO2X.js → chunk-TG246JMY.js} +4 -4
  92. package/chunks/{chunk-EOAC7LYX.js → chunk-TUKPBUHT.js} +1 -1
  93. package/chunks/{chunk-UPFXN2I5.js → chunk-U6SF7GWW.js} +2 -2
  94. package/chunks/{chunk-G7XNSEWW.js → chunk-UE5VCGKO.js} +1 -1
  95. package/chunks/{chunk-SENYKRII.js → chunk-UM4V7562.js} +1 -1
  96. package/chunks/{chunk-BHBX535D.js → chunk-UO447HYN.js} +3 -3
  97. package/chunks/{chunk-BCT35JUS.js → chunk-UX6ROE5I.js} +1 -1
  98. package/chunks/{chunk-5YVH75II.js → chunk-VMTAPCG3.js} +1 -1
  99. package/chunks/{chunk-YHDKU3TE.js → chunk-VPE6VNNU.js} +1 -1
  100. package/chunks/{chunk-JSLE45K3.js → chunk-WTMM54T4.js} +4 -4
  101. package/chunks/{chunk-CQXPGQM3.js → chunk-WUOYMIIY.js} +4 -4
  102. package/chunks/{chunk-T4VZ2FFU.js → chunk-XEUHI5QA.js} +2 -2
  103. package/chunks/{chunk-CH3NP6IB.js → chunk-Y5IALOXP.js} +3 -3
  104. package/chunks/{chunk-2Y74HXRF.js → chunk-YJHAAGEJ.js} +7 -7
  105. package/chunks/{chunk-NQVLSKLN.js → chunk-Z5MSVVHR.js} +5 -5
  106. package/chunks/{chunk-HKJBFFQL.js → chunk-ZCBBV4LJ.js} +1 -1
  107. package/chunks/{chunk-3GHFKNQ4.js → chunk-ZHBCAABR.js} +3 -3
  108. package/chunks/{codex-subagent-executor-ASRNK33D.js → codex-subagent-executor-ZWGUSD5U.js} +22 -22
  109. package/chunks/{config-utils-276H35DM.js → config-utils-XLPSLGT7.js} +17 -17
  110. package/chunks/{contextCommand-3KJY52EZ.js → contextCommand-KE2557UZ.js} +18 -18
  111. package/chunks/{core-runtime-PCU5WKTW.js → core-runtime-7YAFJG7V.js} +17 -17
  112. package/chunks/{create-sub-session-ZQSEDQEP.js → create-sub-session-LTVMBDOG.js} +19 -19
  113. package/chunks/{daemon-E4MVZ7AP.js → daemon-LKIZ3HNV.js} +1 -1
  114. package/chunks/{daemon-git-worktree-guard-3G7OJZVE.js → daemon-git-worktree-guard-EN4SNZZC.js} +17 -17
  115. package/chunks/{daemon-status-provider-DK4OBIDO.js → daemon-status-provider-R3OHAHXV.js} +26 -26
  116. package/chunks/{daemon-trust-policy-AUJD73YS.js → daemon-trust-policy-DJNNV3HE.js} +22 -22
  117. package/chunks/{daemon-trust-policy-monitor-B36SX5ZD.js → daemon-trust-policy-monitor-2ZSYXRY3.js} +22 -22
  118. package/chunks/{deferred-core-runtime-X3AZHAKT.js → deferred-core-runtime-B7BBNY7B.js} +17 -17
  119. package/chunks/{edit-VOVWMP6A.js → edit-XY623A63.js} +9 -9
  120. package/chunks/{enterPlanMode-XH3H22Y5.js → enterPlanMode-VGKHLQVD.js} +8 -8
  121. package/chunks/{environment-6VXYH6VG.js → environment-RGWXBPFA.js} +19 -19
  122. package/chunks/{errors-NBZXAZ4Z.js → errors-XLKJ7JAN.js} +19 -19
  123. package/chunks/{execution-tool-HU4U2MZC.js → execution-tool-LGCWZ5JC.js} +9 -9
  124. package/chunks/{execution-worker-7S5M5TSJ.js → execution-worker-3AA3OGWV.js} +12 -12
  125. package/chunks/{exitPlanMode-GDM5HEN2.js → exitPlanMode-AGRSXL5M.js} +8 -8
  126. package/chunks/{fast-path-ZA6QMLO5.js → fast-path-FS4CO72C.js} +2 -2
  127. package/chunks/{glob-QFBHEAGO.js → glob-KMXCAZRN.js} +8 -8
  128. package/chunks/{goal-tools-GY3COQCT.js → goal-tools-52S6IYSS.js} +8 -8
  129. package/chunks/{handleAutoUpdate-B2USOESX.js → handleAutoUpdate-6EGQYSNX.js} +19 -19
  130. package/chunks/{i18n-MJLCQAHB.js → i18n-BVX7GWVL.js} +17 -17
  131. package/chunks/{initializer-YC5FADAU.js → initializer-YMBTVCPZ.js} +22 -22
  132. package/chunks/{installationInfo-GLODYMH6.js → installationInfo-YUODJVWE.js} +17 -17
  133. package/chunks/{list-KXO6KPDE.js → list-4Y32CIK4.js} +25 -25
  134. package/chunks/{llm-IH445P53.js → llm-DBL6E66T.js} +51 -51
  135. package/chunks/{llm-content-generator-644JX24D.js → llm-content-generator-IXWLZ4HX.js} +3 -3
  136. package/chunks/{loadedSettingsAdapter-7SRX7VUN.js → loadedSettingsAdapter-5JNMUP3T.js} +22 -22
  137. package/chunks/{local-execution-environment-E7R4JG7E.js → local-execution-environment-JIXYT7RU.js} +12 -12
  138. package/chunks/{loggingContentGenerator-OJZWGSGX.js → loggingContentGenerator-ORTEE7AH.js} +9 -9
  139. package/chunks/{managed-npm-update-BWI3YFRU.js → managed-npm-update-RRIST4P4.js} +17 -17
  140. package/chunks/{mcp-JWWJ5TU7.js → mcp-3WQIHJPV.js} +22 -22
  141. package/chunks/{model-call-collection-NZHEJIY7.js → model-call-collection-NNN4RJL2.js} +1 -1
  142. package/chunks/{model-configuration-ZVHNQSJS.js → model-configuration-LOEF5WVW.js} +22 -22
  143. package/chunks/{modelConfigUtils-AG2S7GA7.js → modelConfigUtils-UDCM5BQO.js} +18 -18
  144. package/chunks/{monitor-EQRAWX7A.js → monitor-AMX4GGO4.js} +8 -8
  145. package/chunks/{nonInteractiveCli-MMJVDGEY.js → nonInteractiveCli-HODI6ON6.js} +47 -47
  146. package/chunks/{nonInteractiveToolExecutor-3IEPY5DJ.js → nonInteractiveToolExecutor-IZ3L3ZUR.js} +9 -9
  147. package/chunks/{notebook-edit-SQVDWVV6.js → notebook-edit-VZ3HDVGJ.js} +9 -9
  148. package/chunks/{omni-35EBXSME.js → omni-J44KEAF2.js} +7 -7
  149. package/chunks/{openaiContentGenerator-53O227CL.js → openaiContentGenerator-WNTCGOOP.js} +6 -6
  150. package/chunks/{openaiResponsesContentGenerator-BAYPOZEC.js → openaiResponsesContentGenerator-EXCS4CPS.js} +2 -2
  151. package/chunks/{pidfile-HAEQEZ64.js → pidfile-MO4VIRCZ.js} +17 -17
  152. package/chunks/{process-registry-7LAPI3ZB.js → process-registry-MDKO6QY2.js} +1 -1
  153. package/chunks/{processUtils-KYIV5HC3.js → processUtils-PTWIWCBV.js} +2 -2
  154. package/chunks/{prompt-terminal-ledger-GXIT72Z5.js → prompt-terminal-ledger-OJQFCVY7.js} +18 -18
  155. package/chunks/{qwenContentGenerator-AX6DSXDT.js → qwenContentGenerator-CEHDHYS7.js} +10 -10
  156. package/chunks/{reactive-degrade-AMTLWTLV.js → reactive-degrade-N2GKSQDU.js} +6 -6
  157. package/chunks/{read-file-6S4GIC2K.js → read-file-MGTENCNH.js} +2 -2
  158. package/chunks/{resumeHistoryUtils-GWHFVTC3.js → resumeHistoryUtils-D7HKDUH5.js} +18 -18
  159. package/chunks/{ripGrep-VQGJNW4K.js → ripGrep-GY3USA7L.js} +3 -3
  160. package/chunks/{run-qwen-serve-RVON37J5.js → run-qwen-serve-BYDSQGXR.js} +49 -49
  161. package/chunks/{runtime-HV7PSD3Q.js → runtime-2VYDGP5Q.js} +23 -23
  162. package/chunks/{sandbox-2OKPORXP.js → sandbox-DEDZKXWQ.js} +24 -24
  163. package/chunks/{sandboxConfig-JS3ZI2GL.js → sandboxConfig-KKO5NHYT.js} +17 -17
  164. package/chunks/{scheduled-tasks-V3JMXVOV.js → scheduled-tasks-SBK77VA3.js} +25 -25
  165. package/chunks/{scheduler-YWUNAEFF.js → scheduler-WFLBJDYN.js} +19 -19
  166. package/chunks/{serve-ID2Q4MWD.js → serve-Z25BL7HQ.js} +22 -22
  167. package/chunks/{server-HK6IXBVP.js → server-PN5WV25I.js} +360 -80
  168. package/chunks/{session-6CRGACLX.js → session-OCQ6TJAW.js} +48 -48
  169. package/chunks/{session-attachments-root-O6ZRZXDP.js → session-attachments-root-KQDWFXMV.js} +17 -17
  170. package/chunks/{session-pr-refresh-MEJYBAXR.js → session-pr-refresh-TPCBGPHC.js} +23 -23
  171. package/chunks/{settings-BRDCRWGI.js → settings-7B5BGXUM.js} +21 -21
  172. package/chunks/{shell-YU4MQWEI.js → shell-OHI4FUG7.js} +8 -8
  173. package/chunks/{skill-26WK45TC.js → skill-3VAIVEQN.js} +3 -3
  174. package/chunks/{skill-settings-ASVFIW7I.js → skill-settings-V3CDB6OM.js} +22 -22
  175. package/chunks/{spawnChannel-ILC4CSNK.js → spawnChannel-I3W24E2N.js} +20 -20
  176. package/chunks/{standalone-update-44PGH5CI.js → standalone-update-25IAVDS4.js} +18 -18
  177. package/chunks/{start-opentui-ui-3WNJ3Y3B.js → start-opentui-ui-54TLE52K.js} +55 -55
  178. package/chunks/{startInteractiveUI-ICMITNVB.js → startInteractiveUI-6O4AE46W.js} +58 -58
  179. package/chunks/{team-create-4EL4BNT6.js → team-create-ED6VAG37.js} +8 -8
  180. package/chunks/{team-plan-approval-T7XDAPCT.js → team-plan-approval-LDAEETXQ.js} +8 -8
  181. package/chunks/{terminal-image-renderer-J4E6JEVD.js → terminal-image-renderer-WQW44MKO.js} +17 -17
  182. package/chunks/{theme-manager-EAA4P7ZB.js → theme-manager-5COG22M3.js} +17 -17
  183. package/chunks/{tool-result-media-LVUF5W62.js → tool-result-media-LWY3EMBX.js} +7 -7
  184. package/chunks/{tool-search-BJ47WF7Y.js → tool-search-5RPYPGFG.js} +2 -2
  185. package/chunks/{total-session-admission-AFSEND5Y.js → total-session-admission-VK6OEGTQ.js} +22 -22
  186. package/chunks/{trustedFolders-BXVC2ZSN.js → trustedFolders-AXSP2EBB.js} +18 -18
  187. package/chunks/{update-relaunch-3VTLQD6Y.js → update-relaunch-XO6DITTA.js} +5 -5
  188. package/chunks/{updateCheck-T7CBK52C.js → updateCheck-XXUEDPUG.js} +17 -17
  189. package/chunks/{upload-config-ITUYOGSZ.js → upload-config-PE3LJBUR.js} +4 -4
  190. package/chunks/{useAutoAcceptIndicator-7B2FZOXS.js → useAutoAcceptIndicator-ZHUEUC5M.js} +23 -23
  191. package/chunks/{validateNonInterActiveAuth-2GLGIBX2.js → validateNonInterActiveAuth-QLGYQ3U6.js} +45 -45
  192. package/chunks/{version-XTAYX4SL.js → version-6WI5GKX6.js} +1 -1
  193. package/chunks/{web-fetch-RAXAPC6C.js → web-fetch-WVJPQMBM.js} +2 -2
  194. package/chunks/{web-search-GDJDCAZK.js → web-search-MLYZQUGL.js} +4 -4
  195. package/chunks/{web-shell-static-7D6SWOB2.js → web-shell-static-Y7Q6BKAX.js} +3 -3
  196. package/chunks/{workflow-TOLHCUKY.js → workflow-AQ74SHPL.js} +9 -9
  197. package/chunks/{workspace-providers-status-JY4WYV7Y.js → workspace-providers-status-XJEFMVE4.js} +27 -27
  198. package/chunks/{workspace-registration-store-WECAXTJZ.js → workspace-registration-store-ZQT3LZZS.js} +1 -1
  199. package/chunks/{workspace-registry-ZI47BE24.js → workspace-registry-TVK2R2Z2.js} +22 -22
  200. package/chunks/{workspace-runtime-coordinator-G7MYTPB5.js → workspace-runtime-coordinator-GC5P3UDU.js} +22 -22
  201. package/chunks/{workspace-service-VXXHCV4D.js → workspace-service-65RQN5D7.js} +25 -25
  202. package/chunks/{workspace-skills-status-2PZDUB5Q.js → workspace-skills-status-JKWIQAI2.js} +25 -25
  203. package/chunks/{workspace-trust-reconciler-SJVRYLJZ.js → workspace-trust-reconciler-BQ6QIZNQ.js} +27 -27
  204. package/chunks/{write-file-52PVKECT.js → write-file-BJ5NTPQB.js} +9 -9
  205. package/chunks/{zoom-image-3WGAMQBO.js → zoom-image-7INIHGVL.js} +2 -2
  206. package/cli.js +12 -12
  207. package/execution-worker.js +1 -1
  208. package/export-transcript-document.js +2 -2
  209. package/package.json +3 -3
  210. package/web-shell/assets/{abnfDiagram-VCTEODGH-D0JEBuhT.js → abnfDiagram-VCTEODGH-BkQBgBMY.js} +1 -1
  211. package/web-shell/assets/{arc-DAGU6UBq.js → arc-Br3zpBwP.js} +1 -1
  212. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BwwmZlIz.js → architectureDiagram-5GKGNRK7-hfIGqSc7.js} +1 -1
  213. package/web-shell/assets/{blockDiagram-NRAW4CY4-CVlamuqi.js → blockDiagram-NRAW4CY4-BLvXFxuL.js} +1 -1
  214. package/web-shell/assets/{c4Diagram-UCG6FXSJ-Ci_IwJMk.js → c4Diagram-UCG6FXSJ-B0ySRqbF.js} +1 -1
  215. package/web-shell/assets/channel-B2iKEcGd.js +1 -0
  216. package/web-shell/assets/{chunk-2Q5K7J3B-BTkMSTwx.js → chunk-2Q5K7J3B-Cir7zOVC.js} +1 -1
  217. package/web-shell/assets/{chunk-5VM5RSS4-B1PRIYDb.js → chunk-5VM5RSS4-CDD4SztQ.js} +1 -1
  218. package/web-shell/assets/{chunk-F27PBJKO-DxAa9kyk.js → chunk-F27PBJKO-asK4yFXN.js} +1 -1
  219. package/web-shell/assets/{chunk-G27WJ6UU-B6U4bvzH.js → chunk-G27WJ6UU-Duv3kKeG.js} +1 -1
  220. package/web-shell/assets/{chunk-JWPE2WC7-BisoH50p.js → chunk-JWPE2WC7-CxLgEAVC.js} +1 -1
  221. package/web-shell/assets/{chunk-LCL6LL3I-CMRFZX9Y.js → chunk-LCL6LL3I-C272Eh40.js} +1 -1
  222. package/web-shell/assets/{chunk-POPQ4Y6H-Bc3bX2-1.js → chunk-POPQ4Y6H-BEa9L8Rf.js} +1 -1
  223. package/web-shell/assets/{chunk-SVP7TREG-BSY_Of1a.js → chunk-SVP7TREG-Du7ekG8H.js} +1 -1
  224. package/web-shell/assets/{chunk-XXDRQBXY-DHYrtDpD.js → chunk-XXDRQBXY-D1NXTUyy.js} +1 -1
  225. package/web-shell/assets/classDiagram-DTDB5LWJ-mSbS1rbo.js +1 -0
  226. package/web-shell/assets/classDiagram-v2-JRS7N3AN-mSbS1rbo.js +1 -0
  227. package/web-shell/assets/{cose-bilkent-JH36ORCC-Bys8oqE4.js → cose-bilkent-JH36ORCC-DfpxBocn.js} +1 -1
  228. package/web-shell/assets/{cynefin-OW5HDTMX-Bk-1CHqw.js → cynefin-OW5HDTMX-DaA3nwgS.js} +1 -1
  229. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-COEAsK-6.js → cynefinDiagram-5FMLGOSQ-aTwGPwXr.js} +1 -1
  230. package/web-shell/assets/{dagre-3AP2YEHR-BnG-9dPK.js → dagre-3AP2YEHR-BPQureZ2.js} +1 -1
  231. package/web-shell/assets/{diagram-S7CK7UJ4-BtVOEWgf.js → diagram-S7CK7UJ4-B9l9YMYC.js} +1 -1
  232. package/web-shell/assets/{diagram-UQ7AKVKN-d4UMEB4H.js → diagram-UQ7AKVKN-BINF0OVO.js} +1 -1
  233. package/web-shell/assets/{diagram-VSXAHHWV-DyumoLYZ.js → diagram-VSXAHHWV-CiZZUkn4.js} +1 -1
  234. package/web-shell/assets/{diagram-VX7I27RA-Cldjtjw-.js → diagram-VX7I27RA-DSryZ82r.js} +1 -1
  235. package/web-shell/assets/{diagram-Z3DM3KII-Ca2x7FQT.js → diagram-Z3DM3KII-DVVmSiV6.js} +1 -1
  236. package/web-shell/assets/{ebnfDiagram-PWID7BFC-_aBrHXYY.js → ebnfDiagram-PWID7BFC-DlyDLz4E.js} +1 -1
  237. package/web-shell/assets/{erDiagram-SSCWMZ5O-DNwW3a90.js → erDiagram-SSCWMZ5O-CKzUW1DF.js} +1 -1
  238. package/web-shell/assets/{flowDiagram-A5DVABFB-BfJ0C05G.js → flowDiagram-A5DVABFB-BJbhb4Ms.js} +1 -1
  239. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BjF5dWdv.js → ganttDiagram-EL5Y4UJY-C3MvAYYH.js} +1 -1
  240. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-CGWbHD_5.js → gitGraphDiagram-WWUBYQGX-WAlEYhpV.js} +1 -1
  241. package/web-shell/assets/{index-DzP0zXEw.js → index-B-m7jwUn.js} +478 -478
  242. package/web-shell/assets/{index-CfVvGORC.css → index-C6EbTEEX.css} +1 -1
  243. package/web-shell/assets/{index-nCA_zAWZ.js → index-D-0jw_Mv.js} +1 -1
  244. package/web-shell/assets/{infoDiagram-RXCK75RN-Cb54Ezi2.js → infoDiagram-RXCK75RN-lCSiGsnv.js} +1 -1
  245. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-24hQd7nh.js → ishikawaDiagram-5VMMS53U-DO2Phifr.js} +1 -1
  246. package/web-shell/assets/{journeyDiagram-EYS64GPL-BeMX0Fob.js → journeyDiagram-EYS64GPL-CMopttgZ.js} +1 -1
  247. package/web-shell/assets/{kanban-definition-3QL26DDD-CtzuHfsW.js → kanban-definition-3QL26DDD-C9fCgZW7.js} +1 -1
  248. package/web-shell/assets/{layout-Cm8Q-zkY.js → layout-jwnqp6Nz.js} +1 -1
  249. package/web-shell/assets/{linear-ROsyxegk.js → linear-BzQI00gV.js} +1 -1
  250. package/web-shell/assets/{mermaid.core-CbsHVklJ.js → mermaid.core-D8V71OO3.js} +6 -6
  251. package/web-shell/assets/{mindmap-definition-FBJOCRG2-D-1wgZM8.js → mindmap-definition-FBJOCRG2-BLUH8tli.js} +1 -1
  252. package/web-shell/assets/{pegDiagram-XKGWAZYB-CA0EenND.js → pegDiagram-XKGWAZYB-BO0qnSfj.js} +1 -1
  253. package/web-shell/assets/{pieDiagram-E7YTZNPT-DpQYQEr7.js → pieDiagram-E7YTZNPT-e4Cjh-6j.js} +1 -1
  254. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-p_vAaR6O.js → quadrantDiagram-AXDQQJYC-BwTHa_JF.js} +1 -1
  255. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BKyJ5sVa.js → railroadDiagram-O6MQD6OU-B-KW5-Sx.js} +1 -1
  256. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-DSLOYpCE.js → requirementDiagram-EFPCY7ZU-D54hNSnQ.js} +1 -1
  257. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BKsyb3xf.js → sankeyDiagram-P5KCCOFB-CBBp5lR9.js} +1 -1
  258. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-gKXhvPcm.js → sequenceDiagram-WJ2MYXX4-OqoAVsuX.js} +1 -1
  259. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CMICsW9l.js → sizeCapture-X5ZJPWSS-D8TpQJlP.js} +1 -1
  260. package/web-shell/assets/{stateDiagram-HBIQ2CUA-D1DfVVxo.js → stateDiagram-HBIQ2CUA-BU9Ei757.js} +1 -1
  261. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-67Q7WT5I.js +1 -0
  262. package/web-shell/assets/{swimlanes-XN3QIQJK-CwStpdu7.js → swimlanes-XN3QIQJK-BpN3knRL.js} +1 -1
  263. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dh3LDQRv.js +8 -0
  264. package/web-shell/assets/{timeline-definition-24CTP7MA-Cr0FW_dQ.js → timeline-definition-24CTP7MA-B_Qj6PLG.js} +1 -1
  265. package/web-shell/assets/{vennDiagram-4TSXK5OY-BdBYY1sF.js → vennDiagram-4TSXK5OY-USf6WC_3.js} +1 -1
  266. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-D_0NskWe.js → wardleyDiagram-VM6X3IG4-DhXuNigR.js} +1 -1
  267. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-C92n2C8T.js → xychartDiagram-S5SC5T6Z-64GH9bS_.js} +1 -1
  268. package/web-shell/index.html +2 -2
  269. package/web-shell/sw.js +1 -1
  270. package/web-shell/assets/channel-BnrGNlLf.js +0 -1
  271. package/web-shell/assets/classDiagram-DTDB5LWJ-CFT-ig3n.js +0 -1
  272. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CFT-ig3n.js +0 -1
  273. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CPEnbJbA.js +0 -1
  274. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ByuUl_Y1.js +0 -8
@@ -14,7 +14,7 @@ import {
14
14
  shouldSuppressRememberErrorDetails,
15
15
  workspaceMemoryFailureCode,
16
16
  workspaceMemoryFailureDiagnostics
17
- } from "./chunk-23AKEO2X.js";
17
+ } from "./chunk-TG246JMY.js";
18
18
  import {
19
19
  deriveWebSocketBase,
20
20
  openQwenAsrRealtimeStream,
@@ -32,7 +32,7 @@ import {
32
32
  toJson,
33
33
  toJsonl,
34
34
  toMarkdown
35
- } from "./chunk-QWJUL3EV.js";
35
+ } from "./chunk-QEOLKEN7.js";
36
36
  import {
37
37
  OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
38
38
  ObservedChannelContactStore
@@ -115,7 +115,7 @@ import {
115
115
  singleTokenCredentials,
116
116
  tagListener,
117
117
  unsafeRevealSecret
118
- } from "./chunk-CSZQMAJU.js";
118
+ } from "./chunk-ICWTEQBN.js";
119
119
  import {
120
120
  ConversationDirectoryIdentityError,
121
121
  getConversationDirectoryName,
@@ -154,7 +154,7 @@ import {
154
154
  runWithWorkspaceRuntimeStorage,
155
155
  searchWorkspaceSessionsForResponse,
156
156
  unarchiveDaemonSessions
157
- } from "./chunk-U33SJE32.js";
157
+ } from "./chunk-IDT4P6XO.js";
158
158
  import {
159
159
  LIVE_SESSION_SOURCE_PREFIX,
160
160
  isCompatibleLiveSessionSource,
@@ -194,17 +194,17 @@ import {
194
194
  import {
195
195
  evaluateDaemonWorkspaceTrust,
196
196
  readDaemonTrustPolicySnapshot
197
- } from "./chunk-AHJF2GP6.js";
197
+ } from "./chunk-C4B5ZCE5.js";
198
198
  import {
199
199
  readRecentPromptTerminals,
200
200
  reconcileDanglingPromptTerminals,
201
201
  withPromptTerminals
202
- } from "./chunk-NKRIFDS7.js";
202
+ } from "./chunk-3MYXEXVX.js";
203
203
  import {
204
204
  WorkspaceGenerationClosedError,
205
205
  createSingleWorkspaceRegistry,
206
206
  createWorkspaceSessionOwnerIndex
207
- } from "./chunk-MMRGG6R4.js";
207
+ } from "./chunk-H32AKV4B.js";
208
208
  import {
209
209
  sessionAttachmentsRoots
210
210
  } from "./chunk-PJSZXERN.js";
@@ -230,11 +230,11 @@ import {
230
230
  sendUntrustedWorkspaceResponse,
231
231
  sendWorkspaceRuntimeUnavailable,
232
232
  setWorkspaceRouteContext
233
- } from "./chunk-AW4D3YZH.js";
233
+ } from "./chunk-MJFPRGEQ.js";
234
234
  import {
235
235
  normalizeChannelDelivery,
236
236
  parseChannelDelivery
237
- } from "./chunk-EXWXXD6V.js";
237
+ } from "./chunk-ADQSGJV5.js";
238
238
  import {
239
239
  isValidSessionId,
240
240
  normalizeSessionIdForLookup,
@@ -242,7 +242,7 @@ import {
242
242
  } from "./chunk-ZEZKIS2K.js";
243
243
  import {
244
244
  createSessionOrganizationService
245
- } from "./chunk-7F4PJYUT.js";
245
+ } from "./chunk-GJV3UMRE.js";
246
246
  import {
247
247
  isInternalWorkspaceRuntime
248
248
  } from "./chunk-NYWWQ437.js";
@@ -261,14 +261,14 @@ import {
261
261
  validateWorkspaceSkillName,
262
262
  validateWorkspaceVoiceState,
263
263
  voiceSettingsScopeToWire
264
- } from "./chunk-2Y74HXRF.js";
264
+ } from "./chunk-YJHAAGEJ.js";
265
265
  import {
266
266
  PermissionRulesValidationError,
267
267
  buildPermissionSettings,
268
268
  isPermissionRuleType,
269
269
  normalizePermissionRules,
270
270
  readPermissionRuleSet
271
- } from "./chunk-AGSCJIHL.js";
271
+ } from "./chunk-3XH7WS7C.js";
272
272
  import {
273
273
  assertVoiceBaseUrlNetworkAllowed,
274
274
  isStreamingVoiceModel,
@@ -288,52 +288,48 @@ import {
288
288
  } from "./chunk-UIWUFHRJ.js";
289
289
  import {
290
290
  createTotalSessionAdmissionController
291
- } from "./chunk-SENYKRII.js";
291
+ } from "./chunk-UM4V7562.js";
292
292
  import {
293
293
  assertValidChannelSecretUpdates
294
- } from "./chunk-BCT35JUS.js";
294
+ } from "./chunk-UX6ROE5I.js";
295
+ import {
296
+ createDaemonStatusProvider
297
+ } from "./chunk-Y5IALOXP.js";
298
+ import "./chunk-CT6GGM4O.js";
299
+ import "./chunk-SWT6XVJE.js";
300
+ import "./chunk-FUSEMYFX.js";
295
301
  import {
296
302
  createWorkspaceProvidersStatusProvider
297
- } from "./chunk-SH4TBUBG.js";
303
+ } from "./chunk-ADXJQFDY.js";
298
304
  import {
299
305
  PERSIST_REASONING_SELECTION_META_KEY,
300
306
  REASONING_SELECTION_PERSISTED_META_KEY
301
- } from "./chunk-NNT6O4J3.js";
307
+ } from "./chunk-S4XLNZOV.js";
308
+ import {
309
+ snapshotProcessEnv
310
+ } from "./chunk-3T7YUINK.js";
302
311
  import {
303
312
  getAuthTypeFromEnv,
304
313
  resolveCliGenerationConfig
305
- } from "./chunk-3GHFKNQ4.js";
314
+ } from "./chunk-ZHBCAABR.js";
306
315
  import {
307
316
  findModelConfiguration,
308
317
  findModelConfigurationForDeletion,
309
318
  isConversationModelConfiguration,
310
319
  isImageModelConfiguration,
311
320
  listModelConfigurations
312
- } from "./chunk-AU2UW4DJ.js";
321
+ } from "./chunk-QBCQIJ5K.js";
313
322
  import {
314
323
  sanitizeProviderBaseUrl
315
324
  } from "./chunk-Y3Q5OK4D.js";
316
325
  import {
317
326
  createWorkspaceSkillsStatusProvider
318
- } from "./chunk-EIGKYA3A.js";
319
- import "./chunk-JEX74CST.js";
327
+ } from "./chunk-DHM2SAA3.js";
328
+ import "./chunk-NIXL6GCQ.js";
320
329
  import {
321
330
  lookupSkillDisablement,
322
331
  resolveSkillSettings
323
- } from "./chunk-4BJBICBR.js";
324
- import {
325
- WorkspaceRuntimeInitializationError,
326
- WorkspaceRuntimeStillStartingError,
327
- getWorkspaceRuntimeCoordinator,
328
- getWorkspaceRuntimeCoordinatorIfSupported,
329
- supportsWorkspaceRuntimeLifecycle
330
- } from "./chunk-CZIABXYD.js";
331
- import "./chunk-OIBUG24X.js";
332
- import {
333
- MAX_SESSION_RESTORE_TIMEOUT_MS,
334
- resolveSessionRestoreTimeoutMs,
335
- restoreRetryAfterSeconds
336
- } from "./chunk-4JRM2BSM.js";
332
+ } from "./chunk-QXYC7SNQ.js";
337
333
  import {
338
334
  WorkspacePermissionRulesSessionRequiredError,
339
335
  WorkspaceSettingsPartialPersistError,
@@ -344,16 +340,16 @@ import {
344
340
  isServeDebugMode,
345
341
  mountWebShellAssets,
346
342
  mountWebShellSpaFallback
347
- } from "./chunk-ITY5NM7C.js";
343
+ } from "./chunk-4HIQNJMZ.js";
348
344
  import {
349
345
  require_express
350
- } from "./chunk-DAIWLFBL.js";
346
+ } from "./chunk-CGDPJBVR.js";
351
347
  import "./chunk-FBX2SDQ4.js";
352
348
  import {
353
349
  daemonObservedContactsPath,
354
350
  loadChannelsConfig
355
- } from "./chunk-T4VZ2FFU.js";
356
- import "./chunk-AHAFF43V.js";
351
+ } from "./chunk-XEUHI5QA.js";
352
+ import "./chunk-IHTXJ34C.js";
357
353
  import "./chunk-57OAHC2Y.js";
358
354
  import {
359
355
  assertLiveDiscoveryPublisher,
@@ -373,14 +369,18 @@ import {
373
369
  conversationRuntimeUnavailableError
374
370
  } from "./chunk-TBUYRX6R.js";
375
371
  import {
376
- createDaemonStatusProvider
377
- } from "./chunk-CH3NP6IB.js";
378
- import "./chunk-SHJBXWWG.js";
379
- import "./chunk-M7L2SA2L.js";
380
- import "./chunk-FUSEMYFX.js";
372
+ WorkspaceRuntimeInitializationError,
373
+ WorkspaceRuntimeStillStartingError,
374
+ getWorkspaceRuntimeCoordinator,
375
+ getWorkspaceRuntimeCoordinatorIfSupported,
376
+ supportsWorkspaceRuntimeLifecycle
377
+ } from "./chunk-5JDABAZR.js";
378
+ import "./chunk-OIBUG24X.js";
381
379
  import {
382
- snapshotProcessEnv
383
- } from "./chunk-FLMQNPT7.js";
380
+ MAX_SESSION_RESTORE_TIMEOUT_MS,
381
+ resolveSessionRestoreTimeoutMs,
382
+ restoreRetryAfterSeconds
383
+ } from "./chunk-4JRM2BSM.js";
384
384
  import {
385
385
  SessionArtifactAuthorizationError,
386
386
  SessionArtifactValidationError,
@@ -388,7 +388,7 @@ import {
388
388
  extractErrorCode,
389
389
  extractErrorMessage,
390
390
  parseSessionSource
391
- } from "./chunk-AA7TDMW7.js";
391
+ } from "./chunk-A4IJR5S6.js";
392
392
  import {
393
393
  EVENT_SCHEMA_VERSION,
394
394
  EventBus,
@@ -399,7 +399,7 @@ import "./chunk-WCCLLK7X.js";
399
399
  import "./chunk-OCPBI7J5.js";
400
400
  import {
401
401
  createSpawnChannelFactory
402
- } from "./chunk-2SDAQDRJ.js";
402
+ } from "./chunk-HVXNAVUO.js";
403
403
  import "./chunk-LYD3T3H7.js";
404
404
  import {
405
405
  BridgeTimeoutError,
@@ -409,7 +409,7 @@ import {
409
409
  createIdleWorkspaceMemoryStatus,
410
410
  mapDomainErrorToErrorKind,
411
411
  readServeWorkflowActionInput
412
- } from "./chunk-EOAC7LYX.js";
412
+ } from "./chunk-TUKPBUHT.js";
413
413
  import "./chunk-ZL4HFSL6.js";
414
414
  import {
415
415
  parseChannelWebhookConfigLenient
@@ -419,7 +419,7 @@ import {
419
419
  } from "./chunk-YG2QHKNQ.js";
420
420
  import "./chunk-LFKXIOGC.js";
421
421
  import "./chunk-V6WHFGST.js";
422
- import "./chunk-FIGVLM7P.js";
422
+ import "./chunk-JDS6RRHY.js";
423
423
  import {
424
424
  MAX_REGISTERED_WORKSPACES,
425
425
  WorkspaceDisplayNameValidationError,
@@ -429,7 +429,7 @@ import {
429
429
  normalizeWorkspaceDisplayName,
430
430
  resolveMaxRegisteredWorkspaces,
431
431
  workspaceRegistrationId
432
- } from "./chunk-5RX3WWHF.js";
432
+ } from "./chunk-FIC4SULR.js";
433
433
  import {
434
434
  CHANNEL_PROMPT_META_KEY,
435
435
  DAEMON_PROMPT_DISPLAY_TEXT_META_KEY,
@@ -474,8 +474,9 @@ import {
474
474
  WorkspaceInitPathEscapeError,
475
475
  WorkspaceInitRaceError,
476
476
  WorkspaceInitSymlinkError,
477
- WorkspaceMismatchError
478
- } from "./chunk-YXHY6BKS.js";
477
+ WorkspaceMismatchError,
478
+ WorkspaceRuntimeStopError
479
+ } from "./chunk-OY4DP3XV.js";
479
480
  import {
480
481
  MAX_WORKSPACE_PATH_LENGTH,
481
482
  canonicalizeWorkspace,
@@ -531,9 +532,9 @@ import {
531
532
  resolveOutputLanguageOrPreserveAuto,
532
533
  updateOutputLanguageFile,
533
534
  validateSettingValue
534
- } from "./chunk-VBO2XHNW.js";
535
+ } from "./chunk-KPRD727P.js";
535
536
  import "./chunk-RKUWKYED.js";
536
- import "./chunk-5GGB5BBQ.js";
537
+ import "./chunk-2UK4NN6N.js";
537
538
  import {
538
539
  detectSystemLanguage,
539
540
  getCurrentLanguage,
@@ -546,15 +547,15 @@ import {
546
547
  } from "./chunk-5EJZE3FP.js";
547
548
  import {
548
549
  buildRuntimeEnvironment
549
- } from "./chunk-5NMDAR3R.js";
550
+ } from "./chunk-JNCTEVLS.js";
550
551
  import "./chunk-BW4333PP.js";
551
552
  import "./chunk-IDS7MSUP.js";
552
553
  import "./chunk-6V4XP46I.js";
553
- import "./chunk-OVU4JKTO.js";
554
+ import "./chunk-7OQL6UOC.js";
554
555
  import "./chunk-W3N5XAZ6.js";
555
556
  import {
556
557
  getWorkspaceTrustStatus
557
- } from "./chunk-G7XNSEWW.js";
558
+ } from "./chunk-UE5VCGKO.js";
558
559
  import "./chunk-NPQ5ZKRP.js";
559
560
  import {
560
561
  isWithinRoot as isWithinRoot2
@@ -569,13 +570,13 @@ import {
569
570
  buildUsageDashboard,
570
571
  loadIgnoreRules,
571
572
  writeWorkspaceContextFile
572
- } from "./chunk-FP6ZEPRZ.js";
573
+ } from "./chunk-E3BHICIC.js";
573
574
  import "./chunk-GELRJXE2.js";
574
575
  import "./chunk-32CM56LO.js";
575
576
  import "./chunk-5LWMGZUU.js";
576
577
  import "./chunk-LJZSMWOH.js";
577
- import "./chunk-B27WBTQL.js";
578
- import "./chunk-HKJBFFQL.js";
578
+ import "./chunk-SZ4UJWEJ.js";
579
+ import "./chunk-ZCBBV4LJ.js";
579
580
  import "./chunk-LHI3FFDO.js";
580
581
  import {
581
582
  clearWorktreeSession,
@@ -583,24 +584,24 @@ import {
583
584
  readWorktreeSessionStrict,
584
585
  writeWorktreeSession
585
586
  } from "./chunk-CXDWVOBM.js";
586
- import "./chunk-UPFXN2I5.js";
587
+ import "./chunk-U6SF7GWW.js";
587
588
  import "./chunk-ZPJWUGCS.js";
588
589
  import "./chunk-O4A2B6V2.js";
589
590
  import "./chunk-HBZQIGAR.js";
590
591
  import "./chunk-LAE6RY3L.js";
591
592
  import "./chunk-7PQ65Z5F.js";
592
593
  import "./chunk-6KR42S7N.js";
593
- import "./chunk-JSLE45K3.js";
594
- import "./chunk-GVRLIFA4.js";
594
+ import "./chunk-WTMM54T4.js";
595
+ import "./chunk-MUREOC7V.js";
595
596
  import "./chunk-3YRZQZQW.js";
596
- import "./chunk-T5U7ZMER.js";
597
+ import "./chunk-DOG4JYVA.js";
597
598
  import "./chunk-V2XJJTAB.js";
598
- import "./chunk-CBIQ7JYA.js";
599
+ import "./chunk-EE5L2LJI.js";
599
600
  import "./chunk-HARQNY36.js";
600
601
  import "./chunk-B4BGUUBA.js";
601
602
  import "./chunk-YDERQ7ZV.js";
602
603
  import "./chunk-HG7BSAAQ.js";
603
- import "./chunk-DP4UACBB.js";
604
+ import "./chunk-7MJKFPGJ.js";
604
605
  import {
605
606
  BuiltinAgentRegistry,
606
607
  Client,
@@ -681,7 +682,7 @@ import {
681
682
  toSessionPrInfo,
682
683
  upsertSessionPr,
683
684
  watchRepoBranch
684
- } from "./chunk-KEA5LER2.js";
685
+ } from "./chunk-J6QWYIXU.js";
685
686
  import "./chunk-EGFLRBZ6.js";
686
687
  import "./chunk-GOFAQQZA.js";
687
688
  import "./chunk-HEOH7JZY.js";
@@ -713,7 +714,7 @@ import {
713
714
  recordDaemonBridgeError,
714
715
  recordDaemonHttpRequest,
715
716
  validateSkillName
716
- } from "./chunk-QSYAJODM.js";
717
+ } from "./chunk-MQD3FY7L.js";
717
718
  import "./chunk-KMPZCA4L.js";
718
719
  import "./chunk-O6GEWCJA.js";
719
720
  import {
@@ -745,7 +746,7 @@ import "./chunk-ADN5KESB.js";
745
746
  import "./chunk-SK3RZOPS.js";
746
747
  import "./chunk-EVZT24AF.js";
747
748
  import "./chunk-6C3D7BKK.js";
748
- import "./chunk-4JL7XATQ.js";
749
+ import "./chunk-QZECTXG4.js";
749
750
  import "./chunk-MNU36NGH.js";
750
751
  import "./chunk-BQMSZSG6.js";
751
752
  import "./chunk-KNTOORZV.js";
@@ -753,7 +754,7 @@ import {
753
754
  NO_EXEC_CONFIG,
754
755
  findGitRoot
755
756
  } from "./chunk-AUFTA63J.js";
756
- import "./chunk-JTVICULJ.js";
757
+ import "./chunk-RUWHZMXW.js";
757
758
  import "./chunk-MLXTMF7H.js";
758
759
  import "./chunk-JYGESWZM.js";
759
760
  import "./chunk-TFDCK56Y.js";
@@ -765,7 +766,7 @@ import "./chunk-WFNEY5G7.js";
765
766
  import "./chunk-HZYLXNG7.js";
766
767
  import "./chunk-S6LOFUVP.js";
767
768
  import "./chunk-BKVPLSEI.js";
768
- import "./chunk-D4QVZ3JC.js";
769
+ import "./chunk-HISXBKXU.js";
769
770
  import "./chunk-S7UQ3V2H.js";
770
771
  import "./chunk-QE36VXWP.js";
771
772
  import {
@@ -788,7 +789,7 @@ import {
788
789
  resolveModelProtocol,
789
790
  shouldShowStep,
790
791
  tryResolveModelProtocol
791
- } from "./chunk-TRJLFLSG.js";
792
+ } from "./chunk-FUZESLZQ.js";
792
793
  import {
793
794
  QwenOAuth2Client,
794
795
  QwenOAuthPollError,
@@ -820,7 +821,7 @@ import "./chunk-XWRJCPHC.js";
820
821
  import {
821
822
  parseLineTolerant,
822
823
  read
823
- } from "./chunk-YTVYZJKS.js";
824
+ } from "./chunk-3UOPPEN5.js";
824
825
  import "./chunk-5ETULJLP.js";
825
826
  import "./chunk-VGC4I5JJ.js";
826
827
  import "./chunk-CFMZLE3L.js";
@@ -842,7 +843,7 @@ import "./chunk-R6IES4JL.js";
842
843
  import "./chunk-GTI6CROA.js";
843
844
  import "./chunk-7TGPYR3U.js";
844
845
  import "./chunk-DSJQYGJZ.js";
845
- import "./chunk-TXPFRFNN.js";
846
+ import "./chunk-CBJBLKDH.js";
846
847
  import "./chunk-XZA32HII.js";
847
848
  import "./chunk-CA63HYHU.js";
848
849
  import "./chunk-SBP43AO6.js";
@@ -2820,6 +2821,234 @@ var require_saxes = __commonJS({
2820
2821
  // packages/cli/src/serve/server.ts
2821
2822
  init_esbuild_shims();
2822
2823
  var import_express7 = __toESM(require_express(), 1);
2824
+
2825
+ // packages/cli/src/serve/routes/workspace-runtime-stop.ts
2826
+ init_esbuild_shims();
2827
+ function parseConfirmation(body) {
2828
+ const {
2829
+ confirmInterruptions,
2830
+ expectedChannelId,
2831
+ expectedRuntimeEpoch,
2832
+ expectedStopToken,
2833
+ expectedSessionIds
2834
+ } = body;
2835
+ if (confirmInterruptions !== true || typeof expectedChannelId !== "string" || typeof expectedRuntimeEpoch !== "number" || !Number.isSafeInteger(expectedRuntimeEpoch) || typeof expectedStopToken !== "string" || !Array.isArray(expectedSessionIds) || !expectedSessionIds.every((id) => typeof id === "string") || new Set(expectedSessionIds).size !== expectedSessionIds.length)
2836
+ return void 0;
2837
+ return {
2838
+ confirmInterruptions,
2839
+ expectedChannelId,
2840
+ expectedRuntimeEpoch,
2841
+ expectedStopToken,
2842
+ expectedSessionIds
2843
+ };
2844
+ }
2845
+ __name(parseConfirmation, "parseConfirmation");
2846
+ function registerWorkspaceRuntimeStopRoutes(app, deps) {
2847
+ const current = /* @__PURE__ */ __name((runtime) => {
2848
+ const entry = deps.workspaceRegistry.getEntryByWorkspaceId(
2849
+ runtime.workspaceId
2850
+ );
2851
+ return entry?.state === "active" && entry.current?.runtime === runtime && !entry.current.guard.closed && runtime.trusted;
2852
+ }, "current");
2853
+ const blockers = /* @__PURE__ */ __name((runtime) => {
2854
+ const reasons = [];
2855
+ if (!current(runtime)) reasons.push("runtime_unavailable");
2856
+ if (runtime.provenance && runtime.provenance !== "existing")
2857
+ reasons.push("special_runtime");
2858
+ if (!deps.ownsBridge(runtime) || !runtime.bridge.getRuntimeStopSnapshot || !runtime.bridge.getRuntimeStopCompletion || !runtime.bridge.stopWorkspaceRuntime)
2859
+ reasons.push("unsupported");
2860
+ const activity = deps.getActivity(runtime);
2861
+ if (!activity) reasons.push("activity_unknown");
2862
+ else
2863
+ for (const key of [
2864
+ "pendingSessionStarts",
2865
+ "acpConnections",
2866
+ "memoryTasks",
2867
+ "channelWorkers",
2868
+ "voiceSessions"
2869
+ ]) {
2870
+ if (activity[key] > 0) reasons.push(key);
2871
+ }
2872
+ if (getWorkspaceRuntimeCoordinatorIfSupported(runtime)?.hasManagementWork())
2873
+ reasons.push("management_pending");
2874
+ if (deps.scheduledWorkActive(runtime)) reasons.push("scheduler_pending");
2875
+ return reasons;
2876
+ }, "blockers");
2877
+ const preview = /* @__PURE__ */ __name(async (runtime) => {
2878
+ let enabledTaskCount = null;
2879
+ const reasons = blockers(runtime);
2880
+ if (current(runtime) && deps.ownsBridge(runtime)) {
2881
+ try {
2882
+ const tasks = await runWithWorkspaceRuntimeStorage(
2883
+ runtime,
2884
+ () => readCronTasks(runtime.workspaceCwd)
2885
+ );
2886
+ enabledTaskCount = tasks.filter(
2887
+ (task) => task.enabled !== false && !taskHasLegacyCondition(task)
2888
+ ).length;
2889
+ if (enabledTaskCount > 0) reasons.push("enabled_scheduled_tasks");
2890
+ } catch {
2891
+ reasons.push("scheduled_tasks_unknown");
2892
+ }
2893
+ }
2894
+ const snapshot = current(runtime) ? runtime.bridge.getRuntimeStopSnapshot?.() : void 0;
2895
+ const blockedReasons = [
2896
+ .../* @__PURE__ */ new Set([
2897
+ ...reasons,
2898
+ ...blockers(runtime),
2899
+ ...snapshot?.blockedReasons ?? ["unsupported"]
2900
+ ])
2901
+ ];
2902
+ return {
2903
+ workspaceId: runtime.workspaceId,
2904
+ cwd: runtime.workspaceCwd,
2905
+ displayName: runtime.displayName,
2906
+ primary: runtime.primary,
2907
+ state: runtime.bridge.getWorkspaceRuntimeLifecycleSnapshot?.().state ?? "unknown",
2908
+ canStop: blockedReasons.length === 0,
2909
+ enabledTaskCount,
2910
+ activity: deps.getActivity(runtime),
2911
+ runtimeEpoch: snapshot?.runtimeEpoch ?? 0,
2912
+ stopToken: snapshot?.stopToken ?? "",
2913
+ sessions: snapshot?.sessions ?? [],
2914
+ ...snapshot,
2915
+ blockedReasons
2916
+ };
2917
+ }, "preview");
2918
+ const unavailable = /* @__PURE__ */ __name((res) => res.status(501).json({
2919
+ code: "workspace_runtime_stop_not_supported",
2920
+ error: "Workspace runtime stop is not supported by this daemon."
2921
+ }), "unavailable");
2922
+ app.get("/workspaces/runtime-stop-options", async (_req, res) => {
2923
+ if (!deps.available()) {
2924
+ unavailable(res);
2925
+ return;
2926
+ }
2927
+ const workspaces = await Promise.all(
2928
+ deps.workspaceRegistry.listManaged().filter((runtime) => !isInternalWorkspaceRuntime(runtime)).map(preview)
2929
+ );
2930
+ res.json({ ...deps.getCapacity(), workspaces });
2931
+ });
2932
+ app.post(
2933
+ "/workspaces/:workspace/runtime/stop",
2934
+ deps.mutate({ strict: true }),
2935
+ async (req, res) => {
2936
+ if (!deps.available()) {
2937
+ unavailable(res);
2938
+ return;
2939
+ }
2940
+ const runtime = resolveWorkspaceRuntimeFromParam(
2941
+ deps.workspaceRegistry,
2942
+ req,
2943
+ res
2944
+ );
2945
+ if (!runtime || !requireTrustedWorkspaceRuntime(runtime, res)) return;
2946
+ const confirmation = parseConfirmation(deps.safeBody(req));
2947
+ if (!confirmation) {
2948
+ res.status(400).json({
2949
+ code: "invalid_runtime_stop_confirmation",
2950
+ error: "Confirm the exact workspace and affected sessions before stopping."
2951
+ });
2952
+ return;
2953
+ }
2954
+ const coordinator = getWorkspaceRuntimeCoordinatorIfSupported(runtime);
2955
+ if (!coordinator || !deps.ownsBridge(runtime) || !runtime.bridge.getRuntimeStopCompletion || !runtime.bridge.stopWorkspaceRuntime) {
2956
+ unavailable(res);
2957
+ return;
2958
+ }
2959
+ const sendOutcome = /* @__PURE__ */ __name((result) => {
2960
+ const code = result.state === "stopping" ? "workspace_runtime_stop_in_progress" : result.state === "failed" ? "workspace_runtime_stop_failed" : "workspace_runtime_stop_incomplete";
2961
+ res.status(
2962
+ result.state === "stopped" ? 200 : result.state === "incomplete" ? 409 : 503
2963
+ ).json({
2964
+ ...result,
2965
+ workspaceId: runtime.workspaceId,
2966
+ ...deps.getCapacity(),
2967
+ ...result.state === "stopped" ? {} : {
2968
+ code,
2969
+ error: result.error ?? "Workspace stop is still in progress."
2970
+ }
2971
+ });
2972
+ }, "sendOutcome");
2973
+ try {
2974
+ const before = await preview(runtime);
2975
+ if (!current(runtime)) {
2976
+ res.status(409).json({
2977
+ code: "workspace_runtime_stop_stale",
2978
+ error: "Workspace generation changed. Refresh the preview."
2979
+ });
2980
+ return;
2981
+ }
2982
+ if (before.lastStop?.stopToken === confirmation.expectedStopToken && before.lastStop.channelId === confirmation.expectedChannelId && before.lastStop.runtimeEpoch === confirmation.expectedRuntimeEpoch) {
2983
+ sendOutcome(before.lastStop);
2984
+ return;
2985
+ }
2986
+ if (!before.canStop) {
2987
+ res.status(409).json({
2988
+ code: "workspace_runtime_stop_blocked",
2989
+ error: "Workspace has independent runtime work.",
2990
+ preview: before
2991
+ });
2992
+ return;
2993
+ }
2994
+ const finishStop = coordinator.beginStop();
2995
+ let operation;
2996
+ const finish = /* @__PURE__ */ __name(() => {
2997
+ if (finishStop() && current(runtime)) deps.startKeepalive(runtime);
2998
+ }, "finish");
2999
+ try {
3000
+ deps.stopKeepalive(runtime);
3001
+ if (blockers(runtime).length)
3002
+ throw new WorkspaceRuntimeStopError(
3003
+ "workspace_runtime_stop_blocked"
3004
+ );
3005
+ operation = runtime.bridge.stopWorkspaceRuntime(confirmation);
3006
+ const completion = runtime.bridge.getRuntimeStopCompletion();
3007
+ if (completion) void completion.then(finish, finish);
3008
+ else
3009
+ void operation.then(
3010
+ (result) => {
3011
+ if (result.released) finish();
3012
+ },
3013
+ () => void 0
3014
+ );
3015
+ } catch (error2) {
3016
+ finish();
3017
+ throw error2;
3018
+ }
3019
+ let timer;
3020
+ try {
3021
+ const result = await Promise.race([
3022
+ operation,
3023
+ new Promise((resolve10) => {
3024
+ timer = setTimeout(() => resolve10(void 0), 6e4);
3025
+ timer.unref?.();
3026
+ })
3027
+ ]);
3028
+ const observed = result ?? runtime.bridge.getRuntimeStopSnapshot?.().lastStop;
3029
+ if (observed) sendOutcome(observed);
3030
+ else
3031
+ res.status(503).json({
3032
+ code: "workspace_runtime_stop_in_progress",
3033
+ error: "Workspace stop outcome is not yet known."
3034
+ });
3035
+ } finally {
3036
+ if (timer) clearTimeout(timer);
3037
+ }
3038
+ } catch (error2) {
3039
+ if (error2 instanceof WorkspaceRuntimeStopError)
3040
+ res.status(409).json({ code: error2.code, error: error2.message });
3041
+ else
3042
+ deps.sendBridgeError(res, error2, {
3043
+ route: "POST /workspaces/:workspace/runtime/stop"
3044
+ });
3045
+ }
3046
+ }
3047
+ );
3048
+ }
3049
+ __name(registerWorkspaceRuntimeStopRoutes, "registerWorkspaceRuntimeStopRoutes");
3050
+
3051
+ // packages/cli/src/serve/server.ts
2823
3052
  import * as path21 from "node:path";
2824
3053
 
2825
3054
  // packages/cli/src/serve/local-control/index.ts
@@ -37898,10 +38127,18 @@ function startScheduledTaskKeepalive(opts) {
37898
38127
  cleanupSession
37899
38128
  );
37900
38129
  }, "tickInRuntime");
37901
- const tick = /* @__PURE__ */ __name(() => opts.runtimeBaseDir === void 0 ? tickInRuntime() : Storage.runWithResolvedRuntimeBaseDir(
37902
- opts.runtimeBaseDir,
37903
- tickInRuntime
37904
- ), "tick");
38130
+ let activeTicks = 0;
38131
+ const tick = /* @__PURE__ */ __name(async () => {
38132
+ activeTicks++;
38133
+ try {
38134
+ await (opts.runtimeBaseDir === void 0 ? tickInRuntime() : Storage.runWithResolvedRuntimeBaseDir(
38135
+ opts.runtimeBaseDir,
38136
+ tickInRuntime
38137
+ ));
38138
+ } finally {
38139
+ activeTicks--;
38140
+ }
38141
+ }, "tick");
37905
38142
  let running = false;
37906
38143
  const timer = setInterval(() => {
37907
38144
  if (running) return;
@@ -37943,6 +38180,9 @@ function startScheduledTaskKeepalive(opts) {
37943
38180
  }
37944
38181
  let stopped = false;
37945
38182
  return {
38183
+ get activeWork() {
38184
+ return activeTicks > 0 || reviving.size > 0 || binding.size > 0;
38185
+ },
37946
38186
  stop: /* @__PURE__ */ __name(() => {
37947
38187
  if (stopped) return;
37948
38188
  stopped = true;
@@ -38830,6 +39070,7 @@ function createServeFeatures(deps) {
38830
39070
  workspaceRuntimeRemovalAvailable,
38831
39071
  nativeDirectoryPickerAvailable,
38832
39072
  workspaceRuntimeAvailable,
39073
+ workspaceRuntimeStopAvailable,
38833
39074
  localPathOpenAvailable,
38834
39075
  localTerminalOpenAvailable,
38835
39076
  workspaceTrustHotReloadAvailable
@@ -38878,6 +39119,7 @@ function createServeFeatures(deps) {
38878
39119
  workspaceRuntimeRemovalAvailable,
38879
39120
  nativeDirectoryPickerAvailable,
38880
39121
  workspaceRuntimeAvailable: workspaceRuntimeAvailable(),
39122
+ workspaceRuntimeStopAvailable: workspaceRuntimeStopAvailable?.() === true,
38881
39123
  localPathOpenAvailable,
38882
39124
  localTerminalOpenAvailable,
38883
39125
  workspaceTrustHotReloadAvailable,
@@ -57731,6 +57973,10 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
57731
57973
  tokenConfigured,
57732
57974
  requireAuth: opts.requireAuth === true
57733
57975
  });
57976
+ let runtimeStopReady = false;
57977
+ let runtimeStopsClosing = false;
57978
+ const scheduledActivity = /* @__PURE__ */ new WeakMap();
57979
+ const rehydratingWorkspaces = /* @__PURE__ */ new Set();
57734
57980
  const sessionRestoreTimeoutMs = resolveSessionRestoreTimeoutMs(opts);
57735
57981
  const scheduledTaskRestoreTimeoutMs = sessionRestoreTimeoutMs + SCHEDULED_TASK_RESTORE_HEADROOM_MS > MAX_SESSION_RESTORE_TIMEOUT_MS ? MAX_SESSION_RESTORE_TIMEOUT_MS + 1 : sessionRestoreTimeoutMs + SCHEDULED_TASK_RESTORE_HEADROOM_MS;
57736
57982
  if (deps.workspaceRuntimeRemoval && !deps.voiceCoordinator) {
@@ -57910,6 +58156,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
57910
58156
  acpHttpEnabled: acpHttpEnabledAtBoot,
57911
58157
  workspaceRuntimeRemovalAvailable: deps.workspaceRuntimeRemoval !== void 0,
57912
58158
  nativeDirectoryPickerAvailable: deps.nativeDirectoryPickerAvailable ?? isNativeDirectoryPickerAvailable(),
58159
+ workspaceRuntimeStopAvailable: /* @__PURE__ */ __name(() => runtimeStopReady && !runtimeStopsClosing, "workspaceRuntimeStopAvailable"),
57913
58160
  workspaceRuntimeAvailable: /* @__PURE__ */ __name(() => {
57914
58161
  const runtimes = workspaceRegistry.list();
57915
58162
  return runtimes.length > 0 && runtimes.every(
@@ -58847,6 +59094,31 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
58847
59094
  workspaceRegistry,
58848
59095
  sendBridgeError: sendBridgeError2
58849
59096
  });
59097
+ registerWorkspaceRuntimeStopRoutes(app, {
59098
+ workspaceRegistry,
59099
+ mutate,
59100
+ safeBody,
59101
+ sendBridgeError: sendBridgeError2,
59102
+ available: /* @__PURE__ */ __name(() => runtimeStopReady && !runtimeStopsClosing, "available"),
59103
+ ownsBridge: /* @__PURE__ */ __name((runtime) => deps.managedChildProcesses?.ownsBridge?.(runtime.bridge) ?? runtime.bridge === defaultBridgeForAdmission, "ownsBridge"),
59104
+ getCapacity: /* @__PURE__ */ __name(() => ({
59105
+ committedAcpChildren: deps.managedChildProcesses?.registry.committedProcessCount ?? 0,
59106
+ maxConcurrentChildren: deps.managedChildProcesses?.policy.snapshot().maxConcurrentChildren ?? null
59107
+ }), "getCapacity"),
59108
+ getActivity: /* @__PURE__ */ __name((runtime) => deps.workspaceRuntimeRemoval && acpHandleRef.current ? readWorkspaceActivity(
59109
+ runtime,
59110
+ deps.workspaceRuntimeRemoval.getActivity(runtime),
59111
+ acpHandleRef.current.getWorkspaceActivity(runtime.workspaceId)
59112
+ ) : void 0, "getActivity"),
59113
+ scheduledWorkActive: /* @__PURE__ */ __name((runtime) => rehydratingWorkspaces.has(runtime) || scheduledActivity.get(runtime)?.() === true, "scheduledWorkActive"),
59114
+ stopKeepalive: /* @__PURE__ */ __name((runtime) => {
59115
+ app.locals["stopScheduledTaskKeepaliveForWorkspace"]?.(runtime.workspaceCwd);
59116
+ }, "stopKeepalive"),
59117
+ startKeepalive: /* @__PURE__ */ __name((runtime) => {
59118
+ if (!runtimeStopsClosing)
59119
+ app.locals["startScheduledTaskKeepaliveForWorkspace"]?.(runtime);
59120
+ }, "startKeepalive")
59121
+ });
58850
59122
  registerWorkspaceRuntimeRoutes(app, {
58851
59123
  workspaceRegistry,
58852
59124
  mutate,
@@ -59517,6 +59789,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59517
59789
  const idleTimeoutMs = opts.sessionIdleTimeoutMs ?? DEFAULT_SESSION_IDLE_TIMEOUT_MS;
59518
59790
  const keepaliveIntervalMs = computeKeepaliveIntervalMs(idleTimeoutMs);
59519
59791
  const rehydrateWorkspace = /* @__PURE__ */ __name((runtime) => {
59792
+ rehydratingWorkspaces.add(runtime);
59520
59793
  void runWithWorkspaceRuntimeStorage(
59521
59794
  runtime,
59522
59795
  () => rehydrateScheduledTaskSessions({
@@ -59541,6 +59814,8 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59541
59814
  `qwen serve: unexpected scheduled-task rehydration failure: ${err instanceof Error ? err.message : String(err)}
59542
59815
  `
59543
59816
  );
59817
+ }).finally(() => {
59818
+ rehydratingWorkspaces.delete(runtime);
59544
59819
  });
59545
59820
  }, "rehydrateWorkspace");
59546
59821
  const keepaliveStops = /* @__PURE__ */ new Map();
@@ -59557,6 +59832,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59557
59832
  cleanupSession: /* @__PURE__ */ __name((sessionId) => cleanupSession(runtime, sessionId), "cleanupSession"),
59558
59833
  onTasksRead: /* @__PURE__ */ __name((tasks) => registerScheduledTaskAuthorizations(runtime.workspaceCwd, tasks), "onTasksRead")
59559
59834
  });
59835
+ scheduledActivity.set(runtime, () => keepalive.activeWork);
59560
59836
  rehydrateWorkspace(runtime);
59561
59837
  keepaliveStops.set(runtime.workspaceCwd, keepalive.stop);
59562
59838
  }, "startKeepaliveForWorkspace");
@@ -59564,6 +59840,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59564
59840
  startKeepaliveForWorkspace(runtime);
59565
59841
  }
59566
59842
  app.locals.stopScheduledTaskKeepalive = () => {
59843
+ runtimeStopsClosing = true;
59567
59844
  for (const stop of keepaliveStops.values()) stop();
59568
59845
  keepaliveStops.clear();
59569
59846
  };
@@ -59714,6 +59991,9 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59714
59991
  if (acpHandleRef.current) {
59715
59992
  app.locals["acpHandle"] = acpHandleRef.current;
59716
59993
  }
59994
+ runtimeStopReady = !!(deps.managedChildProcesses && deps.workspaceRuntimeRemoval && acpHandleRef.current && deps.manageScheduledTaskSessions && workspaceRegistry.listManaged().some(
59995
+ (runtime) => typeof runtime.bridge.stopWorkspaceRuntime === "function" && typeof runtime.bridge.getRuntimeStopCompletion === "function" && typeof runtime.bridge.getRuntimeStopSnapshot === "function"
59996
+ ));
59717
59997
  if (deps.managedChildProcesses) {
59718
59998
  reclaimIdleAcp = createIdleAcpReclaimer({
59719
59999
  registry: workspaceRegistry,
@@ -59822,12 +60102,12 @@ export {
59822
60102
  };
59823
60103
  /**
59824
60104
  * @license
59825
- * Copyright 2025 Qwen Team
60105
+ * Copyright 2026 Qwen Team
59826
60106
  * SPDX-License-Identifier: Apache-2.0
59827
60107
  */
59828
60108
  /**
59829
60109
  * @license
59830
- * Copyright 2026 Qwen Team
60110
+ * Copyright 2025 Qwen Team
59831
60111
  * SPDX-License-Identifier: Apache-2.0
59832
60112
  */
59833
60113
  /**