@qwen-code/qwen-code 0.21.12-preview.3 → 0.21.12-preview.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +10 -0
  2. package/bundled/qc-helper/docs/features/code-review.md +1 -1
  3. package/bundled/qc-helper/docs/qwen-serve.md +34 -34
  4. package/bundled/review/SKILL.md +55 -36
  5. package/chunks/{MaxSizedBox-EIK4BHBQ.js → MaxSizedBox-GFI5RYXH.js} +41 -41
  6. package/chunks/{StandaloneSessionPicker-NHVJDRYD.js → StandaloneSessionPicker-JFWRY4V2.js} +60 -60
  7. package/chunks/{acp-startup-profiler-JMJBZDVO.js → acp-startup-profiler-TVI2OVUN.js} +2 -2
  8. package/chunks/{acpAgent-37UDZP64.js → acpAgent-7YC6SNIS.js} +672 -428
  9. package/chunks/{agent-FAWBG7PP.js → agent-43KVQSB5.js} +38 -38
  10. package/chunks/{agent-headless-SHK4PCCH.js → agent-headless-P2N7PDGQ.js} +38 -38
  11. package/chunks/{anthropicContentGenerator-4JSC3ZFL.js → anthropicContentGenerator-ZBBX5VMY.js} +6 -6
  12. package/chunks/{artifact-tool-FRMBPDPB.js → artifact-tool-RWJAKYBZ.js} +2 -2
  13. package/chunks/{askUserQuestion-7G3LI3IZ.js → askUserQuestion-IQCA2SOX.js} +2 -2
  14. package/chunks/{bridge-DEAYNDCI.js → bridge-ZBMNALLA.js} +44 -44
  15. package/chunks/{channel-management-service-SKAN6NOB.js → channel-management-service-5ZYX4ROW.js} +4 -4
  16. package/chunks/{channel-settings-store-UIGYER6R.js → channel-settings-store-ZJWM7EDP.js} +45 -45
  17. package/chunks/{channel-worker-group-YPTB5ASD.js → channel-worker-group-QFJKXO7R.js} +5 -5
  18. package/chunks/{channel-worker-manager-4EHJSPRH.js → channel-worker-manager-PWD2UURZ.js} +5 -5
  19. package/chunks/{channel-worker-supervisor-DZKHYFHV.js → channel-worker-supervisor-XQJBGFCM.js} +3 -3
  20. package/chunks/{chunk-GZGDJ4E6.js → chunk-2ASWIM4A.js} +1 -1
  21. package/chunks/{chunk-DP3IHZGG.js → chunk-2AUM35J5.js} +59 -7
  22. package/chunks/{chunk-T4FTABSW.js → chunk-2N6CV4PW.js} +1 -1
  23. package/chunks/{chunk-5PWLQ7SK.js → chunk-2RTRFLWH.js} +11 -4
  24. package/chunks/{chunk-TYGKUOEG.js → chunk-2U3UCXZ3.js} +2 -1
  25. package/chunks/{chunk-QZ5G26ZE.js → chunk-32SNBMNP.js} +12 -12
  26. package/chunks/{chunk-NPE3STIW.js → chunk-3JI5D6RU.js} +3 -3
  27. package/chunks/{chunk-E5BWLU5J.js → chunk-3MJ44LNC.js} +59 -23
  28. package/chunks/{chunk-QUESTNOP.js → chunk-4JS2QK7P.js} +1 -1
  29. package/chunks/{chunk-L7T742G2.js → chunk-4X5J3V2I.js} +47 -3
  30. package/chunks/{chunk-IQFYO5BF.js → chunk-5KZNWF2M.js} +1 -1
  31. package/chunks/{chunk-EXG2R5UR.js → chunk-62TIEFNN.js} +8 -8
  32. package/chunks/{chunk-T6W4KACQ.js → chunk-67F2BEYW.js} +1 -1
  33. package/chunks/{chunk-NELCY6JT.js → chunk-6LDLDK6E.js} +1 -1
  34. package/chunks/{chunk-5I5NMQCU.js → chunk-6NQWER7D.js} +3 -3
  35. package/chunks/{chunk-732MOPEM.js → chunk-6OJDN5ZT.js} +1 -1
  36. package/chunks/{chunk-GLWWPFTW.js → chunk-6SU6OW5Z.js} +1 -1
  37. package/chunks/{chunk-TEKFBSMY.js → chunk-6T5HCY34.js} +3 -3
  38. package/chunks/{chunk-AQHNAA7E.js → chunk-7JL5YBSA.js} +1 -1
  39. package/chunks/{chunk-NWPO6I7V.js → chunk-7WUMS2UA.js} +1 -1
  40. package/chunks/{chunk-O5G7IQGM.js → chunk-A2QIWDFO.js} +347 -85
  41. package/chunks/{chunk-KT4OWAAZ.js → chunk-A4BAHMJF.js} +3 -3
  42. package/chunks/{chunk-N7NBMAMW.js → chunk-A6GQUQ7I.js} +2 -2
  43. package/chunks/{chunk-XLQS3VI6.js → chunk-AAZWJAPQ.js} +2 -2
  44. package/chunks/{chunk-LT532KF4.js → chunk-ADJDLEVO.js} +1 -1
  45. package/chunks/{chunk-VWD7SNNN.js → chunk-APQTLUZ3.js} +2120 -2085
  46. package/chunks/{chunk-AJX4ITUG.js → chunk-ARL4UGRW.js} +3 -3
  47. package/chunks/{chunk-ZQSNP4TG.js → chunk-B2BKFWJK.js} +2 -2
  48. package/chunks/{chunk-SAQHDAUJ.js → chunk-B66LYK4B.js} +452 -57
  49. package/chunks/{chunk-6ZIIHBNV.js → chunk-B7IBCWDW.js} +3 -3
  50. package/chunks/{chunk-5UPJ774B.js → chunk-BGIKUE5J.js} +1 -1
  51. package/chunks/{chunk-2J53A6MV.js → chunk-BNRIQWXW.js} +3 -3
  52. package/chunks/{chunk-CZXQ4UZA.js → chunk-BXAGPCYH.js} +1 -1
  53. package/chunks/{chunk-IEP44U2R.js → chunk-C2DR57L6.js} +1 -1
  54. package/chunks/{chunk-TBVNYG5B.js → chunk-CDDLHCC2.js} +3 -3
  55. package/chunks/{chunk-CG3OQDNY.js → chunk-CJNKGZLC.js} +6 -6
  56. package/chunks/{chunk-UZPWH6SP.js → chunk-CTEGMF77.js} +285 -125
  57. package/chunks/{chunk-3TT6MZHJ.js → chunk-DUFZ3OW6.js} +35 -35
  58. package/chunks/{chunk-ZWPWQEF5.js → chunk-E74YSVIN.js} +1 -1
  59. package/chunks/{chunk-RQVVXDHS.js → chunk-ECDXUCEO.js} +4 -4
  60. package/chunks/{chunk-47FQVRCO.js → chunk-EGB2PIYM.js} +1 -1
  61. package/chunks/{chunk-JL3LC3CQ.js → chunk-FB5CQZMK.js} +1 -1
  62. package/chunks/{chunk-U6PTKAOW.js → chunk-FNVF5RR4.js} +1 -1
  63. package/chunks/{chunk-O4BBDP2G.js → chunk-FTGU6G45.js} +2 -2
  64. package/chunks/{chunk-ZGWY4YUB.js → chunk-FVHLDSQS.js} +2 -2
  65. package/chunks/{chunk-RRQJPCRQ.js → chunk-FXWGMPAP.js} +2 -2
  66. package/chunks/{chunk-P64FPV3G.js → chunk-GDNDZJSG.js} +2 -2
  67. package/chunks/{chunk-M6HXP2SG.js → chunk-GHOUZ5X4.js} +1892 -622
  68. package/chunks/{chunk-M6SXIXBV.js → chunk-H2U4FK62.js} +6 -6
  69. package/chunks/{chunk-EFIMD5VA.js → chunk-H6BFLALJ.js} +1 -1
  70. package/chunks/{chunk-TYCXSMZU.js → chunk-HOJZ2QQA.js} +3 -3
  71. package/chunks/{chunk-Y66OOMKS.js → chunk-HWCHDINS.js} +21 -21
  72. package/chunks/{chunk-4GLFFNP3.js → chunk-HY5OHJEC.js} +5 -5
  73. package/chunks/{chunk-P2UCMHDT.js → chunk-IJCZP2MA.js} +2 -2
  74. package/chunks/{chunk-I4XSOFH2.js → chunk-JBZYGFIB.js} +1 -1
  75. package/chunks/{chunk-HBZUU4AE.js → chunk-JGD35ZSJ.js} +4 -4
  76. package/chunks/{chunk-DAX3G67A.js → chunk-JOVJCXN4.js} +1 -1
  77. package/chunks/{chunk-YI6UGZF5.js → chunk-JRMUA53D.js} +12 -12
  78. package/chunks/{chunk-CTQE2NB2.js → chunk-JRTJEGSP.js} +1 -1
  79. package/chunks/{chunk-MZSJ43WV.js → chunk-JVY7FHUZ.js} +15 -2
  80. package/chunks/{chunk-K7JW6V5O.js → chunk-JW5UEE3V.js} +1 -1
  81. package/chunks/{chunk-GYBDYWMV.js → chunk-JXS2JNMZ.js} +2 -2
  82. package/chunks/{chunk-L2GTEEEU.js → chunk-K5IDV3PC.js} +44 -1
  83. package/chunks/{chunk-N3FJOQX7.js → chunk-KB4ISUT3.js} +4 -4
  84. package/chunks/{chunk-GJJQV4PY.js → chunk-KK3FEHPJ.js} +1 -1
  85. package/chunks/{chunk-2AZMF6G5.js → chunk-KTWUFHS4.js} +2 -2
  86. package/chunks/{chunk-7D4KEFOT.js → chunk-L3YACXS2.js} +3 -3
  87. package/chunks/{chunk-575MI5K3.js → chunk-LIBTBTHP.js} +4 -4
  88. package/chunks/{chunk-JS4Q5NG5.js → chunk-LSMCI42W.js} +3 -3
  89. package/chunks/{chunk-YZJVVQD3.js → chunk-MTV5W6WN.js} +7 -7
  90. package/chunks/{chunk-UOMZKPI5.js → chunk-MUN34TTF.js} +7 -7
  91. package/chunks/{chunk-LHY6HBRA.js → chunk-N3J3CO35.js} +4 -4
  92. package/chunks/{chunk-TRYJ3BVE.js → chunk-N56NYJWY.js} +7 -7
  93. package/chunks/{chunk-3ZYX7AUR.js → chunk-NAOHSM56.js} +1 -1
  94. package/chunks/{chunk-URK542T4.js → chunk-NF5J2WFA.js} +15 -2
  95. package/chunks/{chunk-OPBATTFQ.js → chunk-NHZF4VCD.js} +1 -1
  96. package/chunks/{chunk-QTI7SRXI.js → chunk-NM33GGOM.js} +3 -3
  97. package/chunks/{chunk-F6AOBFUN.js → chunk-NW7SPXVG.js} +1 -1
  98. package/chunks/{chunk-J7DNMZFO.js → chunk-NX5QZVRS.js} +1 -1
  99. package/chunks/{chunk-WFRHWDBT.js → chunk-O4MVJKSX.js} +5 -5
  100. package/chunks/{chunk-NC4O6UE6.js → chunk-O6SLWH4X.js} +2 -2
  101. package/chunks/{chunk-V4MJ56RS.js → chunk-OIZWCOYC.js} +5 -5
  102. package/chunks/{chunk-JXK3WAP7.js → chunk-ORR5EFCL.js} +4 -4
  103. package/chunks/{chunk-EYY4IBPV.js → chunk-OSA2TFDI.js} +2 -2
  104. package/chunks/{chunk-KPVVWKF3.js → chunk-PSTHNTHF.js} +1 -1
  105. package/chunks/{chunk-4M2F7OG7.js → chunk-PYLVQ6RT.js} +6 -6
  106. package/chunks/{chunk-6AECVSVX.js → chunk-Q7ALOKK7.js} +3 -3
  107. package/chunks/{chunk-EYW54TBD.js → chunk-QEWAHAW2.js} +3 -3
  108. package/chunks/{chunk-N5ULBHP3.js → chunk-QSDPJROT.js} +2 -2
  109. package/chunks/{chunk-DYVCDQW2.js → chunk-QSMZHJ62.js} +1 -1
  110. package/chunks/{chunk-MDFUBQAQ.js → chunk-QWAI7FNT.js} +17 -17
  111. package/chunks/{chunk-M4OYAR6J.js → chunk-QXFAQDBV.js} +2 -2
  112. package/chunks/{chunk-ILVATFYJ.js → chunk-SFBRH5RY.js} +19 -15
  113. package/chunks/{chunk-EYS3GGM3.js → chunk-SKRHR6N2.js} +1 -1
  114. package/chunks/{chunk-6LYDH7VT.js → chunk-SNHBRO4C.js} +2 -2
  115. package/chunks/{chunk-5TXOGH4I.js → chunk-T4G33L3W.js} +3 -3
  116. package/chunks/{chunk-32VOOMEF.js → chunk-TB6DPBE4.js} +4 -4
  117. package/chunks/{chunk-DEG7R6Z6.js → chunk-TN3REXN4.js} +8 -8
  118. package/chunks/{chunk-MWZYNOCG.js → chunk-TNETSI2A.js} +3 -3
  119. package/chunks/{chunk-ZV4XVYL3.js → chunk-TROB4PZY.js} +4 -4
  120. package/chunks/{chunk-O5AZPHYZ.js → chunk-U5C2GIN2.js} +24 -16
  121. package/chunks/{chunk-3GCU5O2E.js → chunk-U7ROFHSH.js} +1 -1
  122. package/chunks/{chunk-HB6QW4LM.js → chunk-UAAWNTOC.js} +15 -12
  123. package/chunks/{chunk-HHGQGTJQ.js → chunk-UFHPAMAV.js} +4 -0
  124. package/chunks/{chunk-V3LXMASR.js → chunk-UHF5VBKO.js} +1 -1
  125. package/chunks/{chunk-FRH4SSGX.js → chunk-UPUAGRKY.js} +2 -2
  126. package/chunks/{chunk-6S52N6PG.js → chunk-UQPLUR4A.js} +2 -2
  127. package/chunks/{chunk-KIFRFCCB.js → chunk-UWIJU22K.js} +66 -19
  128. package/chunks/{chunk-HGCQ5SE7.js → chunk-UXEO7E3V.js} +21 -0
  129. package/chunks/{chunk-M2PY7CNK.js → chunk-V2U6FOJB.js} +2 -2
  130. package/chunks/{chunk-7SUQZ7QH.js → chunk-V3NMFQD2.js} +2 -2
  131. package/chunks/{chunk-6XZERB6P.js → chunk-VPZMLGD3.js} +3 -3
  132. package/chunks/{chunk-UNCIELQJ.js → chunk-VRQD5D7R.js} +1 -1
  133. package/chunks/{chunk-YTYPRVIZ.js → chunk-VUTOV2HG.js} +2 -2
  134. package/chunks/{chunk-7LZ7DK4D.js → chunk-VYDQD5J4.js} +1 -1
  135. package/chunks/{chunk-XCGIMOLN.js → chunk-WCCLLK7X.js} +14 -1
  136. package/chunks/{chunk-JEMR2FTD.js → chunk-WIHSDI6U.js} +4 -4
  137. package/chunks/{chunk-VJNBRRZG.js → chunk-WZMH7II3.js} +1 -1
  138. package/chunks/{chunk-XWUQ4IH5.js → chunk-XJ6IMYUS.js} +7 -7
  139. package/chunks/{chunk-3XZYK76R.js → chunk-XL6GYJL2.js} +1 -1
  140. package/chunks/{chunk-KNXA5XXK.js → chunk-XUBM2A4F.js} +7 -7
  141. package/chunks/{chunk-ENEEQMGM.js → chunk-XY7DGTIC.js} +1 -1
  142. package/chunks/{chunk-SSAOTDK7.js → chunk-Y2EOB7WZ.js} +1 -1
  143. package/chunks/{chunk-VQZXRLEX.js → chunk-Y2HK3ELT.js} +3 -3
  144. package/chunks/{chunk-FDWH6CBK.js → chunk-Y5C24BUY.js} +5 -5
  145. package/chunks/{chunk-5HBFERG5.js → chunk-YI5G32RU.js} +3 -3
  146. package/chunks/{chunk-MPBRV3UU.js → chunk-YMB77M76.js} +15 -0
  147. package/chunks/{chunk-KNQZXSLW.js → chunk-YY23TR4M.js} +23 -9
  148. package/chunks/{chunk-4ETA3KRC.js → chunk-ZA2JN5IZ.js} +3 -3
  149. package/chunks/{chunk-IX7CFQGA.js → chunk-ZPZANKVP.js} +3 -3
  150. package/chunks/{chunk-XTH2OMDS.js → chunk-ZRT36RSF.js} +1 -1
  151. package/chunks/{chunk-M2NMFAFR.js → chunk-ZZ7RUTJ4.js} +1 -1
  152. package/chunks/{computer-use-S4JEU5P7.js → computer-use-J5VUY257.js} +38 -38
  153. package/chunks/{config-utils-TXVKR27S.js → config-utils-7JZQN6L2.js} +4 -4
  154. package/chunks/{contextCommand-2H5OH2HW.js → contextCommand-RCTGC36R.js} +40 -40
  155. package/chunks/{core-runtime-IAQ4DD4Y.js → core-runtime-REBZ5ZYE.js} +38 -38
  156. package/chunks/{create-sub-session-Y4WYDZGC.js → create-sub-session-23ULO5PO.js} +2 -2
  157. package/chunks/{create-sub-session-EKHKXJAA.js → create-sub-session-TEEUROAZ.js} +38 -38
  158. package/chunks/{cron-create-ZOVA3CC2.js → cron-create-5WUTNKNF.js} +4 -4
  159. package/chunks/{cron-delete-7Z3H4LJY.js → cron-delete-JEQ27YPS.js} +4 -4
  160. package/chunks/{cron-list-UHGX3IQG.js → cron-list-IXGCA7UR.js} +4 -4
  161. package/chunks/{daemon-PXIC4ZDK.js → daemon-UBVOQMWY.js} +2 -1
  162. package/chunks/{daemon-status-provider-LPYR2GXY.js → daemon-status-provider-SV7KRLJ4.js} +49 -49
  163. package/chunks/{daemon-trust-policy-7JOBVFH3.js → daemon-trust-policy-LFUJ4NGF.js} +44 -44
  164. package/chunks/{daemon-trust-policy-monitor-OU3NRHAR.js → daemon-trust-policy-monitor-BQZ77NDD.js} +44 -44
  165. package/chunks/{deferred-core-runtime-SFT3KI2C.js → deferred-core-runtime-F4XOQJQL.js} +38 -38
  166. package/chunks/{dispatch-B53LNEO4.js → dispatch-FW7DX2CR.js} +7 -1
  167. package/chunks/{display-image-ZE3GZNIK.js → display-image-CAD7RAUM.js} +4 -4
  168. package/chunks/{dist-BNWP6IZL.js → dist-362MN6CP.js} +2 -2
  169. package/chunks/{dist-EFJILGIS.js → dist-5VDE7U3A.js} +1 -1
  170. package/chunks/{dist-AVUYBK7L.js → dist-6RK4U6VU.js} +1 -1
  171. package/chunks/{dist-KTYDJNYM.js → dist-B3ODKYEB.js} +1 -1
  172. package/chunks/{dist-NPS52B2V.js → dist-CCUH2Z4C.js} +1 -1
  173. package/chunks/{dist-BW2LDPV3.js → dist-DANKRAB3.js} +1 -1
  174. package/chunks/{dist-PKSRQAR2.js → dist-EZHCZSW6.js} +1 -1
  175. package/chunks/{dist-ZWDH5HLS.js → dist-M3XMEIP2.js} +1 -1
  176. package/chunks/{earlyInputCapture-27RPWE2D.js → earlyInputCapture-JAJXDT2N.js} +39 -39
  177. package/chunks/{edit-WXVZ7FHS.js → edit-OXBMFY5B.js} +38 -38
  178. package/chunks/{enter-worktree-TYMVXFLA.js → enter-worktree-XS4JX4PO.js} +38 -38
  179. package/chunks/{enterPlanMode-FT4MRU5N.js → enterPlanMode-J6PDPFFT.js} +38 -38
  180. package/chunks/{environment-Z6OMA34I.js → environment-BQW6FAZL.js} +40 -40
  181. package/chunks/{errors-YMXK2GG3.js → errors-TMSN7AZN.js} +40 -40
  182. package/chunks/{exit-worktree-ODZUQLGJ.js → exit-worktree-2RIE6DAO.js} +38 -38
  183. package/chunks/{exitPlanMode-MBPAPBBV.js → exitPlanMode-QQL27HU4.js} +38 -38
  184. package/chunks/{fast-path-ZU5T6XSN.js → fast-path-TSGUVE5K.js} +4 -4
  185. package/chunks/{gemini-OZK6AIMC.js → gemini-RLTFENFV.js} +86 -86
  186. package/chunks/{geminiContentGenerator-MC6ZKWZG.js → geminiContentGenerator-B6W6PSO7.js} +6 -6
  187. package/chunks/{glob-KJ4A4ZOM.js → glob-JKVAHWL5.js} +38 -38
  188. package/chunks/{goal-tools-JDK2SNMV.js → goal-tools-LQFO4BRY.js} +4 -4
  189. package/chunks/{grep-QWBLG564.js → grep-6CN23ZPS.js} +38 -38
  190. package/chunks/{handleAutoUpdate-M3ACKDKF.js → handleAutoUpdate-Y6BUNMBG.js} +42 -42
  191. package/chunks/{i18n-FPW7XZL5.js → i18n-Y5PM6L5V.js} +39 -39
  192. package/chunks/{image-gen-OTFC2S7L.js → image-gen-DC2IQZ73.js} +10 -10
  193. package/chunks/{initializer-5HKUXXBT.js → initializer-OYKKBNHO.js} +45 -45
  194. package/chunks/{installationInfo-4OA6UW7V.js → installationInfo-63AFHLWA.js} +39 -39
  195. package/chunks/{keychain-token-storage-JTWUYFU7.js → keychain-token-storage-GU75J2T2.js} +2 -2
  196. package/chunks/{list-3TKZ264A.js → list-KA63R3R6.js} +47 -47
  197. package/chunks/{list-agents-4GQ2XNEU.js → list-agents-5PNMK2AM.js} +2 -2
  198. package/chunks/{loadedSettingsAdapter-IRUANLS2.js → loadedSettingsAdapter-IGBJN7C5.js} +44 -44
  199. package/chunks/{loggingContentGenerator-D4URLH2A.js → loggingContentGenerator-Z3NADCTQ.js} +115 -93
  200. package/chunks/{loop-wakeup-HOQI3K5D.js → loop-wakeup-OV65FEGR.js} +5 -5
  201. package/chunks/{ls-FSHISLLA.js → ls-RPRSX26R.js} +4 -4
  202. package/chunks/{lsp-APQJ5ZEZ.js → lsp-IWTJWFLT.js} +2 -2
  203. package/chunks/{managed-npm-update-2O7XSAWJ.js → managed-npm-update-HA262PFM.js} +41 -41
  204. package/chunks/{mcp-AFVHCHKT.js → mcp-T5ZUOKT3.js} +44 -44
  205. package/chunks/{monitor-PY4WDSX3.js → monitor-SLGY7CYB.js} +38 -38
  206. package/chunks/nonInteractiveCli-R5PK5B5G.js +166 -0
  207. package/chunks/{notebook-edit-GEPL33NO.js → notebook-edit-STSSB5KQ.js} +38 -38
  208. package/chunks/{openaiContentGenerator-ACYSXQ6R.js → openaiContentGenerator-OQED57JE.js} +24 -24
  209. package/chunks/{opentui-entry-SBAOWW7M.js → opentui-entry-UTJ6MHDI.js} +116 -97
  210. package/chunks/{pidfile-SUNYCAA4.js → pidfile-GES3MIHH.js} +39 -39
  211. package/chunks/{processUtils-F7LP7YUV.js → processUtils-FU6VMUOL.js} +2 -2
  212. package/chunks/{qwenContentGenerator-BB6IPELF.js → qwenContentGenerator-HWJSEGUL.js} +43 -43
  213. package/chunks/{qwenOAuth2-OU3WGDOI.js → qwenOAuth2-PAIR7XEW.js} +9 -9
  214. package/chunks/{read-file-GORBXJTS.js → read-file-IYEBTQT5.js} +12 -12
  215. package/chunks/{read-mcp-resource-TJSJRH4F.js → read-mcp-resource-THCSZHXO.js} +2 -2
  216. package/chunks/{read-package-up-TCM6I7S2.js → read-package-up-K6RKTL5D.js} +1 -1
  217. package/chunks/{record-artifact-FXF5LHPE.js → record-artifact-76YYQA5F.js} +3 -3
  218. package/chunks/{resumeHistoryUtils-FOAJJJWK.js → resumeHistoryUtils-WP446RP5.js} +44 -44
  219. package/chunks/{ripGrep-RNLIZGCY.js → ripGrep-VV2CRCL2.js} +38 -38
  220. package/chunks/{run-qwen-serve-GVMMX3IU.js → run-qwen-serve-AHQCTALV.js} +160 -71
  221. package/chunks/{runtime-RNBZ5FDD.js → runtime-AUUZGDK6.js} +49 -49
  222. package/chunks/{scheduler-NTRFSPIP.js → scheduler-Y4UPEURR.js} +40 -40
  223. package/chunks/{sdk-exporters-http-2VPMAPFI.js → sdk-exporters-http-A7XLKZO7.js} +11 -7
  224. package/chunks/{sdk-impl-5W3JUCWF.js → sdk-impl-XO4UF6PR.js} +11 -8
  225. package/chunks/{send-message-RBYLV5NY.js → send-message-P5SLP57G.js} +6 -6
  226. package/chunks/{serve-H3PGA26U.js → serve-WI3SE4MY.js} +47 -47
  227. package/chunks/{server-SUXD2F3C.js → server-G6JU6UWL.js} +264 -159
  228. package/chunks/{session-MTFVUWWM.js → session-2AO2UACB.js} +85 -85
  229. package/chunks/{settings-GUJ3TN2J.js → settings-3HRWSH66.js} +43 -43
  230. package/chunks/{shell-C2UP5FF2.js → shell-AR7XFLHA.js} +38 -38
  231. package/chunks/{skill-4XCNK55E.js → skill-K6NOUUYM.js} +16 -16
  232. package/chunks/{skill-settings-Y2BU27XM.js → skill-settings-IOXQYS6X.js} +43 -43
  233. package/chunks/{spawnChannel-UUUUK734.js → spawnChannel-V6P6HF4V.js} +40 -40
  234. package/chunks/{standalone-update-MJ722XZ4.js → standalone-update-K5G3L2OJ.js} +40 -40
  235. package/chunks/{startInteractiveUI-TCPIPNGN.js → startInteractiveUI-TRRP52QX.js} +125 -115
  236. package/chunks/{syntheticOutput-D3Z64LJC.js → syntheticOutput-SEW4NA47.js} +3 -3
  237. package/chunks/{task-create-URFZ5EUX.js → task-create-247EAVF7.js} +10 -10
  238. package/chunks/{task-list-6JDFMPUW.js → task-list-ZJN4QHLK.js} +5 -5
  239. package/chunks/{task-stop-HHUGCD25.js → task-stop-MAYQJ42I.js} +2 -2
  240. package/chunks/{task-update-DVV6CUGI.js → task-update-SU5TMZGG.js} +10 -10
  241. package/chunks/{team-create-WZWH2NJI.js → team-create-IEEEBLE2.js} +38 -38
  242. package/chunks/{team-delete-PZGGBQLM.js → team-delete-3XVRPQBP.js} +5 -5
  243. package/chunks/{team-plan-approval-SUZQJCWJ.js → team-plan-approval-SJGNS5JL.js} +38 -38
  244. package/chunks/{terminal-image-renderer-BCUN3Z3W.js → terminal-image-renderer-C4RQMC67.js} +40 -40
  245. package/chunks/{theme-manager-UGMFDREN.js → theme-manager-IKZQJQ6C.js} +39 -39
  246. package/chunks/{todoWrite-WINAZSZI.js → todoWrite-IE2YTCK7.js} +4 -4
  247. package/chunks/{tool-search-B6F3MPUZ.js → tool-search-4UVNFYWU.js} +16 -16
  248. package/chunks/{total-session-admission-MQLBJ5WL.js → total-session-admission-DIN6FTZP.js} +44 -44
  249. package/chunks/{trustedFolders-2XST7U5C.js → trustedFolders-IAHOLV6A.js} +39 -39
  250. package/chunks/{update-relaunch-OVC7YNGD.js → update-relaunch-5QSJ5CWP.js} +5 -5
  251. package/chunks/{updateCheck-YAKM36WQ.js → updateCheck-N4RT7HOZ.js} +44 -44
  252. package/chunks/{useAutoAcceptIndicator-RF6FVX3S.js → useAutoAcceptIndicator-25T26VZS.js} +46 -46
  253. package/chunks/{validateNonInterActiveAuth-IPPXFNQH.js → validateNonInterActiveAuth-MCTVPLFE.js} +81 -81
  254. package/chunks/{version-4IDFEXOU.js → version-6PLZ7PCV.js} +2 -2
  255. package/chunks/{web-fetch-NUOLHXPN.js → web-fetch-5ANX6FSM.js} +16 -16
  256. package/chunks/{web-search-LVOOV4XZ.js → web-search-KQJWWRHW.js} +9 -9
  257. package/chunks/{workflow-JSTYTG3K.js → workflow-C57ZKFUF.js} +111 -46
  258. package/chunks/{workspace-providers-status-U4EYXA4K.js → workspace-providers-status-3QAE4G4Y.js} +47 -47
  259. package/chunks/{workspace-registration-store-OG66U3CB.js → workspace-registration-store-Q3J5LV6T.js} +1 -1
  260. package/chunks/{workspace-registry-WSHWQRQQ.js → workspace-registry-DSJ5NAII.js} +44 -44
  261. package/chunks/{workspace-service-QZXQHX2F.js → workspace-service-QW5LH7FA.js} +49 -49
  262. package/chunks/{workspace-skills-status-VRBHEX5O.js → workspace-skills-status-N34ALJPZ.js} +45 -45
  263. package/chunks/{workspace-trust-reconciler-FCRIUIOF.js → workspace-trust-reconciler-YTOL7QEV.js} +50 -50
  264. package/chunks/{write-file-PYL3JCCD.js → write-file-MSFRVUZB.js} +38 -38
  265. package/chunks/{zoom-image-RS6MU26F.js → zoom-image-4TQA5GHG.js} +12 -12
  266. package/cli.js +13 -13
  267. package/package.json +4 -4
  268. package/web-shell/assets/{arc-CgGUyHWd.js → arc-lZ04kynw.js} +1 -1
  269. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BR0Qv-1Y.js → architectureDiagram-3BPJPVTR-B1wZVhzD.js} +1 -1
  270. package/web-shell/assets/{blockDiagram-GPEHLZMM-DIoaceaI.js → blockDiagram-GPEHLZMM-CO0e0yJt.js} +1 -1
  271. package/web-shell/assets/{c4Diagram-AAUBKEIU-Bc5k6BbI.js → c4Diagram-AAUBKEIU-Dfpo6Qie.js} +1 -1
  272. package/web-shell/assets/channel-BxvRq3pV.js +1 -0
  273. package/web-shell/assets/{chunk-2J33WTMH-DtPEz2WX.js → chunk-2J33WTMH-BvxArftT.js} +1 -1
  274. package/web-shell/assets/{chunk-4BX2VUAB-Dydo6ydE.js → chunk-4BX2VUAB-BS2XXjGY.js} +1 -1
  275. package/web-shell/assets/{chunk-55IACEB6-DD9_VWXm.js → chunk-55IACEB6-CYL6h3Ph.js} +1 -1
  276. package/web-shell/assets/{chunk-727SXJPM-DVI2m59k.js → chunk-727SXJPM-C-cWPX30.js} +1 -1
  277. package/web-shell/assets/{chunk-AQP2D5EJ-luatmaTN.js → chunk-AQP2D5EJ-CJLxNbVV.js} +1 -1
  278. package/web-shell/assets/{chunk-FMBD7UC4-Duy8NTIi.js → chunk-FMBD7UC4-DwfzKywA.js} +1 -1
  279. package/web-shell/assets/{chunk-ND2GUHAM-CrL1yhms.js → chunk-ND2GUHAM-BI5raYHQ.js} +1 -1
  280. package/web-shell/assets/{chunk-QZHKN3VN-C7BX6bu1.js → chunk-QZHKN3VN-_GkNI90J.js} +1 -1
  281. package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +1 -0
  282. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +1 -0
  283. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTzs7mIi.js → cose-bilkent-S5V4N54A-BAVLNxh9.js} +1 -1
  284. package/web-shell/assets/{dagre-BM42HDAG-3VTUmWts.js → dagre-BM42HDAG-BD4XNLqp.js} +1 -1
  285. package/web-shell/assets/{diagram-2AECGRRQ-Ehdp75GN.js → diagram-2AECGRRQ-WO567p8w.js} +1 -1
  286. package/web-shell/assets/{diagram-5GNKFQAL-B3wu3teE.js → diagram-5GNKFQAL-mAk23VWO.js} +1 -1
  287. package/web-shell/assets/{diagram-KO2AKTUF-DjgTSf2S.js → diagram-KO2AKTUF-YQEeHKze.js} +1 -1
  288. package/web-shell/assets/{diagram-LMA3HP47-Br9mwjY3.js → diagram-LMA3HP47-CMVjxAjv.js} +1 -1
  289. package/web-shell/assets/{diagram-OG6HWLK6-D4xz5M-z.js → diagram-OG6HWLK6-42hPvbM-.js} +1 -1
  290. package/web-shell/assets/{erDiagram-TEJ5UH35-CXayWlG_.js → erDiagram-TEJ5UH35-CXU_cPfu.js} +1 -1
  291. package/web-shell/assets/{flowDiagram-I6XJVG4X-CLonjQTi.js → flowDiagram-I6XJVG4X-D-3TdhMT.js} +1 -1
  292. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BTySFT-1.js → ganttDiagram-6RSMTGT7-CsgkXolz.js} +1 -1
  293. package/web-shell/assets/{gitGraphDiagram-PVQCEYII--2WcUjOe.js → gitGraphDiagram-PVQCEYII-B6Q3PBLD.js} +1 -1
  294. package/web-shell/assets/{index-DPJHkFOG.js → index-BFrkGj2B.js} +1 -1
  295. package/web-shell/assets/index-BgjULKyF.css +5 -0
  296. package/web-shell/assets/index-CxXlPYfl.js +1789 -0
  297. package/web-shell/assets/{infoDiagram-5YYISTIA-9vpgAf1m.js → infoDiagram-5YYISTIA-jiAfSXp8.js} +1 -1
  298. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DcRpHnAW.js → ishikawaDiagram-YF4QCWOH-BWif5KeJ.js} +1 -1
  299. package/web-shell/assets/{journeyDiagram-JHISSGLW-C2TKorRm.js → journeyDiagram-JHISSGLW-B-GAZthS.js} +1 -1
  300. package/web-shell/assets/{kanban-definition-UN3LZRKU-DdsFwB8b.js → kanban-definition-UN3LZRKU-9TEuATdL.js} +1 -1
  301. package/web-shell/assets/{linear-7PjRvJrf.js → linear-dy_QPfyE.js} +1 -1
  302. package/web-shell/assets/{mermaid.core-raDXa11C.js → mermaid.core-DB2uLAnq.js} +5 -5
  303. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DLHc-PRN.js → mindmap-definition-RKZ34NQL-ey_dyxi-.js} +1 -1
  304. package/web-shell/assets/{pieDiagram-4H26LBE5-BftYpeTW.js → pieDiagram-4H26LBE5-_6BuMdDj.js} +1 -1
  305. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-O-6ygOYn.js → quadrantDiagram-W4KKPZXB-B2rM19W2.js} +1 -1
  306. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BmZWVufJ.js → requirementDiagram-4Y6WPE33-DWj8b7vW.js} +1 -1
  307. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-2x5beiWt.js → sankeyDiagram-5OEKKPKP-D5dtYh0N.js} +1 -1
  308. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BH8uKokQ.js → sequenceDiagram-3UESZ5HK-DVkdn_qW.js} +1 -1
  309. package/web-shell/assets/{stateDiagram-AJRCARHV-Dq1MFgX_.js → stateDiagram-AJRCARHV-DgwD_fi6.js} +1 -1
  310. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +1 -0
  311. package/web-shell/assets/{timeline-definition-PNZ67QCA-Cl2WKbv9.js → timeline-definition-PNZ67QCA-vNr_1UNX.js} +1 -1
  312. package/web-shell/assets/{vennDiagram-CIIHVFJN-BqoRo_Q-.js → vennDiagram-CIIHVFJN-ChFcGAcu.js} +1 -1
  313. package/web-shell/assets/{wardley-L42UT6IY-BTxp-Yot.js → wardley-L42UT6IY-C8PXoSWk.js} +1 -1
  314. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DFXVCSH2.js → wardleyDiagram-YWT4CUSO-C2nqOV6i.js} +1 -1
  315. package/web-shell/assets/{xychartDiagram-2RQKCTM6-qQhWx0aE.js → xychartDiagram-2RQKCTM6-BntaqhSB.js} +1 -1
  316. package/web-shell/index.html +2 -2
  317. package/chunks/nonInteractiveCli-ZHW6F76F.js +0 -166
  318. package/web-shell/assets/channel-D2b9IYpS.js +0 -1
  319. package/web-shell/assets/classDiagram-4FO5ZUOK-DHatTCmD.js +0 -1
  320. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHatTCmD.js +0 -1
  321. package/web-shell/assets/index-CIFO52Wx.css +0 -5
  322. package/web-shell/assets/index-bhq3CUUF.js +0 -1789
  323. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-spuAYji6.js +0 -1
@@ -20,13 +20,13 @@ import {
20
20
  shouldSuppressRememberErrorDetails,
21
21
  workspaceMemoryFailureCode,
22
22
  workspaceMemoryFailureDiagnostics
23
- } from "./chunk-KIFRFCCB.js";
23
+ } from "./chunk-UWIJU22K.js";
24
24
  import {
25
25
  deriveWebSocketBase,
26
26
  openQwenAsrRealtimeStream,
27
27
  openVoiceStream,
28
28
  openVoiceStreamWithRetry
29
- } from "./chunk-3XZYK76R.js";
29
+ } from "./chunk-XL6GYJL2.js";
30
30
  import "./chunk-ZBBVBZBR.js";
31
31
  import {
32
32
  SetupGithubError,
@@ -39,15 +39,15 @@ import {
39
39
  toJson,
40
40
  toJsonl,
41
41
  toMarkdown
42
- } from "./chunk-VWD7SNNN.js";
42
+ } from "./chunk-APQTLUZ3.js";
43
43
  import {
44
44
  OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
45
45
  ObservedChannelContactStore
46
- } from "./chunk-47FQVRCO.js";
46
+ } from "./chunk-EGB2PIYM.js";
47
47
  import {
48
48
  escapeAnsiCtrlCodes
49
49
  } from "./chunk-4NFY2S7N.js";
50
- import "./chunk-U6PTKAOW.js";
50
+ import "./chunk-FNVF5RR4.js";
51
51
  import "./chunk-2MIN6GRR.js";
52
52
  import "./chunk-QHTIBUWB.js";
53
53
  import "./chunk-3Z43GZUQ.js";
@@ -107,18 +107,18 @@ import {
107
107
  setRateLimiter,
108
108
  unsafeRevealSecret,
109
109
  validateMcpRuntimeServerName
110
- } from "./chunk-KNQZXSLW.js";
110
+ } from "./chunk-YY23TR4M.js";
111
111
  import "./chunk-VGHZT6JR.js";
112
112
  import {
113
113
  isLoopbackBind,
114
114
  normalizeSessionIdForLookup,
115
115
  parseCallerSuppliedSessionId
116
116
  } from "./chunk-TQOF5KBL.js";
117
- import "./chunk-HGCQ5SE7.js";
117
+ import "./chunk-UXEO7E3V.js";
118
118
  import {
119
119
  evaluateDaemonWorkspaceTrust,
120
120
  readDaemonTrustPolicySnapshot
121
- } from "./chunk-6AECVSVX.js";
121
+ } from "./chunk-Q7ALOKK7.js";
122
122
  import {
123
123
  EMPTY_WORKSPACE_VOICE_UPDATE_ERROR,
124
124
  MAX_WORKSPACE_SKILL_NAME_LENGTH,
@@ -132,14 +132,14 @@ import {
132
132
  validateWorkspaceSkillName,
133
133
  validateWorkspaceVoiceState,
134
134
  voiceSettingsScopeToWire
135
- } from "./chunk-EXG2R5UR.js";
135
+ } from "./chunk-62TIEFNN.js";
136
136
  import {
137
137
  PermissionRulesValidationError,
138
138
  buildPermissionSettings,
139
139
  isPermissionRuleType,
140
140
  normalizePermissionRules,
141
141
  readPermissionRuleSet
142
- } from "./chunk-SSAOTDK7.js";
142
+ } from "./chunk-Y2EOB7WZ.js";
143
143
  import {
144
144
  assertVoiceBaseUrlNetworkAllowed,
145
145
  isStreamingVoiceModel,
@@ -147,13 +147,13 @@ import {
147
147
  resolveVoiceTranscriptionConfig,
148
148
  sanitizeVoiceErrorMessage,
149
149
  transcribeVoiceAudio
150
- } from "./chunk-VQZXRLEX.js";
150
+ } from "./chunk-Y2HK3ELT.js";
151
151
  import {
152
152
  isVoiceEnabled,
153
153
  isVoiceMode,
154
154
  readVoiceModel
155
- } from "./chunk-5UPJ774B.js";
156
- import "./chunk-IQFYO5BF.js";
155
+ } from "./chunk-BGIKUE5J.js";
156
+ import "./chunk-5KZNWF2M.js";
157
157
  import {
158
158
  createTotalSessionAdmissionController
159
159
  } from "./chunk-X2UOOG5V.js";
@@ -170,39 +170,39 @@ import {
170
170
  } from "./chunk-4JRM2BSM.js";
171
171
  import {
172
172
  assertValidChannelSecretUpdates
173
- } from "./chunk-P64FPV3G.js";
173
+ } from "./chunk-GDNDZJSG.js";
174
174
  import {
175
175
  createDaemonStatusProvider
176
- } from "./chunk-RQVVXDHS.js";
176
+ } from "./chunk-ECDXUCEO.js";
177
177
  import "./chunk-NTTBXH7U.js";
178
- import "./chunk-JEMR2FTD.js";
178
+ import "./chunk-WIHSDI6U.js";
179
179
  import "./chunk-3SH53ANB.js";
180
180
  import {
181
181
  SessionArtifactAuthorizationError,
182
182
  SessionArtifactValidationError,
183
183
  createAcpSessionBridge,
184
184
  parseSessionSource
185
- } from "./chunk-O5G7IQGM.js";
185
+ } from "./chunk-A2QIWDFO.js";
186
186
  import {
187
187
  EVENT_SCHEMA_VERSION,
188
188
  EventBus,
189
189
  SubscriberLimitExceededError
190
- } from "./chunk-MZSJ43WV.js";
191
- import "./chunk-XCGIMOLN.js";
190
+ } from "./chunk-JVY7FHUZ.js";
191
+ import "./chunk-WCCLLK7X.js";
192
192
  import "./chunk-OCPBI7J5.js";
193
193
  import {
194
194
  createWorkspaceProvidersStatusProvider
195
- } from "./chunk-YZJVVQD3.js";
195
+ } from "./chunk-MTV5W6WN.js";
196
196
  import {
197
197
  getAuthTypeFromEnv,
198
198
  resolveCliGenerationConfig
199
- } from "./chunk-NPE3STIW.js";
199
+ } from "./chunk-3JI5D6RU.js";
200
200
  import {
201
201
  snapshotProcessEnv
202
- } from "./chunk-5I5NMQCU.js";
202
+ } from "./chunk-6NQWER7D.js";
203
203
  import {
204
204
  createWorkspaceSkillsStatusProvider
205
- } from "./chunk-AJX4ITUG.js";
205
+ } from "./chunk-ARL4UGRW.js";
206
206
  import "./chunk-BGXZBI5B.js";
207
207
  import "./chunk-Z4X5MTRT.js";
208
208
  import {
@@ -221,29 +221,29 @@ import {
221
221
  import {
222
222
  daemonObservedContactsPath,
223
223
  loadChannelsConfig
224
- } from "./chunk-TRYJ3BVE.js";
225
- import "./chunk-LHY6HBRA.js";
224
+ } from "./chunk-N56NYJWY.js";
225
+ import "./chunk-N3J3CO35.js";
226
226
  import "./chunk-57OAHC2Y.js";
227
227
  import {
228
228
  parseChannelWebhookConfigLenient
229
- } from "./chunk-YTYPRVIZ.js";
230
- import "./chunk-ENEEQMGM.js";
229
+ } from "./chunk-VUTOV2HG.js";
230
+ import "./chunk-XY7DGTIC.js";
231
231
  import {
232
232
  supportedChannelCatalog
233
- } from "./chunk-DEG7R6Z6.js";
233
+ } from "./chunk-TN3REXN4.js";
234
234
  import "./chunk-V6WHFGST.js";
235
235
  import {
236
236
  LIVE_HOST_BUNDLE_ID,
237
237
  LIVE_HOST_PROTOCOL_VERSION,
238
238
  LIVE_INPUT_AUDIO_EPOCH_BYTES
239
239
  } from "./chunk-NKLP3DCK.js";
240
- import "./chunk-TYGKUOEG.js";
240
+ import "./chunk-2U3UCXZ3.js";
241
241
  import {
242
242
  STATUS_SCHEMA_VERSION,
243
243
  SessionRestoreTimeoutError,
244
244
  createIdleWorkspaceMemoryStatus,
245
245
  mapDomainErrorToErrorKind
246
- } from "./chunk-OPBATTFQ.js";
246
+ } from "./chunk-NHZF4VCD.js";
247
247
  import "./chunk-K6KS3LTN.js";
248
248
  import "./chunk-FC4KQFCS.js";
249
249
  import "./chunk-T3CHYWJZ.js";
@@ -254,12 +254,12 @@ import {
254
254
  WorkspaceRegistrationStoreLimitError,
255
255
  normalizeWorkspaceDisplayName,
256
256
  workspaceRegistrationId
257
- } from "./chunk-JL3LC3CQ.js";
257
+ } from "./chunk-FB5CQZMK.js";
258
258
  import {
259
259
  DAEMON_PROMPT_DISPLAY_TEXT_META_KEY,
260
260
  REQUESTED_SESSION_ID_META_KEY,
261
261
  gradeActiveWorkCoverage
262
- } from "./chunk-HHGQGTJQ.js";
262
+ } from "./chunk-UFHPAMAV.js";
263
263
  import {
264
264
  BranchWhilePromptActiveError,
265
265
  BridgeChannelQuarantinedError,
@@ -316,7 +316,7 @@ import {
316
316
  } from "./chunk-YP5KH5Y7.js";
317
317
  import {
318
318
  normalizeWorkerDiagnostic
319
- } from "./chunk-K7JW6V5O.js";
319
+ } from "./chunk-JW5UEE3V.js";
320
320
  import {
321
321
  normalizeServeChannelSelection
322
322
  } from "./chunk-ALMR3E6Q.js";
@@ -327,7 +327,7 @@ import {
327
327
  import "./chunk-BKHCW2BI.js";
328
328
  import {
329
329
  sanitizeLogText
330
- } from "./chunk-LT532KF4.js";
330
+ } from "./chunk-ADJDLEVO.js";
331
331
  import "./chunk-IW6RQPQB.js";
332
332
  import "./chunk-5HBA2Z7V.js";
333
333
  import {
@@ -339,26 +339,26 @@ import {
339
339
  getWritableScopes,
340
340
  loadSettings,
341
341
  validateSettingValue
342
- } from "./chunk-M6SXIXBV.js";
342
+ } from "./chunk-H2U4FK62.js";
343
343
  import "./chunk-RKUWKYED.js";
344
- import "./chunk-L7T742G2.js";
344
+ import "./chunk-4X5J3V2I.js";
345
345
  import "./chunk-GOXKNSDZ.js";
346
346
  import "./chunk-IDS7MSUP.js";
347
347
  import {
348
348
  detectSystemLanguage,
349
349
  resolveLanguageSetting
350
- } from "./chunk-GYBDYWMV.js";
350
+ } from "./chunk-JXS2JNMZ.js";
351
351
  import {
352
352
  SUPPORTED_LANGUAGES,
353
353
  resolveSupportedLanguage
354
354
  } from "./chunk-5EJZE3FP.js";
355
- import "./chunk-RRQJPCRQ.js";
355
+ import "./chunk-FXWGMPAP.js";
356
356
  import "./chunk-MS7GNABG.js";
357
- import "./chunk-M2PY7CNK.js";
358
- import "./chunk-VJNBRRZG.js";
357
+ import "./chunk-V2U6FOJB.js";
358
+ import "./chunk-WZMH7II3.js";
359
359
  import {
360
360
  getWorkspaceTrustStatus
361
- } from "./chunk-4ETA3KRC.js";
361
+ } from "./chunk-ZA2JN5IZ.js";
362
362
  import "./chunk-NPQ5ZKRP.js";
363
363
  import {
364
364
  isWithinRoot as isWithinRoot2
@@ -438,7 +438,7 @@ import {
438
438
  writeWorkspaceContextFile,
439
439
  writeWorktreeSession,
440
440
  writeWorktreeSessionMarker
441
- } from "./chunk-M6HXP2SG.js";
441
+ } from "./chunk-GHOUZ5X4.js";
442
442
  import "./chunk-GOFAQQZA.js";
443
443
  import "./chunk-5M6IDOMF.js";
444
444
  import "./chunk-TWPJO254.js";
@@ -446,12 +446,12 @@ import "./chunk-CQ35AJ4Z.js";
446
446
  import {
447
447
  MAX_JOBS,
448
448
  nextDurableFireMs
449
- } from "./chunk-QTI7SRXI.js";
450
- import "./chunk-KT4OWAAZ.js";
451
- import "./chunk-IX7CFQGA.js";
452
- import "./chunk-N7NBMAMW.js";
449
+ } from "./chunk-NM33GGOM.js";
450
+ import "./chunk-A4BAHMJF.js";
451
+ import "./chunk-ZPZANKVP.js";
452
+ import "./chunk-A6GQUQ7I.js";
453
453
  import "./chunk-6PVPNMXU.js";
454
- import "./chunk-I4XSOFH2.js";
454
+ import "./chunk-JBZYGFIB.js";
455
455
  import {
456
456
  nextFireTime,
457
457
  parseCron
@@ -464,22 +464,22 @@ import {
464
464
  readCronTasks,
465
465
  taskHasLegacyCondition,
466
466
  updateCronTasks
467
- } from "./chunk-XLQS3VI6.js";
468
- import "./chunk-NWPO6I7V.js";
467
+ } from "./chunk-AAZWJAPQ.js";
468
+ import "./chunk-7WUMS2UA.js";
469
469
  import "./chunk-O6GEWCJA.js";
470
470
  import "./chunk-T26EAKDL.js";
471
471
  import "./chunk-ZPJWUGCS.js";
472
472
  import "./chunk-CPBF7KYF.js";
473
473
  import {
474
474
  APPROVAL_MODES
475
- } from "./chunk-6LYDH7VT.js";
476
- import "./chunk-2AZMF6G5.js";
475
+ } from "./chunk-SNHBRO4C.js";
476
+ import "./chunk-KTWUFHS4.js";
477
477
  import "./chunk-KRXPRVGL.js";
478
- import "./chunk-GZGDJ4E6.js";
479
- import "./chunk-T6W4KACQ.js";
480
- import "./chunk-MWZYNOCG.js";
481
- import "./chunk-SAQHDAUJ.js";
482
- import "./chunk-6XZERB6P.js";
478
+ import "./chunk-2ASWIM4A.js";
479
+ import "./chunk-67F2BEYW.js";
480
+ import "./chunk-TNETSI2A.js";
481
+ import "./chunk-B66LYK4B.js";
482
+ import "./chunk-VPZMLGD3.js";
483
483
  import {
484
484
  addDaemonRequestAttribute,
485
485
  captureDaemonTelemetryContext,
@@ -491,10 +491,10 @@ import {
491
491
  recordDaemonHttpResponse,
492
492
  runWithDaemonTelemetryContext,
493
493
  withDaemonRequestSpan
494
- } from "./chunk-O5AZPHYZ.js";
494
+ } from "./chunk-U5C2GIN2.js";
495
495
  import "./chunk-SAH4BD2J.js";
496
- import "./chunk-5PWLQ7SK.js";
497
- import "./chunk-EYS3GGM3.js";
496
+ import "./chunk-2RTRFLWH.js";
497
+ import "./chunk-SKRHR6N2.js";
498
498
  import "./chunk-S6LOFUVP.js";
499
499
  import "./chunk-2J3OJGTL.js";
500
500
  import {
@@ -507,23 +507,23 @@ import {
507
507
  isWithinRoot,
508
508
  parseLineTolerant,
509
509
  read
510
- } from "./chunk-HB6QW4LM.js";
510
+ } from "./chunk-UAAWNTOC.js";
511
511
  import "./chunk-YRLW2MSX.js";
512
512
  import "./chunk-VGC4I5JJ.js";
513
- import "./chunk-732MOPEM.js";
514
- import "./chunk-CTQE2NB2.js";
515
- import "./chunk-NC4O6UE6.js";
516
- import "./chunk-IEP44U2R.js";
513
+ import "./chunk-6OJDN5ZT.js";
514
+ import "./chunk-JRTJEGSP.js";
515
+ import "./chunk-O6SLWH4X.js";
516
+ import "./chunk-C2DR57L6.js";
517
517
  import {
518
518
  SubagentError,
519
519
  SubagentErrorCode
520
- } from "./chunk-ZV4XVYL3.js";
520
+ } from "./chunk-TROB4PZY.js";
521
521
  import "./chunk-K623ENWT.js";
522
522
  import {
523
523
  escapeXml
524
524
  } from "./chunk-AQ37AY7B.js";
525
- import "./chunk-V3LXMASR.js";
526
- import "./chunk-XTH2OMDS.js";
525
+ import "./chunk-UHF5VBKO.js";
526
+ import "./chunk-ZRT36RSF.js";
527
527
  import {
528
528
  QwenOAuth2Client,
529
529
  QwenOAuthPollError,
@@ -532,36 +532,36 @@ import {
532
532
  isDeviceAuthorizationSuccess,
533
533
  isDeviceTokenPending,
534
534
  isDeviceTokenSuccess
535
- } from "./chunk-TBVNYG5B.js";
535
+ } from "./chunk-CDDLHCC2.js";
536
536
  import "./chunk-NAVJD2PQ.js";
537
- import "./chunk-5HBFERG5.js";
538
- import "./chunk-EYW54TBD.js";
537
+ import "./chunk-YI5G32RU.js";
538
+ import "./chunk-QEWAHAW2.js";
539
539
  import "./chunk-P3QQPMQA.js";
540
- import "./chunk-O4BBDP2G.js";
541
- import "./chunk-KPVVWKF3.js";
542
- import "./chunk-XWUQ4IH5.js";
540
+ import "./chunk-FTGU6G45.js";
541
+ import "./chunk-PSTHNTHF.js";
542
+ import "./chunk-XJ6IMYUS.js";
543
543
  import "./chunk-F6WFNA7U.js";
544
- import "./chunk-F6AOBFUN.js";
544
+ import "./chunk-NW7SPXVG.js";
545
545
  import "./chunk-KM73TBQ4.js";
546
546
  import "./chunk-MPHPFVKK.js";
547
547
  import "./chunk-AXMWHKXA.js";
548
548
  import "./chunk-GLCZKT5V.js";
549
- import "./chunk-GJJQV4PY.js";
549
+ import "./chunk-KK3FEHPJ.js";
550
550
  import "./chunk-46UV252V.js";
551
551
  import "./chunk-FPGTNKCP.js";
552
552
  import "./chunk-DJ2GSRLV.js";
553
- import "./chunk-EFIMD5VA.js";
554
- import "./chunk-E5BWLU5J.js";
553
+ import "./chunk-H6BFLALJ.js";
554
+ import "./chunk-3MJ44LNC.js";
555
555
  import "./chunk-CR3C7WXL.js";
556
556
  import "./chunk-HHJLM3WQ.js";
557
- import "./chunk-L2GTEEEU.js";
557
+ import "./chunk-K5IDV3PC.js";
558
558
  import {
559
559
  FatalConfigError,
560
560
  Storage,
561
561
  createDebugLogger,
562
562
  getErrorMessage,
563
563
  runWithoutDebugLogSession
564
- } from "./chunk-MPBRV3UU.js";
564
+ } from "./chunk-YMB77M76.js";
565
565
  import "./chunk-VOQXFAY5.js";
566
566
  import "./chunk-XWRJCPHC.js";
567
567
  import {
@@ -23328,6 +23328,19 @@ function parseHistoryPageSize(body, res) {
23328
23328
  return value;
23329
23329
  }
23330
23330
  __name(parseHistoryPageSize, "parseHistoryPageSize");
23331
+ function parseLiveReplayMode(body, res) {
23332
+ const value = body["liveReplayMode"];
23333
+ if (value === void 0) return void 0;
23334
+ if (value !== "full" && value !== "summary") {
23335
+ res.status(400).json({
23336
+ error: "`liveReplayMode` must be `full` or `summary`",
23337
+ code: "invalid_live_replay_mode"
23338
+ });
23339
+ return null;
23340
+ }
23341
+ return value;
23342
+ }
23343
+ __name(parseLiveReplayMode, "parseLiveReplayMode");
23331
23344
  function workspaceTranscriptCursorExceedsLimit(cursor, maxBytes = WORKSPACE_TRANSCRIPT_CURSOR_MAX_BYTES) {
23332
23345
  return Buffer.byteLength(cursor) > maxBytes;
23333
23346
  }
@@ -24594,6 +24607,8 @@ function registerSessionRoutes(app, deps) {
24594
24607
  if (approvalMode === null) return;
24595
24608
  const historyPageSize = action === "load" ? parseHistoryPageSize(body ?? {}, res) : void 0;
24596
24609
  if (historyPageSize === null) return;
24610
+ const liveReplayMode = parseLiveReplayMode(body ?? {}, res);
24611
+ if (liveReplayMode === null) return;
24597
24612
  const clientId = parseClientIdHeader(req, res);
24598
24613
  if (clientId === null) return;
24599
24614
  let sessionIdReservation;
@@ -24644,6 +24659,7 @@ function registerSessionRoutes(app, deps) {
24644
24659
  workspaceCwd,
24645
24660
  historyReplay: "response",
24646
24661
  ...historyPageSize !== void 0 ? { historyPageSize } : {},
24662
+ ...liveReplayMode !== void 0 ? { liveReplayMode } : {},
24647
24663
  ...clientId !== void 0 ? { clientId } : {},
24648
24664
  ...approvalMode !== void 0 ? { approvalMode } : {},
24649
24665
  ...metadata
@@ -28411,18 +28427,21 @@ function startScheduledTaskKeepalive(opts) {
28411
28427
  const metadata = await new SessionService(
28412
28428
  boundWorkspace
28413
28429
  ).readCreationMetadata(sessionId);
28414
- const load = bridge.loadSession({
28430
+ const resume = bridge.resumeSession({
28415
28431
  sessionId,
28416
28432
  workspaceCwd: boundWorkspace,
28417
- historyReplay: "response",
28418
28433
  ...metadata
28419
28434
  });
28420
- void load.catch(() => {
28435
+ void resume.catch(() => {
28421
28436
  }).finally(() => {
28422
28437
  reviving.delete(sessionId);
28423
28438
  });
28424
28439
  try {
28425
- await withTimeout(load, reviveTimeoutMs, `loadSession(${sessionId})`);
28440
+ await withTimeout(
28441
+ resume,
28442
+ reviveTimeoutMs,
28443
+ `resumeSession(${sessionId})`
28444
+ );
28426
28445
  log.debug("keepalive: revived non-resident session", sessionId);
28427
28446
  reviveState.delete(sessionId);
28428
28447
  } catch (loadErr) {
@@ -28519,11 +28538,11 @@ function startScheduledTaskKeepalive(opts) {
28519
28538
  };
28520
28539
  }
28521
28540
  __name(startScheduledTaskKeepalive, "startScheduledTaskKeepalive");
28522
- var REHYDRATE_LOAD_TIMEOUT_MS = 7e4;
28541
+ var REHYDRATE_RESUME_TIMEOUT_MS = 7e4;
28523
28542
  var REHYDRATE_MAX_CONCURRENCY = 4;
28524
28543
  async function rehydrateScheduledTaskSessions(deps) {
28525
28544
  const { bridge, boundWorkspace } = deps;
28526
- const timeoutMs = deps.loadTimeoutMs ?? REHYDRATE_LOAD_TIMEOUT_MS;
28545
+ const timeoutMs = deps.loadTimeoutMs ?? REHYDRATE_RESUME_TIMEOUT_MS;
28527
28546
  let tasks;
28528
28547
  try {
28529
28548
  tasks = await readCronTasks(boundWorkspace);
@@ -28543,16 +28562,15 @@ async function rehydrateScheduledTaskSessions(deps) {
28543
28562
  const metadata = await new SessionService(
28544
28563
  boundWorkspace
28545
28564
  ).readCreationMetadata(sessionId);
28546
- const load = bridge.loadSession({
28565
+ const resume = bridge.resumeSession({
28547
28566
  sessionId,
28548
28567
  workspaceCwd: boundWorkspace,
28549
- historyReplay: "response",
28550
28568
  ...metadata
28551
28569
  });
28552
- void load.catch(() => {
28570
+ void resume.catch(() => {
28553
28571
  });
28554
28572
  try {
28555
- await withTimeout(load, timeoutMs, `loadSession(${sessionId})`);
28573
+ await withTimeout(resume, timeoutMs, `resumeSession(${sessionId})`);
28556
28574
  loaded.push(sessionId);
28557
28575
  } catch (err) {
28558
28576
  failed.push(sessionId);
@@ -32434,7 +32452,7 @@ function registerWorkspaceManagementRoutes(app, deps) {
32434
32452
  throw new Error("Workspace registration limit reached");
32435
32453
  }
32436
32454
  }, "assertOwnedRuntimeAdmission");
32437
- const publishOwnedRuntime = /* @__PURE__ */ __name(async (canonicalCwd, provenance, validate) => {
32455
+ const publishOwnedRuntime = /* @__PURE__ */ __name(async (canonicalCwd, provenance, validateBeforePublication) => {
32438
32456
  if (!createWorkspaceRuntime || !runtimeRemoval) {
32439
32457
  throw new Error("Managed workspace runtime publication is unavailable");
32440
32458
  }
@@ -32445,7 +32463,10 @@ function registerWorkspaceManagementRoutes(app, deps) {
32445
32463
  let registered = false;
32446
32464
  try {
32447
32465
  runtime = await createWorkspaceRuntime(canonicalCwd, { provenance });
32448
- await validate(runtime);
32466
+ if (runtime.primary) {
32467
+ throw new Error("Daemon-owned workspace runtime must not be primary");
32468
+ }
32469
+ await validateBeforePublication(runtime);
32449
32470
  const publish = /* @__PURE__ */ __name(async () => {
32450
32471
  if (sealed) throw new Error("Daemon is shutting down");
32451
32472
  if (workspaceRegistry.getManagedByWorkspaceCwd(canonicalCwd)) {
@@ -43326,6 +43347,91 @@ var LiveTaskService = class {
43326
43347
  }
43327
43348
  };
43328
43349
 
43350
+ // packages/cli/src/serve/conversations/conversation-runtime-manager.ts
43351
+ init_esbuild_shims();
43352
+ var ConversationRuntimeManager = class {
43353
+ constructor(options) {
43354
+ this.options = options;
43355
+ }
43356
+ static {
43357
+ __name(this, "ConversationRuntimeManager");
43358
+ }
43359
+ runtime;
43360
+ pending;
43361
+ ensure() {
43362
+ if (this.pending) return this.pending;
43363
+ const pending = this.ensureOnce().finally(() => {
43364
+ if (this.pending === pending) this.pending = void 0;
43365
+ });
43366
+ this.pending = pending;
43367
+ return pending;
43368
+ }
43369
+ async ensureOnce() {
43370
+ const root = await this.options.workspace.revalidate();
43371
+ if (this.runtime) {
43372
+ await this.options.workspace.assertExactRoot(this.runtime.workspaceCwd);
43373
+ this.assertActiveRuntime(
43374
+ root.canonicalRoot,
43375
+ this.runtime,
43376
+ "Live conversation runtime is no longer an active owned runtime."
43377
+ );
43378
+ return this.runtime;
43379
+ }
43380
+ const entry = this.options.registry.getEntryByWorkspaceCwd(
43381
+ root.canonicalRoot
43382
+ );
43383
+ if (entry) {
43384
+ const existing = entry.current?.runtime;
43385
+ if (entry.state !== "active" || !existing) {
43386
+ throw new Error(
43387
+ "Live conversation runtime is no longer an active owned runtime."
43388
+ );
43389
+ }
43390
+ this.assertOwnedRuntime(
43391
+ existing,
43392
+ "Live conversation root is already registered without Live provenance."
43393
+ );
43394
+ await this.options.workspace.assertExactRoot(existing.workspaceCwd);
43395
+ this.assertActiveRuntime(
43396
+ root.canonicalRoot,
43397
+ existing,
43398
+ "Live conversation runtime is no longer an active owned runtime."
43399
+ );
43400
+ this.runtime = existing;
43401
+ return existing;
43402
+ }
43403
+ const created = await this.options.publishRuntime(
43404
+ root.canonicalRoot,
43405
+ async (candidate) => {
43406
+ await this.options.workspace.assertExactRoot(candidate.workspaceCwd);
43407
+ this.assertOwnedRuntime(
43408
+ candidate,
43409
+ "Live conversation runtime failed its ownership gate."
43410
+ );
43411
+ }
43412
+ );
43413
+ this.assertActiveRuntime(
43414
+ root.canonicalRoot,
43415
+ created,
43416
+ "Live conversation runtime is no longer an active owned runtime."
43417
+ );
43418
+ this.runtime = created;
43419
+ return created;
43420
+ }
43421
+ assertActiveRuntime(canonicalRoot, runtime, message) {
43422
+ this.assertOwnedRuntime(runtime, message);
43423
+ const entry = this.options.registry.getEntryByWorkspaceCwd(canonicalRoot);
43424
+ if (entry?.state !== "active" || entry.current?.runtime !== runtime) {
43425
+ throw new Error(message);
43426
+ }
43427
+ }
43428
+ assertOwnedRuntime(runtime, message) {
43429
+ if (runtime.primary || runtime.provenance !== "live-conversation" || !runtime.trusted || runtime.removable !== false) {
43430
+ throw new Error(message);
43431
+ }
43432
+ }
43433
+ };
43434
+
43329
43435
  // packages/cli/src/serve/server.ts
43330
43436
  var warnedDefaultTrust = false;
43331
43437
  function loadServeChannelWebhookConfigs(sources) {
@@ -43812,94 +43918,95 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
43812
43918
  message: "The Live Appshot channel is unavailable."
43813
43919
  }
43814
43920
  );
43815
- let liveRuntime;
43816
- let liveRuntimePromise;
43921
+ const conversationRuntimeManager = deps.liveConversationWorkspace ? new ConversationRuntimeManager({
43922
+ workspace: deps.liveConversationWorkspace,
43923
+ registry: workspaceRegistry,
43924
+ publishRuntime: /* @__PURE__ */ __name(async (canonicalRoot, validate) => {
43925
+ const runtime = await workspaceManagementHandle.publishOwnedRuntime(
43926
+ canonicalRoot,
43927
+ "live-conversation",
43928
+ async (candidate) => {
43929
+ await validate(candidate);
43930
+ await deps.liveConversationWorkspace.revalidate();
43931
+ }
43932
+ );
43933
+ invalidateServeFeaturesCache();
43934
+ return runtime;
43935
+ }, "publishRuntime")
43936
+ }) : void 0;
43937
+ let liveBoundRuntime;
43938
+ let liveBindingPromise;
43817
43939
  let liveRuntimeBootPromise;
43818
43940
  let liveAppshotChannelPromise;
43819
43941
  let liveCoordinatorSealed = false;
43820
- const bindLiveAppshotHandler = /* @__PURE__ */ __name((runtime) => {
43942
+ const clearLiveRuntimeHandlers = /* @__PURE__ */ __name((runtime) => {
43943
+ const handlers = [
43944
+ runtime.bridge.setLiveScreenContextCaptureHandler,
43945
+ runtime.bridge.setLiveTaskToolRequestHandler,
43946
+ runtime.bridge.setLiveSpeakToUserHandler
43947
+ ];
43948
+ for (const clear of handlers) {
43949
+ try {
43950
+ clear?.call(runtime.bridge, void 0);
43951
+ } catch {
43952
+ continue;
43953
+ }
43954
+ }
43955
+ }, "clearLiveRuntimeHandlers");
43956
+ const bindLiveRuntimeHandlers = /* @__PURE__ */ __name((runtime) => {
43821
43957
  if (liveCoordinatorSealed) {
43822
43958
  throw new Error("Live Voice is shutting down.");
43823
43959
  }
43824
- const setHandler = runtime.bridge.setLiveScreenContextCaptureHandler;
43825
- if (!setHandler) {
43960
+ const setScreenHandler = runtime.bridge.setLiveScreenContextCaptureHandler;
43961
+ const setTaskHandler = runtime.bridge.setLiveTaskToolRequestHandler;
43962
+ const setSpeakHandler = runtime.bridge.setLiveSpeakToUserHandler;
43963
+ if (!setScreenHandler) {
43826
43964
  throw new Error("Live conversation runtime has no Appshot channel.");
43827
43965
  }
43828
- setHandler.call(
43829
- runtime.bridge,
43830
- ({ callerSessionId }) => liveCoordinator.captureScreenContext(callerSessionId)
43831
- );
43832
- const setTaskHandler = runtime.bridge.setLiveTaskToolRequestHandler;
43833
43966
  if (!setTaskHandler) {
43834
43967
  throw new Error("Live conversation runtime has no task-tool channel.");
43835
43968
  }
43836
- setTaskHandler.call(runtime.bridge, (info) => liveTaskService.handle(info));
43837
- const setSpeakHandler = runtime.bridge.setLiveSpeakToUserHandler;
43838
43969
  if (!setSpeakHandler) {
43839
43970
  throw new Error("Live conversation runtime has no speech channel.");
43840
43971
  }
43841
- setSpeakHandler.call(
43842
- runtime.bridge,
43843
- ({ callerSessionId, message }) => liveSessionCoordinator.speakToUser(callerSessionId, message)
43844
- );
43845
- }, "bindLiveAppshotHandler");
43972
+ liveBoundRuntime = runtime;
43973
+ try {
43974
+ setScreenHandler.call(
43975
+ runtime.bridge,
43976
+ ({ callerSessionId }) => liveCoordinator.captureScreenContext(callerSessionId)
43977
+ );
43978
+ setTaskHandler.call(
43979
+ runtime.bridge,
43980
+ (info) => liveTaskService.handle(info)
43981
+ );
43982
+ setSpeakHandler.call(
43983
+ runtime.bridge,
43984
+ ({ callerSessionId, message }) => liveSessionCoordinator.speakToUser(callerSessionId, message)
43985
+ );
43986
+ } catch (error2) {
43987
+ clearLiveRuntimeHandlers(runtime);
43988
+ throw error2;
43989
+ }
43990
+ }, "bindLiveRuntimeHandlers");
43846
43991
  const ensureLiveConversationRuntime = /* @__PURE__ */ __name(() => {
43847
43992
  if (liveCoordinatorSealed) {
43848
43993
  return Promise.reject(new Error("Live Voice is shutting down."));
43849
43994
  }
43850
- if (liveRuntimePromise) return liveRuntimePromise;
43995
+ if (liveBindingPromise) return liveBindingPromise;
43851
43996
  const pending = (async () => {
43852
- const conversationWorkspace = deps.liveConversationWorkspace;
43853
- const runtimePublisher = workspaceManagementHandle;
43854
- if (!conversationWorkspace || !runtimePublisher) {
43997
+ if (!conversationRuntimeManager) {
43855
43998
  throw new Error("Live conversation runtime is unavailable.");
43856
43999
  }
43857
- const root = await conversationWorkspace.revalidate();
43858
- if (liveRuntime) {
43859
- await conversationWorkspace.assertExactRoot(liveRuntime.workspaceCwd);
43860
- const entry = workspaceRegistry.getEntryByWorkspaceCwd(
43861
- root.canonicalRoot
43862
- );
43863
- if (entry?.state !== "active" || entry.current?.runtime !== liveRuntime || liveRuntime.provenance !== "live-conversation" || !liveRuntime.trusted || liveRuntime.removable !== false) {
43864
- throw new Error(
43865
- "Live conversation runtime is no longer an active owned runtime."
43866
- );
43867
- }
43868
- bindLiveAppshotHandler(liveRuntime);
43869
- return liveRuntime;
43870
- }
43871
- const existing = workspaceRegistry.getByWorkspaceCwd(root.canonicalRoot);
43872
- if (existing) {
43873
- if (existing.provenance !== "live-conversation" || !existing.trusted || existing.removable !== false) {
43874
- throw new Error(
43875
- "Live conversation root is already registered without Live provenance."
43876
- );
43877
- }
43878
- await conversationWorkspace.assertExactRoot(existing.workspaceCwd);
43879
- liveRuntime = existing;
43880
- bindLiveAppshotHandler(existing);
43881
- return existing;
44000
+ const runtime = await conversationRuntimeManager.ensure();
44001
+ if (liveCoordinatorSealed) {
44002
+ throw new Error("Live Voice is shutting down.");
43882
44003
  }
43883
- const created = await runtimePublisher.publishOwnedRuntime(
43884
- root.canonicalRoot,
43885
- "live-conversation",
43886
- async (candidate) => {
43887
- await conversationWorkspace.assertExactRoot(candidate.workspaceCwd);
43888
- if (candidate.provenance !== "live-conversation" || !candidate.trusted || candidate.removable !== false) {
43889
- throw new Error(
43890
- "Live conversation runtime failed its ownership gate."
43891
- );
43892
- }
43893
- }
43894
- );
43895
- liveRuntime = created;
43896
- bindLiveAppshotHandler(created);
43897
- invalidateServeFeaturesCache();
43898
- return created;
44004
+ bindLiveRuntimeHandlers(runtime);
44005
+ return runtime;
43899
44006
  })().finally(() => {
43900
- if (liveRuntimePromise === pending) liveRuntimePromise = void 0;
44007
+ if (liveBindingPromise === pending) liveBindingPromise = void 0;
43901
44008
  });
43902
- liveRuntimePromise = pending;
44009
+ liveBindingPromise = pending;
43903
44010
  return pending;
43904
44011
  }, "ensureLiveConversationRuntime");
43905
44012
  const verifyLiveAppshotChannel = /* @__PURE__ */ __name(() => {
@@ -44023,9 +44130,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
44023
44130
  liveCoordinatorSealed = true;
44024
44131
  if (liveCoordinatorStopped) return;
44025
44132
  liveCoordinatorStopped = true;
44026
- liveRuntime?.bridge.setLiveScreenContextCaptureHandler?.(void 0);
44027
- liveRuntime?.bridge.setLiveTaskToolRequestHandler?.(void 0);
44028
- liveRuntime?.bridge.setLiveSpeakToUserHandler?.(void 0);
44133
+ if (liveBoundRuntime) clearLiveRuntimeHandlers(liveBoundRuntime);
44029
44134
  liveSessionCoordinator.dispose();
44030
44135
  liveCoordinator.dispose();
44031
44136
  }, "stopLiveCoordinator");
@@ -44033,7 +44138,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
44033
44138
  app.locals.sealAndWaitLiveCoordinator = async () => {
44034
44139
  stopLiveCoordinator();
44035
44140
  await Promise.all([
44036
- liveRuntimePromise?.catch(() => void 0),
44141
+ liveBindingPromise?.catch(() => void 0),
44037
44142
  liveAppshotChannelPromise?.catch(() => void 0)
44038
44143
  ]);
44039
44144
  };