@qwen-code/qwen-code 0.19.9-nightly.20260714.9dd8389eb → 0.19.9-preview.0

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 (234) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  3. package/bundled/qc-helper/docs/qwen-serve.md +7 -2
  4. package/bundled/review/SKILL.md +23 -11
  5. package/chunks/{MaxSizedBox-QAYHOC4F.js → MaxSizedBox-BEVSAWZ6.js} +10 -11
  6. package/chunks/{StandaloneSessionPicker-D3R6YYX3.js → StandaloneSessionPicker-2DA2MDDE.js} +22 -23
  7. package/chunks/{acpAgent-ENHBW72A.js → acpAgent-G3WJU3PS.js} +189 -93
  8. package/chunks/{agent-57LX4KMG.js → agent-DD3WSHXE.js} +7 -8
  9. package/chunks/{agent-headless-AC6EVNAP.js → agent-headless-MHI7U2CU.js} +7 -8
  10. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
  11. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
  12. package/chunks/{bridge-4OZH44MK.js → bridge-HKEWPNB5.js} +10 -11
  13. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-YSFB4HUU.js} +2 -2
  14. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-QCKIOYZD.js} +2 -2
  15. package/chunks/{chunk-DKXW66XA.js → chunk-2FMQQXMM.js} +1 -1
  16. package/chunks/{chunk-UI3W56WF.js → chunk-2J4ZWME4.js} +1 -1
  17. package/chunks/{chunk-QABSSDQH.js → chunk-2TQXXQMI.js} +1 -1
  18. package/chunks/{chunk-DNKX35GS.js → chunk-2UW5RFRP.js} +4 -4
  19. package/chunks/{chunk-DPSWJWZI.js → chunk-2W3OOD4W.js} +1 -0
  20. package/chunks/{chunk-MBJ3D6SF.js → chunk-43RXPU5Q.js} +1 -1
  21. package/chunks/{chunk-AAS2Q2TV.js → chunk-4QZ3XHWE.js} +2 -2
  22. package/chunks/{chunk-ZRKBI3DP.js → chunk-4QZADKJS.js} +1 -1
  23. package/chunks/{chunk-G6QTKQN4.js → chunk-54UZQ57N.js} +3 -3
  24. package/chunks/{chunk-YH4J5XI3.js → chunk-5VHASII5.js} +4 -4
  25. package/chunks/{chunk-AAWKZ5R7.js → chunk-6JPDCEDB.js} +1 -1
  26. package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
  27. package/chunks/{chunk-JR63TOV4.js → chunk-7DKX4A5Z.js} +1 -1
  28. package/chunks/{chunk-T2L6SGQY.js → chunk-7IDCQ35Q.js} +37 -6
  29. package/chunks/{chunk-6OATMEYN.js → chunk-7STBROEV.js} +1 -1
  30. package/chunks/{chunk-7BIZARI2.js → chunk-A3U2TQUL.js} +4 -4
  31. package/chunks/{chunk-WN4D7YCI.js → chunk-A7W4GQRW.js} +1 -1
  32. package/chunks/{chunk-SE74CIZD.js → chunk-AAUZBE5Y.js} +1 -1
  33. package/chunks/{chunk-CLTWL6HD.js → chunk-ADLYZJYZ.js} +6 -6
  34. package/chunks/{chunk-SXU3KKNI.js → chunk-AU4R7ACM.js} +4 -0
  35. package/chunks/{chunk-URU5UEK6.js → chunk-B7MFJBKE.js} +1 -1
  36. package/chunks/{chunk-E67NFMF4.js → chunk-BLPMRN4B.js} +1 -1
  37. package/chunks/{chunk-7U7UIO5W.js → chunk-BXT6PQ73.js} +20 -5
  38. package/chunks/{chunk-ASVORVFT.js → chunk-CEGKYZDB.js} +1 -1
  39. package/chunks/{chunk-Z56JO4JZ.js → chunk-DMVA55W5.js} +7 -7
  40. package/chunks/{chunk-T5C2OUCI.js → chunk-DQCCLVQK.js} +3 -3
  41. package/chunks/{chunk-HE54PGVI.js → chunk-EAHMOXLL.js} +2 -2
  42. package/chunks/{chunk-C4CXFRKY.js → chunk-EJ3KGYWL.js} +25 -4
  43. package/chunks/{chunk-CSACSGAW.js → chunk-ERTHKDKN.js} +2 -2
  44. package/chunks/{chunk-OCC3UTWA.js → chunk-EX5OULP3.js} +1 -1
  45. package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
  46. package/chunks/{chunk-GYGGUR4Q.js → chunk-FEOBU3FA.js} +5 -5
  47. package/chunks/{chunk-PMRH4YYW.js → chunk-FI2WSOWX.js} +2 -1
  48. package/chunks/{chunk-N7FCSERB.js → chunk-GN5HJJBO.js} +1 -1
  49. package/chunks/{chunk-EU3U7USF.js → chunk-GTENQOEJ.js} +2 -2
  50. package/chunks/{chunk-MBP3K324.js → chunk-HCJTURZD.js} +32 -11
  51. package/chunks/{chunk-K3PPUB46.js → chunk-HGG2RRXD.js} +1 -1
  52. package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
  53. package/chunks/{chunk-X7EBAABW.js → chunk-HJCVNZLQ.js} +1 -1
  54. package/chunks/{chunk-SSFDPGFN.js → chunk-HJUDVNCO.js} +7959 -5497
  55. package/chunks/{chunk-6HHAADP2.js → chunk-HRUGYOJN.js} +4 -4
  56. package/chunks/{chunk-T7FSRWQ5.js → chunk-HWTL6MPR.js} +114 -9
  57. package/chunks/{chunk-HZYUNZDQ.js → chunk-JCD4FM7K.js} +1 -1
  58. package/chunks/{chunk-DMTQY5GY.js → chunk-JGO6RFI2.js} +3 -3
  59. package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
  60. package/chunks/{chunk-S2QXYLUB.js → chunk-JW7OOJC6.js} +1 -1
  61. package/chunks/{chunk-4FPUAYTT.js → chunk-KF5MMGG4.js} +4 -4
  62. package/chunks/{chunk-XHW5VUIQ.js → chunk-LHEOLOXU.js} +157 -55
  63. package/chunks/{chunk-2MF6ICOL.js → chunk-LSEJG6AM.js} +36 -8
  64. package/chunks/{chunk-AGBFWLA5.js → chunk-MKK4XGLF.js} +1 -1
  65. package/chunks/{chunk-4LJNI7MU.js → chunk-MO7O5722.js} +262 -7
  66. package/chunks/{chunk-FDL4PB5H.js → chunk-MRYWYBQ4.js} +8 -8
  67. package/chunks/{chunk-ZLM3KXBT.js → chunk-NRAFASYX.js} +15 -14
  68. package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
  69. package/chunks/{chunk-B6KHOCU7.js → chunk-PMKW35AT.js} +14 -10
  70. package/chunks/{chunk-YWUK7OS7.js → chunk-QE2WJ7FS.js} +1 -1
  71. package/chunks/{chunk-B6ABUBYY.js → chunk-QUJOI7SR.js} +67 -5
  72. package/chunks/{chunk-WM5HY72H.js → chunk-R5D5JOAM.js} +2 -2
  73. package/chunks/{chunk-BBNVFRGD.js → chunk-R5XLNDE2.js} +1 -1
  74. package/chunks/{chunk-RJL5T4WJ.js → chunk-SMSFWUFY.js} +53 -40
  75. package/chunks/{chunk-WWQ3QIJS.js → chunk-UFDX27PL.js} +11 -11
  76. package/chunks/{chunk-LAM6CGP5.js → chunk-UGN6CTNZ.js} +3 -3
  77. package/chunks/{chunk-AUGSSJX3.js → chunk-UNLRKDMW.js} +3 -3
  78. package/chunks/{chunk-4QOPEEL2.js → chunk-VEETSXYX.js} +1 -1
  79. package/chunks/{chunk-P3S67A5R.js → chunk-VKS7EIOA.js} +4 -4
  80. package/chunks/{chunk-PHYCWSDG.js → chunk-VVDNGM6X.js} +1 -1
  81. package/chunks/{chunk-J2TDDOSM.js → chunk-WMC6HH7Y.js} +1 -1
  82. package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
  83. package/chunks/{chunk-EUNRLYJG.js → chunk-X6ODDESK.js} +4 -4
  84. package/chunks/{chunk-V75IOTWF.js → chunk-XDPYM5DE.js} +4 -4
  85. package/chunks/{chunk-4DYYRLIE.js → chunk-ZA74ZTQU.js} +644 -321
  86. package/chunks/{chunk-SUWGUGAD.js → chunk-ZGE3222J.js} +2 -2
  87. package/chunks/{chunk-OATTJGPJ.js → chunk-ZP4ZZJJG.js} +7 -7
  88. package/chunks/{computer-use-DIP5BWXP.js → computer-use-SHA6C3ES.js} +7 -8
  89. package/chunks/{config-utils-CFT33LTP.js → config-utils-XSHOMMK4.js} +3 -3
  90. package/chunks/{contextCommand-QU4GJWWD.js → contextCommand-HOAF5LUC.js} +9 -10
  91. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
  92. package/chunks/{create-sub-session-TCLIYVGR.js → create-sub-session-WJOWBFEP.js} +7 -8
  93. package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
  94. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
  95. package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
  96. package/chunks/{daemon-CEZ27OH4.js → daemon-MI5HF26N.js} +343 -40
  97. package/chunks/{daemon-status-provider-SIBFMLBQ.js → daemon-status-provider-KFL3LRTP.js} +14 -15
  98. package/chunks/{dist-JZE7F6YR.js → dist-IEXZC5ZR.js} +1 -1
  99. package/chunks/{dist-ERCPDVA6.js → dist-PQK4GCKA.js} +1 -1
  100. package/chunks/{dist-3V3ZV6ML.js → dist-U75JK3PF.js} +1 -1
  101. package/chunks/{dist-PHEPJLXD.js → dist-VXO7QBON.js} +2 -2
  102. package/chunks/{dist-HNN7DR2L.js → dist-WH4TZSH3.js} +1 -1
  103. package/chunks/{dist-MOEC47TR.js → dist-X2ABIW5R.js} +1 -1
  104. package/chunks/{earlyInputCapture-L66BEG2C.js → earlyInputCapture-PKAQJMIP.js} +7 -8
  105. package/chunks/{edit-Y5LAJSST.js → edit-6TXLYHJ2.js} +7 -8
  106. package/chunks/{enter-worktree-X5LML7T4.js → enter-worktree-ZTILGPJX.js} +7 -8
  107. package/chunks/{enterPlanMode-XWF32QOW.js → enterPlanMode-62HRAMCH.js} +7 -8
  108. package/chunks/{environment-YVMA5F4I.js → environment-OYA3ZVEL.js} +9 -10
  109. package/chunks/{errors-4Y5SUAOC.js → errors-BFXOUUUR.js} +9 -10
  110. package/chunks/{exit-worktree-SFHU7XYC.js → exit-worktree-HHJ5M6MV.js} +7 -8
  111. package/chunks/{exitPlanMode-FP3NAN6E.js → exitPlanMode-M3SWHCL7.js} +7 -8
  112. package/chunks/{fast-path-ZJNFFCBM.js → fast-path-3VMPLM74.js} +2 -2
  113. package/chunks/{gemini-5CAB22BI.js → gemini-ZCGVYOJL.js} +100 -42
  114. package/chunks/{geminiContentGenerator-GE3HPIFB.js → geminiContentGenerator-XBYBAIDQ.js} +1 -1
  115. package/chunks/{glob-YPACZAEL.js → glob-UOEYQNHN.js} +7 -8
  116. package/chunks/{grep-IPR4XW37.js → grep-OQM3CH7W.js} +7 -8
  117. package/chunks/{handleAutoUpdate-P2KEP56V.js → handleAutoUpdate-ORBYVJHZ.js} +11 -12
  118. package/chunks/{i18n-BRCT66AA.js → i18n-NBP574CO.js} +8 -9
  119. package/chunks/{initializer-34HXSK3A.js → initializer-CWD7TCCD.js} +12 -13
  120. package/chunks/{installationInfo-WOTDQMSC.js → installationInfo-CHPDUPWC.js} +8 -9
  121. package/chunks/{list-XOGP7UPP.js → list-ZTTO362W.js} +15 -16
  122. package/chunks/{loadedSettingsAdapter-L4YKGU6F.js → loadedSettingsAdapter-V4ZTRKUO.js} +12 -13
  123. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-C4EXLYVA.js} +2 -2
  124. package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
  125. package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
  126. package/chunks/{mcp-HH7DIP7Y.js → mcp-UH5PSGIK.js} +12 -13
  127. package/chunks/{monitor-25DEBT6U.js → monitor-F4NYEU5J.js} +7 -8
  128. package/chunks/{nonInteractiveCli-CT3VSSLK.js → nonInteractiveCli-7IHPXVNH.js} +43 -44
  129. package/chunks/{notebook-edit-TAVXSWQ6.js → notebook-edit-HPDXNGQH.js} +7 -8
  130. package/chunks/{openaiContentGenerator-6I7DKUAN.js → openaiContentGenerator-OBDNNOE2.js} +4 -4
  131. package/chunks/{pidfile-SIQGCFLZ.js → pidfile-AUMGYIOK.js} +7 -8
  132. package/chunks/{qwenContentGenerator-5DDIXI2N.js → qwenContentGenerator-LH2U2YRG.js} +8 -9
  133. package/chunks/{read-file-WDOAYRFU.js → read-file-HUUFBLEO.js} +3 -3
  134. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
  135. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
  136. package/chunks/{ripGrep-MI7PHN3Q.js → ripGrep-C7X33LU6.js} +7 -8
  137. package/chunks/{run-qwen-serve-PNTYF3RE.js → run-qwen-serve-DGW5AFDJ.js} +229 -80
  138. package/chunks/{runtime-V3FBMUTG.js → runtime-NYUSLBEZ.js} +16 -17
  139. package/chunks/{scheduler-4TAUIJBM.js → scheduler-5VKDXULT.js} +7 -8
  140. package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
  141. package/chunks/{serve-WB2TR7XM.js → serve-UTAHSFXH.js} +12 -13
  142. package/chunks/{server-AF6LNFPK.js → server-VUHSYSUV.js} +2751 -774
  143. package/chunks/{session-BIGK4NRW.js → session-QSGSSNFB.js} +44 -45
  144. package/chunks/{settings-IXF5FIQO.js → settings-X24RYEED.js} +11 -12
  145. package/chunks/{shell-5VWJ2PPG.js → shell-4MSI2R4O.js} +9 -8
  146. package/chunks/{skill-SI667Y3B.js → skill-JR3GTNVZ.js} +3 -3
  147. package/chunks/{spawnChannel-IKX6DD7J.js → spawnChannel-RFAAO44J.js} +9 -10
  148. package/chunks/{src-55DZWDAK.js → src-YDBNMIIM.js} +40 -9
  149. package/chunks/{standalone-update-MHLSFHE6.js → standalone-update-4CY4HKGC.js} +9 -10
  150. package/chunks/{startInteractiveUI-V2EDWLAX.js → startInteractiveUI-FOD7MMVB.js} +183 -131
  151. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
  152. package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
  153. package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
  154. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
  155. package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
  156. package/chunks/{team-create-IZAMLBJS.js → team-create-ZLQSU2E3.js} +7 -8
  157. package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
  158. package/chunks/{team-plan-approval-3R4RCKCP.js → team-plan-approval-YUAYBYLS.js} +7 -8
  159. package/chunks/{theme-manager-LCOXZ5DO.js → theme-manager-SKNEBMOG.js} +7 -8
  160. package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
  161. package/chunks/{tool-search-NYNCD5LF.js → tool-search-V5J3TGWY.js} +4 -4
  162. package/chunks/{total-session-admission-PJWGOMQE.js → total-session-admission-2WIH72I3.js} +10 -11
  163. package/chunks/{trustedFolders-DOJDHNYP.js → trustedFolders-JF265CRI.js} +8 -9
  164. package/chunks/types-ML3TRJQ5.js +16 -0
  165. package/chunks/{updateCheck-ZXL66KIG.js → updateCheck-AMXNPBP6.js} +9 -10
  166. package/chunks/{validateNonInterActiveAuth-JSNJZCYY.js → validateNonInterActiveAuth-6YHQO7PD.js} +39 -40
  167. package/chunks/{version-3NLBENG5.js → version-UEJJK7PE.js} +1 -1
  168. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-QGODBB6S.js} +2 -2
  169. package/chunks/{workflow-BQYLF7XP.js → workflow-5YFA5V4M.js} +8 -9
  170. package/chunks/{workspace-providers-status-FA2DGEZW.js → workspace-providers-status-LMBLBNR7.js} +15 -16
  171. package/chunks/{workspace-registration-store-TARTAGMI.js → workspace-registration-store-VV2S4MSV.js} +1 -1
  172. package/chunks/{workspace-registry-AGE7WAXX.js → workspace-registry-BVMPYRLN.js} +10 -11
  173. package/chunks/{workspace-service-ERC5VR2B.js → workspace-service-PUYIZ3J4.js} +22 -19
  174. package/chunks/{workspace-skills-status-FKYWGNCN.js → workspace-skills-status-CJ7J2KPP.js} +14 -15
  175. package/chunks/{write-file-S47KSK7Z.js → write-file-OV77M6X7.js} +7 -8
  176. package/cli.js +11 -11
  177. package/package.json +3 -3
  178. package/web-shell/assets/{arc-Zj4EkBUY.js → arc-CObt_TK9.js} +1 -1
  179. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DAk1Ua3Y.js → architectureDiagram-3BPJPVTR-B7aiJ6CK.js} +1 -1
  180. package/web-shell/assets/{blockDiagram-GPEHLZMM-DBNqUthM.js → blockDiagram-GPEHLZMM-BSK2CrID.js} +1 -1
  181. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dq5QGJ53.js → c4Diagram-AAUBKEIU-Bhx2p7T_.js} +1 -1
  182. package/web-shell/assets/channel-BBaLq8MV.js +1 -0
  183. package/web-shell/assets/{chunk-2J33WTMH-DY0AeGru.js → chunk-2J33WTMH-c3Hzv0Ni.js} +1 -1
  184. package/web-shell/assets/{chunk-4BX2VUAB-COX3OyIi.js → chunk-4BX2VUAB-DNXaK7ZF.js} +1 -1
  185. package/web-shell/assets/{chunk-55IACEB6-Csoyddbh.js → chunk-55IACEB6-BXjvDj_i.js} +1 -1
  186. package/web-shell/assets/{chunk-727SXJPM-BJPONdxX.js → chunk-727SXJPM-B6CaKFp-.js} +1 -1
  187. package/web-shell/assets/{chunk-AQP2D5EJ-syLVH6fg.js → chunk-AQP2D5EJ-tij6Mz9B.js} +1 -1
  188. package/web-shell/assets/{chunk-FMBD7UC4-Cfm59Nhw.js → chunk-FMBD7UC4-DdlsGk2h.js} +1 -1
  189. package/web-shell/assets/{chunk-ND2GUHAM-DZf6tAqS.js → chunk-ND2GUHAM-CdgGZSHE.js} +1 -1
  190. package/web-shell/assets/{chunk-QZHKN3VN-DKBp_v5q.js → chunk-QZHKN3VN-D8oJn1C0.js} +1 -1
  191. package/web-shell/assets/classDiagram-4FO5ZUOK-B2ZK6sWE.js +1 -0
  192. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B2ZK6sWE.js +1 -0
  193. package/web-shell/assets/{cose-bilkent-S5V4N54A-DUU3mMQ5.js → cose-bilkent-S5V4N54A-BUVmNp1Y.js} +1 -1
  194. package/web-shell/assets/{dagre-BM42HDAG-BUgNfbh-.js → dagre-BM42HDAG-CO4q310O.js} +1 -1
  195. package/web-shell/assets/{diagram-2AECGRRQ-DT7MVfAg.js → diagram-2AECGRRQ-C6gFvWkg.js} +1 -1
  196. package/web-shell/assets/{diagram-5GNKFQAL-Cv4YG-ec.js → diagram-5GNKFQAL-NG2I_c0h.js} +1 -1
  197. package/web-shell/assets/{diagram-KO2AKTUF-BAe9LLkn.js → diagram-KO2AKTUF-DFKMS6I9.js} +1 -1
  198. package/web-shell/assets/{diagram-LMA3HP47-DW8wqTIP.js → diagram-LMA3HP47-BiElfsfP.js} +1 -1
  199. package/web-shell/assets/{diagram-OG6HWLK6-CmkuWbaK.js → diagram-OG6HWLK6-zLWDYUqu.js} +1 -1
  200. package/web-shell/assets/{erDiagram-TEJ5UH35-DwvdHjZ9.js → erDiagram-TEJ5UH35-DoVaazhK.js} +1 -1
  201. package/web-shell/assets/{flowDiagram-I6XJVG4X-CSsXrhW_.js → flowDiagram-I6XJVG4X-0RLz-mXg.js} +1 -1
  202. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BtuznCdi.js → ganttDiagram-6RSMTGT7-C-eX1A39.js} +1 -1
  203. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DGmAm06g.js → gitGraphDiagram-PVQCEYII-BauQu1Bu.js} +1 -1
  204. package/web-shell/assets/index-3uAT3ehO.css +5 -0
  205. package/web-shell/assets/{index-BEtz1cvN.js → index-CVHa2QH7.js} +1 -1
  206. package/web-shell/assets/index-D1KigWat.js +1128 -0
  207. package/web-shell/assets/{infoDiagram-5YYISTIA-OAiZ1q0K.js → infoDiagram-5YYISTIA-C800cFvZ.js} +1 -1
  208. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DyK0KTIT.js → ishikawaDiagram-YF4QCWOH-CFK1Jk6e.js} +1 -1
  209. package/web-shell/assets/{journeyDiagram-JHISSGLW-DzYJlwfO.js → journeyDiagram-JHISSGLW-Cjx0WAC4.js} +1 -1
  210. package/web-shell/assets/{kanban-definition-UN3LZRKU-CU_tcDwi.js → kanban-definition-UN3LZRKU-DWMDHbiv.js} +1 -1
  211. package/web-shell/assets/{linear-DvZXjF17.js → linear-vpW4FrZs.js} +1 -1
  212. package/web-shell/assets/{mermaid.core-_ZFEQlOl.js → mermaid.core-DsHRUnDd.js} +5 -5
  213. package/web-shell/assets/{mindmap-definition-RKZ34NQL-Or4p64HB.js → mindmap-definition-RKZ34NQL-D3Eb1cAK.js} +1 -1
  214. package/web-shell/assets/{pieDiagram-4H26LBE5-lXE-zZ6b.js → pieDiagram-4H26LBE5-Cr2-6sWt.js} +1 -1
  215. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DUXb9mUV.js → quadrantDiagram-W4KKPZXB-Yd7yUgVp.js} +1 -1
  216. package/web-shell/assets/{requirementDiagram-4Y6WPE33-D_10uHfo.js → requirementDiagram-4Y6WPE33-BE6SprL8.js} +1 -1
  217. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-E8c0fPqe.js → sankeyDiagram-5OEKKPKP-DzkuMK8d.js} +1 -1
  218. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CJMtFttK.js → sequenceDiagram-3UESZ5HK-wD9A3Dhi.js} +1 -1
  219. package/web-shell/assets/{stateDiagram-AJRCARHV-DhbviRbB.js → stateDiagram-AJRCARHV-BOp5q1Nm.js} +1 -1
  220. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDsWUmPG.js +1 -0
  221. package/web-shell/assets/{timeline-definition-PNZ67QCA-CM5yMkFK.js → timeline-definition-PNZ67QCA-Btc08sUA.js} +1 -1
  222. package/web-shell/assets/{vennDiagram-CIIHVFJN-BCi-zWNN.js → vennDiagram-CIIHVFJN-Bv6upsOA.js} +1 -1
  223. package/web-shell/assets/{wardley-L42UT6IY-BJ_yJNjJ.js → wardley-L42UT6IY-D-XamnCK.js} +1 -1
  224. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-TjtLk-qN.js → wardleyDiagram-YWT4CUSO-BbP_5Wfp.js} +1 -1
  225. package/web-shell/assets/{xychartDiagram-2RQKCTM6-D1TjyoQ3.js → xychartDiagram-2RQKCTM6-CO5Hh28b.js} +1 -1
  226. package/web-shell/index.html +2 -2
  227. package/chunks/chunk-CU3L64TP.js +0 -93
  228. package/chunks/types-JNKGKUJT.js +0 -12
  229. package/web-shell/assets/channel-DWfYijFS.js +0 -1
  230. package/web-shell/assets/classDiagram-4FO5ZUOK-DDht-78J.js +0 -1
  231. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DDht-78J.js +0 -1
  232. package/web-shell/assets/index-B9Xwf4OS.css +0 -5
  233. package/web-shell/assets/index-BUkM4ZXX.js +0 -1088
  234. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CntljfwW.js +0 -1
@@ -5,7 +5,7 @@ import {
5
5
  isTranscribableVoiceModel,
6
6
  readVoiceLanguage,
7
7
  resolveVoiceTransport
8
- } from "./chunk-N7FCSERB.js";
8
+ } from "./chunk-GN5HJJBO.js";
9
9
  import {
10
10
  resolvePath
11
11
  } from "./chunk-FSA7ERJ2.js";
@@ -339,7 +339,7 @@ async function defaultLookupHost(hostname) {
339
339
  return dnsLookup(hostname, { all: true });
340
340
  }
341
341
  __name(defaultLookupHost, "defaultLookupHost");
342
- async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
342
+ async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost, abortSignal) {
343
343
  const hostname = normalizeHostname(new URL(voiceConfig.baseUrl).hostname);
344
344
  if (isLoopbackHost(hostname)) {
345
345
  return;
@@ -353,12 +353,29 @@ async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
353
353
  return;
354
354
  }
355
355
  let result;
356
+ let onAbort;
356
357
  try {
357
- result = await (lookupHost ?? defaultLookupHost)(hostname);
358
+ if (abortSignal?.aborted) {
359
+ throw abortSignal.reason;
360
+ }
361
+ const lookup = (lookupHost ?? defaultLookupHost)(hostname);
362
+ result = abortSignal ? await Promise.race([
363
+ lookup,
364
+ new Promise((_resolve, reject) => {
365
+ onAbort = /* @__PURE__ */ __name(() => reject(abortSignal.reason), "onAbort");
366
+ if (abortSignal.aborted) onAbort();
367
+ else abortSignal.addEventListener("abort", onAbort, { once: true });
368
+ })
369
+ ]) : await lookup;
358
370
  } catch {
371
+ if (abortSignal?.aborted) {
372
+ throw abortSignal.reason instanceof Error ? abortSignal.reason : new Error("Voice request was aborted.");
373
+ }
359
374
  throw new Error(
360
375
  `Voice model '${voiceConfig.model}': DNS lookup failed for ${hostname}. Cannot verify network safety.`
361
376
  );
377
+ } finally {
378
+ if (onAbort) abortSignal?.removeEventListener("abort", onAbort);
362
379
  }
363
380
  const records = Array.isArray(result) ? result : [result];
364
381
  if (records.some((record) => isPrivateNetworkIp(record.address))) {
@@ -649,7 +666,11 @@ async function transcribeViaQwenAsr(audio, voiceConfig, options, fetchFn) {
649
666
  __name(transcribeViaQwenAsr, "transcribeViaQwenAsr");
650
667
  async function transcribeVoiceAudio(audio, args) {
651
668
  const voiceConfig = resolveVoiceTranscriptionConfig(args);
652
- await assertVoiceBaseUrlNetworkAllowed(voiceConfig, args.lookupHost);
669
+ await assertVoiceBaseUrlNetworkAllowed(
670
+ voiceConfig,
671
+ args.lookupHost,
672
+ args.abortSignal
673
+ );
653
674
  const fetchFn = args.fetchFn ?? fetch;
654
675
  const language = resolveLanguageCode(readVoiceLanguage(args.settings));
655
676
  const keytermsContext = buildKeytermsContext(args.settings);
@@ -4,14 +4,14 @@ import {
4
4
  resolveModelConfig,
5
5
  resolveProviderProtocol,
6
6
  stripRuntimeSnapshotPrefix
7
- } from "./chunk-SSFDPGFN.js";
7
+ } from "./chunk-HJUDVNCO.js";
8
8
  import {
9
9
  external_exports
10
10
  } from "./chunk-H6XPXXMH.js";
11
11
  import {
12
12
  AuthType,
13
13
  MODEL_GENERATION_CONFIG_FIELDS
14
- } from "./chunk-T7FSRWQ5.js";
14
+ } from "./chunk-HWTL6MPR.js";
15
15
  import {
16
16
  REASONING_EFFORT_TIERS,
17
17
  normalizeReasoningEffort
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-T2L6SGQY.js";
9
+ } from "./chunk-7IDCQ35Q.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6AM5D4ME.js";
7
7
  import {
8
8
  ToolNames
9
- } from "./chunk-2UUAIFQO.js";
9
+ } from "./chunk-JGUT3LWZ.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,25 +2,25 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-6HHAADP2.js";
5
+ } from "./chunk-HRUGYOJN.js";
6
6
  import {
7
7
  getPlugin,
8
8
  parseChannelConfig,
9
9
  registerPlugin
10
- } from "./chunk-OATTJGPJ.js";
10
+ } from "./chunk-ZP4ZZJJG.js";
11
11
  import {
12
12
  sanitizeLogText
13
- } from "./chunk-SXU3KKNI.js";
13
+ } from "./chunk-AU4R7ACM.js";
14
14
  import {
15
15
  loadSettings
16
- } from "./chunk-T2L6SGQY.js";
16
+ } from "./chunk-7IDCQ35Q.js";
17
17
  import {
18
18
  writeStderrLine,
19
19
  writeStdoutLine
20
20
  } from "./chunk-YUZI3WAC.js";
21
21
  import {
22
22
  hashDaemonWorkspace
23
- } from "./chunk-T7FSRWQ5.js";
23
+ } from "./chunk-HWTL6MPR.js";
24
24
  import {
25
25
  Storage
26
26
  } from "./chunk-7NFB7LBQ.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-SSFDPGFN.js";
5
+ } from "./chunk-HJUDVNCO.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -100,6 +100,7 @@ var SERVE_CONTROL_EXT_METHODS = {
100
100
  workspaceMcpRuntimeAdd: "qwen/control/workspace/mcp/runtime-add",
101
101
  workspaceMcpRuntimeRemove: "qwen/control/workspace/mcp/runtime-remove",
102
102
  workspaceReload: "qwen/control/workspace/reload",
103
+ workspaceSkillsRefresh: "qwen/control/workspace/skills/refresh",
103
104
  workspaceExtensionsRefresh: "qwen/control/workspace/extensions/refresh",
104
105
  /**
105
106
  * Reverse tool channel (issue #5626, Phase 2). Unlike every other entry
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-SE74CIZD.js";
5
+ } from "./chunk-AAUZBE5Y.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,14 +5,14 @@ import {
5
5
  Text,
6
6
  require_jsx_runtime,
7
7
  theme
8
- } from "./chunk-QABSSDQH.js";
8
+ } from "./chunk-2TQXXQMI.js";
9
9
  import {
10
10
  require_react
11
11
  } from "./chunk-HTHUX2T5.js";
12
12
  import {
13
13
  stringWidth,
14
14
  toCodePoints
15
- } from "./chunk-YWUK7OS7.js";
15
+ } from "./chunk-QE2WJ7FS.js";
16
16
  import {
17
17
  createDebugLogger
18
18
  } from "./chunk-7NFB7LBQ.js";
@@ -41,7 +41,7 @@ import {
41
41
  } from "./chunk-KSO42X3Z.js";
42
42
  import {
43
43
  defaultSpawnChannelFactory
44
- } from "./chunk-4QOPEEL2.js";
44
+ } from "./chunk-VEETSXYX.js";
45
45
  import {
46
46
  BridgeChannelClosedError,
47
47
  BridgeTimeoutError,
@@ -50,7 +50,7 @@ import {
50
50
  STATUS_SCHEMA_VERSION,
51
51
  createIdleWorkspaceExtensionsStatus,
52
52
  createIdleWorkspaceHooksStatus
53
- } from "./chunk-PMRH4YYW.js";
53
+ } from "./chunk-FI2WSOWX.js";
54
54
  import {
55
55
  canonicalizeWorkspace
56
56
  } from "./chunk-W7FJ3N32.js";
@@ -70,11 +70,11 @@ import {
70
70
  metadataBudgetBytes,
71
71
  normalizeSnapshotPayload,
72
72
  stableSessionArtifactId
73
- } from "./chunk-SSFDPGFN.js";
73
+ } from "./chunk-HJUDVNCO.js";
74
74
  import {
75
75
  DAEMON_TRACEPARENT_META_KEY,
76
76
  DAEMON_TRACESTATE_META_KEY
77
- } from "./chunk-T7FSRWQ5.js";
77
+ } from "./chunk-HWTL6MPR.js";
78
78
  import {
79
79
  init_esbuild_shims
80
80
  } from "./chunk-5O2XNYP6.js";
@@ -1588,10 +1588,14 @@ var BridgeClient = class {
1588
1588
  return;
1589
1589
  }
1590
1590
  const durationMs = updateMeta?.["durationMs"];
1591
+ const apiErrors = updateMeta?.["apiErrors"];
1592
+ const apiRetries = updateMeta?.["apiRetries"];
1591
1593
  this.onTokenUsage(
1592
1594
  typeof inputTokens === "number" ? inputTokens : 0,
1593
1595
  typeof outputTokens === "number" ? outputTokens : 0,
1594
- typeof durationMs === "number" ? durationMs : void 0
1596
+ typeof durationMs === "number" ? durationMs : void 0,
1597
+ typeof apiErrors === "number" ? apiErrors : 0,
1598
+ typeof apiRetries === "number" ? apiRetries : 0
1595
1599
  );
1596
1600
  }
1597
1601
  /**
@@ -5258,6 +5262,7 @@ function createAcpSessionBridge(opts) {
5258
5262
  const aliveChannels = /* @__PURE__ */ new Set();
5259
5263
  let inFlightChannelSpawn;
5260
5264
  const byId = /* @__PURE__ */ new Map();
5265
+ const inFlightExtensionRefreshes = /* @__PURE__ */ new Map();
5261
5266
  const toSessionSummary = /* @__PURE__ */ __name((entry) => {
5262
5267
  let isWaitingForPermission = false;
5263
5268
  let isWaitingForUserQuestion = false;
@@ -5435,10 +5440,12 @@ function createAcpSessionBridge(opts) {
5435
5440
  // at the session/update fan-in to the daemon host's metrics ring via
5436
5441
  // the telemetry seam. Optional-chained so non-daemon callers (tests,
5437
5442
  // Mode A) that wire no `tokenUsage` metric are a silent no-op.
5438
- (inputTokens, outputTokens, durationMs) => telemetry.metrics?.tokenUsage?.(
5443
+ (inputTokens, outputTokens, durationMs, apiErrors, apiRetries) => telemetry.metrics?.tokenUsage?.(
5439
5444
  inputTokens,
5440
5445
  outputTokens,
5441
- durationMs
5446
+ durationMs,
5447
+ apiErrors,
5448
+ apiRetries
5442
5449
  ),
5443
5450
  // `create_sub_session` tool: forward the request/response hook so a child
5444
5451
  // tool can ask the daemon to spawn a sub-session and (for 'first-turn')
@@ -8030,12 +8037,26 @@ function createAcpSessionBridge(opts) {
8030
8037
  return { refreshed: 0, failed: 0 };
8031
8038
  }
8032
8039
  try {
8033
- await Promise.race([
8034
- withTimeout(
8035
- entry.connection.extMethod(
8040
+ let inFlight = inFlightExtensionRefreshes.get(entry.sessionId);
8041
+ if (!inFlight || inFlight.connection !== entry.connection) {
8042
+ const promise = (async () => {
8043
+ await entry.connection.extMethod(
8036
8044
  SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh,
8037
8045
  { sessionId: entry.sessionId }
8038
- ),
8046
+ );
8047
+ })();
8048
+ inFlight = { connection: entry.connection, promise };
8049
+ inFlightExtensionRefreshes.set(entry.sessionId, inFlight);
8050
+ const clear = /* @__PURE__ */ __name(() => {
8051
+ if (inFlightExtensionRefreshes.get(entry.sessionId) === inFlight) {
8052
+ inFlightExtensionRefreshes.delete(entry.sessionId);
8053
+ }
8054
+ }, "clear");
8055
+ void promise.then(clear, clear);
8056
+ }
8057
+ await Promise.race([
8058
+ withTimeout(
8059
+ inFlight.promise,
8039
8060
  3e4,
8040
8061
  SERVE_CONTROL_EXT_METHODS.workspaceExtensionsRefresh
8041
8062
  ),
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  HistoryReplayer
5
- } from "./chunk-7U7UIO5W.js";
5
+ } from "./chunk-BXT6PQ73.js";
6
6
  import {
7
7
  redactLogCredentials
8
8
  } from "./chunk-M5GB774H.js";
@@ -23,6 +23,8 @@ var DaemonMetricsRing = class {
23
23
  curQueueWaits = [];
24
24
  curPromptDurations = [];
25
25
  curLlmDurations = [];
26
+ curLlmApiErrors = 0;
27
+ curLlmApiRetries = 0;
26
28
  curPipeInBytes = 0;
27
29
  curPipeOutBytes = 0;
28
30
  curTokensIn = 0;
@@ -49,6 +51,19 @@ var DaemonMetricsRing = class {
49
51
  recordLlmDuration(durationMs) {
50
52
  pushCapped(this.curLlmDurations, durationMs);
51
53
  }
54
+ /**
55
+ * Fold one model round's per-round model-API-error and automatic-retry
56
+ * increments (from the same token frame) into the open window. Both are
57
+ * plain counters — a burst in one window accrues exactly, past the sample
58
+ * cap that only bounds the percentile arrays. Non-finite / negative inputs
59
+ * are ignored so a malformed frame cannot poison the totals.
60
+ */
61
+ recordApiActivity(errors, retries) {
62
+ if (Number.isFinite(errors) && errors > 0) this.curLlmApiErrors += errors;
63
+ if (Number.isFinite(retries) && retries > 0) {
64
+ this.curLlmApiRetries += retries;
65
+ }
66
+ }
52
67
  /** Fold one ACP-child pipe message's payload size into the open window. */
53
68
  recordPipe(direction, bytes) {
54
69
  if (!Number.isFinite(bytes) || bytes < 0) return;
@@ -84,6 +99,8 @@ var DaemonMetricsRing = class {
84
99
  promptDurationP95Ms: percentile(this.curPromptDurations, 0.95),
85
100
  llmApiP50Ms: percentile(this.curLlmDurations, 0.5),
86
101
  llmApiP95Ms: percentile(this.curLlmDurations, 0.95),
102
+ llmApiErrors: this.curLlmApiErrors,
103
+ llmApiRetries: this.curLlmApiRetries,
87
104
  cpuPercent: finiteGauge(gauges.cpuPercent),
88
105
  rssBytes: finiteGauge(gauges.rssBytes),
89
106
  heapUsedBytes: finiteGauge(gauges.heapUsedBytes),
@@ -109,6 +126,8 @@ var DaemonMetricsRing = class {
109
126
  this.curQueueWaits.length = 0;
110
127
  this.curPromptDurations.length = 0;
111
128
  this.curLlmDurations.length = 0;
129
+ this.curLlmApiErrors = 0;
130
+ this.curLlmApiRetries = 0;
112
131
  this.curPipeInBytes = 0;
113
132
  this.curPipeOutBytes = 0;
114
133
  this.curTokensIn = 0;
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-YUZI3WAC.js";
14
14
  import {
15
15
  ideContextStore
16
- } from "./chunk-SSFDPGFN.js";
16
+ } from "./chunk-HJUDVNCO.js";
17
17
  import {
18
18
  atomicWriteFileSync
19
19
  } from "./chunk-WIEO4CWB.js";