@qwen-code/qwen-code 0.21.12-preview.5 → 0.21.13

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 (347) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -5
  2. package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
  3. package/bundled/qc-helper/docs/features/channels/plugins.md +11 -11
  4. package/bundled/qc-helper/docs/features/code-review.md +13 -12
  5. package/bundled/qc-helper/docs/qwen-serve.md +65 -0
  6. package/bundled/review/SKILL.md +96 -68
  7. package/chunks/{MaxSizedBox-6STELMXN.js → MaxSizedBox-UQALOVVT.js} +46 -46
  8. package/chunks/{StandaloneSessionPicker-LXMGCAIF.js → StandaloneSessionPicker-KEGXNUG6.js} +68 -69
  9. package/chunks/{acp-startup-profiler-TVI2OVUN.js → acp-startup-profiler-NMDXYGDN.js} +2 -2
  10. package/chunks/{acpAgent-NFRP4O5A.js → acpAgent-XPES32S7.js} +804 -380
  11. package/chunks/{agent-4AGYD6I6.js → agent-DPTOZFEM.js} +42 -42
  12. package/chunks/{agent-headless-GH4UIDXU.js → agent-headless-GJCQMURW.js} +42 -42
  13. package/chunks/{anthropicContentGenerator-ZBBX5VMY.js → anthropicContentGenerator-G7BVXTKN.js} +25 -25
  14. package/chunks/{artifact-tool-RWJAKYBZ.js → artifact-tool-GEXTOPVO.js} +5 -5
  15. package/chunks/{askUserQuestion-IQCA2SOX.js → askUserQuestion-B33XRSB7.js} +2 -2
  16. package/chunks/{bridge-3S4SKXSQ.js → bridge-YNQBAA4Z.js} +48 -48
  17. package/chunks/{build-RZS65IIX.js → build-GDBLPA24.js} +1 -1
  18. package/chunks/{channel-management-service-5ZYX4ROW.js → channel-management-service-GWY2GAIC.js} +4 -4
  19. package/chunks/{channel-settings-store-62E3TWVK.js → channel-settings-store-WNWYFHG7.js} +49 -49
  20. package/chunks/{channel-worker-group-QFJKXO7R.js → channel-worker-group-7LXCMZ77.js} +6 -6
  21. package/chunks/{channel-worker-manager-PWD2UURZ.js → channel-worker-manager-RYEME4ZZ.js} +6 -6
  22. package/chunks/{channel-worker-supervisor-XQJBGFCM.js → channel-worker-supervisor-OEVWBHGT.js} +4 -4
  23. package/chunks/{chunk-LHOG4E6Y.js → chunk-22C7BQ6D.js} +3 -3
  24. package/chunks/{chunk-KTWUFHS4.js → chunk-25EYDK42.js} +3 -3
  25. package/chunks/{chunk-QEWAHAW2.js → chunk-2B2BF7P7.js} +3 -3
  26. package/chunks/{chunk-2SB4SLKC.js → chunk-2IIJTXYF.js} +1 -3
  27. package/chunks/{chunk-6LDLDK6E.js → chunk-2M55OBEB.js} +1 -3
  28. package/chunks/{chunk-V3NMFQD2.js → chunk-3EZLLVDF.js} +2 -2
  29. package/chunks/{chunk-HUDUANHL.js → chunk-3U3VAL47.js} +1 -1
  30. package/chunks/{chunk-BKHCW2BI.js → chunk-3VUENPWF.js} +10 -0
  31. package/chunks/{chunk-XY7DGTIC.js → chunk-45NQKMYB.js} +1 -1
  32. package/chunks/{chunk-VGGNHRYZ.js → chunk-4PKCUT7F.js} +7 -7
  33. package/chunks/{chunk-T7YMWGFY.js → chunk-4S5337WV.js} +1491 -711
  34. package/chunks/{chunk-FVHLDSQS.js → chunk-4W5U2TUT.js} +3 -3
  35. package/chunks/{chunk-6SU6OW5Z.js → chunk-5CVO7YES.js} +1 -1
  36. package/chunks/{chunk-OZTGLK53.js → chunk-5EYKMUUY.js} +1 -1
  37. package/chunks/{chunk-ZRT36RSF.js → chunk-6HY6IF3Z.js} +1 -1
  38. package/chunks/{chunk-HRAFAUM7.js → chunk-6ORZ2EDC.js} +3 -3
  39. package/chunks/{chunk-JOVJCXN4.js → chunk-6QFDQMQX.js} +1 -1
  40. package/chunks/{chunk-CPTIJGUK.js → chunk-6YKYPVDV.js} +4 -4
  41. package/chunks/{chunk-62OKKUOX.js → chunk-76J3IJ3M.js} +9 -7
  42. package/chunks/{chunk-JVY7FHUZ.js → chunk-7U5G6JXI.js} +9 -0
  43. package/chunks/{chunk-TIM7NVEO.js → chunk-7UXUJ5T3.js} +1 -1
  44. package/chunks/{chunk-YCGXJ4Q3.js → chunk-A267JX7H.js} +6 -6
  45. package/chunks/{chunk-4JS2QK7P.js → chunk-A4MFR4C5.js} +1 -1
  46. package/chunks/{chunk-TN3REXN4.js → chunk-A4QRWUDE.js} +79 -36
  47. package/chunks/{chunk-JW5UEE3V.js → chunk-A6NRNRKE.js} +1 -1
  48. package/chunks/{chunk-T4G33L3W.js → chunk-AA2BEKV3.js} +3 -3
  49. package/chunks/{chunk-M3DWLXEO.js → chunk-AFSG32D5.js} +1 -1
  50. package/chunks/{chunk-R4YAQULI.js → chunk-AS5IN4GK.js} +5 -5
  51. package/chunks/{chunk-ADJDLEVO.js → chunk-AW27A43Y.js} +9 -11
  52. package/chunks/{chunk-RIDUB2GC.js → chunk-AW4TRXOC.js} +1 -1
  53. package/chunks/{chunk-XL6GYJL2.js → chunk-AXN7UPYQ.js} +2 -2
  54. package/chunks/{chunk-M4NWDIFU.js → chunk-AZQ3DT76.js} +1 -1
  55. package/chunks/{chunk-OSA2TFDI.js → chunk-BHILXOC3.js} +3 -3
  56. package/chunks/{chunk-YMIQ24FR.js → chunk-BKPPWD33.js} +2 -2
  57. package/chunks/{chunk-YMB77M76.js → chunk-BUQDLC2G.js} +59 -0
  58. package/chunks/{chunk-DXXYMK2U.js → chunk-BVJS5BSP.js} +1 -1
  59. package/chunks/{chunk-EGB2PIYM.js → chunk-BZ263IKX.js} +1 -1
  60. package/chunks/{chunk-6OJDN5ZT.js → chunk-CHHABXPE.js} +1 -1
  61. package/chunks/{chunk-ZPZANKVP.js → chunk-CKSJECTU.js} +4 -4
  62. package/chunks/{chunk-H6BFLALJ.js → chunk-CPHEPGAO.js} +1 -1
  63. package/chunks/{chunk-V6PERRH4.js → chunk-CU6GJD55.js} +1 -1
  64. package/chunks/{chunk-ZZ7RUTJ4.js → chunk-CZBYX5MY.js} +1 -1
  65. package/chunks/{chunk-2OFDCPMS.js → chunk-DGK6P3BQ.js} +13 -13
  66. package/chunks/{chunk-NM33GGOM.js → chunk-DGZEMW5R.js} +3 -3
  67. package/chunks/{chunk-UPUAGRKY.js → chunk-DXIBNLBZ.js} +2 -4
  68. package/chunks/{chunk-J5SUM3ZJ.js → chunk-E23IPNGS.js} +25 -2
  69. package/chunks/{chunk-TNETSI2A.js → chunk-E3DYKPYZ.js} +3 -3
  70. package/chunks/{chunk-3MJ44LNC.js → chunk-EL5SXY3T.js} +265 -138
  71. package/chunks/{chunk-AFKOAHC3.js → chunk-EZ5RP345.js} +13 -11
  72. package/chunks/{chunk-PSTHNTHF.js → chunk-FAAUPSY2.js} +1 -1
  73. package/chunks/{chunk-NW7SPXVG.js → chunk-FDGGZIYW.js} +1 -1
  74. package/chunks/{chunk-6YSSQFHQ.js → chunk-GGDBMYGZ.js} +5 -5
  75. package/chunks/{chunk-CDDLHCC2.js → chunk-GMIEIY3Y.js} +5 -5
  76. package/chunks/{chunk-6JFPUJ2O.js → chunk-GO7STP6N.js} +4 -4
  77. package/chunks/{chunk-7JL5YBSA.js → chunk-H4A72DE5.js} +1 -1
  78. package/chunks/{chunk-I3UEXUWJ.js → chunk-HUTNYWBG.js} +2 -2
  79. package/chunks/{chunk-UQPLUR4A.js → chunk-IA2K2HJE.js} +2 -2
  80. package/chunks/{chunk-Q7VJUIIB.js → chunk-IGGGG5CX.js} +4104 -1293
  81. package/chunks/{chunk-VE2UV7IN.js → chunk-IWPYVAO2.js} +4 -4
  82. package/chunks/{chunk-HAR4G5K2.js → chunk-JNDY2MDR.js} +2 -2
  83. package/chunks/{chunk-UALXTL5Y.js → chunk-JOOFMXGF.js} +6 -6
  84. package/chunks/{chunk-HOXEJHJQ.js → chunk-JUEPY766.js} +3 -3
  85. package/chunks/{chunk-Q7YDKOGY.js → chunk-JVEGA3MM.js} +1 -1
  86. package/chunks/{chunk-QBJYSIQ4.js → chunk-K3LPAED5.js} +53 -12
  87. package/chunks/{chunk-UHF5VBKO.js → chunk-KBXKR5R2.js} +1 -1
  88. package/chunks/{chunk-32SNBMNP.js → chunk-KD5BOPLP.js} +27 -27
  89. package/chunks/{chunk-67F2BEYW.js → chunk-KV27IEHM.js} +1 -1
  90. package/chunks/{chunk-DLDVO2NY.js → chunk-LJQAUZMR.js} +360 -174
  91. package/chunks/{chunk-BNRIQWXW.js → chunk-M732YJPW.js} +7 -7
  92. package/chunks/{chunk-JRTJEGSP.js → chunk-MA2HEDVP.js} +1 -1
  93. package/chunks/{chunk-5IW3FJGD.js → chunk-MC4TLKEI.js} +2 -2
  94. package/chunks/{chunk-2ASWIM4A.js → chunk-MIPFDQAF.js} +1 -1
  95. package/chunks/{chunk-6GTKI2YX.js → chunk-MLPXSYXR.js} +133 -28
  96. package/chunks/{chunk-KRXPRVGL.js → chunk-MLXTMF7H.js} +0 -1
  97. package/chunks/{chunk-NNGCKJAD.js → chunk-MRMJCLIY.js} +3 -3
  98. package/chunks/{chunk-E7XJWIWC.js → chunk-N5YPT6PH.js} +7 -7
  99. package/chunks/{chunk-72SKJ3E7.js → chunk-NEFOOD54.js} +3 -3
  100. package/chunks/{chunk-2U3UCXZ3.js → chunk-NHDR76JX.js} +45 -13
  101. package/chunks/{chunk-QLFTWYTO.js → chunk-NM5V5OVW.js} +3 -3
  102. package/chunks/{chunk-N4LVA3S6.js → chunk-NNHNLJ2X.js} +840 -60
  103. package/chunks/chunk-NYWWQ437.js +24 -0
  104. package/chunks/{chunk-DGNQ5AFX.js → chunk-O4D7SPJN.js} +2 -2
  105. package/chunks/{chunk-YY23TR4M.js → chunk-O565M6A4.js} +411 -10
  106. package/chunks/{chunk-VUTOV2HG.js → chunk-OD2WU5QY.js} +4 -3
  107. package/chunks/{chunk-B66LYK4B.js → chunk-OMLJNPBE.js} +42 -12
  108. package/chunks/{chunk-WAF6AR5Y.js → chunk-OOQUVWIG.js} +4 -4
  109. package/chunks/{chunk-A6GQUQ7I.js → chunk-OVZPVYZB.js} +2 -2
  110. package/chunks/{chunk-VPZMLGD3.js → chunk-OXCMMLED.js} +5 -5
  111. package/chunks/{chunk-646ZB2TS.js → chunk-OY5RNSV4.js} +3 -3
  112. package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
  113. package/chunks/{chunk-O6SLWH4X.js → chunk-P7MPQI75.js} +2 -2
  114. package/chunks/{chunk-3HXLH5QV.js → chunk-PP4FUZNV.js} +47 -4
  115. package/chunks/{chunk-4XX2LZ3E.js → chunk-PQ36L4F5.js} +1 -1
  116. package/chunks/{chunk-SKRHR6N2.js → chunk-PT4I7NBA.js} +1 -1
  117. package/chunks/{chunk-KQLW7LLV.js → chunk-QF2NHSPB.js} +603 -66
  118. package/chunks/{chunk-KK3FEHPJ.js → chunk-QFJ5JHQR.js} +1 -1
  119. package/chunks/{chunk-N2G4RA77.js → chunk-QIH2HAEN.js} +1 -1
  120. package/chunks/{chunk-QSWDGAIC.js → chunk-QILD6R27.js} +1 -1
  121. package/chunks/{chunk-NHZF4VCD.js → chunk-QNQAPSN2.js} +1 -1
  122. package/chunks/{chunk-6DH5YA3X.js → chunk-QRCNA3SR.js} +8 -8
  123. package/chunks/{chunk-3RC5Q66G.js → chunk-QV5YN5YD.js} +7 -5
  124. package/chunks/{chunk-7TKNMQ6L.js → chunk-RIAABG2K.js} +2 -2
  125. package/chunks/{chunk-LYRA6ZTI.js → chunk-RLKC46YT.js} +138 -11
  126. package/chunks/{chunk-YI5G32RU.js → chunk-ROIYNTHJ.js} +3 -3
  127. package/chunks/{chunk-UAAWNTOC.js → chunk-RVOJ2FBP.js} +12 -12
  128. package/chunks/{chunk-SNHBRO4C.js → chunk-RWDNJBWN.js} +2 -2
  129. package/chunks/{chunk-UFHPAMAV.js → chunk-S5DWMTHO.js} +11 -1
  130. package/chunks/{chunk-TROB4PZY.js → chunk-SG7ZP5PG.js} +4 -4
  131. package/chunks/{chunk-E74YSVIN.js → chunk-SXCOEJO4.js} +1 -1
  132. package/chunks/{chunk-U5C2GIN2.js → chunk-TIGA2IVL.js} +117 -3
  133. package/chunks/chunk-TS6625XH.js +488 -0
  134. package/chunks/{chunk-EHXS5MAC.js → chunk-TUGSVUJB.js} +7 -7
  135. package/chunks/{chunk-E3GLDLYB.js → chunk-TYAMGABM.js} +0 -6
  136. package/chunks/{chunk-ZLX7FTZQ.js → chunk-U3VNBPUO.js} +3 -3
  137. package/chunks/{chunk-F7PTQFTB.js → chunk-UKMR3CKV.js} +4 -4
  138. package/chunks/{chunk-7WUMS2UA.js → chunk-UPDOZBWO.js} +1 -1
  139. package/chunks/{chunk-YK4O72LT.js → chunk-UZPM4XHR.js} +4 -4
  140. package/chunks/{chunk-VKEA37IR.js → chunk-V26NVGAU.js} +1 -1
  141. package/chunks/{chunk-IJCZP2MA.js → chunk-V57QC6WW.js} +3 -3
  142. package/chunks/{chunk-LSMCI42W.js → chunk-WFSTRPRO.js} +3 -3
  143. package/chunks/{chunk-5KZNWF2M.js → chunk-WGHHA7ZH.js} +1 -1
  144. package/chunks/{chunk-A4BAHMJF.js → chunk-WSH6GRKG.js} +4 -4
  145. package/chunks/{chunk-OK727E5D.js → chunk-X26JYGTD.js} +1 -1
  146. package/chunks/{chunk-VAPNUDD5.js → chunk-XHRY7BXD.js} +4 -4
  147. package/chunks/{chunk-XNL23MGG.js → chunk-XIT3GURH.js} +3 -3
  148. package/chunks/{chunk-2RTRFLWH.js → chunk-XLLKYULU.js} +6 -6
  149. package/chunks/{chunk-C2DR57L6.js → chunk-XUJNK7Y6.js} +1 -1
  150. package/chunks/{chunk-AAZWJAPQ.js → chunk-Y3YCSWG5.js} +2 -2
  151. package/chunks/{chunk-ZTBFA7I6.js → chunk-YEYY7TEP.js} +7 -7
  152. package/chunks/{chunk-FTGU6G45.js → chunk-YZHRN3CF.js} +2 -2
  153. package/chunks/{chunk-2N6CV4PW.js → chunk-YZOSNW4R.js} +1 -1
  154. package/chunks/{chunk-U7ROFHSH.js → chunk-ZLCT4C5A.js} +1 -1
  155. package/chunks/{chunk-VBKTP7TH.js → chunk-ZYBBISBY.js} +15 -34
  156. package/chunks/{chunk-7ATQGA6V.js → chunk-ZYYTZUI2.js} +6 -6
  157. package/chunks/{chunk-RXX5T3IF.js → chunk-ZZO74WKW.js} +44 -8
  158. package/chunks/{computer-use-ZFBJYSR3.js → computer-use-77C5FHMW.js} +45 -45
  159. package/chunks/{config-utils-7JZQN6L2.js → config-utils-IVHRSXWI.js} +4 -4
  160. package/chunks/{contextCommand-G3TAIY7T.js → contextCommand-PJ77GBWL.js} +44 -44
  161. package/chunks/{core-runtime-K3MQVNSF.js → core-runtime-7VMIKUTG.js} +42 -42
  162. package/chunks/{create-sub-session-DMTLJPDG.js → create-sub-session-2L5MQRN4.js} +42 -42
  163. package/chunks/{create-sub-session-23ULO5PO.js → create-sub-session-KRQULJE6.js} +2 -2
  164. package/chunks/{cron-create-5WUTNKNF.js → cron-create-H7UEPDSN.js} +4 -4
  165. package/chunks/{cron-delete-JEQ27YPS.js → cron-delete-6SZK7YFM.js} +4 -4
  166. package/chunks/{cron-list-IXGCA7UR.js → cron-list-H25JIHEZ.js} +4 -4
  167. package/chunks/{daemon-UBVOQMWY.js → daemon-2KTG7ZBN.js} +108 -9
  168. package/chunks/daemon-git-worktree-guard-DXYIMWFT.js +2062 -0
  169. package/chunks/{daemon-status-provider-KFLEZGD7.js → daemon-status-provider-ZDOYJCU6.js} +52 -53
  170. package/chunks/{daemon-trust-policy-ZZ6DRDAC.js → daemon-trust-policy-E67OYUK2.js} +48 -48
  171. package/chunks/{daemon-trust-policy-monitor-CIKHNV2K.js → daemon-trust-policy-monitor-RYYGCQ3J.js} +48 -48
  172. package/chunks/{deferred-core-runtime-MM7X7UYR.js → deferred-core-runtime-3SGXFXEQ.js} +44 -44
  173. package/chunks/{devtools-X6ROTKHE.js → devtools-4QFYJT6U.js} +1 -1
  174. package/chunks/discovery-ORA5J7YP.js +27 -0
  175. package/chunks/{display-image-CAD7RAUM.js → display-image-ON3EYFRD.js} +4 -4
  176. package/chunks/{dist-B3ODKYEB.js → dist-4ZPG4BY6.js} +2 -2
  177. package/chunks/{dist-CCUH2Z4C.js → dist-BROOP2EG.js} +1 -1
  178. package/chunks/{dist-DANKRAB3.js → dist-IYYN3RUT.js} +2 -2
  179. package/chunks/{dist-5VDE7U3A.js → dist-JWMKPWT5.js} +3 -1
  180. package/chunks/{dist-6RK4U6VU.js → dist-K7IQB53U.js} +1 -1
  181. package/chunks/{dist-EZHCZSW6.js → dist-MAQXAQ2Y.js} +1 -1
  182. package/chunks/{dist-362MN6CP.js → dist-WJ4BHIEW.js} +2 -2
  183. package/chunks/{dist-M3XMEIP2.js → dist-YEPL4RAW.js} +1 -1
  184. package/chunks/{earlyInputCapture-O77TUBIF.js → earlyInputCapture-KJMLFVQV.js} +43 -43
  185. package/chunks/{edit-CZ23AVP6.js → edit-I4LQFAEC.js} +50 -49
  186. package/chunks/{enter-worktree-4EMS7IRL.js → enter-worktree-YNPOJSRH.js} +47 -47
  187. package/chunks/{enterPlanMode-TS6KO6DU.js → enterPlanMode-XCPK62ER.js} +47 -47
  188. package/chunks/{environment-7JAXEU6I.js → environment-S7CTIHMX.js} +44 -44
  189. package/chunks/{errors-NBABPF4S.js → errors-7HB2AIDS.js} +44 -44
  190. package/chunks/{exit-worktree-Q3NFHYUI.js → exit-worktree-AIIY7SR6.js} +47 -47
  191. package/chunks/{exitPlanMode-4JH6WLKL.js → exitPlanMode-R4JY7V2O.js} +42 -42
  192. package/chunks/{external-tool-guard-provider-5HTGOPGU.js → external-tool-guard-provider-TE4DRY36.js} +1 -1
  193. package/chunks/{fast-path-5LFDLPHJ.js → fast-path-NDJV3ZFJ.js} +3 -3
  194. package/chunks/{gemini-MB4S7YLN.js → gemini-RSUFP5OE.js} +108 -103
  195. package/chunks/{geminiContentGenerator-EQY2QU7K.js → geminiContentGenerator-SQ5XBPZ7.js} +11 -11
  196. package/chunks/{glob-LA5XO2H7.js → glob-J4RUJAHX.js} +49 -49
  197. package/chunks/{goal-tools-LQFO4BRY.js → goal-tools-VHTNVOKK.js} +56 -12
  198. package/chunks/{grep-KYBZMY36.js → grep-VJWPLFOT.js} +47 -47
  199. package/chunks/{handleAutoUpdate-HZJSAUNC.js → handleAutoUpdate-POCX2MNB.js} +46 -46
  200. package/chunks/{i18n-BSCIN4J4.js → i18n-RM5YOICI.js} +43 -43
  201. package/chunks/{image-gen-HGURQAHX.js → image-gen-EXECB5XM.js} +11 -11
  202. package/chunks/{initializer-WUHJXIB3.js → initializer-Z2AFGBNR.js} +49 -49
  203. package/chunks/{installationInfo-G3PDBWG2.js → installationInfo-4I5FXNMH.js} +43 -43
  204. package/chunks/{keychain-token-storage-GU75J2T2.js → keychain-token-storage-3XFJ5ZB2.js} +2 -2
  205. package/chunks/{list-IC7KDSZ6.js → list-ZMBFIGZA.js} +51 -51
  206. package/chunks/{list-agents-5PNMK2AM.js → list-agents-OSVDFI6S.js} +2 -2
  207. package/chunks/{loadedSettingsAdapter-Z3GOJRI7.js → loadedSettingsAdapter-T6TV4YJ7.js} +48 -48
  208. package/chunks/{loggingContentGenerator-E2QENFPH.js → loggingContentGenerator-WF4ZOJEZ.js} +99 -66
  209. package/chunks/{loop-wakeup-OV65FEGR.js → loop-wakeup-WQS6JYAG.js} +5 -5
  210. package/chunks/{ls-RPRSX26R.js → ls-D3HUFHDP.js} +6 -6
  211. package/chunks/{lsp-IWTJWFLT.js → lsp-3QDDJTCS.js} +2 -2
  212. package/chunks/{managed-npm-update-MX2OPCW4.js → managed-npm-update-E7IW6N7V.js} +43 -43
  213. package/chunks/{mcp-QQEWPNWV.js → mcp-6UNYX4HG.js} +48 -48
  214. package/chunks/{monitor-SV64FNV3.js → monitor-EE2UYMGE.js} +47 -47
  215. package/chunks/{node-YSOU44FX.js → node-UUDY34IG.js} +3 -3
  216. package/chunks/nonInteractiveCli-WAY237O4.js +163 -0
  217. package/chunks/{notebook-edit-QPYSWPRI.js → notebook-edit-NTDY4QDU.js} +47 -47
  218. package/chunks/{openaiContentGenerator-CMZXOSVA.js → openaiContentGenerator-YNFVJMRJ.js} +30 -30
  219. package/chunks/{pidfile-D5UXVVAI.js → pidfile-4XSFLYBZ.js} +43 -43
  220. package/chunks/{processUtils-ZEIMIVPX.js → processUtils-WDA2MJFD.js} +2 -2
  221. package/chunks/proper-lockfile-3LHWIM44.js +8 -0
  222. package/chunks/{qwenContentGenerator-JAXZKB7R.js → qwenContentGenerator-434M7QKY.js} +50 -50
  223. package/chunks/{qwenOAuth2-C2QWTD2G.js → qwenOAuth2-GMYZOO6A.js} +10 -10
  224. package/chunks/{read-file-2V5GE6ZW.js → read-file-TAFBKMNI.js} +11 -11
  225. package/chunks/{read-mcp-resource-THCSZHXO.js → read-mcp-resource-XD54ZQMC.js} +2 -2
  226. package/chunks/{record-artifact-76YYQA5F.js → record-artifact-SEYFJEJF.js} +3 -3
  227. package/chunks/{resumeHistoryUtils-UZ7GHPNY.js → resumeHistoryUtils-EVG3WYK2.js} +50 -50
  228. package/chunks/{ripGrep-MUTMPQSV.js → ripGrep-WOEK2PXS.js} +42 -42
  229. package/chunks/{run-qwen-serve-WU43JKEA.js → run-qwen-serve-3QSGRXAN.js} +417 -208
  230. package/chunks/{runtime-YLOFDP2P.js → runtime-5MLLZ7DC.js} +53 -53
  231. package/chunks/{scheduler-G44OPSZE.js → scheduler-RPBJ63CH.js} +44 -44
  232. package/chunks/{sdk-exporters-grpc-4QKV6MCX.js → sdk-exporters-grpc-54L4LS5L.js} +2 -2
  233. package/chunks/{sdk-exporters-http-A7XLKZO7.js → sdk-exporters-http-XUVP63H6.js} +12 -12
  234. package/chunks/{sdk-impl-XO4UF6PR.js → sdk-impl-YXUEN2Z2.js} +8 -8
  235. package/chunks/{send-message-P5SLP57G.js → send-message-VZENRWRH.js} +6 -6
  236. package/chunks/{serve-CZQDBDYV.js → serve-HS3XLPXU.js} +50 -50
  237. package/chunks/{server-HGI2KF3Y.js → server-TC4A7AAZ.js} +3850 -1630
  238. package/chunks/{session-OVMSHAO5.js → session-UBOFXVMN.js} +92 -95
  239. package/chunks/{settings-TWX6ROGP.js → settings-D5644OM5.js} +47 -47
  240. package/chunks/{shell-JDSWGVC7.js → shell-3PZULQQV.js} +42 -42
  241. package/chunks/{skill-QILHTMYJ.js → skill-PEVVXQ3L.js} +22 -22
  242. package/chunks/{skill-settings-RKRD34RZ.js → skill-settings-J65JKKES.js} +47 -47
  243. package/chunks/{spawnChannel-V5PYSDEI.js → spawnChannel-IYGXRHSQ.js} +45 -47
  244. package/chunks/{standalone-update-Y52CWCGG.js → standalone-update-IFM53PE7.js} +44 -44
  245. package/chunks/{startInteractiveUI-RVA62ZM6.js → startInteractiveUI-3AVH7L6H.js} +3340 -2460
  246. package/chunks/{syntheticOutput-SEW4NA47.js → syntheticOutput-7GWFIDXT.js} +3 -3
  247. package/chunks/{task-create-247EAVF7.js → task-create-FCBDX7UH.js} +12 -12
  248. package/chunks/{task-list-ZJN4QHLK.js → task-list-YIYIUFUA.js} +6 -6
  249. package/chunks/{task-stop-MAYQJ42I.js → task-stop-X37KYTKB.js} +2 -2
  250. package/chunks/{task-update-SU5TMZGG.js → task-update-MYPFVOVM.js} +12 -12
  251. package/chunks/{team-create-YMWUDIE3.js → team-create-ZAIA7KAV.js} +47 -47
  252. package/chunks/{team-delete-3XVRPQBP.js → team-delete-6UMU4XLS.js} +6 -6
  253. package/chunks/{team-plan-approval-3GPZAW46.js → team-plan-approval-UNIUS7OD.js} +47 -47
  254. package/chunks/{terminal-image-renderer-UGQKWDM3.js → terminal-image-renderer-G343P2RV.js} +44 -44
  255. package/chunks/{theme-manager-KRG4GGFY.js → theme-manager-Z3RIT7DB.js} +43 -43
  256. package/chunks/{todoWrite-IE2YTCK7.js → todoWrite-U2R4NVF4.js} +4 -4
  257. package/chunks/{tool-search-SZRO5G72.js → tool-search-5R2OE4C7.js} +17 -17
  258. package/chunks/{total-session-admission-JYHYOKWX.js → total-session-admission-4KBHMQQ2.js} +48 -48
  259. package/chunks/{trustedFolders-2BDCB5NJ.js → trustedFolders-LK6T4XC7.js} +43 -43
  260. package/chunks/{update-relaunch-XSYVPSDL.js → update-relaunch-UBKROIC6.js} +5 -5
  261. package/chunks/{updateCheck-SMMJ27GG.js → updateCheck-W4Y2GFSD.js} +45 -45
  262. package/chunks/{useAutoAcceptIndicator-HPG4UFIZ.js → useAutoAcceptIndicator-C7BEICBF.js} +51 -51
  263. package/chunks/{validateNonInterActiveAuth-IIL774NT.js → validateNonInterActiveAuth-LTEI2TB6.js} +84 -86
  264. package/chunks/{version-WSGAB2PA.js → version-G5A5DGVS.js} +1 -1
  265. package/chunks/{web-fetch-LKC2F5DM.js → web-fetch-RTEQTR5Z.js} +20 -20
  266. package/chunks/{web-search-BHMAMXEU.js → web-search-5OXHEZPV.js} +16 -16
  267. package/chunks/{workflow-A7AQ52HO.js → workflow-ISQJHPG2.js} +54 -53
  268. package/chunks/{workspace-providers-status-JRT57TLL.js → workspace-providers-status-2ZPZPUPZ.js} +51 -51
  269. package/chunks/{workspace-registration-store-EACJNCM5.js → workspace-registration-store-CYNY6IP6.js} +2 -2
  270. package/chunks/{workspace-registry-OV5SI4ES.js → workspace-registry-34GTUUHB.js} +50 -49
  271. package/chunks/{workspace-service-PUHU4EEK.js → workspace-service-XCDQLE2Y.js} +53 -53
  272. package/chunks/{workspace-skills-status-YAJE3UW3.js → workspace-skills-status-RS4O7AIJ.js} +49 -49
  273. package/chunks/{workspace-trust-reconciler-JP5UR2H6.js → workspace-trust-reconciler-AYGXC7A3.js} +57 -56
  274. package/chunks/{write-file-UBIHUP5M.js → write-file-EWXKVVXF.js} +42 -42
  275. package/chunks/{zoom-image-4QTKAMTP.js → zoom-image-4BFYJ3HG.js} +11 -11
  276. package/cli.js +18 -17
  277. package/package.json +3 -3
  278. package/web-shell/assets/{arc-lZ04kynw.js → arc-CgOpDKvm.js} +1 -1
  279. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1wZVhzD.js → architectureDiagram-3BPJPVTR-0Ag_m34F.js} +1 -1
  280. package/web-shell/assets/{blockDiagram-GPEHLZMM-CO0e0yJt.js → blockDiagram-GPEHLZMM-IwTwFau0.js} +1 -1
  281. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dfpo6Qie.js → c4Diagram-AAUBKEIU-DLa5GUv8.js} +1 -1
  282. package/web-shell/assets/channel-BrGVBa2L.js +1 -0
  283. package/web-shell/assets/{chunk-2J33WTMH-BvxArftT.js → chunk-2J33WTMH-DcYP-WFG.js} +1 -1
  284. package/web-shell/assets/{chunk-4BX2VUAB-BS2XXjGY.js → chunk-4BX2VUAB-C8MVPMiQ.js} +1 -1
  285. package/web-shell/assets/{chunk-55IACEB6-CYL6h3Ph.js → chunk-55IACEB6-BUi4Yfv3.js} +1 -1
  286. package/web-shell/assets/{chunk-727SXJPM-C-cWPX30.js → chunk-727SXJPM-Cy3Su2YY.js} +1 -1
  287. package/web-shell/assets/{chunk-AQP2D5EJ-CJLxNbVV.js → chunk-AQP2D5EJ-Dp8Teqv6.js} +1 -1
  288. package/web-shell/assets/{chunk-FMBD7UC4-DwfzKywA.js → chunk-FMBD7UC4-BDTDM-4j.js} +1 -1
  289. package/web-shell/assets/{chunk-ND2GUHAM-BI5raYHQ.js → chunk-ND2GUHAM-7HfDt0r2.js} +1 -1
  290. package/web-shell/assets/{chunk-QZHKN3VN-_GkNI90J.js → chunk-QZHKN3VN-BIBU0uCF.js} +1 -1
  291. package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +1 -0
  292. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +1 -0
  293. package/web-shell/assets/{cose-bilkent-S5V4N54A-BAVLNxh9.js → cose-bilkent-S5V4N54A-DRLdcg9p.js} +1 -1
  294. package/web-shell/assets/{dagre-BM42HDAG-BD4XNLqp.js → dagre-BM42HDAG-DCCgDwqW.js} +1 -1
  295. package/web-shell/assets/{diagram-2AECGRRQ-WO567p8w.js → diagram-2AECGRRQ-CsBTBmk3.js} +1 -1
  296. package/web-shell/assets/{diagram-5GNKFQAL-mAk23VWO.js → diagram-5GNKFQAL-C9qjH8Lt.js} +1 -1
  297. package/web-shell/assets/{diagram-KO2AKTUF-YQEeHKze.js → diagram-KO2AKTUF-Brjs_lj2.js} +1 -1
  298. package/web-shell/assets/{diagram-LMA3HP47-CMVjxAjv.js → diagram-LMA3HP47-DtiWCl_F.js} +1 -1
  299. package/web-shell/assets/{diagram-OG6HWLK6-42hPvbM-.js → diagram-OG6HWLK6-DmfKLkBT.js} +1 -1
  300. package/web-shell/assets/{erDiagram-TEJ5UH35-CXU_cPfu.js → erDiagram-TEJ5UH35-Bve_4deH.js} +1 -1
  301. package/web-shell/assets/{flowDiagram-I6XJVG4X-D-3TdhMT.js → flowDiagram-I6XJVG4X-C2_kXCcV.js} +1 -1
  302. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CsgkXolz.js → ganttDiagram-6RSMTGT7-BSBIjiTF.js} +1 -1
  303. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B6Q3PBLD.js → gitGraphDiagram-PVQCEYII-CyebwI55.js} +1 -1
  304. package/web-shell/assets/index-CIDsgxTe.js +1792 -0
  305. package/web-shell/assets/index-DiQnWi_E.css +5 -0
  306. package/web-shell/assets/{index-BFrkGj2B.js → index-d0yfnV1M.js} +1 -1
  307. package/web-shell/assets/{infoDiagram-5YYISTIA-jiAfSXp8.js → infoDiagram-5YYISTIA-CSDGnWxU.js} +1 -1
  308. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BWif5KeJ.js → ishikawaDiagram-YF4QCWOH-BK4jU13p.js} +1 -1
  309. package/web-shell/assets/{journeyDiagram-JHISSGLW-B-GAZthS.js → journeyDiagram-JHISSGLW-D_W6j-oF.js} +1 -1
  310. package/web-shell/assets/{kanban-definition-UN3LZRKU-9TEuATdL.js → kanban-definition-UN3LZRKU-C7xf-SdC.js} +1 -1
  311. package/web-shell/assets/{linear-dy_QPfyE.js → linear-DQmzxpxd.js} +1 -1
  312. package/web-shell/assets/{mermaid.core-DB2uLAnq.js → mermaid.core-9P7AGOLG.js} +5 -5
  313. package/web-shell/assets/{mindmap-definition-RKZ34NQL-ey_dyxi-.js → mindmap-definition-RKZ34NQL-DgcgMyPk.js} +1 -1
  314. package/web-shell/assets/{pieDiagram-4H26LBE5-_6BuMdDj.js → pieDiagram-4H26LBE5-3wWGb9eG.js} +1 -1
  315. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-B2rM19W2.js → quadrantDiagram-W4KKPZXB-BeCXnQw9.js} +1 -1
  316. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DWj8b7vW.js → requirementDiagram-4Y6WPE33-Bi1UOHDz.js} +1 -1
  317. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D5dtYh0N.js → sankeyDiagram-5OEKKPKP-lrLUjjbb.js} +1 -1
  318. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DVkdn_qW.js → sequenceDiagram-3UESZ5HK-BFuqKz6Q.js} +1 -1
  319. package/web-shell/assets/{stateDiagram-AJRCARHV-DgwD_fi6.js → stateDiagram-AJRCARHV-8DemQLhu.js} +1 -1
  320. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +1 -0
  321. package/web-shell/assets/{timeline-definition-PNZ67QCA-vNr_1UNX.js → timeline-definition-PNZ67QCA-uzEuVQXg.js} +1 -1
  322. package/web-shell/assets/{vennDiagram-CIIHVFJN-ChFcGAcu.js → vennDiagram-CIIHVFJN-BQTeZ_-o.js} +1 -1
  323. package/web-shell/assets/{wardley-L42UT6IY-C8PXoSWk.js → wardley-L42UT6IY-B6yM5Im7.js} +1 -1
  324. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-C2nqOV6i.js → wardleyDiagram-YWT4CUSO-ChM8bmgn.js} +1 -1
  325. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BntaqhSB.js → xychartDiagram-2RQKCTM6-oNG6HyB1.js} +1 -1
  326. package/web-shell/index.html +2 -2
  327. package/chunks/chunk-5PLOQW7H.js +0 -830
  328. package/chunks/chunk-DMODRHNL.js +0 -649
  329. package/chunks/chunk-L34XSHIZ.js +0 -28
  330. package/chunks/chunk-N2TNM3QB.js +0 -9
  331. package/chunks/chunk-RECPKBBD.js +0 -622
  332. package/chunks/chunk-WLML6VIA.js +0 -18
  333. package/chunks/chunk-ZBBVBZBR.js +0 -137
  334. package/chunks/chunk-bdqvmfwv-OHYAFAAO.js +0 -17446
  335. package/chunks/discovery-XLHITE74.js +0 -220
  336. package/chunks/dispatch-FW7DX2CR.js +0 -43
  337. package/chunks/nonInteractiveCli-3XFIFXBR.js +0 -166
  338. package/chunks/opentui-entry-TEHHLGN7.js +0 -52419
  339. package/chunks/runtime-gate-T4ICWGQJ.js +0 -89
  340. package/chunks/wrapper-46Z24CTM.js +0 -35
  341. package/web-shell/assets/channel-BxvRq3pV.js +0 -1
  342. package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +0 -1
  343. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +0 -1
  344. package/web-shell/assets/index-BgjULKyF.css +0 -5
  345. package/web-shell/assets/index-CxXlPYfl.js +0 -1789
  346. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +0 -1
  347. /package/chunks/{chunk-44CTCCLY.js → chunk-NWNEANAT.js} +0 -0
@@ -0,0 +1,24 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/cli/src/serve/workspace-runtime-visibility.ts
11
+ init_esbuild_shims();
12
+ function isInternalWorkspaceRuntime(runtime) {
13
+ return runtime.provenance === "live-conversation";
14
+ }
15
+ __name(isInternalWorkspaceRuntime, "isInternalWorkspaceRuntime");
16
+
17
+ export {
18
+ isInternalWorkspaceRuntime
19
+ };
20
+ /**
21
+ * @license
22
+ * Copyright 2026 Qwen Team
23
+ * SPDX-License-Identifier: Apache-2.0
24
+ */
@@ -5,12 +5,12 @@ import {
5
5
  } from "./chunk-4NFY2S7N.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-I3UEXUWJ.js";
8
+ } from "./chunk-HUTNYWBG.js";
9
9
  import {
10
10
  fetchGitDiff,
11
11
  findProviderByCredentials,
12
12
  resolveMetadataKey
13
- } from "./chunk-T7YMWGFY.js";
13
+ } from "./chunk-4S5337WV.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-5O2XNYP6.js";
@@ -12,9 +12,12 @@ import {
12
12
  MIN_CHILD_HEAP_MB,
13
13
  recommendedChildShareMb
14
14
  } from "./chunk-UXEO7E3V.js";
15
+ import {
16
+ isInternalWorkspaceRuntime
17
+ } from "./chunk-NYWWQ437.js";
15
18
  import {
16
19
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
17
- } from "./chunk-UFHPAMAV.js";
20
+ } from "./chunk-S5DWMTHO.js";
18
21
  import {
19
22
  MAX_WORKSPACE_PATH_LENGTH,
20
23
  translateAndCheckAbsoluteWorkspacePath
@@ -1880,6 +1883,309 @@ async function createManagedScratchDirectory(root) {
1880
1883
  }
1881
1884
  __name(createManagedScratchDirectory, "createManagedScratchDirectory");
1882
1885
 
1886
+ // packages/cli/src/serve/conversations/conversation-runtime-errors.ts
1887
+ init_esbuild_shims();
1888
+ var DEFAULT_MESSAGES = {
1889
+ conversation_runtime_in_use: "The Conversations runtime is owned by another daemon.",
1890
+ conversation_runtime_unavailable: "The Conversations runtime is temporarily unavailable.",
1891
+ conversation_root_compromised: "The Conversations root could not be verified.",
1892
+ conversation_runtime_ownership_compromised: "The Conversations runtime ownership state could not be verified."
1893
+ };
1894
+ var ConversationRuntimeOwnershipError = class extends Error {
1895
+ constructor(code, retryable, options) {
1896
+ super(DEFAULT_MESSAGES[code], options);
1897
+ this.code = code;
1898
+ this.retryable = retryable;
1899
+ this.name = "ConversationRuntimeOwnershipError";
1900
+ }
1901
+ static {
1902
+ __name(this, "ConversationRuntimeOwnershipError");
1903
+ }
1904
+ status = 503;
1905
+ };
1906
+ function conversationRuntimeInUseError() {
1907
+ return new ConversationRuntimeOwnershipError(
1908
+ "conversation_runtime_in_use",
1909
+ true
1910
+ );
1911
+ }
1912
+ __name(conversationRuntimeInUseError, "conversationRuntimeInUseError");
1913
+ function conversationRuntimeUnavailableError(cause) {
1914
+ return new ConversationRuntimeOwnershipError(
1915
+ "conversation_runtime_unavailable",
1916
+ true,
1917
+ { cause }
1918
+ );
1919
+ }
1920
+ __name(conversationRuntimeUnavailableError, "conversationRuntimeUnavailableError");
1921
+ function conversationRuntimeOwnershipCompromisedError(cause) {
1922
+ return new ConversationRuntimeOwnershipError(
1923
+ "conversation_runtime_ownership_compromised",
1924
+ false,
1925
+ { cause }
1926
+ );
1927
+ }
1928
+ __name(conversationRuntimeOwnershipCompromisedError, "conversationRuntimeOwnershipCompromisedError");
1929
+ function conversationRootCompromisedError(cause) {
1930
+ return new ConversationRuntimeOwnershipError(
1931
+ "conversation_root_compromised",
1932
+ false,
1933
+ { cause }
1934
+ );
1935
+ }
1936
+ __name(conversationRootCompromisedError, "conversationRootCompromisedError");
1937
+
1938
+ // packages/cli/src/serve/serve-app-lifecycle.ts
1939
+ init_esbuild_shims();
1940
+ var SERVE_APP_LIFECYCLE = Symbol("qwen.serveAppLifecycle");
1941
+ var DEFAULT_CLOSE_TIMEOUT_MS = 5e3;
1942
+ var SECONDARY_CLOSE_TIMEOUT_MS = 2e3;
1943
+ function deferred() {
1944
+ let resolve2;
1945
+ let reject;
1946
+ const promise = new Promise((resolvePromise, rejectPromise) => {
1947
+ resolve2 = resolvePromise;
1948
+ reject = rejectPromise;
1949
+ });
1950
+ void promise.catch(() => void 0);
1951
+ return { promise, resolve: resolve2, reject };
1952
+ }
1953
+ __name(deferred, "deferred");
1954
+ var ServeAppLifecycleController = class {
1955
+ static {
1956
+ __name(this, "ServeAppLifecycleController");
1957
+ }
1958
+ admission = deferred();
1959
+ server;
1960
+ startupReady = true;
1961
+ listenerReady = false;
1962
+ listenerClosed = false;
1963
+ sealed = false;
1964
+ closePending;
1965
+ ownership;
1966
+ appDrain;
1967
+ hostDrain;
1968
+ bootStarter;
1969
+ bootPending;
1970
+ bootStarted = false;
1971
+ bindServer(server, options = {}) {
1972
+ if (this.server || server.listening || this.bootStarted || this.sealed) {
1973
+ throw new Error(
1974
+ "Serve app lifecycle must bind one server before its first listen."
1975
+ );
1976
+ }
1977
+ this.server = server;
1978
+ this.hostDrain = options.drainHost;
1979
+ this.startupReady = options.startupReady === void 0;
1980
+ server.once("listening", () => {
1981
+ this.listenerReady = true;
1982
+ if (this.sealed) {
1983
+ server.close();
1984
+ server.closeAllConnections();
1985
+ return;
1986
+ }
1987
+ this.openAdmissionIfReady();
1988
+ });
1989
+ server.on("close", () => {
1990
+ this.listenerClosed = true;
1991
+ this.seal();
1992
+ void this.close().catch(() => void 0);
1993
+ });
1994
+ server.on("error", (error) => {
1995
+ if (!this.listenerReady && options.startupReady === void 0) {
1996
+ this.seal(error);
1997
+ void this.close().catch(() => void 0);
1998
+ }
1999
+ });
2000
+ if (options.startupReady) {
2001
+ void options.startupReady.then(
2002
+ () => {
2003
+ this.startupReady = true;
2004
+ this.openAdmissionIfReady();
2005
+ },
2006
+ (error) => {
2007
+ this.seal(error instanceof Error ? error : new Error(String(error)));
2008
+ }
2009
+ );
2010
+ }
2011
+ }
2012
+ close(options = {}) {
2013
+ if (this.closePending) return this.closePending;
2014
+ const pending = this.closeOnce(options);
2015
+ this.closePending = pending;
2016
+ void pending.catch(() => {
2017
+ if (this.closePending === pending) this.closePending = void 0;
2018
+ });
2019
+ return pending;
2020
+ }
2021
+ setOwnership(ownership) {
2022
+ if (this.ownership) {
2023
+ throw new Error("Serve app lifecycle ownership is already configured.");
2024
+ }
2025
+ this.ownership = ownership;
2026
+ }
2027
+ setAppDrain(drain) {
2028
+ this.appDrain = drain;
2029
+ }
2030
+ setBootStarter(starter) {
2031
+ this.bootStarter = starter;
2032
+ this.openAdmissionIfReady();
2033
+ }
2034
+ async awaitBootAdmission() {
2035
+ if (!this.server || this.sealed) {
2036
+ throw conversationRuntimeUnavailableError();
2037
+ }
2038
+ try {
2039
+ await this.admission.promise;
2040
+ } catch (error) {
2041
+ throw conversationRuntimeUnavailableError(error);
2042
+ }
2043
+ if (this.sealed) {
2044
+ throw conversationRuntimeUnavailableError();
2045
+ }
2046
+ }
2047
+ async startBoot(starter = this.bootStarter) {
2048
+ await this.awaitBootAdmission();
2049
+ await this.beginBoot(starter);
2050
+ }
2051
+ getBootPromise() {
2052
+ return this.bootPending;
2053
+ }
2054
+ isBootStarted() {
2055
+ return this.bootStarted;
2056
+ }
2057
+ sealBoot() {
2058
+ this.seal();
2059
+ }
2060
+ openAdmissionIfReady() {
2061
+ if (this.sealed || !this.server || !this.listenerReady || !this.startupReady) {
2062
+ return;
2063
+ }
2064
+ this.admission.resolve();
2065
+ const bootStarter = this.bootStarter;
2066
+ if (bootStarter && !this.bootStarted) {
2067
+ void this.beginBoot(bootStarter)?.catch(() => void 0);
2068
+ }
2069
+ }
2070
+ beginBoot(starter) {
2071
+ if (!starter) return void 0;
2072
+ if (this.sealed) {
2073
+ return Promise.reject(conversationRuntimeUnavailableError());
2074
+ }
2075
+ if (this.bootPending) return this.bootPending;
2076
+ this.bootStarted = true;
2077
+ const pending = Promise.resolve().then(starter);
2078
+ const tracked = pending.finally(() => {
2079
+ if (this.bootPending === tracked) this.bootPending = void 0;
2080
+ });
2081
+ this.bootPending = tracked;
2082
+ void tracked.catch(() => void 0);
2083
+ return tracked;
2084
+ }
2085
+ seal(error) {
2086
+ if (this.sealed) return;
2087
+ this.sealed = true;
2088
+ this.admission.reject(error ?? conversationRuntimeUnavailableError());
2089
+ }
2090
+ async closeOnce(options) {
2091
+ this.seal();
2092
+ const drains = [
2093
+ this.startDrain(this.appDrain),
2094
+ this.startDrain(this.hostDrain),
2095
+ this.bootPending?.catch(() => void 0)
2096
+ ].filter((value) => value !== void 0);
2097
+ const listenerClose = this.closeListener(
2098
+ options.timeoutMs ?? DEFAULT_CLOSE_TIMEOUT_MS
2099
+ );
2100
+ const results = await Promise.allSettled([...drains, listenerClose]);
2101
+ const errors = results.filter(
2102
+ (result) => result.status === "rejected"
2103
+ ).map((result) => result.reason);
2104
+ if (errors.length === 1) {
2105
+ throw errors[0];
2106
+ }
2107
+ if (errors.length > 1) {
2108
+ throw new AggregateError(errors, "Serve app shutdown is incomplete.");
2109
+ }
2110
+ await this.ownership?.release();
2111
+ }
2112
+ startDrain(drain) {
2113
+ if (!drain) return void 0;
2114
+ try {
2115
+ return drain();
2116
+ } catch (error) {
2117
+ return Promise.reject(error);
2118
+ }
2119
+ }
2120
+ closeListener(timeoutMs) {
2121
+ if (!this.server || this.listenerClosed || !this.listenerReady && !this.server.listening) {
2122
+ return Promise.resolve();
2123
+ }
2124
+ const server = this.server;
2125
+ if (!server.listening) {
2126
+ return this.waitForClosingListener(server, timeoutMs);
2127
+ }
2128
+ return new Promise((resolve2, reject) => {
2129
+ let secondaryTimer;
2130
+ const forceTimer = setTimeout(
2131
+ () => {
2132
+ server.closeAllConnections();
2133
+ secondaryTimer = setTimeout(() => {
2134
+ reject(new Error("The serve listener did not confirm shutdown."));
2135
+ }, SECONDARY_CLOSE_TIMEOUT_MS);
2136
+ secondaryTimer.unref();
2137
+ },
2138
+ Math.max(0, timeoutMs)
2139
+ );
2140
+ forceTimer.unref();
2141
+ server.close((error) => {
2142
+ clearTimeout(forceTimer);
2143
+ if (secondaryTimer) clearTimeout(secondaryTimer);
2144
+ if (error) reject(error);
2145
+ else {
2146
+ this.listenerClosed = true;
2147
+ resolve2();
2148
+ }
2149
+ });
2150
+ });
2151
+ }
2152
+ waitForClosingListener(server, timeoutMs) {
2153
+ return new Promise((resolve2, reject) => {
2154
+ let secondaryTimer;
2155
+ const onClose = /* @__PURE__ */ __name(() => {
2156
+ server.off("close", onClose);
2157
+ clearTimeout(forceTimer);
2158
+ if (secondaryTimer) clearTimeout(secondaryTimer);
2159
+ this.listenerClosed = true;
2160
+ resolve2();
2161
+ }, "onClose");
2162
+ const forceTimer = setTimeout(
2163
+ () => {
2164
+ server.closeAllConnections();
2165
+ secondaryTimer = setTimeout(() => {
2166
+ server.off("close", onClose);
2167
+ reject(new Error("The serve listener did not confirm shutdown."));
2168
+ }, SECONDARY_CLOSE_TIMEOUT_MS);
2169
+ secondaryTimer.unref();
2170
+ },
2171
+ Math.max(0, timeoutMs)
2172
+ );
2173
+ forceTimer.unref();
2174
+ server.once("close", onClose);
2175
+ if (this.listenerClosed) onClose();
2176
+ });
2177
+ }
2178
+ };
2179
+ function installServeAppLifecycle(app, lifecycle = new ServeAppLifecycleController()) {
2180
+ const locals = app.locals;
2181
+ if (locals[SERVE_APP_LIFECYCLE]) {
2182
+ throw new Error("Serve app lifecycle is already installed.");
2183
+ }
2184
+ locals[SERVE_APP_LIFECYCLE] = lifecycle;
2185
+ return lifecycle;
2186
+ }
2187
+ __name(installServeAppLifecycle, "installServeAppLifecycle");
2188
+
1883
2189
  // packages/cli/src/serve/server/request-helpers.ts
1884
2190
  init_esbuild_shims();
1885
2191
  function sendJsonBodyParserError(res, err) {
@@ -2349,6 +2655,70 @@ __name(resolveAcpHttpEnabled, "resolveAcpHttpEnabled");
2349
2655
  // packages/cli/src/serve/daemon-status.ts
2350
2656
  init_esbuild_shims();
2351
2657
 
2658
+ // packages/cli/src/serve/acp-http/pre-attach-budget.ts
2659
+ init_esbuild_shims();
2660
+ var ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM = 256;
2661
+ var ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION = 1024;
2662
+ var ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL = 4096;
2663
+ var ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION = 64 * 1024 * 1024;
2664
+ var ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL = 256 * 1024 * 1024;
2665
+ var AcpPreAttachBudget = class {
2666
+ constructor(limits = {
2667
+ maxFrames: ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL,
2668
+ maxBytes: ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL
2669
+ }) {
2670
+ this.limits = limits;
2671
+ }
2672
+ static {
2673
+ __name(this, "AcpPreAttachBudget");
2674
+ }
2675
+ usedFrames = 0;
2676
+ usedBytes = 0;
2677
+ pendingDeliveryFrames = 0;
2678
+ highWaterFrames = 0;
2679
+ highWaterBytes = 0;
2680
+ guardFailures = 0;
2681
+ tryReserve(bytes) {
2682
+ if (this.usedFrames >= this.limits.maxFrames || bytes > this.limits.maxBytes - this.usedBytes) {
2683
+ this.guardFailures += 1;
2684
+ return void 0;
2685
+ }
2686
+ this.usedFrames += 1;
2687
+ this.usedBytes += bytes;
2688
+ this.highWaterFrames = Math.max(this.highWaterFrames, this.usedFrames);
2689
+ this.highWaterBytes = Math.max(this.highWaterBytes, this.usedBytes);
2690
+ let released = false;
2691
+ let pendingDelivery = false;
2692
+ return {
2693
+ markPendingDelivery: /* @__PURE__ */ __name(() => {
2694
+ if (released || pendingDelivery) return;
2695
+ pendingDelivery = true;
2696
+ this.pendingDeliveryFrames += 1;
2697
+ }, "markPendingDelivery"),
2698
+ release: /* @__PURE__ */ __name(() => {
2699
+ if (released) return;
2700
+ released = true;
2701
+ if (pendingDelivery) this.pendingDeliveryFrames -= 1;
2702
+ this.usedFrames -= 1;
2703
+ this.usedBytes -= bytes;
2704
+ }, "release")
2705
+ };
2706
+ }
2707
+ recordGuardFailure() {
2708
+ this.guardFailures += 1;
2709
+ }
2710
+ snapshot() {
2711
+ return {
2712
+ usedFrames: this.usedFrames,
2713
+ usedBytes: this.usedBytes,
2714
+ pendingDeliveryFrames: this.pendingDeliveryFrames,
2715
+ highWaterFrames: this.highWaterFrames,
2716
+ highWaterBytes: this.highWaterBytes,
2717
+ guardFailures: this.guardFailures
2718
+ };
2719
+ }
2720
+ };
2721
+
2352
2722
  // packages/cli/src/serve/daemon-memory-pressure.ts
2353
2723
  init_esbuild_shims();
2354
2724
  import { getHeapStatistics } from "node:v8";
@@ -2458,8 +2828,10 @@ async function buildDaemonStatusResponse(detail, input) {
2458
2828
  const bridgeSnapshot = input.bridge.getDaemonStatusSnapshot();
2459
2829
  const lastActivity = input.bridge.lastActivityAt ?? null;
2460
2830
  const workspaceRuntimes = input.workspaceRegistry?.list();
2461
- const workspaceSnapshots = workspaceRuntimes?.map((runtime) => ({
2831
+ const aggregateRuntimes = input.workspaceRegistry?.listAll?.() ?? workspaceRuntimes;
2832
+ const workspaceSnapshots = aggregateRuntimes?.map((runtime) => ({
2462
2833
  workspaceCwd: runtime.workspaceCwd,
2834
+ internal: isInternalWorkspaceRuntime(runtime),
2463
2835
  snapshot: runtime.bridge === input.bridge ? bridgeSnapshot : runtime.bridge.getDaemonStatusSnapshot(),
2464
2836
  lastActivity: runtime.bridge === input.bridge ? lastActivity : runtime.bridge.lastActivityAt ?? null
2465
2837
  })) ?? [
@@ -2485,7 +2857,7 @@ async function buildDaemonStatusResponse(detail, input) {
2485
2857
  if (memoryBudget) {
2486
2858
  const managedRuntimes = input.workspaceRegistry?.listManaged();
2487
2859
  const activeAcpChildCount = managedRuntimes ? managedRuntimes.filter((runtime) => runtime.bridge.isChannelLive()).length : workspaceSnapshots.filter((item) => item.snapshot.channelLive).length;
2488
- const registeredWorkspaceCount = input.workspaceRegistry ? input.workspaceRegistry.listEntries().length : workspaceSnapshots.length;
2860
+ const registeredWorkspaceCount = input.workspaceRegistry ? (input.workspaceRegistry.listAllEntries?.() ?? input.workspaceRegistry.listEntries()).length : workspaceSnapshots.length;
2489
2861
  let childRssBytesTotal = 0;
2490
2862
  let childRssSampled = 0;
2491
2863
  let oldestChildReadingAgeMs = null;
@@ -2558,7 +2930,7 @@ async function buildDaemonStatusResponse(detail, input) {
2558
2930
  }
2559
2931
  derivedQueuedPromptsByWorkspace[index] = derivedQueuedPromptsForWorkspace;
2560
2932
  }
2561
- const queuedPrompts = workspaceRuntimes?.reduce(
2933
+ const queuedPrompts = aggregateRuntimes?.reduce(
2562
2934
  (sum, runtime, index) => sum + (runtime.bridge.pendingPromptTotal ?? derivedQueuedPromptsByWorkspace[index] ?? 0),
2563
2935
  0
2564
2936
  ) ?? input.bridge.pendingPromptTotal ?? derivedQueuedPrompts;
@@ -2616,7 +2988,7 @@ async function buildDaemonStatusResponse(detail, input) {
2616
2988
  full = await buildFullStatus(
2617
2989
  input,
2618
2990
  acpAggregate,
2619
- workspaceSnapshots.flatMap((item) => item.snapshot.sessions)
2991
+ workspaceSnapshots.filter((item) => item.internal !== true).flatMap((item) => item.snapshot.sessions)
2620
2992
  );
2621
2993
  pushFullIssues(issues, full);
2622
2994
  }
@@ -2668,6 +3040,11 @@ async function buildDaemonStatusResponse(detail, input) {
2668
3040
  channelIdleTimeoutMs: bridgeSnapshot.limits.channelIdleTimeoutMs,
2669
3041
  sessionIdleTimeoutMs: bridgeSnapshot.limits.sessionIdleTimeoutMs,
2670
3042
  acpConnectionCap: acpSnapshot?.connectionCap ?? null,
3043
+ acpPreAttachMaxFramesPerStream: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM : null,
3044
+ acpPreAttachMaxFramesPerConnection: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION : null,
3045
+ acpPreAttachMaxFramesGlobal: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL : null,
3046
+ acpPreAttachMaxPayloadBytesPerConnection: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION : null,
3047
+ acpPreAttachMaxPayloadBytesGlobal: acpSnapshot !== void 0 ? ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL : null,
2671
3048
  memory: toDaemonStatusMemoryLimits(
2672
3049
  memoryBudget,
2673
3050
  input.getChildHeapPolicySnapshot?.(),
@@ -2712,7 +3089,17 @@ async function buildDaemonStatusResponse(detail, input) {
2712
3089
  sessionStreams: acpAggregate?.sessionStreams ?? 0,
2713
3090
  sseStreams: acpAggregate?.sseStreams ?? 0,
2714
3091
  wsStreams: acpAggregate?.wsStreams ?? 0,
2715
- pendingClientRequests: acpAggregate?.pendingClientRequests ?? 0
3092
+ pendingClientRequests: acpAggregate?.pendingClientRequests ?? 0,
3093
+ preAttach: {
3094
+ bufferedConnectionFrames: acpAggregate?.bufferedConnectionFrames ?? 0,
3095
+ bufferedSessionFrames: acpAggregate?.bufferedSessionFrames ?? 0,
3096
+ pendingDeliveryFrames: acpAggregate?.pendingDeliveryFrames ?? 0,
3097
+ usedFrames: acpAggregate?.preAttach.usedFrames ?? 0,
3098
+ usedBytes: acpAggregate?.preAttach.usedBytes ?? 0,
3099
+ highWaterFrames: acpAggregate?.preAttach.highWaterFrames ?? 0,
3100
+ highWaterBytes: acpAggregate?.preAttach.highWaterBytes ?? 0,
3101
+ guardFailures: acpAggregate?.preAttach.guardFailures ?? 0
3102
+ }
2716
3103
  }
2717
3104
  },
2718
3105
  rateLimit: {
@@ -2722,7 +3109,7 @@ async function buildDaemonStatusResponse(detail, input) {
2722
3109
  ...input.getPerfSnapshot ? { perf: input.getPerfSnapshot() } : {},
2723
3110
  ...input.getMetricsSeries ? { metrics: { series: input.getMetricsSeries() } } : {},
2724
3111
  activity: {
2725
- activePrompts: workspaceRuntimes?.reduce(
3112
+ activePrompts: aggregateRuntimes?.reduce(
2726
3113
  (sum, runtime) => sum + (runtime.bridge.activePromptCount ?? 0),
2727
3114
  0
2728
3115
  ) ?? input.bridge.activePromptCount ?? 0,
@@ -2793,6 +3180,7 @@ async function buildFullStatus(input, acpSnapshot, sessions) {
2793
3180
  ]);
2794
3181
  return {
2795
3182
  sessions,
3183
+ acpMounts: acpSnapshot?.mounts ?? [],
2796
3184
  acpConnections: acpSnapshot?.connections ?? [],
2797
3185
  workspace: {
2798
3186
  mcp,
@@ -2851,12 +3239,12 @@ async function withTimeout(promise, section, timeoutMs) {
2851
3239
  }
2852
3240
  __name(withTimeout, "withTimeout");
2853
3241
  function pushRuntimeIssues(issues, acpSnapshot, acpAggregate, rateLimitHits, input, channelWorker, channelWorkers, totalAdmissionSnapshot, workspaceSnapshots) {
2854
- for (const { workspaceCwd, snapshot } of workspaceSnapshots) {
3242
+ for (const { workspaceCwd, internal, snapshot } of workspaceSnapshots) {
2855
3243
  if (snapshot.limits.maxSessions !== null && snapshot.limits.maxSessions > 0 && snapshot.sessionCount / snapshot.limits.maxSessions >= CAPACITY_WARNING_RATIO) {
2856
3244
  issues.push({
2857
3245
  code: "session_capacity_high",
2858
3246
  severity: "warning",
2859
- message: workspaceSnapshots.length > 1 ? `Workspace ${workspaceCwd} active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.`
3247
+ message: workspaceSnapshots.length > 1 ? internal ? `An internal runtime's active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Workspace ${workspaceCwd} active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.` : `Active sessions are at ${snapshot.sessionCount}/${snapshot.limits.maxSessions}.`
2860
3248
  });
2861
3249
  }
2862
3250
  }
@@ -2907,7 +3295,7 @@ function pushRuntimeIssues(issues, acpSnapshot, acpAggregate, rateLimitHits, inp
2907
3295
  issues.push({
2908
3296
  code: "acp_channel_down",
2909
3297
  severity: "error",
2910
- message: downWorkspaces.length === 1 ? `Active sessions exist but the ACP channel is not live for ${downWorkspaces[0].workspaceCwd}.` : `Active sessions exist but the ACP channel is not live for ${downWorkspaces.length} workspace(s).`
3298
+ message: downWorkspaces.length === 1 ? downWorkspaces[0].internal ? "Active sessions exist but the ACP channel is not live for an internal runtime." : `Active sessions exist but the ACP channel is not live for ${downWorkspaces[0].workspaceCwd}.` : `Active sessions exist but the ACP channel is not live for ${downWorkspaces.length} workspace(s).`
2911
3299
  });
2912
3300
  }
2913
3301
  if (input.opts.rateLimit === true && sumRateHits(rateLimitHits) > 0) {
@@ -3510,6 +3898,13 @@ export {
3510
3898
  isScratchRootCompatible,
3511
3899
  prepareManagedScratchRoot,
3512
3900
  createManagedScratchDirectory,
3901
+ ConversationRuntimeOwnershipError,
3902
+ conversationRuntimeInUseError,
3903
+ conversationRuntimeUnavailableError,
3904
+ conversationRuntimeOwnershipCompromisedError,
3905
+ conversationRootCompromisedError,
3906
+ ServeAppLifecycleController,
3907
+ installServeAppLifecycle,
3513
3908
  sendJsonBodyParserError,
3514
3909
  CLIENT_ID_HEADER,
3515
3910
  MAX_CLIENT_ID_LENGTH,
@@ -3534,6 +3929,12 @@ export {
3534
3929
  setRateLimiter,
3535
3930
  getRateLimiter,
3536
3931
  resolveAcpHttpEnabled,
3932
+ ACP_PRE_ATTACH_MAX_FRAMES_PER_STREAM,
3933
+ ACP_PRE_ATTACH_MAX_FRAMES_PER_CONNECTION,
3934
+ ACP_PRE_ATTACH_MAX_FRAMES_GLOBAL,
3935
+ ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_PER_CONNECTION,
3936
+ ACP_PRE_ATTACH_MAX_PAYLOAD_BYTES_GLOBAL,
3937
+ AcpPreAttachBudget,
3537
3938
  toDaemonStatusMemoryLimits,
3538
3939
  parseDaemonStatusDetail,
3539
3940
  buildDaemonStatusResponse,
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolveChannelCwd
5
- } from "./chunk-XY7DGTIC.js";
5
+ } from "./chunk-45NQKMYB.js";
6
6
  import {
7
7
  getPlugin,
8
8
  supportedTypes
9
- } from "./chunk-TN3REXN4.js";
9
+ } from "./chunk-A4QRWUDE.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -361,6 +361,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
361
361
  "clientSecret",
362
362
  envResolution
363
363
  );
364
+ const configuredSessionScope = rawConfig["sessionScope"] || plugin.defaultSessionScope || "user";
364
365
  return {
365
366
  ...resolvedRawConfig,
366
367
  type: channelType,
@@ -369,7 +370,7 @@ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), o
369
370
  clientSecret,
370
371
  senderPolicy: rawConfig["senderPolicy"] || "allowlist",
371
372
  allowedUsers: rawConfig["allowedUsers"] || [],
372
- sessionScope: rawConfig["sessionScope"] || plugin?.defaultSessionScope || "user",
373
+ sessionScope: configuredSessionScope,
373
374
  cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
374
375
  approvalMode: parseApprovalModeConfig(name, rawConfig),
375
376
  instructions: rawConfig["instructions"],