@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260718.767a32484

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 (307) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +15 -14
  3. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  4. package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
  5. package/bundled/qc-helper/docs/features/channels/overview.md +66 -17
  6. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  7. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  8. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
  9. package/bundled/qc-helper/docs/qwen-serve.md +77 -46
  10. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  11. package/bundled/review/SKILL.md +163 -403
  12. package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-ZFHA4QEQ.js} +30 -30
  13. package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-YRWOQVQA.js} +44 -44
  14. package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-U2P2IESZ.js} +1423 -487
  15. package/chunks/{agent-Z7NWL6XL.js → agent-GQXX6X5Y.js} +26 -26
  16. package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-3572NBCK.js} +26 -26
  17. package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-Y65DMM64.js} +103 -18
  18. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-WR7I2XON.js} +2 -2
  19. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-B4FUTPHD.js} +2 -44
  20. package/chunks/{bridge-XFKW6S7Q.js → bridge-N5RMGD7G.js} +31 -33
  21. package/chunks/{ca-C2JTT2N5.js → ca-M3GQQ26D.js} +7 -2
  22. package/chunks/channel-worker-group-HZVJKLGX.js +21 -0
  23. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-3WDK4HNS.js} +34 -10
  24. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-U2W6Q5F7.js} +6 -4
  25. package/chunks/{chunk-YYPXHMWO.js → chunk-2XRGFF5K.js} +6 -6
  26. package/chunks/{chunk-ZKMGAFYV.js → chunk-2YSZE74N.js} +2 -2
  27. package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
  28. package/chunks/{chunk-5EBKKSBX.js → chunk-336KPNNV.js} +2 -2
  29. package/chunks/{chunk-Q5GLXH5Q.js → chunk-3CL5SEDT.js} +6 -6
  30. package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
  31. package/chunks/{chunk-CJFNEBYB.js → chunk-3NWYQ7FX.js} +2 -2
  32. package/chunks/{chunk-WIASPMLX.js → chunk-3X2CFOUM.js} +358 -298
  33. package/chunks/{chunk-K7CRWKOE.js → chunk-3YJZ6WNY.js} +5812 -4520
  34. package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
  35. package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
  36. package/chunks/{chunk-TISZXPAX.js → chunk-4HCYNDMG.js} +1 -1
  37. package/chunks/chunk-4JBTZBCW.js +140 -0
  38. package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
  39. package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
  40. package/chunks/{chunk-N6FXRR6P.js → chunk-57RWF6R7.js} +1 -1
  41. package/chunks/chunk-5O34IMY5.js +59 -0
  42. package/chunks/{chunk-5LROA5W4.js → chunk-5QRK2VZG.js} +8 -8
  43. package/chunks/{chunk-7L4XBYVW.js → chunk-632KROVU.js} +10 -3
  44. package/chunks/{chunk-65N2J6V2.js → chunk-64XGKNSI.js} +3 -3
  45. package/chunks/{chunk-P6LART6G.js → chunk-66IT3EY2.js} +1059 -129
  46. package/chunks/{chunk-FXMC7SL2.js → chunk-6ITLKEOZ.js} +3 -3
  47. package/chunks/{chunk-F7NXQH4Y.js → chunk-6YIRYY3P.js} +1 -1
  48. package/chunks/{chunk-GGJII3FM.js → chunk-6Z5NRZVU.js} +92 -3
  49. package/chunks/{chunk-DPFBNG72.js → chunk-AEKYFMYE.js} +1 -1
  50. package/chunks/{chunk-2UUAIFQO.js → chunk-ANRANWVE.js} +9 -1
  51. package/chunks/{chunk-SXU3KKNI.js → chunk-ATJ7H5AS.js} +419 -76
  52. package/chunks/{chunk-6GETGQWP.js → chunk-C5NSOSF4.js} +64 -18
  53. package/chunks/{chunk-TQBODCFD.js → chunk-CMVFTMRD.js} +251 -3
  54. package/chunks/{chunk-DK33QJ3V.js → chunk-CZSAIBUB.js} +733 -14
  55. package/chunks/{chunk-3MX7D6QN.js → chunk-DASWPKXR.js} +32 -4
  56. package/chunks/{chunk-JSJFKYWT.js → chunk-DPSHAB47.js} +2 -2
  57. package/chunks/{chunk-7MJAZMXK.js → chunk-ECZFTRTP.js} +29 -78
  58. package/chunks/{chunk-H3FQOPPS.js → chunk-EKG3BHQY.js} +4 -4
  59. package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
  60. package/chunks/{chunk-EQY6POVO.js → chunk-F5XYN5VF.js} +2 -2
  61. package/chunks/chunk-FEOZBUMT.js +77 -0
  62. package/chunks/{chunk-L62SEJWY.js → chunk-FHUXCRAF.js} +4 -4
  63. package/chunks/{chunk-OFEVHGVU.js → chunk-FSJGBUQI.js} +818 -31
  64. package/chunks/{chunk-FBU7WRZI.js → chunk-FUTHTZVV.js} +1 -1
  65. package/chunks/{chunk-ZRKBI3DP.js → chunk-FZRES4GK.js} +1 -1
  66. package/chunks/{chunk-OKAIGAYW.js → chunk-G274ETR6.js} +3 -3
  67. package/chunks/{chunk-6GKMJPOC.js → chunk-GA3WUOO7.js} +5 -5
  68. package/chunks/{chunk-X362TMXZ.js → chunk-GAQOQMHY.js} +8 -6
  69. package/chunks/{chunk-WLXYAKV7.js → chunk-GG6RSNWS.js} +9 -4
  70. package/chunks/{chunk-CEW4HDPK.js → chunk-GUNTLALV.js} +2484 -362
  71. package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
  72. package/chunks/{chunk-RDRVMDWV.js → chunk-HIMIG6PI.js} +11 -11
  73. package/chunks/{chunk-MO7O5722.js → chunk-HQXQCIT2.js} +45 -5
  74. package/chunks/{chunk-LTNI523B.js → chunk-HT7L5FCZ.js} +28 -5
  75. package/chunks/{chunk-7NAWTFVY.js → chunk-IENO2YAT.js} +3 -3
  76. package/chunks/{chunk-3XJFUTNM.js → chunk-IK5TYYVR.js} +59 -12
  77. package/chunks/{chunk-AAR5SGMD.js → chunk-IVKLDHU6.js} +7 -5
  78. package/chunks/{chunk-6W6DI34P.js → chunk-IX7O5WI3.js} +180 -8
  79. package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
  80. package/chunks/{chunk-SPUYQB4T.js → chunk-JBAQ5BYX.js} +1 -1
  81. package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
  82. package/chunks/chunk-JDIUK2Y3.js +226 -0
  83. package/chunks/{chunk-L37RC7MQ.js → chunk-JUVTV4NF.js} +1 -1
  84. package/chunks/{chunk-WDWJ4OQJ.js → chunk-K2GBHL73.js} +4 -4
  85. package/chunks/{chunk-HHEFI4RP.js → chunk-KEVDWH3U.js} +857 -137
  86. package/chunks/{chunk-YU56QGXX.js → chunk-KTKETHMY.js} +1 -1
  87. package/chunks/{chunk-WDW64OW3.js → chunk-LGY7PG7Q.js} +5 -5
  88. package/chunks/{chunk-E67NFMF4.js → chunk-LKR7QQ63.js} +37 -3
  89. package/chunks/{chunk-4YWLED2A.js → chunk-LSFVUGXT.js} +9 -6
  90. package/chunks/{chunk-W34A5MJH.js → chunk-LTD3CHGS.js} +1 -1
  91. package/chunks/chunk-LXXMOYPL.js +22 -0
  92. package/chunks/{chunk-BBNVFRGD.js → chunk-MI2V6IWU.js} +1 -1
  93. package/chunks/{chunk-UFOKA4PR.js → chunk-O2K6BLPZ.js} +114 -4
  94. package/chunks/{chunk-B5I2IIWY.js → chunk-OBYAX5QZ.js} +6 -6
  95. package/chunks/{chunk-V7EQTZYR.js → chunk-OCQ2QTFJ.js} +203 -47
  96. package/chunks/{chunk-VBRRNQB7.js → chunk-OPVIKLKK.js} +112 -25
  97. package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
  98. package/chunks/{chunk-TTUO4DNG.js → chunk-OXOEOOQU.js} +126 -734
  99. package/chunks/{chunk-4FMG7EDJ.js → chunk-PWYLF7SS.js} +79 -16
  100. package/chunks/chunk-QFEY6OXH.js +45 -0
  101. package/chunks/{chunk-YX4LLZ3D.js → chunk-QPRDXJIC.js} +115 -40
  102. package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
  103. package/chunks/{chunk-XLIRF7IK.js → chunk-S4N3G4BB.js} +1 -1
  104. package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
  105. package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
  106. package/chunks/{chunk-PZL23GTM.js → chunk-T3W4SDRB.js} +2 -0
  107. package/chunks/chunk-T4TZQJ7W.js +48 -0
  108. package/chunks/{chunk-K4PZ5F5T.js → chunk-TVYM3Q3J.js} +101 -8
  109. package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
  110. package/chunks/{chunk-6OATMEYN.js → chunk-U2LNTX56.js} +12 -4
  111. package/chunks/{chunk-422XAKCK.js → chunk-U2XBPBO3.js} +4 -3
  112. package/chunks/{chunk-LNUXFLLJ.js → chunk-U4FJ26D2.js} +54 -6
  113. package/chunks/{chunk-ZQTZXVHP.js → chunk-U6OPT4H2.js} +4 -18
  114. package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
  115. package/chunks/{chunk-CUUXANEQ.js → chunk-URP6O2PP.js} +6 -1
  116. package/chunks/{chunk-GDQQRV43.js → chunk-V2FRLYHN.js} +3 -3
  117. package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
  118. package/chunks/{chunk-TXY2C3D2.js → chunk-VNN3JNYT.js} +1 -1
  119. package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
  120. package/chunks/{chunk-WX6SD4IQ.js → chunk-WEPXQKGP.js} +1 -1
  121. package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
  122. package/chunks/{chunk-URU5UEK6.js → chunk-XA7OKDWM.js} +135 -68
  123. package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
  124. package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
  125. package/chunks/{chunk-OATTJGPJ.js → chunk-Y72B36CP.js} +7 -7
  126. package/chunks/{chunk-ZPAHLFZU.js → chunk-Z2LBNX3R.js} +2 -2
  127. package/chunks/{chunk-XXJKGHZV.js → chunk-ZTSDZQZO.js} +131 -4
  128. package/chunks/{computer-use-IYTX45WA.js → computer-use-UIFBH25Y.js} +26 -26
  129. package/chunks/{config-utils-CFT33LTP.js → config-utils-2LHI7JXU.js} +3 -3
  130. package/chunks/{contextCommand-272V77WU.js → contextCommand-VGZHKEH2.js} +28 -28
  131. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-DIJOV6HV.js} +2 -2
  132. package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-OFVI4H6I.js} +26 -26
  133. package/chunks/{cron-create-36TIFKRT.js → cron-create-34GVLSW5.js} +4 -4
  134. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-NMVKUL45.js} +4 -4
  135. package/chunks/{cron-list-4533T2FH.js → cron-list-277ZOR7L.js} +4 -4
  136. package/chunks/{daemon-RNGFPMAB.js → daemon-72MEV3TY.js} +361 -84
  137. package/chunks/daemon-status-provider-ZJJ6AOG2.js +75 -0
  138. package/chunks/{de-2VCDRDGU.js → de-56TMDIKS.js} +7 -2
  139. package/chunks/{dist-3V3ZV6ML.js → dist-4W3UGU2A.js} +1 -1
  140. package/chunks/{dist-HNN7DR2L.js → dist-G6QCGO2K.js} +58 -30
  141. package/chunks/{dist-ERCPDVA6.js → dist-ILVRL322.js} +4 -51
  142. package/chunks/{dist-PHEPJLXD.js → dist-KEZ5JWH4.js} +2 -2
  143. package/chunks/{dist-JZE7F6YR.js → dist-LQHDHBPP.js} +1 -1
  144. package/chunks/{dist-MOEC47TR.js → dist-SVHAGOLN.js} +1 -1
  145. package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-NPF4PVUE.js} +27 -27
  146. package/chunks/{edit-OMAF2QDR.js → edit-F7CT6NZH.js} +27 -27
  147. package/chunks/{en-NJCA3TAA.js → en-AXS2N62H.js} +12 -3
  148. package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-Z4ET3MZL.js} +26 -26
  149. package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-VYR7T5NX.js} +27 -29
  150. package/chunks/{environment-7TEWMJYN.js → environment-MBTXL57Q.js} +28 -28
  151. package/chunks/{errors-I4VKVX3F.js → errors-HN36J4FR.js} +28 -28
  152. package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-RU7JYFMF.js} +26 -26
  153. package/chunks/exitPlanMode-LUBAWMZQ.js +390 -0
  154. package/chunks/{fast-path-ZA57TOH4.js → fast-path-RFT3CDNZ.js} +2 -2
  155. package/chunks/{fr-5F3E7WKD.js → fr-ZJPE5OVN.js} +7 -2
  156. package/chunks/{gemini-UOAKVXBG.js → gemini-37NTNKZF.js} +215 -231
  157. package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-76HNOYNQ.js} +5 -5
  158. package/chunks/{glob-4GJQ2UFF.js → glob-DWD7JCZE.js} +32 -27
  159. package/chunks/{grep-5QSYXF2E.js → grep-NJRXFV5C.js} +32 -27
  160. package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-7GBDXW6U.js} +30 -30
  161. package/chunks/{i18n-CYDUTF6F.js → i18n-MYD5VGED.js} +27 -27
  162. package/chunks/{initializer-NRFKUGIO.js → initializer-4DHPNAZG.js} +32 -32
  163. package/chunks/{installationInfo-WELKRHHE.js → installationInfo-RWOW6BZO.js} +27 -27
  164. package/chunks/{ja-66J6B53L.js → ja-57GG4QSL.js} +7 -2
  165. package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
  166. package/chunks/{list-JVDXEG2E.js → list-MMCNNHE7.js} +34 -34
  167. package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-UK4JWPYU.js} +31 -31
  168. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-KCLY4XQM.js} +5 -5
  169. package/chunks/{ls-RXNIAQDE.js → ls-UNI4LAJ3.js} +4 -4
  170. package/chunks/{lsp-HB5LM5IL.js → lsp-HPACPJAN.js} +2 -2
  171. package/chunks/{mcp-YHOZN3ZM.js → mcp-AFCVA4UV.js} +31 -31
  172. package/chunks/{monitor-R7XZPJHQ.js → monitor-RK637BNO.js} +28 -27
  173. package/chunks/nonInteractiveCli-OUGWLHNV.js +129 -0
  174. package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-LY2X3CMF.js} +27 -27
  175. package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-MDYDW7IA.js} +14 -14
  176. package/chunks/{pidfile-XE4RRR2P.js → pidfile-2NUYRLKB.js} +27 -27
  177. package/chunks/processUtils-7QH3VBVN.js +29 -0
  178. package/chunks/{pt-TFZO5Y6T.js → pt-MCGZ3RZ4.js} +7 -2
  179. package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-3HT4TVDL.js} +28 -28
  180. package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-3A4TJVZT.js} +5 -5
  181. package/chunks/{read-file-XSUWXSR7.js → read-file-NE4FREFR.js} +10 -10
  182. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-C6NT52T6.js} +2 -2
  183. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-ENCU7QCL.js} +2 -2
  184. package/chunks/{ripGrep-APB3CDMU.js → ripGrep-DBLXWQCJ.js} +26 -26
  185. package/chunks/{ru-4L4LFHIT.js → ru-GA3NZW5Q.js} +7 -2
  186. package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-3NOCI6IL.js} +63 -39
  187. package/chunks/{runtime-EIO3NQKR.js → runtime-ZI7DSZSS.js} +35 -35
  188. package/chunks/{scheduler-JJDZBDRN.js → scheduler-SOVEP5K7.js} +26 -26
  189. package/chunks/{send-message-SR4WSXP2.js → send-message-5IFPZTPE.js} +3 -3
  190. package/chunks/{serve-WTIPB3EI.js → serve-DB6OCXIA.js} +31 -31
  191. package/chunks/{server-NJPHQHLH.js → server-LDY4YVU4.js} +2257 -648
  192. package/chunks/{session-O4AO7FTS.js → session-D6OG5SKX.js} +99 -72
  193. package/chunks/{settings-HQNDK7TG.js → settings-L52ZV5LO.js} +30 -30
  194. package/chunks/{shell-UIXM6PWG.js → shell-IU27OY3Q.js} +28 -26
  195. package/chunks/{skill-3XMB4ULV.js → skill-BSOJT7LE.js} +12 -12
  196. package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-HQAM25DD.js} +28 -29
  197. package/chunks/{src-USZKPUOC.js → src-7ZBIMTJZ.js} +130 -51
  198. package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-77457VVK.js} +28 -28
  199. package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-S7WC6EZG.js} +2310 -1835
  200. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-ULOVVLY4.js} +3 -3
  201. package/chunks/{task-create-NUFOHU53.js → task-create-V2DCDSET.js} +7 -7
  202. package/chunks/{task-list-Z2IKQY3S.js → task-list-DPL5ZN55.js} +5 -5
  203. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-CPEQWOT6.js} +2 -2
  204. package/chunks/{task-update-HKADXSTD.js → task-update-ZR45M5Q7.js} +7 -7
  205. package/chunks/{team-create-XXPRF3IQ.js → team-create-CO7HSUON.js} +26 -26
  206. package/chunks/{team-delete-SDNTGZLG.js → team-delete-HIWXCWJU.js} +5 -5
  207. package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-QDZF5YZY.js} +26 -26
  208. package/chunks/{theme-manager-P6UITO2L.js → theme-manager-UTUT3I4P.js} +27 -27
  209. package/chunks/todoWrite-HK6B3RHJ.js +358 -0
  210. package/chunks/{tool-search-DDNGK2LR.js → tool-search-2UUORA35.js} +11 -11
  211. package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-NTWG6G3F.js} +32 -34
  212. package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-YF37ZCN5.js} +27 -27
  213. package/chunks/update-relaunch-QFNHPMZZ.js +87 -0
  214. package/chunks/{updateCheck-QTVVISH7.js → updateCheck-B6O42VMD.js} +30 -28
  215. package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-SCIWJ4CX.js} +65 -65
  216. package/chunks/{version-U45RYOSD.js → version-7DA6LAI3.js} +1 -1
  217. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-B62SJXM2.js} +5 -6
  218. package/chunks/{workflow-TCIAQYOA.js → workflow-Q5WG4THP.js} +27 -27
  219. package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-WWLAGWQW.js} +34 -34
  220. package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-BVYQVY2H.js} +1 -1
  221. package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-OD7ACADD.js} +32 -34
  222. package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-4LYJWS63.js} +37 -38
  223. package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-P2AQLZZS.js} +32 -32
  224. package/chunks/{write-file-JGRQR5VM.js → write-file-TEPGXNM3.js} +60 -27
  225. package/chunks/{zh-FSAH32JB.js → zh-E34DZ2S3.js} +12 -3
  226. package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-PEI2ZWUR.js} +12 -3
  227. package/cli-entry.js +92 -8
  228. package/cli.js +11 -11
  229. package/locales/ca.js +12 -2
  230. package/locales/de.js +12 -2
  231. package/locales/en.js +20 -5
  232. package/locales/fr.js +12 -2
  233. package/locales/ja.js +12 -2
  234. package/locales/pt.js +12 -2
  235. package/locales/ru.js +12 -2
  236. package/locales/zh-TW.js +19 -3
  237. package/locales/zh.js +19 -3
  238. package/package.json +3 -3
  239. package/web-shell/assets/{arc-CUeDlxvE.js → arc-Dh-N5oEG.js} +1 -1
  240. package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-DBOQgtfF.js} +1 -1
  241. package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-Dyxbuyju.js} +1 -1
  242. package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-DCJR5HPT.js} +1 -1
  243. package/web-shell/assets/channel-DY0fkcKT.js +1 -0
  244. package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-BkMUcy3O.js} +1 -1
  245. package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-BSm4pLQk.js} +1 -1
  246. package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-CuRr-XgW.js} +1 -1
  247. package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-CLv7-w3t.js} +1 -1
  248. package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-Cz_n3-JW.js} +1 -1
  249. package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-CFT_62Hq.js} +1 -1
  250. package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DWz6DOZ6.js} +1 -1
  251. package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-C-mRhUzw.js} +1 -1
  252. package/web-shell/assets/classDiagram-4FO5ZUOK-DBvJ6PZo.js +1 -0
  253. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBvJ6PZo.js +1 -0
  254. package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-BqCZS3i1.js} +1 -1
  255. package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-BGasdP8i.js} +1 -1
  256. package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-BSyLDkMy.js} +1 -1
  257. package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-CM-ZJxWC.js} +1 -1
  258. package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-wJdzt_C5.js} +1 -1
  259. package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DiH2fhpL.js} +1 -1
  260. package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-BZ9z1ZBl.js} +1 -1
  261. package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-BsyWDziR.js} +1 -1
  262. package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-CzdkxIrq.js} +1 -1
  263. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-javIv2r2.js} +1 -1
  264. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-CjHstylC.js} +1 -1
  265. package/web-shell/assets/{index-DzHwQkQq.js → index-BnJGxpah.js} +1 -1
  266. package/web-shell/assets/index-DhXB9nTa.js +1161 -0
  267. package/web-shell/assets/index-vYHgZ7bL.css +5 -0
  268. package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-yXuQsomo.js} +1 -1
  269. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-a85JhE6F.js} +1 -1
  270. package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-Dak_4BVj.js} +1 -1
  271. package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-COA-LuCV.js} +1 -1
  272. package/web-shell/assets/{linear-atZRE_L2.js → linear-DNAAAQWq.js} +1 -1
  273. package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-7Ff3aIUD.js} +5 -5
  274. package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-_rCOIODU.js} +1 -1
  275. package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-C9QCQ8EW.js} +1 -1
  276. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CsaE4FA8.js} +1 -1
  277. package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-tV78naTg.js} +1 -1
  278. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Dk3Rw7BZ.js} +1 -1
  279. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-BGsAWcMX.js} +1 -1
  280. package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-zSxdtdoB.js} +1 -1
  281. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-vLEEtDpO.js +1 -0
  282. package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-j0BQh9Go.js} +1 -1
  283. package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-CRaUFFIu.js} +1 -1
  284. package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-D7Py_ofm.js} +1 -1
  285. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-BrDIAZcp.js} +1 -1
  286. package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-Cecdw-w2.js} +1 -1
  287. package/web-shell/index.html +2 -2
  288. package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
  289. package/chunks/chunk-2HRYPZT5.js +0 -25
  290. package/chunks/chunk-B7NUUEXC.js +0 -311
  291. package/chunks/chunk-CARU2RR2.js +0 -24
  292. package/chunks/chunk-GYTKQYDB.js +0 -23
  293. package/chunks/chunk-LQU7EVFA.js +0 -30
  294. package/chunks/chunk-OCPBI7J5.js +0 -18
  295. package/chunks/chunk-OJAMDVF5.js +0 -66
  296. package/chunks/chunk-QAW7PIHT.js +0 -168
  297. package/chunks/chunk-TEGEBB2I.js +0 -122
  298. package/chunks/daemon-status-provider-L4STG5VO.js +0 -76
  299. package/chunks/exitPlanMode-IHCJ5EEI.js +0 -909
  300. package/chunks/nonInteractiveCli-NSOB6D74.js +0 -129
  301. package/chunks/todoWrite-YNXB27GB.js +0 -531
  302. package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
  303. package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
  304. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
  305. package/web-shell/assets/index-Cnvv4VcI.css +0 -5
  306. package/web-shell/assets/index-D1Uyklxa.js +0 -1088
  307. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  Storage
5
- } from "./chunk-7NFB7LBQ.js";
5
+ } from "./chunk-UE5TZ55T.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-YUZI3WAC.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-K7CRWKOE.js";
8
+ } from "./chunk-3YJZ6WNY.js";
9
9
  import {
10
10
  Storage
11
- } from "./chunk-7NFB7LBQ.js";
11
+ } from "./chunk-UE5TZ55T.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -267,15 +267,15 @@ var MUST_TRANSLATE_KEYS = [
267
267
 
268
268
  // import("./locales/**/*.js") in packages/cli/src/i18n/index.ts
269
269
  var globImport_locales_js = __glob({
270
- "./locales/ca.js": () => import("./ca-C2JTT2N5.js"),
271
- "./locales/de.js": () => import("./de-2VCDRDGU.js"),
272
- "./locales/en.js": () => import("./en-NJCA3TAA.js"),
273
- "./locales/fr.js": () => import("./fr-5F3E7WKD.js"),
274
- "./locales/ja.js": () => import("./ja-66J6B53L.js"),
275
- "./locales/pt.js": () => import("./pt-TFZO5Y6T.js"),
276
- "./locales/ru.js": () => import("./ru-4L4LFHIT.js"),
277
- "./locales/zh-TW.js": () => import("./zh-TW-D2YIE2LO.js"),
278
- "./locales/zh.js": () => import("./zh-FSAH32JB.js")
270
+ "./locales/ca.js": () => import("./ca-M3GQQ26D.js"),
271
+ "./locales/de.js": () => import("./de-56TMDIKS.js"),
272
+ "./locales/en.js": () => import("./en-AXS2N62H.js"),
273
+ "./locales/fr.js": () => import("./fr-ZJPE5OVN.js"),
274
+ "./locales/ja.js": () => import("./ja-57GG4QSL.js"),
275
+ "./locales/pt.js": () => import("./pt-MCGZ3RZ4.js"),
276
+ "./locales/ru.js": () => import("./ru-GA3NZW5Q.js"),
277
+ "./locales/zh-TW.js": () => import("./zh-TW-PEI2ZWUR.js"),
278
+ "./locales/zh.js": () => import("./zh-E34DZ2S3.js")
279
279
  });
280
280
 
281
281
  // packages/cli/src/i18n/index.ts
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-RXFQM6FQ.js";
6
6
  import {
7
7
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
8
- } from "./chunk-PZL23GTM.js";
8
+ } from "./chunk-T3W4SDRB.js";
9
9
  import {
10
10
  require_lib
11
11
  } from "./chunk-WBL3FJEU.js";
@@ -16213,6 +16213,13 @@ var PathMutexRegistry = class {
16213
16213
  }
16214
16214
  };
16215
16215
 
16216
+ // packages/cli/src/serve/health-query.ts
16217
+ init_esbuild_shims();
16218
+ function isDeepHealthQuery(raw) {
16219
+ return raw === "1" || raw === "true" || raw === "";
16220
+ }
16221
+ __name(isDeepHealthQuery, "isDeepHealthQuery");
16222
+
16216
16223
  // packages/cli/src/serve/web-shell-resolver.ts
16217
16224
  init_esbuild_shims();
16218
16225
  import { existsSync } from "node:fs";
@@ -16528,6 +16535,14 @@ var SERVE_CAPABILITY_REGISTRY = {
16528
16535
  // the underlying ACP method from unstable_resumeSession to resumeSession.
16529
16536
  unstable_session_resume: { since: "v1" },
16530
16537
  session_list: { since: "v1" },
16538
+ // Aggregate persisted session counts via
16539
+ // `GET /workspace/:id/session-info` (and the plural
16540
+ // `/workspaces/:workspace/session-info` twin). Performs a disk scan of
16541
+ // local JSONL files — advertised so clients can discover it, but the
16542
+ // response itself marks `expensive: true` / `cost: "disk_scan"` and
16543
+ // must not be polled in a tight loop.
16544
+ session_info: { since: "v1" },
16545
+ session_source_metadata: { since: "v1" },
16531
16546
  session_prompt: { since: "v1" },
16532
16547
  session_cancel: { since: "v1" },
16533
16548
  session_events: { since: "v1" },
@@ -16584,6 +16599,7 @@ var SERVE_CAPABILITY_REGISTRY = {
16584
16599
  session_organization: { since: "v1" },
16585
16600
  session_export: { since: "v1" },
16586
16601
  session_transcript: { since: "v1" },
16602
+ session_transcript_pagination: { since: "v1" },
16587
16603
  // Daemon supports the MCP client guardrail surface: an in-process
16588
16604
  // counter exposed on `GET /workspace/mcp`, a `--mcp-client-budget=N`
16589
16605
  // flag with `--mcp-budget-mode={enforce, warn, off}`, and a
@@ -16631,6 +16647,7 @@ var SERVE_CAPABILITY_REGISTRY = {
16631
16647
  // (`tools.disabled` is consulted at `Config` construction time).
16632
16648
  workspace_tool_toggle: { since: "v1" },
16633
16649
  workspace_skill_toggle: { since: "v1" },
16650
+ workspace_skill_manage: { since: "v1" },
16634
16651
  workspace_settings: { since: "v1" },
16635
16652
  // `GET /workspace/permissions` is always available when this tag is
16636
16653
  // advertised. `POST /workspace/permissions` updates the active ACP
@@ -16676,6 +16693,9 @@ var SERVE_CAPABILITY_REGISTRY = {
16676
16693
  // may be `null` for too-short histories or transient model failures
16677
16694
  // (best-effort, never throws). SDK helper: `DaemonClient.recapSession`.
16678
16695
  session_recap: { since: "v1" },
16696
+ // `POST /session/:id/generate` streams a stateless, tool-free model call.
16697
+ // The ACP child prefers fastModel and falls back to the main session model.
16698
+ session_generation: { since: "v1" },
16679
16699
  // Side question (/btw) against the session's conversation context.
16680
16700
  // Single-turn, tool-free LLM call via runForkedAgent (cache path).
16681
16701
  session_btw: { since: "v1" },
@@ -16758,8 +16778,8 @@ var SERVE_CAPABILITY_REGISTRY = {
16758
16778
  // Runtime GET/PUT/DELETE control for daemon-managed channel selection.
16759
16779
  // The route exists even when no selection was supplied at daemon boot.
16760
16780
  channel_control: { since: "v1" },
16761
- // Multi-workspace sessions closed loop (issue #6378 Phase 2a). Advertised
16762
- // only when one daemon hosts more than one registered workspace runtime.
16781
+ // Multi-workspace session routing. Advertised only when one daemon hosts
16782
+ // more than one registered workspace runtime.
16763
16783
  multi_workspace_sessions: { since: "v1" },
16764
16784
  // Singular session rewind routes resolve the owning live workspace runtime.
16765
16785
  multi_workspace_session_rewind: { since: "v1" },
@@ -16793,6 +16813,10 @@ var SERVE_CAPABILITY_REGISTRY = {
16793
16813
  // This is separate from `session_export` so clients do not infer the plural
16794
16814
  // route from the legacy primary-workspace export capability.
16795
16815
  workspace_session_export: { since: "v1" },
16816
+ // Workspace-qualified full session export from archived persisted storage.
16817
+ // This remains independent from active export so older daemons cannot ignore
16818
+ // archive intent and return an active transcript with the same session id.
16819
+ workspace_archived_session_export: { since: "v1" },
16796
16820
  // Workspace-qualified ACP transport (issue #6378 Phase 4):
16797
16821
  // `/workspaces/:workspace/acp` mounts a per-runtime ACP dispatcher (HTTP +
16798
16822
  // WebSocket) for each registered workspace, with per-runtime device-flow and
@@ -16859,6 +16883,10 @@ var CONDITIONAL_SERVE_FEATURES = /* @__PURE__ */ new Map([
16859
16883
  "session_artifacts_persistence",
16860
16884
  (toggles) => toggles.sessionArtifactsPersistenceAvailable === true
16861
16885
  ],
16886
+ [
16887
+ "session_generation",
16888
+ (toggles) => toggles.sessionGenerationAvailable === true
16889
+ ],
16862
16890
  ["rate_limit", (toggles) => toggles.rateLimit === true],
16863
16891
  ["workspace_reload", (toggles) => toggles.reloadAvailable === true],
16864
16892
  ["channel_reload", (toggles) => toggles.channelReloadAvailable === true],
@@ -16968,10 +16996,20 @@ var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set([
16968
16996
  var CLIENT_ID_HEADER = "x-qwen-client-id";
16969
16997
  var MAX_CLIENT_ID_LENGTH = 128;
16970
16998
  var MAX_TOOL_NAME_LENGTH = 256;
16971
- var MAX_SKILL_NAME_LENGTH = 256;
16972
16999
  var MAX_SERVER_NAME_LENGTH = 256;
16973
17000
  var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
16974
17001
  var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
17002
+ var deferredRuntimeTimingKey = Symbol(
17003
+ "deferredRuntimeRequestTiming"
17004
+ );
17005
+ function setDeferredRuntimeRequestTiming(req, timing) {
17006
+ req[deferredRuntimeTimingKey] = timing;
17007
+ }
17008
+ __name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
17009
+ function getDeferredRuntimeRequestTiming(req) {
17010
+ return req[deferredRuntimeTimingKey];
17011
+ }
17012
+ __name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
16975
17013
  function safeBody(req) {
16976
17014
  const raw = req.body;
16977
17015
  if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
@@ -18222,6 +18260,7 @@ export {
18222
18260
  DeviceFlowRegistry,
18223
18261
  createBridgeFileSystemAdapter,
18224
18262
  PathMutexRegistry,
18263
+ isDeepHealthQuery,
18225
18264
  resolveWebShellDir,
18226
18265
  denyBrowserOriginCors,
18227
18266
  parseAllowOriginPatterns,
@@ -18239,9 +18278,10 @@ export {
18239
18278
  CLIENT_ID_HEADER,
18240
18279
  MAX_CLIENT_ID_LENGTH,
18241
18280
  MAX_TOOL_NAME_LENGTH,
18242
- MAX_SKILL_NAME_LENGTH,
18243
18281
  MAX_SERVER_NAME_LENGTH,
18244
18282
  CLIENT_ID_RE,
18283
+ setDeferredRuntimeRequestTiming,
18284
+ getDeferredRuntimeRequestTiming,
18245
18285
  safeBody,
18246
18286
  parseOptionalWorkspaceCwd,
18247
18287
  requireSessionId,
@@ -2,10 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  functionResponsePartsToString
5
- } from "./chunk-YX4LLZ3D.js";
5
+ } from "./chunk-QPRDXJIC.js";
6
6
  import {
7
7
  parseAndFormatApiError
8
- } from "./chunk-K7CRWKOE.js";
8
+ } from "./chunk-3YJZ6WNY.js";
9
+ import {
10
+ formatVisionBridgeNoticeDisplay,
11
+ isVisionBridgeNoticeDisplay
12
+ } from "./chunk-66IT3EY2.js";
9
13
  import {
10
14
  init_esbuild_shims
11
15
  } from "./chunk-5O2XNYP6.js";
@@ -792,7 +796,7 @@ ${event.value}`, null);
792
796
  * to emit stream events when includePartialMessages is enabled.
793
797
  *
794
798
  * @param _request - Tool call request info
795
- * @param _progress - Structured MCP progress data
799
+ * @param _progress - Structured MCP progress data or shell liveness heartbeat
796
800
  */
797
801
  emitToolProgress(_request, _progress) {
798
802
  }
@@ -921,13 +925,32 @@ function checkResponsePartsForError(responseParts) {
921
925
  }
922
926
  __name(checkResponsePartsForError, "checkResponsePartsForError");
923
927
  function toolResultContent(response) {
924
- if (response.error) {
925
- return response.error.message;
928
+ if (isVisionBridgeNoticeDisplay(response.resultDisplay)) {
929
+ const notice = formatVisionBridgeNoticeDisplay(response.resultDisplay);
930
+ if (response.error) {
931
+ return `${notice}
932
+ ${response.error.message}`;
933
+ }
934
+ const responsePartsError2 = checkResponsePartsForError(
935
+ response.responseParts
936
+ );
937
+ if (responsePartsError2) {
938
+ return `${notice}
939
+ ${responsePartsError2}`;
940
+ }
941
+ if (response.responseParts && response.responseParts.length > 0) {
942
+ return `${notice}
943
+ ${functionResponsePartsToString(response.responseParts)}`;
944
+ }
945
+ return notice;
926
946
  }
927
947
  const responsePartsError = checkResponsePartsForError(response.responseParts);
928
948
  if (responsePartsError) {
929
949
  return responsePartsError;
930
950
  }
951
+ if (response.error) {
952
+ return response.error.message;
953
+ }
931
954
  if (typeof response.resultDisplay === "string" && response.resultDisplay.trim().length > 0) {
932
955
  return response.resultDisplay;
933
956
  }
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  createTask
5
- } from "./chunk-KKRTYONM.js";
5
+ } from "./chunk-XSPFQQRE.js";
6
6
  import {
7
7
  getPlanRequiredTeammatePreApprovalMessage,
8
8
  isPlanRequiredTeammateAwaitingApproval
9
- } from "./chunk-TXY2C3D2.js";
9
+ } from "./chunk-VNN3JNYT.js";
10
10
  import {
11
11
  resolveActiveTeamName
12
12
  } from "./chunk-6AM5D4ME.js";
@@ -15,7 +15,7 @@ import {
15
15
  BaseToolInvocation,
16
16
  ToolDisplayNames,
17
17
  ToolNames
18
- } from "./chunk-2UUAIFQO.js";
18
+ } from "./chunk-ANRANWVE.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -2,25 +2,31 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-CEW4HDPK.js";
5
+ } from "./chunk-GUNTLALV.js";
6
+ import {
7
+ CUSTOM_SANDBOX_IMAGE_ENV_VAR,
8
+ HOST_UPDATE_RELAUNCH_ENV_VAR,
9
+ SKIP_UPDATE_CHECK_ENV_VAR,
10
+ requestUpdateOnExit
11
+ } from "./chunk-5O34IMY5.js";
6
12
  import {
7
13
  require_undici
8
14
  } from "./chunk-L573Z2QZ.js";
9
15
  import {
10
16
  IdeClient,
11
17
  getAllProviderBaseUrls
12
- } from "./chunk-K7CRWKOE.js";
18
+ } from "./chunk-3YJZ6WNY.js";
13
19
  import {
14
20
  initializeTelemetry
15
- } from "./chunk-P6LART6G.js";
21
+ } from "./chunk-66IT3EY2.js";
16
22
  import {
17
23
  detectRuntime,
18
24
  getOrCreateSharedDispatcher,
19
25
  redactProxyCredentials
20
- } from "./chunk-LQIDP6K5.js";
26
+ } from "./chunk-4CHDYDG3.js";
21
27
  import {
22
28
  createDebugLogger
23
- } from "./chunk-7NFB7LBQ.js";
29
+ } from "./chunk-UE5TZ55T.js";
24
30
  import {
25
31
  recordStartupEvent
26
32
  } from "./chunk-QSWDGAIC.js";
@@ -218,18 +224,20 @@ __name(startEarlyStartupPrefetches, "startEarlyStartupPrefetches");
218
224
  function startPostRenderPrefetches(config, settings, options = {}) {
219
225
  if (postRenderStarted.has(config)) return;
220
226
  postRenderStarted.add(config);
221
- if (settings.merged.general?.enableAutoUpdate !== false) {
227
+ if (settings.merged.general?.enableAutoUpdate !== false && process.env[SKIP_UPDATE_CHECK_ENV_VAR] !== "true" && !process.env[CUSTOM_SANDBOX_IMAGE_ENV_VAR]) {
222
228
  runDeferredTask("update_check", async () => {
223
229
  const [
224
230
  { checkForUpdatesDetailed },
225
231
  { handleAutoUpdate },
232
+ { getInstallationInfo },
226
233
  { updateEventEmitter },
227
234
  { t }
228
235
  ] = await Promise.all([
229
- import("./updateCheck-QTVVISH7.js"),
230
- import("./handleAutoUpdate-ULHNWL6R.js"),
236
+ import("./updateCheck-B6O42VMD.js"),
237
+ import("./handleAutoUpdate-7GBDXW6U.js"),
238
+ import("./installationInfo-RWOW6BZO.js"),
231
239
  import("./updateEventEmitter-5MKC7BLQ.js"),
232
- import("./i18n-CYDUTF6F.js")
240
+ import("./i18n-MYD5VGED.js")
233
241
  ]);
234
242
  const updateFailedMessage = t(
235
243
  "Failed to check for updates. Please check your network or registry configuration."
@@ -237,7 +245,46 @@ function startPostRenderPrefetches(config, settings, options = {}) {
237
245
  try {
238
246
  const result = await checkForUpdatesDetailed();
239
247
  if (result.status === "update") {
240
- handleAutoUpdate(result.info, settings, config.getProjectRoot());
248
+ const projectRoot = config.getProjectRoot();
249
+ const hostUpdateRelaunch = process.env[HOST_UPDATE_RELAUNCH_ENV_VAR];
250
+ if (hostUpdateRelaunch === "true") {
251
+ updateEventEmitter.emit("update-info", {
252
+ message: `${result.info.message}
253
+ ${t(
254
+ "Run /update to install the update on the host."
255
+ )}`
256
+ });
257
+ return;
258
+ }
259
+ if (hostUpdateRelaunch === "false") {
260
+ updateEventEmitter.emit("update-info", {
261
+ message: `${result.info.message}
262
+ ${t(
263
+ "Update Qwen Code on the host, then restart the sandbox."
264
+ )}`
265
+ });
266
+ return;
267
+ }
268
+ const installationInfo = getInstallationInfo(projectRoot, true);
269
+ if (installationInfo.updateCommand || installationInfo.isStandalone && installationInfo.standaloneDir) {
270
+ if (requestUpdateOnExit()) {
271
+ updateEventEmitter.emit("update-info", {
272
+ message: `${result.info.message}
273
+ ${t(
274
+ "The update will be installed after you exit this session."
275
+ )}`
276
+ });
277
+ } else {
278
+ updateEventEmitter.emit("update-info", {
279
+ message: `${result.info.message}
280
+ ${t(
281
+ "Run /update to install the update."
282
+ )}`
283
+ });
284
+ }
285
+ } else {
286
+ void handleAutoUpdate(result.info, settings, projectRoot);
287
+ }
241
288
  } else if (result.status === "error") {
242
289
  updateEventEmitter.emit("update-failed", {
243
290
  message: updateFailedMessage
@@ -257,7 +304,7 @@ function startPostRenderPrefetches(config, settings, options = {}) {
257
304
  state: "connecting"
258
305
  });
259
306
  try {
260
- const { connectIdeForStartup } = await import("./initializer-NRFKUGIO.js");
307
+ const { connectIdeForStartup } = await import("./initializer-4DHPNAZG.js");
261
308
  await withTimeout(
262
309
  connectIdeForStartup(config),
263
310
  "ide_connect",
@@ -283,7 +330,7 @@ function startPostRenderPrefetches(config, settings, options = {}) {
283
330
  }
284
331
  if (config.isInteractive()) {
285
332
  runDeferredTask("background_housekeeping", async () => {
286
- const { startBackgroundHousekeeping } = await import("./scheduler-JJDZBDRN.js");
333
+ const { startBackgroundHousekeeping } = await import("./scheduler-SOVEP5K7.js");
287
334
  startBackgroundHousekeeping(config, settings);
288
335
  });
289
336
  }
@@ -5,14 +5,14 @@ import {
5
5
  } from "./chunk-57OAHC2Y.js";
6
6
  import {
7
7
  loadSettings
8
- } from "./chunk-6GETGQWP.js";
8
+ } from "./chunk-C5NSOSF4.js";
9
9
  import {
10
10
  getCurrentLanguage,
11
11
  t
12
- } from "./chunk-RDRVMDWV.js";
12
+ } from "./chunk-HIMIG6PI.js";
13
13
  import {
14
14
  isWorkspaceTrusted
15
- } from "./chunk-4YWLED2A.js";
15
+ } from "./chunk-LSFVUGXT.js";
16
16
  import {
17
17
  writeStdoutLine
18
18
  } from "./chunk-YUZI3WAC.js";
@@ -21,9 +21,11 @@ import {
21
21
  getExtensionDescription,
22
22
  getExtensionDisplayName,
23
23
  redactUrlCredentials,
24
- require_prompts,
24
+ require_prompts
25
+ } from "./chunk-3YJZ6WNY.js";
26
+ import {
25
27
  stripAnsi
26
- } from "./chunk-K7CRWKOE.js";
28
+ } from "./chunk-T4TZQJ7W.js";
27
29
  import {
28
30
  init_esbuild_shims
29
31
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  HistoryReplayer
5
- } from "./chunk-4FMG7EDJ.js";
5
+ } from "./chunk-PWYLF7SS.js";
6
6
  import {
7
7
  redactLogCredentials
8
8
  } from "./chunk-M5GB774H.js";
9
+ import {
10
+ getResponseText
11
+ } from "./chunk-3YJZ6WNY.js";
9
12
  import {
10
13
  init_esbuild_shims
11
14
  } from "./chunk-5O2XNYP6.js";
@@ -329,11 +332,24 @@ function parseTranscriptReplayState(replay, logger) {
329
332
  }
330
333
  __name(parseTranscriptReplayState, "parseTranscriptReplayState");
331
334
  function replayContext(sessionId, updates, cumulativeUsage, config) {
335
+ let activeRecordId = null;
332
336
  return {
333
337
  sessionId,
334
338
  sendUpdate: /* @__PURE__ */ __name(async (update) => {
335
- updates.push(update);
339
+ if (activeRecordId === null) {
340
+ updates.push(update);
341
+ return;
342
+ }
343
+ const record = update;
344
+ const meta = isObjectRecord(record["_meta"]) ? record["_meta"] : {};
345
+ updates.push({
346
+ ...record,
347
+ _meta: { ...meta, "qwen.session.recordId": activeRecordId }
348
+ });
336
349
  }, "sendUpdate"),
350
+ setActiveRecordId: /* @__PURE__ */ __name((recordId) => {
351
+ activeRecordId = recordId;
352
+ }, "setActiveRecordId"),
337
353
  cumulativeUsage,
338
354
  ...config ? { config } : {}
339
355
  };
@@ -390,8 +406,8 @@ async function replayTranscriptRecordPage({
390
406
  let replayError;
391
407
  try {
392
408
  const replayState = await replayer.replayPage(page.records, {
393
- pendingToolCalls: state.pendingToolCalls,
394
- finalizeDangling: !page.hasMore,
409
+ pendingToolCalls: page.direction === "backward" ? [] : state.pendingToolCalls,
410
+ finalizeDangling: page.direction === "backward" || !page.hasMore,
395
411
  gaps: page.gaps
396
412
  });
397
413
  pendingToolCalls = replayState.pendingToolCalls;
@@ -407,9 +423,11 @@ async function replayTranscriptRecordPage({
407
423
  }
408
424
  const nextCursor = page.nextCursorState && replayError === void 0 ? encodeCursor({
409
425
  ...page.nextCursorState,
410
- replay: {
411
- pendingToolCalls,
412
- cumulativeUsage: state.cumulativeUsage
426
+ ...page.direction === "backward" ? {} : {
427
+ replay: {
428
+ pendingToolCalls,
429
+ cumulativeUsage: state.cumulativeUsage
430
+ }
413
431
  }
414
432
  }) : void 0;
415
433
  return {
@@ -423,6 +441,147 @@ async function replayTranscriptRecordPage({
423
441
  }
424
442
  __name(replayTranscriptRecordPage, "replayTranscriptRecordPage");
425
443
 
444
+ // packages/cli/src/acp-integration/generation.ts
445
+ init_esbuild_shims();
446
+ var GENERATION_MAX_PROMPT_BYTES = 32 * 1024;
447
+ var GENERATION_TIMEOUT_MS = 6e4;
448
+ async function executeGeneration(config, requestId, prompt, signal, emit) {
449
+ const fastModel = config.getFastModel();
450
+ const mainModel = config.getModel();
451
+ const client = config.getBaseLlmClient();
452
+ let modelSource = fastModel ? "fast" : "main";
453
+ let resolved;
454
+ if (fastModel) {
455
+ try {
456
+ resolved = await client.resolveForModel(fastModel, { failClosed: true });
457
+ } catch {
458
+ modelSource = "main";
459
+ }
460
+ }
461
+ resolved ??= await client.resolveForModel(mainModel, { failClosed: true });
462
+ const { contentGenerator, model } = resolved;
463
+ await emit({ type: "started", model, modelSource });
464
+ const stream = await contentGenerator.generateContentStream(
465
+ {
466
+ model,
467
+ contents: [{ role: "user", parts: [{ text: prompt }] }],
468
+ config: {
469
+ abortSignal: signal,
470
+ tools: [],
471
+ thinkingConfig: { thinkingBudget: 0, includeThoughts: false },
472
+ temperature: 0.2
473
+ }
474
+ },
475
+ `generation:${requestId}`
476
+ );
477
+ let seq = 0;
478
+ let thinkingEmitted = false;
479
+ let usage;
480
+ for await (const chunk of stream) {
481
+ if (!thinkingEmitted && chunk.candidates?.some(
482
+ (candidate) => candidate.content?.parts?.some((part) => part.thought === true)
483
+ )) {
484
+ thinkingEmitted = true;
485
+ await emit({ type: "thinking" });
486
+ }
487
+ const text = getResponseText(chunk) ?? "";
488
+ if (text) {
489
+ await emit({ type: "delta", seq: seq++, text });
490
+ }
491
+ if (chunk.usageMetadata) usage = chunk.usageMetadata;
492
+ }
493
+ return {
494
+ model,
495
+ modelSource,
496
+ ...usage?.promptTokenCount !== void 0 ? { inputTokens: usage.promptTokenCount } : {},
497
+ ...usage?.candidatesTokenCount !== void 0 ? { outputTokens: usage.candidatesTokenCount } : {}
498
+ };
499
+ }
500
+ __name(executeGeneration, "executeGeneration");
501
+
502
+ // packages/cli/src/config/mcp-server-secrets.ts
503
+ init_esbuild_shims();
504
+ var REDACTED_MCP_SECRET = "__redacted__";
505
+ function recordOf(value) {
506
+ return value && typeof value === "object" && !Array.isArray(value) ? value : {};
507
+ }
508
+ __name(recordOf, "recordOf");
509
+ function redactRecord(record) {
510
+ return record ? Object.fromEntries(
511
+ Object.keys(record).map((key) => [key, REDACTED_MCP_SECRET])
512
+ ) : record;
513
+ }
514
+ __name(redactRecord, "redactRecord");
515
+ function restoreRecord(incoming, prior) {
516
+ if (!incoming) return incoming;
517
+ const priorRecord = recordOf(prior);
518
+ const result = {};
519
+ for (const [key, value] of Object.entries(incoming)) {
520
+ if (value !== REDACTED_MCP_SECRET) {
521
+ result[key] = value;
522
+ } else if (typeof priorRecord[key] === "string") {
523
+ result[key] = priorRecord[key];
524
+ }
525
+ }
526
+ return result;
527
+ }
528
+ __name(restoreRecord, "restoreRecord");
529
+ function redactMcpServerSecrets(server) {
530
+ return {
531
+ ...server,
532
+ env: redactRecord(server.env),
533
+ headers: redactRecord(server.headers),
534
+ ...server.oauth?.clientSecret ? {
535
+ oauth: {
536
+ ...server.oauth,
537
+ clientSecret: REDACTED_MCP_SECRET
538
+ }
539
+ } : {}
540
+ };
541
+ }
542
+ __name(redactMcpServerSecrets, "redactMcpServerSecrets");
543
+ function restoreRedactedMcpSecrets(server, existing) {
544
+ const existingOauth = recordOf(existing["oauth"]);
545
+ const incomingSecret = server.oauth?.clientSecret;
546
+ const restoredSecret = incomingSecret === REDACTED_MCP_SECRET ? existingOauth["clientSecret"] : incomingSecret;
547
+ return {
548
+ ...server,
549
+ env: restoreRecord(server.env, existing["env"]),
550
+ headers: restoreRecord(server.headers, existing["headers"]),
551
+ ...server.oauth ? {
552
+ oauth: {
553
+ ...server.oauth,
554
+ ...typeof restoredSecret === "string" ? { clientSecret: restoredSecret } : { clientSecret: void 0 }
555
+ }
556
+ } : {}
557
+ };
558
+ }
559
+ __name(restoreRedactedMcpSecrets, "restoreRedactedMcpSecrets");
560
+ function redactMcpServersSetting(value) {
561
+ const servers = recordOf(value);
562
+ return Object.fromEntries(
563
+ Object.entries(servers).map(([name, server]) => {
564
+ const record = recordOf(server);
565
+ return [name, redactMcpServerSecrets(record)];
566
+ })
567
+ );
568
+ }
569
+ __name(redactMcpServersSetting, "redactMcpServersSetting");
570
+ function restoreRedactedMcpServersSetting(value, existing) {
571
+ const servers = recordOf(value);
572
+ const existingServers = recordOf(existing);
573
+ return Object.fromEntries(
574
+ Object.entries(servers).map(([name, server]) => {
575
+ const record = recordOf(server);
576
+ return [
577
+ name,
578
+ restoreRedactedMcpSecrets(record, recordOf(existingServers[name]))
579
+ ];
580
+ })
581
+ );
582
+ }
583
+ __name(restoreRedactedMcpServersSetting, "restoreRedactedMcpServersSetting");
584
+
426
585
  export {
427
586
  createWorkspaceMemoryExtractionErrorLogger,
428
587
  extractRememberErrorCode,
@@ -436,10 +595,23 @@ export {
436
595
  createReplayCumulativeUsage,
437
596
  copyCumulativeUsage,
438
597
  collectHistoryReplayUpdates,
439
- replayTranscriptRecordPage
598
+ replayTranscriptRecordPage,
599
+ GENERATION_MAX_PROMPT_BYTES,
600
+ GENERATION_TIMEOUT_MS,
601
+ executeGeneration,
602
+ REDACTED_MCP_SECRET,
603
+ redactMcpServerSecrets,
604
+ restoreRedactedMcpSecrets,
605
+ redactMcpServersSetting,
606
+ restoreRedactedMcpServersSetting
440
607
  };
441
608
  /**
442
609
  * @license
443
610
  * Copyright 2026 Qwen Team
444
611
  * SPDX-License-Identifier: Apache-2.0
445
612
  */
613
+ /**
614
+ * @license
615
+ * Copyright 2025 Qwen Team
616
+ * SPDX-License-Identifier: Apache-2.0
617
+ */
@@ -5,11 +5,11 @@ import {
5
5
  } from "./chunk-VGC4I5JJ.js";
6
6
  import {
7
7
  atomicWriteJSON
8
- } from "./chunk-WIEO4CWB.js";
8
+ } from "./chunk-VAJS2E2D.js";
9
9
  import {
10
10
  Storage,
11
11
  getProjectHash
12
- } from "./chunk-7NFB7LBQ.js";
12
+ } from "./chunk-UE5TZ55T.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";