@qwen-code/qwen-code 0.23.3 → 0.23.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 (462) hide show
  1. package/bundled/computer-use/SKILL.md +46 -198
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +48 -37
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-Q44AWRWI.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-UKII7M7U.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-7RUAOXE7.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-5N3LHCO3.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-LU5UJALC.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-LTLADUGR.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-P34XQP3D.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-VE4ARRSR.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-DAWWT2ID.js → chunk-2NRKLYID.js} +1374 -2164
  47. package/chunks/{chunk-53GWJOLP.js → chunk-2P2IXKDR.js} +3 -1
  48. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  49. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  50. package/chunks/{chunk-MLQNSPRZ.js → chunk-3AYIKQTJ.js} +15 -5
  51. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-BWAMMKIS.js → chunk-4XP7WXC4.js} +135 -6
  54. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  55. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  56. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  57. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  58. package/chunks/chunk-5JG3DAKS.js +1416 -0
  59. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  60. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  61. package/chunks/chunk-62MWBTS7.js +191 -0
  62. package/chunks/{chunk-YQHLFCPU.js → chunk-65ANUQSV.js} +32 -24
  63. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  64. package/chunks/{chunk-AC6KDLH3.js → chunk-6TFZIA2L.js} +1 -1
  65. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  66. package/chunks/{chunk-NRXWJXJ4.js → chunk-7GKPKIUB.js} +15 -15
  67. package/chunks/chunk-7JGH6IMU.js +2780 -0
  68. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  69. package/chunks/{chunk-HGAELO7B.js → chunk-7ML2ZLQF.js} +2 -2
  70. package/chunks/{chunk-3UXUOFO6.js → chunk-7W2Y3PZD.js} +9 -10
  71. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  72. package/chunks/chunk-ACHCT36C.js +28 -0
  73. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  74. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  75. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  76. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  77. package/chunks/{chunk-SYLECP23.js → chunk-BBMOAZ2E.js} +4 -4
  78. package/chunks/{chunk-RWVD5RRY.js → chunk-BDDE4YNP.js} +3 -3
  79. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  80. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  83. package/chunks/chunk-CFMZLE3L.js +75 -0
  84. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  85. package/chunks/{chunk-N7VWZDWW.js → chunk-DCRVSIK6.js} +4460 -3838
  86. package/chunks/{chunk-NJQTG2G3.js → chunk-DGTH4BSO.js} +11 -11
  87. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  88. package/chunks/{chunk-BWQLXU37.js → chunk-E4XZSQXB.js} +381 -86
  89. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-E7HXORS7.js} +1 -1
  91. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  92. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  93. package/chunks/{chunk-Q5BD56BW.js → chunk-ELHAQ5H4.js} +7 -7
  94. package/chunks/{chunk-GSILBZLN.js → chunk-EOQXU3ZE.js} +2 -2
  95. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  96. package/chunks/{chunk-POC3YMHG.js → chunk-F2IRY2TD.js} +4 -4
  97. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  98. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  99. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  100. package/chunks/{chunk-Z3GF56ME.js → chunk-FRISMWG3.js} +3 -3
  101. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  102. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  103. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  104. package/chunks/{chunk-3XLK2QMY.js → chunk-H7L725Z6.js} +59 -16
  105. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  106. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  107. package/chunks/{chunk-BZM5U74J.js → chunk-I6JRN375.js} +724 -468
  108. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  109. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  110. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  111. package/chunks/{chunk-NOAG7N22.js → chunk-IGLX6UXJ.js} +2 -2
  112. package/chunks/chunk-INGBUYL6.js +230 -0
  113. package/chunks/{chunk-IL5M5NYD.js → chunk-IR5CVY5G.js} +11 -9
  114. package/chunks/{chunk-OX7IZ2G5.js → chunk-ITOB3LRT.js} +4 -4
  115. package/chunks/{chunk-LDVNJZGH.js → chunk-IUXWAKVS.js} +17 -8
  116. package/chunks/{chunk-2PJRI3EH.js → chunk-J4DRBDHX.js} +218 -43
  117. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  118. package/chunks/{chunk-W5FIP7FC.js → chunk-JLZ5YCMV.js} +5 -5
  119. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  120. package/chunks/{chunk-2ZN3O5FT.js → chunk-JZ3FFPES.js} +6 -6
  121. package/chunks/{chunk-NMCDMLHL.js → chunk-K2DCZ6SZ.js} +50 -35
  122. package/chunks/{chunk-F42YYSCK.js → chunk-KLGCF6G7.js} +8 -8
  123. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  124. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  125. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-L56E7YUM.js} +11 -110
  126. package/chunks/{chunk-NMRCXKQ5.js → chunk-L5BVU4JW.js} +3 -3
  127. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  128. package/chunks/{chunk-GOXQL4YH.js → chunk-LFNK4DGQ.js} +2 -2
  129. package/chunks/{chunk-UKZ45TJL.js → chunk-LMDMYMSS.js} +420 -219
  130. package/chunks/chunk-LMJSPC55.js +260 -0
  131. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  132. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  133. package/chunks/{chunk-HBQ2NXOU.js → chunk-M6MID3FA.js} +2 -2
  134. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  135. package/chunks/{chunk-MF6E7FSA.js → chunk-MFPAVOYJ.js} +8 -201
  136. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  137. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  138. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  139. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  140. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  141. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  142. package/chunks/{chunk-X7UJKOHZ.js → chunk-O75ZXPOX.js} +4 -6
  143. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  144. package/chunks/{chunk-XBZTAGB7.js → chunk-OXDQETZA.js} +1 -1
  145. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  146. package/chunks/{chunk-SBRX4BDI.js → chunk-P225AM5U.js} +2 -2
  147. package/chunks/{chunk-ZU47FBOC.js → chunk-P6XVYPWA.js} +126 -12
  148. package/chunks/{chunk-MHAADZOZ.js → chunk-PCIYPEYV.js} +3 -3
  149. package/chunks/{chunk-SSGAAWLY.js → chunk-PNACDSCO.js} +95 -73
  150. package/chunks/chunk-PRWRNC64.js +32 -0
  151. package/chunks/{chunk-7BXXIQG4.js → chunk-PVKEYO5D.js} +36 -72
  152. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  153. package/chunks/{chunk-DYFOSJHU.js → chunk-QM2MRAG4.js} +2756 -1153
  154. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  155. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  156. package/chunks/{chunk-3BTSSIJO.js → chunk-RHTNPDGD.js} +99 -14
  157. package/chunks/{chunk-OLTN767L.js → chunk-RJFUPP3F.js} +2 -2
  158. package/chunks/chunk-RKXAOP6F.js +154 -0
  159. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  160. package/chunks/{chunk-E7LB57MB.js → chunk-RWKR4VNK.js} +6 -6
  161. package/chunks/chunk-S7UQ3V2H.js +87 -0
  162. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  163. package/chunks/{chunk-SODMFNAR.js → chunk-SQCZDHBQ.js} +5 -5
  164. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  165. package/chunks/{chunk-3KQBQ6FM.js → chunk-SYDMM6IX.js} +190 -28
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  168. package/chunks/{chunk-RLLRJJDR.js → chunk-TJDUJSVH.js} +2 -2
  169. package/chunks/{chunk-HBU7EKY4.js → chunk-TRKIKBUW.js} +45 -15
  170. package/chunks/{chunk-GCDXVPFK.js → chunk-TW2RLZPC.js} +31 -7
  171. package/chunks/chunk-U6H3XTFA.js +95 -0
  172. package/chunks/{chunk-NHJKAR6E.js → chunk-UGEDTVL6.js} +972 -18
  173. package/chunks/{chunk-KOKPXIAN.js → chunk-UL4DXZMP.js} +3 -3
  174. package/chunks/{chunk-MSNHNAQZ.js → chunk-UUT7EFX3.js} +3 -3
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/{chunk-7ICHPMBQ.js → chunk-VELFTVEO.js} +4 -4
  177. package/chunks/chunk-VGY2RGXL.js +100 -0
  178. package/chunks/{chunk-5KI7ZDTB.js → chunk-VQ3SUPLA.js} +24 -12
  179. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  180. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  181. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  182. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  183. package/chunks/{chunk-KFZYGSJN.js → chunk-WDB57HEI.js} +3 -3
  184. package/chunks/chunk-WFNEY5G7.js +347 -0
  185. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  186. package/chunks/{chunk-EVTNACMT.js → chunk-WKQX4FND.js} +12 -12
  187. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  188. package/chunks/{chunk-NHCZJQE4.js → chunk-WLFILD4T.js} +6 -6
  189. package/chunks/{chunk-JYKWOREU.js → chunk-WMEX6CFP.js} +13 -3
  190. package/chunks/{chunk-6W4HBUA2.js → chunk-WNQRJXKP.js} +1 -1
  191. package/chunks/{chunk-7APZIRH3.js → chunk-X7GOO6VM.js} +5 -5
  192. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  193. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  194. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  195. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  196. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  197. package/chunks/chunk-Z72PLR74.js +36 -0
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/{chunk-DT75RKNH.js → chunk-ZXUKZHMV.js} +3 -3
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-WCRCJMQK.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-73C3RGYN.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-4ZDPQJHD.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-ZDUA5DYE.js} +58 -55
  207. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-JK3SSJKO.js} +169 -89
  208. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-QU2CCJIE.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-2PO7NLDQ.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-IMDTIUWB.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-6IVBNUAD.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-3AZUE7F3.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-HXMBABZU.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-KAMW2I2C.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-HYMXOTVB.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-NQRH7NAM.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-SMEBS5EF.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-CUWUTJUR.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-VOM5DVZ3.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-YBYJ5KPM.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-4CEHNJ2F.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-G7ODGUGN.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-GZ73HSOA.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-PV472I52.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-D4A7LFOF.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-PJU4VT3K.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-ITOMDK65.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-NNU4BY5Q.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-SMI2AJYY.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-AN5RDI5D.js} +57 -53
  261. package/chunks/mcp-RIIEZ7NJ.js +127 -0
  262. package/chunks/model-configuration-E5M35A3M.js +140 -0
  263. package/chunks/modelConfigUtils-43SY2EDS.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-5WYDOXLI.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-D3YFYXNB.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-GQNFJTIR.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-VJAKFZ32.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-I5SWEJDX.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-NSYM3SKR.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-KWBANHUE.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-LR6HNFBU.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-LOSUPKDX.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-6IFK3MQO.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-MBSYRHNP.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-WYEEYIHV.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-FVTTOB4E.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-RN6DUY7E.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-T7DDWINW.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-LVMPJBTV.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-U7K7EJEP.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-BQNC5QUN.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-LQDHWZST.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-J7DQYX2I.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-WAWJIZHR.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-WFJEYGQI.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-RHQWSDOK.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-ALFUQQD6.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-D35CB5JB.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-NMMY6CAO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-F6BN46GE.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-E6U7L5AD.js} +1610 -1773
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-DKAJ3OUY.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-ZUG32DAK.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-U3Z5PMGO.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-GA65ZFKB.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-XCEN7VXX.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-FZSHBR32.js} +63 -58
  317. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-SXPNZESV.js} +57 -53
  318. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-QOUTZZ7Q.js} +5 -5
  319. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-DYRX7M34.js} +60 -56
  320. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-QOG7LUT3.js} +68 -64
  321. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-FJPAEMDD.js} +109 -104
  322. package/chunks/{version-EAAZN4T2.js → version-5IC46F2Z.js} +1 -1
  323. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WSW4QZBA.js} +15 -13
  324. package/chunks/web-search-5QFKXWUV.js +39 -0
  325. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  326. package/chunks/{workflow-UHPFALVZ.js → workflow-ZF4DLK4V.js} +179 -79
  327. package/chunks/workspace-providers-status-4E4XWBFS.js +133 -0
  328. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-M3QEP27F.js} +2 -2
  329. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-H2ENI5G2.js} +63 -58
  330. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-CRRNB7PC.js} +66 -59
  331. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-GJ2GOHKU.js} +70 -65
  332. package/chunks/workspace-skills-status-CRWHV35X.js +130 -0
  333. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-GG2JA7KI.js} +73 -68
  334. package/chunks/{write-file-DPVB2SBQ.js → write-file-LZ4EMF36.js} +45 -41
  335. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  336. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  337. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-J5IMS3WD.js} +11 -10
  338. package/cli.js +18 -17
  339. package/codeModeHost.js +4425 -0
  340. package/export-transcript-document.css +1 -1
  341. package/export-transcript-document.js +151 -151
  342. package/locales/ca.js +5 -6
  343. package/locales/de.js +5 -6
  344. package/locales/en.js +7 -6
  345. package/locales/fr.js +6 -6
  346. package/locales/ja.js +5 -6
  347. package/locales/pt.js +5 -6
  348. package/locales/ru.js +6 -6
  349. package/locales/zh-TW.js +7 -6
  350. package/locales/zh.js +7 -6
  351. package/package.json +4 -3
  352. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  353. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  354. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  355. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  356. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  357. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  358. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  359. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  360. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  361. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  362. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  363. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  364. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  365. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  366. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  369. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  370. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  371. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  372. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  373. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  374. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  375. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  376. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  377. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  378. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  379. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  380. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  381. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  382. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  383. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  384. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  385. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  386. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  387. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  388. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  389. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  390. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  391. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  392. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  393. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  394. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  395. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  396. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  397. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  398. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  399. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  400. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  401. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  402. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  403. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  404. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  405. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  406. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  407. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  408. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  409. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  410. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  411. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  412. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  413. package/web-shell/index.html +2 -2
  414. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  415. package/chunks/chunk-AEY27Z35.js +0 -1411
  416. package/chunks/chunk-CFKIH3D3.js +0 -50
  417. package/chunks/chunk-HWVUSYSN.js +0 -126
  418. package/chunks/chunk-QHMLYMMS.js +0 -32
  419. package/chunks/chunk-SAH4BD2J.js +0 -92
  420. package/chunks/chunk-TWUKBNWM.js +0 -86
  421. package/chunks/chunk-ZTTC7T4X.js +0 -126
  422. package/chunks/list-YL6LDQKQ.js +0 -129
  423. package/chunks/mcp-IYVSIW6O.js +0 -123
  424. package/chunks/web-search-NEGYQNDJ.js +0 -912
  425. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  426. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  427. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  428. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  429. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  430. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  431. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  432. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  433. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  434. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  435. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  436. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  437. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  438. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  439. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  440. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  441. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  442. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  443. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  444. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  445. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  446. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  447. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  448. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  449. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  450. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  451. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  452. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  453. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  454. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  455. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  456. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  457. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  458. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  459. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  460. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  461. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  462. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -2,10 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-GOXQL4YH.js";
5
+ } from "./chunk-LFNK4DGQ.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
+ import {
10
+ t
11
+ } from "./chunk-I6YJZGHS.js";
9
12
  import {
10
13
  require_semver
11
14
  } from "./chunk-2AUM35J5.js";
@@ -13,10 +16,7 @@ import {
13
16
  getHomebrewLatestVersion,
14
17
  getInstallationInfo,
15
18
  resolveUpdateCommand
16
- } from "./chunk-N6VQ37ZZ.js";
17
- import {
18
- t
19
- } from "./chunk-VZUCTJ2P.js";
19
+ } from "./chunk-SFL6U7U7.js";
20
20
  import {
21
21
  createDebugLogger
22
22
  } from "./chunk-ZAFYHRVY.js";
@@ -77,6 +77,13 @@ var PROJECT_ENV_HARDCODED_EXCLUSIONS = [
77
77
  // from repository content at all. prebuild.test.ts pins the membership
78
78
  // with both real symbols.
79
79
  "QWEN_REVIEW_PREBUILD",
80
+ // The automatic-review marker (commands/review/lib/docs-nav-profile.ts
81
+ // `automaticReviewRequested`) is an operator decision in the same class:
82
+ // it selects the reduced docs-nav profile, so a repository must not
83
+ // declare its own — possibly manual — review automatic and shrink the
84
+ // review of its own change to one reviewer with no reverse audit. CI
85
+ // welds it as a real step env, never a file.
86
+ "QWEN_REVIEW_AUTOMATIC",
80
87
  // QWEN_TLS_INSECURE (and NODE_TLS_REJECT_UNAUTHORIZED, which it mirrors)
81
88
  // disable TLS certificate verification for all outbound API connections. A
82
89
  // project `.env` must never enable either — that would let an untrusted repo
@@ -61,9 +61,12 @@ __name(conversationRootCompromisedError, "conversationRootCompromisedError");
61
61
 
62
62
  // packages/cli/src/serve/live/types.ts
63
63
  init_esbuild_shims();
64
- var LIVE_HOST_PROTOCOL_VERSION = 7;
64
+ var LIVE_HOST_PROTOCOL_VERSION = 9;
65
65
  var LIVE_HOST_BUNDLE_ID = "com.alibaba.qwen-code.live-host";
66
66
  var LIVE_INPUT_AUDIO_EPOCH_BYTES = 8;
67
+ var LIVE_OUTPUT_AUDIO_EPOCH_BYTES = 8;
68
+ var LIVE_OUTPUT_AUDIO_ID_BYTES = 8;
69
+ var LIVE_OUTPUT_AUDIO_HEADER_BYTES = LIVE_OUTPUT_AUDIO_EPOCH_BYTES + LIVE_OUTPUT_AUDIO_ID_BYTES;
67
70
 
68
71
  export {
69
72
  ConversationRuntimeOwnershipError,
@@ -73,7 +76,9 @@ export {
73
76
  conversationRootCompromisedError,
74
77
  LIVE_HOST_PROTOCOL_VERSION,
75
78
  LIVE_HOST_BUNDLE_ID,
76
- LIVE_INPUT_AUDIO_EPOCH_BYTES
79
+ LIVE_INPUT_AUDIO_EPOCH_BYTES,
80
+ LIVE_OUTPUT_AUDIO_EPOCH_BYTES,
81
+ LIVE_OUTPUT_AUDIO_HEADER_BYTES
77
82
  };
78
83
  /**
79
84
  * @license
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-VZUCTJ2P.js";
5
+ } from "./chunk-I6YJZGHS.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-ZAFYHRVY.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-VZUCTJ2P.js";
5
+ } from "./chunk-I6YJZGHS.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  flattenPeerLabel,
6
6
  listLiveSessions,
7
7
  readOwnSessionRecord
8
- } from "./chunk-5GLDOLNQ.js";
8
+ } from "./chunk-OWUAZXXN.js";
9
9
  import {
10
10
  LEADER_NAME,
11
11
  sanitizeName
@@ -0,0 +1,36 @@
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/core/src/utils/responses-message.ts
11
+ init_esbuild_shims();
12
+ function getResponsesMessage(part) {
13
+ const value = part.responsesMessage;
14
+ if (!value || typeof value.id !== "string") return void 0;
15
+ if (value.phase !== void 0 && value.phase !== "commentary" && value.phase !== "final_answer") {
16
+ return { id: value.id };
17
+ }
18
+ return value;
19
+ }
20
+ __name(getResponsesMessage, "getResponsesMessage");
21
+ function sameResponsesMessage(left, right) {
22
+ const a = getResponsesMessage(left);
23
+ const b = getResponsesMessage(right);
24
+ return a?.id === b?.id && a?.phase === b?.phase;
25
+ }
26
+ __name(sameResponsesMessage, "sameResponsesMessage");
27
+
28
+ export {
29
+ getResponsesMessage,
30
+ sameResponsesMessage
31
+ };
32
+ /**
33
+ * @license
34
+ * Copyright 2026 Qwen
35
+ * SPDX-License-Identifier: Apache-2.0
36
+ */
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ lookupSkillDisablement
5
+ } from "./chunk-LMJSPC55.js";
3
6
  import {
4
7
  init_esbuild_shims
5
8
  } from "./chunk-5O2XNYP6.js";
@@ -10,7 +13,7 @@ import {
10
13
  // packages/cli/src/runtime/workspace-skills-mapping.ts
11
14
  init_esbuild_shims();
12
15
  function mapSkillConfigToStatus(skill, disablements = /* @__PURE__ */ new Map(), opts = {}) {
13
- const disablement = disablements.get(skill.name.toLowerCase());
16
+ const disablement = lookupSkillDisablement(disablements, skill);
14
17
  const disabledReason = opts.disabled ? "inactive_extension" : disablement?.reason ?? (opts.enabled === false ? "default" : void 0);
15
18
  const modelInvocable = skill.disableModelInvocation !== true;
16
19
  return {
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ ResponsesHttpError
5
+ } from "./chunk-VGY2RGXL.js";
3
6
  import {
4
7
  getErrorStatus,
5
8
  isAbortError
@@ -64,6 +67,9 @@ Please retry after the reset time, or switch to another API key / auth method.`;
64
67
  }
65
68
  __name(formatQuotaExhaustedMessage, "formatQuotaExhaustedMessage");
66
69
 
70
+ // packages/core/src/utils/rateLimit.ts
71
+ init_esbuild_shims();
72
+
67
73
  // packages/core/src/utils/retryPolicy.ts
68
74
  init_esbuild_shims();
69
75
  var MAX_TIMEOUT_MS = 2147483647;
@@ -96,6 +102,11 @@ function getRetryDelayMs(options) {
96
102
  }
97
103
  __name(getRetryDelayMs, "getRetryDelayMs");
98
104
  function getRetryAfterDelayMs(error) {
105
+ const millis = getHeaderValue(error, "retry-after-ms") ?? getResponseHeaderValue(error, "retry-after-ms");
106
+ if (millis !== null && /^\d+(\.\d+)?$/.test(millis.trim())) {
107
+ const value2 = Number(millis);
108
+ if (Number.isFinite(value2)) return Math.min(value2, MAX_TIMEOUT_MS);
109
+ }
99
110
  const value = getHeaderValue(error, "retry-after") ?? getResponseHeaderValue(error, "retry-after");
100
111
  if (value === null) return null;
101
112
  const trimmed = value.trim();
@@ -142,7 +153,6 @@ function hasResponseHeaders(error) {
142
153
  __name(hasResponseHeaders, "hasResponseHeaders");
143
154
 
144
155
  // packages/core/src/utils/rateLimit.ts
145
- init_esbuild_shims();
146
156
  var RATE_LIMIT_ERROR_CODES = /* @__PURE__ */ new Set([429, 503, 1302, 1305]);
147
157
  function isRateLimitError(error, extraCodes) {
148
158
  const code = getErrorCode(error);
@@ -197,6 +207,7 @@ function getRateLimitErrorDetails(error) {
197
207
  return {
198
208
  ...statusCode !== void 0 ? { statusCode } : {},
199
209
  ...payload?.code !== void 0 || payload?.type !== void 0 ? { providerCode: String(payload.code ?? payload.type) } : {},
210
+ ...payload?.type !== void 0 ? { providerType: payload.type } : {},
200
211
  ...payload?.message !== void 0 ? { providerMessage: payload.message } : {},
201
212
  ...payload?.requestId !== void 0 ? { requestId: payload.requestId } : {},
202
213
  transport
@@ -317,7 +328,7 @@ function classifyRetryError(error, context = {}) {
317
328
  const providerFields = getProviderFields(error);
318
329
  const providerCode = details.providerCode ?? providerFields.providerCode;
319
330
  const providerMessage = details.providerMessage ?? providerFields.providerMessage;
320
- const requestId = details.requestId ?? providerFields.requestId;
331
+ const requestId = details.requestId || providerFields.requestId;
321
332
  const common = {
322
333
  ...statusCode !== void 0 ? { statusCode } : {},
323
334
  ...providerCode !== void 0 ? { providerCode } : {},
@@ -340,6 +351,14 @@ function classifyRetryError(error, context = {}) {
340
351
  ...common
341
352
  };
342
353
  }
354
+ if (error instanceof ResponsesHttpError && (error.headers.has("x-should-retry") || statusCode === 408 || statusCode === 409)) {
355
+ return {
356
+ kind: "http",
357
+ diagnosis: error.shouldRetry(context.extraRetryErrorCodes) ? "retryable" : "fail-fast",
358
+ reason: "responses-http-retry-policy",
359
+ ...common
360
+ };
361
+ }
343
362
  if (isRateLimitError(error, context.extraRetryErrorCodes)) {
344
363
  const kind = details.transport === "sse" ? "sse-provider" : statusCode !== void 0 ? "http" : "provider";
345
364
  return {
@@ -378,6 +397,14 @@ function classifyRetryError(error, context = {}) {
378
397
  };
379
398
  }
380
399
  if (statusCode >= 400 && statusCode < 500) {
400
+ if (providerCode === void 0 && providerMessage === void 0 && hasNetworkFailureCause(error)) {
401
+ return {
402
+ kind: "transport",
403
+ diagnosis: "retryable",
404
+ reason: "network-error",
405
+ ...common
406
+ };
407
+ }
381
408
  return {
382
409
  kind,
383
410
  diagnosis: "fail-fast",
@@ -400,6 +427,23 @@ function classifyRetryError(error, context = {}) {
400
427
  ...common
401
428
  };
402
429
  }
430
+ const statuslessKind = details.transport === "sse" ? "sse-provider" : "provider";
431
+ if (isPermanentProviderCode(providerCode) || isPermanentProviderCode(providerFields.providerType) || isPermanentProviderCode(details.providerType)) {
432
+ return {
433
+ kind: statuslessKind,
434
+ diagnosis: "fail-fast",
435
+ reason: "permanent-provider-code",
436
+ ...common
437
+ };
438
+ }
439
+ if (requestId !== void 0) {
440
+ return {
441
+ kind: statuslessKind,
442
+ diagnosis: "retryable",
443
+ reason: "upstream-error-without-status",
444
+ ...common
445
+ };
446
+ }
403
447
  return {
404
448
  kind: "unknown",
405
449
  diagnosis: "unknown",
@@ -435,6 +479,20 @@ function isTransportCode(code) {
435
479
  return TRANSPORT_ERROR_CODES.has(code);
436
480
  }
437
481
  __name(isTransportCode, "isTransportCode");
482
+ var NETWORK_FAILURE_MESSAGE_RE = /network error for request /i;
483
+ function hasNetworkFailureCause(error) {
484
+ let current = error;
485
+ for (let depth = 0; depth <= MAX_TRANSPORT_CAUSE_DEPTH; depth++) {
486
+ if (typeof current !== "object" || current === null) return false;
487
+ const message = current.message;
488
+ if (typeof message === "string" && NETWORK_FAILURE_MESSAGE_RE.test(message)) {
489
+ return true;
490
+ }
491
+ current = current instanceof Error ? current.cause : void 0;
492
+ }
493
+ return false;
494
+ }
495
+ __name(hasNetworkFailureCause, "hasNetworkFailureCause");
438
496
  var TRANSPORT_ERROR_CODES = /* @__PURE__ */ new Set([
439
497
  "EAI_AGAIN",
440
498
  "ECONNABORTED",
@@ -454,6 +512,11 @@ function isAllocatedQuotaExceeded(providerCode) {
454
512
  return providerCode === "Throttling.AllocationQuota";
455
513
  }
456
514
  __name(isAllocatedQuotaExceeded, "isAllocatedQuotaExceeded");
515
+ var PERMANENT_PROVIDER_CODE_PATTERN = /^(?:response[_-]?data[_-]?inspection[_-]?failed|data[_-]?inspection[_-]?failed|content[_-]?filter|invalid[_-]?api[_-]?key|arrearage|insufficient[_-]?quota|model[._-]?access[_-]?denied|invalid[_-]?request[_-]?error|authentication[_-]?error|permission[_-]?error|not[_-]?found[_-]?error|billing[_-]?error|invalid[_-]?parameter(?:[_-]?error)?|context[_-]?length[_-]?exceeded|request[_-]?too[_-]?large)$/i;
516
+ function isPermanentProviderCode(providerCode) {
517
+ return providerCode !== void 0 && PERMANENT_PROVIDER_CODE_PATTERN.test(providerCode);
518
+ }
519
+ __name(isPermanentProviderCode, "isPermanentProviderCode");
457
520
  function getProviderFields(error) {
458
521
  if (typeof error !== "object" || error === null) {
459
522
  return {};
@@ -462,10 +525,16 @@ function getProviderFields(error) {
462
525
  const rawCode = typeof source.code === "string" || typeof source.code === "number" ? String(source.code) : void 0;
463
526
  const isHttpStatusEcho = typeof source.code === "number" && source.code >= 100 && source.code < 600;
464
527
  const providerCode = error instanceof Error && rawCode?.startsWith("ERR_") || isHttpStatusEcho ? void 0 : rawCode;
465
- const requestId = typeof source.request_id === "string" ? source.request_id : typeof source.requestId === "string" ? source.requestId : void 0;
528
+ const requestId = firstNonEmptyString(
529
+ source.request_id,
530
+ source.requestId,
531
+ source.requestID
532
+ );
466
533
  const providerMessage = typeof source.message === "string" && (!(error instanceof Error) || providerCode !== void 0 || requestId !== void 0) ? source.message : void 0;
534
+ const providerType = firstNonEmptyString(source.type);
467
535
  return {
468
536
  ...providerCode !== void 0 ? { providerCode } : {},
537
+ ...providerType !== void 0 ? { providerType } : {},
469
538
  ...providerMessage !== void 0 ? { providerMessage } : {},
470
539
  ...requestId !== void 0 ? { requestId } : {}
471
540
  };
@@ -476,6 +545,19 @@ function isFallbackEligible(classification) {
476
545
  return classification.kind !== "transport" && classification.statusCode !== void 0 && FALLBACK_ELIGIBLE_STATUS_CODES.has(classification.statusCode) && classification.diagnosis !== "fail-fast" && classification.diagnosis !== "unknown";
477
546
  }
478
547
  __name(isFallbackEligible, "isFallbackEligible");
548
+ function isRetryableUpstreamError(error, extraRetryErrorCodes) {
549
+ return isRateLimitError(error, extraRetryErrorCodes) || classifyRetryError(error, { extraRetryErrorCodes }).diagnosis === "retryable";
550
+ }
551
+ __name(isRetryableUpstreamError, "isRetryableUpstreamError");
552
+ function firstNonEmptyString(...values) {
553
+ for (const value of values) {
554
+ if (typeof value === "string" && value) {
555
+ return value;
556
+ }
557
+ }
558
+ return void 0;
559
+ }
560
+ __name(firstNonEmptyString, "firstNonEmptyString");
479
561
 
480
562
  export {
481
563
  isApiError,
@@ -491,7 +573,8 @@ export {
491
573
  getRateLimitRetryDelayMs,
492
574
  classifyRetryError,
493
575
  getTransportCode,
494
- isFallbackEligible
576
+ isFallbackEligible,
577
+ isRetryableUpstreamError
495
578
  };
496
579
  /**
497
580
  * @license
@@ -3,6 +3,12 @@
3
3
  import {
4
4
  V1_INDICATOR_KEYS
5
5
  } from "./chunk-BW4333PP.js";
6
+ import {
7
+ SETTINGS_DIRECTORY_NAME,
8
+ getGlobalQwenDirLite,
9
+ getSystemDefaultsPath,
10
+ getSystemSettingsPath
11
+ } from "./chunk-IDS7MSUP.js";
6
12
  import {
7
13
  DEFAULT_EXCLUDED_ENV_VARS,
8
14
  HOME_ENV_BOOTSTRAP_KEYS,
@@ -11,13 +17,7 @@ import {
11
17
  isPrivateProvenanceEnvKey,
12
18
  publishPendingCompileCache,
13
19
  reportRejectedLoaderKeys
14
- } from "./chunk-VX63RJXE.js";
15
- import {
16
- SETTINGS_DIRECTORY_NAME,
17
- getGlobalQwenDirLite,
18
- getSystemDefaultsPath,
19
- getSystemSettingsPath
20
- } from "./chunk-IDS7MSUP.js";
20
+ } from "./chunk-XX5HQLCZ.js";
21
21
  import {
22
22
  buildTrustPrecedenceRules,
23
23
  require_strip_json_comments,
@@ -335,7 +335,7 @@ function isWorkspaceTrustedFastPath(settings, realWorkspaceDir) {
335
335
  return isPathTrustedFastPath(realWorkspaceDir);
336
336
  }
337
337
  __name(isWorkspaceTrustedFastPath, "isWorkspaceTrustedFastPath");
338
- function readSettingsSummary(filePath) {
338
+ function readSettingsSummary(filePath, includeServe = false) {
339
339
  if (!fs.existsSync(filePath)) return {};
340
340
  let parsed;
341
341
  try {
@@ -350,7 +350,7 @@ function readSettingsSummary(filePath) {
350
350
  `Serve fast path settings file ${filePath} must be a JSON object.`
351
351
  );
352
352
  }
353
- return pickFastPathSettings(parsed);
353
+ return pickFastPathSettings(parsed, includeServe);
354
354
  }
355
355
  __name(readSettingsSummary, "readSettingsSummary");
356
356
  function shouldUseLegacyFastPathKeys(value) {
@@ -365,7 +365,7 @@ function shouldUseLegacyFastPathKeys(value) {
365
365
  });
366
366
  }
367
367
  __name(shouldUseLegacyFastPathKeys, "shouldUseLegacyFastPathKeys");
368
- function pickFastPathSettings(value) {
368
+ function pickFastPathSettings(value, includeServe = false) {
369
369
  const out = {};
370
370
  const useLegacyKeys = shouldUseLegacyFastPathKeys(value);
371
371
  const env = value["env"];
@@ -519,6 +519,13 @@ function pickFastPathSettings(value) {
519
519
  }
520
520
  out.policy = pickedPolicy;
521
521
  }
522
+ const serve = value["serve"];
523
+ if (includeServe && isPlainObject(serve)) {
524
+ const channels = serve["channels"];
525
+ if (channels !== void 0) {
526
+ out.serve = { channels };
527
+ }
528
+ }
522
529
  return out;
523
530
  }
524
531
  __name(pickFastPathSettings, "pickFastPathSettings");
@@ -592,7 +599,15 @@ function loadServeFastPathSettings(workspaceDir) {
592
599
  path.join(getGlobalQwenDirLite(), "settings.json")
593
600
  );
594
601
  const initialTrustCheckSettings = mergeFastPathSettings(system, user);
595
- const isTrusted = isWorkspaceTrustedFastPath(initialTrustCheckSettings, realWorkspaceDir) ?? true;
602
+ const trustDecision = isWorkspaceTrustedFastPath(
603
+ initialTrustCheckSettings,
604
+ realWorkspaceDir
605
+ );
606
+ const isTrusted = trustDecision ?? true;
607
+ const startupChannelsTrusted = isWorkspaceTrustedFastPath(
608
+ mergeFastPathSettings(systemDefaults, user, system),
609
+ realWorkspaceDir
610
+ ) === true;
596
611
  let realHomeDir = resolvedHomeDir;
597
612
  try {
598
613
  realHomeDir = fs.realpathSync(resolvedHomeDir);
@@ -604,9 +619,14 @@ function loadServeFastPathSettings(workspaceDir) {
604
619
  "settings.json"
605
620
  );
606
621
  const workspaceSettingsActive = realWorkspaceDir !== realHomeDir;
607
- const workspaceFromDisk = workspaceSettingsActive ? readSettingsSummary(workspaceSettingsPath) : {};
622
+ const workspaceFromDisk = workspaceSettingsActive ? readSettingsSummary(workspaceSettingsPath, startupChannelsTrusted) : {};
608
623
  const workspace = isTrusted ? workspaceFromDisk : {};
609
624
  const merged = mergeFastPathSettings(systemDefaults, user, workspace, system);
625
+ if (startupChannelsTrusted && workspaceFromDisk.serve) {
626
+ merged.serve = {
627
+ channels: workspaceFromDisk.serve.channels
628
+ };
629
+ }
610
630
  return resolveEnvVarsInObject(
611
631
  merged,
612
632
  getHomeEnvFallbackVarsFastPath()
@@ -7,7 +7,7 @@ import {
7
7
  readPeerControllerRegistrySync,
8
8
  resolveControllerToken,
9
9
  startPeerInbox
10
- } from "./chunk-BZM5U74J.js";
10
+ } from "./chunk-I6JRN375.js";
11
11
  import {
12
12
  InboundGate,
13
13
  MAX_HELD_MESSAGES,
@@ -20,11 +20,11 @@ import {
20
20
  refundSendPacerToken,
21
21
  sendDeliveryStatus,
22
22
  settleSentPeerMessage
23
- } from "./chunk-LK2WUCDQ.js";
23
+ } from "./chunk-YM6KUQ2S.js";
24
24
  import {
25
25
  formatPeerDisplay,
26
26
  formatPeerEnvelope
27
- } from "./chunk-5GLDOLNQ.js";
27
+ } from "./chunk-OWUAZXXN.js";
28
28
  import {
29
29
  createDebugLogger
30
30
  } from "./chunk-ZAFYHRVY.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  SERVE_CONTROL_EXT_METHODS,
5
5
  STATUS_SCHEMA_VERSION
6
- } from "./chunk-HGEUHUEV.js";
6
+ } from "./chunk-54B2LTKP.js";
7
7
  import {
8
8
  WorkspaceDrainingError
9
9
  } from "./chunk-FAWTMDX7.js";
@@ -131,24 +131,40 @@ var WorkspaceRuntimeCoordinator = class {
131
131
  capabilities: { mcp: mcpStatus, skills: skillsStatus }
132
132
  };
133
133
  }
134
- async ensure(timeoutMs = DEFAULT_ENSURE_TIMEOUT_MS) {
134
+ /**
135
+ * `ensure(timeoutMs)` always keep-alive preheats. `ensure({ ... })` skips
136
+ * that preheat on a live runtime unless `skipKeepAlivePreheat` is false or
137
+ * `keepAliveMs` is set. Boot discovery must pass `keepAliveMs` so the
138
+ * already-warm child stays held through `initializeWorkspaceMcp`.
139
+ */
140
+ async ensure(timeoutMsOrOptions = DEFAULT_ENSURE_TIMEOUT_MS) {
141
+ const options = typeof timeoutMsOrOptions === "number" ? { timeoutMs: timeoutMsOrOptions } : timeoutMsOrOptions;
142
+ const timeoutMs = options.timeoutMs ?? DEFAULT_ENSURE_TIMEOUT_MS;
135
143
  this.assertAcceptingWork();
136
144
  const deadline = Date.now() + timeoutMs;
137
- try {
138
- await withTimeout(
139
- this.bridge.preheat({ keepAliveMs: ENSURE_KEEP_ALIVE_MS }),
140
- timeoutMs
141
- );
142
- } catch (error) {
143
- this.assertAcceptingWork(error);
144
- if (error instanceof WorkspaceRuntimeStillStartingError) throw error;
145
- throw new WorkspaceRuntimeInitializationError(error);
145
+ const snapshot = this.bridge.getWorkspaceRuntimeLifecycleSnapshot();
146
+ const skipKeepAlivePreheat = snapshot.runtimeLive && options.keepAliveMs === void 0 && (options.skipKeepAlivePreheat ?? typeof timeoutMsOrOptions !== "number");
147
+ if (!skipKeepAlivePreheat) {
148
+ try {
149
+ await withTimeout(
150
+ this.bridge.preheat({
151
+ keepAliveMs: options.keepAliveMs ?? ENSURE_KEEP_ALIVE_MS
152
+ }),
153
+ timeoutMs
154
+ );
155
+ } catch (error) {
156
+ this.assertAcceptingWork(error);
157
+ if (error instanceof WorkspaceRuntimeStillStartingError) throw error;
158
+ throw new WorkspaceRuntimeInitializationError(error);
159
+ }
146
160
  }
147
161
  this.assertAcceptingWork();
148
162
  const status = this.status();
149
163
  if (!status.runtimeLive) {
150
164
  throw new WorkspaceRuntimeInitializationError(
151
- new Error("ACP preheat completed without a live runtime")
165
+ new Error(
166
+ skipKeepAlivePreheat ? "Runtime is not live after skipping keep-alive preheat" : "ACP preheat completed without a live runtime"
167
+ )
152
168
  );
153
169
  }
154
170
  const skillsReady = status.capabilities?.skills?.state === "ready" && status.capabilities.skills.runtimeEpoch === status.runtimeEpoch;
@@ -571,6 +587,7 @@ function getWorkspaceRuntimeCoordinator(runtime) {
571
587
  __name(getWorkspaceRuntimeCoordinator, "getWorkspaceRuntimeCoordinator");
572
588
 
573
589
  export {
590
+ ENSURE_KEEP_ALIVE_MS,
574
591
  WorkspaceRuntimeStillStartingError,
575
592
  WorkspaceRuntimeInitializationError,
576
593
  supportsWorkspaceRuntimeLifecycle,