@qwen-code/qwen-code 0.20.2-jobbench-no-todo-write.0 → 0.21.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 (370) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +5 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +23 -5
  3. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  4. package/bundled/review/SKILL.md +7 -3
  5. package/chunks/MaxSizedBox-5DPPWPGT.js +85 -0
  6. package/chunks/{StandaloneSessionPicker-WBRBHD2M.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -58
  7. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  8. package/chunks/{acpAgent-BBQZ33CA.js → acpAgent-6J2U72PQ.js} +706 -182
  9. package/chunks/agent-6ODUANDO.js +81 -0
  10. package/chunks/agent-headless-7BYQTMHW.js +75 -0
  11. package/chunks/{anthropicContentGenerator-HGWAHO24.js → anthropicContentGenerator-75BKLTSP.js} +117 -43
  12. package/chunks/{artifact-tool-56T5IMBP.js → artifact-tool-Y5T7GG7F.js} +3 -3
  13. package/chunks/{askUserQuestion-E25OBIC2.js → askUserQuestion-2H6747FR.js} +3 -3
  14. package/chunks/bridge-ZUB64FAE.js +90 -0
  15. package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
  16. package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
  17. package/chunks/{channel-worker-group-LFBT7K64.js → channel-worker-group-2ZD7TVAT.js} +7 -6
  18. package/chunks/{channel-worker-manager-3RUPERG2.js → channel-worker-manager-4OA4BCGB.js} +189 -29
  19. package/chunks/{channel-worker-supervisor-A3KVATD3.js → channel-worker-supervisor-V7KCFJTS.js} +6 -5
  20. package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
  21. package/chunks/chunk-2JZBVYTU.js +452 -0
  22. package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
  23. package/chunks/{chunk-B2HSPMD4.js → chunk-2NH6DYI4.js} +12 -12
  24. package/chunks/chunk-2SCDWPXI.js +246 -0
  25. package/chunks/{chunk-JK26TQON.js → chunk-2X55UKQE.js} +3 -3
  26. package/chunks/{chunk-7VUQQBR7.js → chunk-3QMGYBFN.js} +2 -65
  27. package/chunks/{chunk-UMCULC5M.js → chunk-3RN6GBKS.js} +1 -1
  28. package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
  29. package/chunks/chunk-46UV252V.js +128 -0
  30. package/chunks/{chunk-GPMVHZP4.js → chunk-4WIZGAH3.js} +7 -7
  31. package/chunks/{chunk-CI3GWKGJ.js → chunk-55DJUCI2.js} +87 -29
  32. package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
  33. package/chunks/{chunk-D7WXIW7H.js → chunk-5NBDS5S6.js} +145 -5
  34. package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
  35. package/chunks/chunk-6FGBXPWM.js +293 -0
  36. package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
  37. package/chunks/{chunk-KWK7UE6L.js → chunk-6OUGMXDC.js} +6 -6
  38. package/chunks/{chunk-QRUIS3DN.js → chunk-6PEXNQTX.js} +22 -1
  39. package/chunks/{chunk-77OZOGPT.js → chunk-7JURR4JT.js} +1 -1
  40. package/chunks/{chunk-4MWNZNJ4.js → chunk-7MVVZO4N.js} +4 -4
  41. package/chunks/{chunk-6ZBPS62S.js → chunk-7ZCNENPP.js} +1 -1
  42. package/chunks/{chunk-6X4GWOPW.js → chunk-A5L3JMUA.js} +1 -1
  43. package/chunks/{chunk-B3I77W5J.js → chunk-ACY3A37B.js} +3 -3
  44. package/chunks/chunk-AMDSOFFV.js +10860 -0
  45. package/chunks/{chunk-RV4C2ZFG.js → chunk-BIQWWWJN.js} +1 -1
  46. package/chunks/{chunk-ZHERRXZJ.js → chunk-BJX6ZSUK.js} +4 -4
  47. package/chunks/chunk-BK2UNYWD.js +29 -0
  48. package/chunks/{chunk-7TLUW4ZE.js → chunk-BKHWX6I2.js} +3 -3
  49. package/chunks/chunk-BPJSQIJX.js +100 -0
  50. package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
  51. package/chunks/{chunk-H4A4A2SY.js → chunk-CIKQ7KKO.js} +4625 -8645
  52. package/chunks/{chunk-QZJY47IE.js → chunk-D3UEZIQH.js} +7 -5
  53. package/chunks/chunk-DHHOYAPR.js +1462 -0
  54. package/chunks/{chunk-LESHKUWF.js → chunk-DLWL3Z7A.js} +5 -3
  55. package/chunks/{chunk-XHATNRQA.js → chunk-DP3IHZGG.js} +0 -2
  56. package/chunks/chunk-E5TUC6CA.js +479 -0
  57. package/chunks/{chunk-6NRFYMKG.js → chunk-EBJQ6AXW.js} +11 -10
  58. package/chunks/{chunk-HABKX6LY.js → chunk-EPDRMGT4.js} +164 -17
  59. package/chunks/{chunk-P2BQZ7H7.js → chunk-ETSW4KLJ.js} +2 -2
  60. package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
  61. package/chunks/{chunk-64EG42HV.js → chunk-FQK6JAFG.js} +72 -23
  62. package/chunks/{chunk-L6U47G5P.js → chunk-FSITMZJH.js} +8 -8
  63. package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
  64. package/chunks/{chunk-CXIOPXRR.js → chunk-GSN55ZRI.js} +5 -5
  65. package/chunks/{chunk-LVA5OHQO.js → chunk-H4SBPHSA.js} +3 -3
  66. package/chunks/chunk-H5FFA6TH.js +902 -0
  67. package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
  68. package/chunks/{chunk-NXE6SQIV.js → chunk-IJTOWOD7.js} +14 -3
  69. package/chunks/chunk-IKCX4CCL.js +469 -0
  70. package/chunks/{chunk-7SSWNGEJ.js → chunk-IKYJHJNF.js} +3 -3
  71. package/chunks/{chunk-64XKYOXK.js → chunk-IO3IX5Q4.js} +1 -1
  72. package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
  73. package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
  74. package/chunks/{chunk-SVIMKSEI.js → chunk-J24WCGIN.js} +4 -4
  75. package/chunks/{chunk-4LVZNIDO.js → chunk-J56UI34H.js} +4 -13
  76. package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
  77. package/chunks/{chunk-7PIL2BYF.js → chunk-JVPM2ULZ.js} +6 -6
  78. package/chunks/{chunk-KBB5O3JO.js → chunk-JXJFVC6E.js} +37 -18
  79. package/chunks/chunk-JZA3JUDJ.js +82 -0
  80. package/chunks/{chunk-45PO6ZIS.js → chunk-K36B6G2O.js} +5 -5
  81. package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
  82. package/chunks/{chunk-K7EUPLIP.js → chunk-KIM5GUMA.js} +654 -117
  83. package/chunks/{chunk-42W5BDEY.js → chunk-KMQ33DO4.js} +7 -5
  84. package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
  85. package/chunks/{chunk-WHGVTP7Q.js → chunk-L26JL52R.js} +3 -3
  86. package/chunks/{chunk-7Z6JQEL6.js → chunk-L5UHQJTJ.js} +1 -1
  87. package/chunks/{chunk-26CBI4DC.js → chunk-LB6DUZ26.js} +259 -67
  88. package/chunks/chunk-LEH5C7FV.js +232 -0
  89. package/chunks/{chunk-UTGFTJ2H.js → chunk-LH2BYDQ5.js} +6 -4
  90. package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
  91. package/chunks/{chunk-V7WNRZL7.js → chunk-LKEJ26GS.js} +11 -11
  92. package/chunks/{chunk-6VPLV3L3.js → chunk-LQIW3YFY.js} +227 -41
  93. package/chunks/chunk-LS77BEZP.js +405 -0
  94. package/chunks/{chunk-5WDRI7US.js → chunk-M4FMGVY4.js} +3 -3
  95. package/chunks/{chunk-57FIIFJN.js → chunk-M5JM7OSF.js} +1 -1
  96. package/chunks/{chunk-7362QS5B.js → chunk-MB4MZHMJ.js} +80 -37
  97. package/chunks/{chunk-4K56OJFJ.js → chunk-MUP3T3AD.js} +1 -1
  98. package/chunks/{chunk-CJQ3FZ2G.js → chunk-MVSUYZDT.js} +4 -4
  99. package/chunks/{chunk-6FZYKBKV.js → chunk-MZAXJAUM.js} +1 -1
  100. package/chunks/{chunk-32L4D2O2.js → chunk-NH6KE4JX.js} +3 -3
  101. package/chunks/chunk-NIBLUX3Y.js +934 -0
  102. package/chunks/{chunk-OQB4EXO4.js → chunk-NL7LTRLR.js} +1 -1
  103. package/chunks/{chunk-6S5HSCOI.js → chunk-OFDOK3VM.js} +5 -5
  104. package/chunks/{chunk-LIZRAKPB.js → chunk-OHNBB4XR.js} +1 -1
  105. package/chunks/{chunk-MDZTPSXO.js → chunk-OKY7HXPG.js} +2 -2
  106. package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
  107. package/chunks/{chunk-4SCOLXTD.js → chunk-PC6JANNU.js} +5 -5
  108. package/chunks/{chunk-IWALV67J.js → chunk-PHOF65IG.js} +4300 -1284
  109. package/chunks/{chunk-OQ5SYCPE.js → chunk-PJIZUQVC.js} +2 -2
  110. package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
  111. package/chunks/{chunk-YM3SZTH4.js → chunk-PR75REBZ.js} +18 -1
  112. package/chunks/{chunk-5XORMWA2.js → chunk-PSOO6YXD.js} +18 -15
  113. package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
  114. package/chunks/{chunk-GSX6P2JW.js → chunk-PWVFN2LF.js} +1 -1
  115. package/chunks/{chunk-AHX6AKPD.js → chunk-Q4M4MDQ4.js} +2 -2
  116. package/chunks/{chunk-3EHJ44GG.js → chunk-QAF7NMK7.js} +1 -1
  117. package/chunks/{chunk-WSYKDFYR.js → chunk-R5AFZNQW.js} +5 -5
  118. package/chunks/{chunk-63DJBU32.js → chunk-RF3EXIHJ.js} +39 -18
  119. package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
  120. package/chunks/{chunk-SXPSOMQ4.js → chunk-RIBKPMRP.js} +220 -141
  121. package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
  122. package/chunks/{chunk-ZUTM4LHM.js → chunk-RZIX2G32.js} +1 -1
  123. package/chunks/{chunk-ZKBNRL6O.js → chunk-SQCQ4KO2.js} +336 -404
  124. package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
  125. package/chunks/{chunk-RHYFF54J.js → chunk-TEHGS6UP.js} +50 -21
  126. package/chunks/{chunk-ACQJPDDS.js → chunk-TGILQ3YH.js} +8 -8
  127. package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
  128. package/chunks/{chunk-ACZIBDYD.js → chunk-TPRQ7RZH.js} +587 -176
  129. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  130. package/chunks/{chunk-7MWABCXU.js → chunk-U7M2DMGW.js} +3 -3
  131. package/chunks/{chunk-KQQ757OQ.js → chunk-UDX5OBWR.js} +41 -9
  132. package/chunks/{chunk-SRPZG4ER.js → chunk-USTWD7QV.js} +6 -4
  133. package/chunks/{chunk-NPQDJGKU.js → chunk-UUUTRMI2.js} +1 -1
  134. package/chunks/chunk-UW5EOVUN.js +249 -0
  135. package/chunks/{chunk-6IL7KRLE.js → chunk-VAK25FTU.js} +1 -1
  136. package/chunks/{chunk-TDDFEPBX.js → chunk-VIA5XA4U.js} +5 -2
  137. package/chunks/{chunk-3BJDQVE6.js → chunk-VRYUBFMC.js} +1 -1
  138. package/chunks/{chunk-PLQODS7F.js → chunk-VULLI6WQ.js} +172 -6
  139. package/chunks/{chunk-GN45XAAU.js → chunk-WCXCRJYB.js} +1 -1
  140. package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
  141. package/chunks/{chunk-O32RMIMO.js → chunk-Y34KJKDC.js} +1 -1
  142. package/chunks/{chunk-7ZD5EKXE.js → chunk-YBL3QUDD.js} +2 -2
  143. package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
  144. package/chunks/{chunk-3G3UUMRS.js → chunk-YPE6A4GC.js} +2 -2
  145. package/chunks/{chunk-3F2JUWCH.js → chunk-YX324OPW.js} +1 -1
  146. package/chunks/{chunk-CGIDQG6J.js → chunk-Z2BC6UJ5.js} +3 -3
  147. package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
  148. package/chunks/{chunk-ZPWJZHJ2.js → chunk-ZFDTEDCF.js} +6 -6
  149. package/chunks/chunk-ZJHVAS7M.js +289 -0
  150. package/chunks/{chunk-XAGLQITN.js → chunk-ZNAUOR2I.js} +15 -12
  151. package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
  152. package/chunks/{computer-use-RZ3UUWYW.js → computer-use-SOQ4E3VX.js} +43 -34
  153. package/chunks/{config-utils-SQUBZEQM.js → config-utils-7V7GGIW6.js} +3 -3
  154. package/chunks/contextCommand-JLHYA34Z.js +80 -0
  155. package/chunks/{create-sub-session-AZ77LBL3.js → create-sub-session-IWW2IZ2T.js} +3 -3
  156. package/chunks/{create-sub-session-EQG73FT6.js → create-sub-session-QRJLW5BV.js} +43 -34
  157. package/chunks/{cron-create-KTWJM7QT.js → cron-create-YIID5XAW.js} +6 -6
  158. package/chunks/{cron-delete-2P3I5ULL.js → cron-delete-ZVHYCEP2.js} +5 -5
  159. package/chunks/{cron-list-PXDPGEDQ.js → cron-list-XEGS463Q.js} +5 -5
  160. package/chunks/{daemon-RAPSDJH7.js → daemon-YO6433NF.js} +350 -53
  161. package/chunks/daemon-status-provider-2233Q37D.js +89 -0
  162. package/chunks/{de-4IBXM7CN.js → de-HGRCYDEJ.js} +1 -0
  163. package/chunks/{dist-UIFWIFRO.js → dist-46NQKLTW.js} +2 -2
  164. package/chunks/{dist-XRYV6TJP.js → dist-AIKFMUKK.js} +50 -4
  165. package/chunks/{dist-XBJVSWS2.js → dist-BBLXMS3N.js} +14 -2
  166. package/chunks/{dist-OMW6WDEO.js → dist-F6IBUDR4.js} +40 -9
  167. package/chunks/{dist-PJLG2XYX.js → dist-WEAHOXDM.js} +1 -1
  168. package/chunks/{dist-OAV7LJGJ.js → dist-YFNEUWSE.js} +26 -2
  169. package/chunks/earlyInputCapture-A7NDU3PF.js +82 -0
  170. package/chunks/{edit-XRSKQPHQ.js → edit-OBDSQURM.js} +43 -34
  171. package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
  172. package/chunks/{enter-worktree-WAHCWE6I.js → enter-worktree-U6MRPQ2P.js} +43 -34
  173. package/chunks/{enterPlanMode-QIOYLDCF.js → enterPlanMode-BC5QUZZ2.js} +43 -34
  174. package/chunks/{environment-T3FXCDJI.js → environment-W5UFC2CH.js} +46 -37
  175. package/chunks/errors-M7CLORXH.js +88 -0
  176. package/chunks/{exit-worktree-RHVTLX6T.js → exit-worktree-DGNYMECB.js} +43 -34
  177. package/chunks/{exitPlanMode-UATOE2GQ.js → exitPlanMode-GXTBWQAR.js} +43 -34
  178. package/chunks/{fast-path-J3RHOYSZ.js → fast-path-JJZFJANL.js} +6 -6
  179. package/chunks/{fast-path-settings-XB3CPUJT.js → fast-path-settings-WQJU2LAT.js} +2 -2
  180. package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
  181. package/chunks/{gemini-P72OGOH6.js → gemini-QS36EBZV.js} +133 -102
  182. package/chunks/{geminiContentGenerator-F6EG5FXF.js → geminiContentGenerator-AG4KB6CV.js} +14 -8
  183. package/chunks/{getMachineId-bsd-QFVLPUPT.js → getMachineId-bsd-V7W3GODC.js} +1 -1
  184. package/chunks/{getMachineId-darwin-DGMQQE2E.js → getMachineId-darwin-TDO75DQP.js} +1 -1
  185. package/chunks/{getMachineId-linux-R4Z6CSWC.js → getMachineId-linux-TF43WQT2.js} +1 -1
  186. package/chunks/{getMachineId-unsupported-Z3SBVBUV.js → getMachineId-unsupported-ZGUO3TXT.js} +1 -1
  187. package/chunks/{getMachineId-win-SCK5UFDT.js → getMachineId-win-ECFYZZFQ.js} +1 -1
  188. package/chunks/{glob-WHASQZRX.js → glob-V7R3PSK3.js} +43 -34
  189. package/chunks/{grep-LS7AADJ3.js → grep-QYPSK7OP.js} +43 -34
  190. package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
  191. package/chunks/{i18n-IMVASWIF.js → i18n-VUJJZIMU.js} +44 -35
  192. package/chunks/image-gen-Z3VPGKRC.js +240 -0
  193. package/chunks/initializer-UWAK5U5O.js +86 -0
  194. package/chunks/installationInfo-6O2YAA52.js +80 -0
  195. package/chunks/{ja-KY4ROZTE.js → ja-B7DF7DFG.js} +1 -0
  196. package/chunks/{keychain-token-storage-6ACJDYIB.js → keychain-token-storage-MDTG3WRM.js} +3 -3
  197. package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
  198. package/chunks/list-GB4ESM3T.js +89 -0
  199. package/chunks/list-agents-5KJJHR6I.js +80 -0
  200. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +83 -0
  201. package/chunks/loggingContentGenerator-HS3S5H3Q.js +1077 -0
  202. package/chunks/{loop-wakeup-RNMRVA66.js → loop-wakeup-FXKNNYSY.js} +7 -7
  203. package/chunks/{ls-J2ZI5XYK.js → ls-NTK6VOQJ.js} +5 -5
  204. package/chunks/{lsp-UMS3NUB5.js → lsp-2JI24STP.js} +3 -3
  205. package/chunks/{managed-npm-update-L6UY7OM7.js → managed-npm-update-JYEMMXA3.js} +94 -37
  206. package/chunks/mcp-6DBDJPFU.js +83 -0
  207. package/chunks/{monitor-DXYFB5QD.js → monitor-R3ODH5U6.js} +45 -35
  208. package/chunks/node-UUDY34IG.js +305 -0
  209. package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
  210. package/chunks/{notebook-edit-KGD7YJEA.js → notebook-edit-BNOK452R.js} +43 -34
  211. package/chunks/{openaiContentGenerator-C74A2XAU.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
  212. package/chunks/pidfile-TFRZZZIO.js +86 -0
  213. package/chunks/{processUtils-GUT5B4R6.js → processUtils-RT7UNCC2.js} +2 -2
  214. package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
  215. package/chunks/{qwenContentGenerator-PT46FQPA.js → qwenContentGenerator-HHCRK4SX.js} +56 -41
  216. package/chunks/{qwenOAuth2-S7DZHUUU.js → qwenOAuth2-OWLB5AKH.js} +14 -27
  217. package/chunks/read-file-APMO3PSX.js +31 -0
  218. package/chunks/{read-mcp-resource-F6HYMDUY.js → read-mcp-resource-4DKQWGHD.js} +3 -3
  219. package/chunks/{record-artifact-7GCFLDD7.js → record-artifact-RQKFYO5B.js} +3 -3
  220. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +91 -0
  221. package/chunks/ripGrep-BEJDEDXW.js +73 -0
  222. package/chunks/{ru-7SPDGMGD.js → ru-FZCNZHDC.js} +1 -0
  223. package/chunks/{run-qwen-serve-QO4PT5NV.js → run-qwen-serve-FU6HEM4J.js} +276 -62
  224. package/chunks/{runtime-EOTXBUM6.js → runtime-XXRRTNP6.js} +55 -44
  225. package/chunks/{scheduler-MAIQ2PHR.js → scheduler-G2ZS2Z7E.js} +43 -34
  226. package/chunks/{sdk-exporters-grpc-ETLH47EP.js → sdk-exporters-grpc-AK3LGHNO.js} +3 -3
  227. package/chunks/{sdk-exporters-http-T3POX73F.js → sdk-exporters-http-FYBSUCPD.js} +6 -6
  228. package/chunks/{sdk-impl-NSLPDH6I.js → sdk-impl-GMVPB7NB.js} +6 -6
  229. package/chunks/{send-message-PYIJ2PZL.js → send-message-Q6OOR6BR.js} +46 -9
  230. package/chunks/serve-7BSTXJ4T.js +89 -0
  231. package/chunks/{server-CBCC3XQC.js → server-4UMH7OIZ.js} +2348 -396
  232. package/chunks/{session-RQUEFQDL.js → session-K3O3Q2SV.js} +107 -88
  233. package/chunks/{settings-QHXCJDSR.js → settings-CR2EWTBA.js} +53 -44
  234. package/chunks/shell-HH3PF3A2.js +83 -0
  235. package/chunks/{skill-WHSGTGKP.js → skill-I3SDA4MB.js} +17 -15
  236. package/chunks/spawnChannel-RWNDBXGA.js +82 -0
  237. package/chunks/{src-F3HKX47D.js → src-GE4TTTML.js} +290 -171
  238. package/chunks/{standalone-update-BKLONSVI.js → standalone-update-Q6WFRZZQ.js} +45 -36
  239. package/chunks/{startInteractiveUI-TNJ37X5W.js → startInteractiveUI-SLZGHRPH.js} +736 -298
  240. package/chunks/{syntheticOutput-H7RTI5KL.js → syntheticOutput-I3757IWH.js} +4 -4
  241. package/chunks/{task-create-7474AJJD.js → task-create-N7WQSGYA.js} +10 -10
  242. package/chunks/{task-list-633HGOIB.js → task-list-FOPULZEP.js} +7 -7
  243. package/chunks/{task-stop-MNUGHPIA.js → task-stop-H6RHXFVQ.js} +4 -4
  244. package/chunks/{task-update-66GQB5LI.js → task-update-M57TFZJT.js} +10 -10
  245. package/chunks/{team-create-LUHJ7ZCC.js → team-create-YJALH5D2.js} +44 -35
  246. package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
  247. package/chunks/{team-plan-approval-X3DYRL6L.js → team-plan-approval-34QFYKGN.js} +43 -34
  248. package/chunks/theme-manager-SWRILQHI.js +77 -0
  249. package/chunks/todoWrite-VQ7FKOHL.js +358 -0
  250. package/chunks/{tool-search-BAWOETUY.js → tool-search-NF7GB6LE.js} +16 -16
  251. package/chunks/total-session-admission-DLHHHLD3.js +84 -0
  252. package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
  253. package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  254. package/chunks/{trustedFolders-4UEOIKOF.js → trustedFolders-KHXHY6PY.js} +44 -35
  255. package/chunks/{update-relaunch-WDWABT5P.js → update-relaunch-WBUZJC5O.js} +5 -5
  256. package/chunks/updateCheck-RKL6M5XN.js +92 -0
  257. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +93 -0
  258. package/chunks/{validateNonInterActiveAuth-OKUE3JLF.js → validateNonInterActiveAuth-3R223G3R.js} +91 -81
  259. package/chunks/{version-GMUULLWB.js → version-HS7YSFHV.js} +1 -1
  260. package/chunks/{web-fetch-JBWTMPFN.js → web-fetch-NKCSG7ZE.js} +18 -16
  261. package/chunks/{web-search-27COJHJT.js → web-search-S62WAP4S.js} +13 -27
  262. package/chunks/{workflow-5L37J7YF.js → workflow-QAGU5RU4.js} +44 -35
  263. package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
  264. package/chunks/{workspace-registration-store-TYPYXIP6.js → workspace-registration-store-24JMHDGF.js} +2 -2
  265. package/chunks/workspace-registry-UT4RBNBM.js +88 -0
  266. package/chunks/workspace-service-JFWRUS4V.js +98 -0
  267. package/chunks/workspace-skills-status-ZBBKJOI2.js +85 -0
  268. package/chunks/write-file-VHIXW5M7.js +73 -0
  269. package/chunks/{zh-WY5DWYZD.js → zh-LUIGBD55.js} +15 -0
  270. package/chunks/{zh-TW-BM47YBFH.js → zh-TW-F5KG2IYD.js} +15 -0
  271. package/cli-entry.js +10 -1
  272. package/cli.js +13 -13
  273. package/locales/ca.js +2 -0
  274. package/locales/de.js +1 -0
  275. package/locales/en.js +25 -0
  276. package/locales/fr.js +1 -0
  277. package/locales/ja.js +1 -0
  278. package/locales/pt.js +1 -0
  279. package/locales/ru.js +1 -0
  280. package/locales/zh-TW.js +23 -0
  281. package/locales/zh.js +23 -0
  282. package/package.json +3 -3
  283. package/web-shell/assets/{arc-BWFm0SI0.js → arc-DcbWnB9T.js} +1 -1
  284. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CZ_yL-DQ.js → architectureDiagram-3BPJPVTR-kMMF5sud.js} +1 -1
  285. package/web-shell/assets/{blockDiagram-GPEHLZMM-B9F9mJvG.js → blockDiagram-GPEHLZMM-Htl9vTJS.js} +1 -1
  286. package/web-shell/assets/{c4Diagram-AAUBKEIU-BUdwJW5f.js → c4Diagram-AAUBKEIU-BnZnm0mQ.js} +1 -1
  287. package/web-shell/assets/channel-Cq7YKtfC.js +1 -0
  288. package/web-shell/assets/{chunk-2J33WTMH-w4cF-qlF.js → chunk-2J33WTMH-DziB7kDG.js} +1 -1
  289. package/web-shell/assets/{chunk-4BX2VUAB-BXwURxHJ.js → chunk-4BX2VUAB-CmkD8daw.js} +1 -1
  290. package/web-shell/assets/{chunk-55IACEB6-Gem3LalC.js → chunk-55IACEB6-CHAd9A_U.js} +1 -1
  291. package/web-shell/assets/{chunk-727SXJPM-A3ddVojI.js → chunk-727SXJPM-Dqaam3fE.js} +1 -1
  292. package/web-shell/assets/{chunk-AQP2D5EJ-CjHZ5L_R.js → chunk-AQP2D5EJ-D_-saBYM.js} +1 -1
  293. package/web-shell/assets/{chunk-FMBD7UC4-CKgdgcpv.js → chunk-FMBD7UC4-B9r_veWD.js} +1 -1
  294. package/web-shell/assets/{chunk-ND2GUHAM-Cn2Dykjb.js → chunk-ND2GUHAM-B3EaCSpL.js} +1 -1
  295. package/web-shell/assets/{chunk-QZHKN3VN--0SyraC5.js → chunk-QZHKN3VN-CYq8x9mn.js} +1 -1
  296. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +1 -0
  297. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +1 -0
  298. package/web-shell/assets/{cose-bilkent-S5V4N54A-CphhAity.js → cose-bilkent-S5V4N54A-D0ng4uiB.js} +1 -1
  299. package/web-shell/assets/{dagre-BM42HDAG-DU--jiKp.js → dagre-BM42HDAG-DCZollQv.js} +1 -1
  300. package/web-shell/assets/{diagram-2AECGRRQ-BzvuZw1Y.js → diagram-2AECGRRQ-Dfk2pWS0.js} +1 -1
  301. package/web-shell/assets/{diagram-5GNKFQAL-D84-49Y0.js → diagram-5GNKFQAL-kX38ltWR.js} +1 -1
  302. package/web-shell/assets/{diagram-KO2AKTUF-DQTq-3_3.js → diagram-KO2AKTUF-CJz2vsXh.js} +1 -1
  303. package/web-shell/assets/{diagram-LMA3HP47-8FTrshzN.js → diagram-LMA3HP47-BvMLZm_7.js} +1 -1
  304. package/web-shell/assets/{diagram-OG6HWLK6-BCjpDBCm.js → diagram-OG6HWLK6-l7kfStkO.js} +1 -1
  305. package/web-shell/assets/{erDiagram-TEJ5UH35-BtRObkmg.js → erDiagram-TEJ5UH35-BSVa8GGT.js} +1 -1
  306. package/web-shell/assets/{flowDiagram-I6XJVG4X-DTrW6oxy.js → flowDiagram-I6XJVG4X-CoawKIXH.js} +1 -1
  307. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgPNSW6j.js → ganttDiagram-6RSMTGT7-DFUDH0zF.js} +1 -1
  308. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BTclNgGV.js → gitGraphDiagram-PVQCEYII-Y2pvpT4e.js} +1 -1
  309. package/web-shell/assets/{index-CxA7AqY6.js → index-D0GX0zZf.js} +1 -1
  310. package/web-shell/assets/index-D9haPt0X.css +5 -0
  311. package/web-shell/assets/index-ckX9Pq5k.js +1230 -0
  312. package/web-shell/assets/{infoDiagram-5YYISTIA-DCE4AJt2.js → infoDiagram-5YYISTIA-CU8_zLiX.js} +1 -1
  313. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js → ishikawaDiagram-YF4QCWOH-AVQiV0DU.js} +1 -1
  314. package/web-shell/assets/{journeyDiagram-JHISSGLW-C_dxdyEc.js → journeyDiagram-JHISSGLW-DQ0VSKa3.js} +1 -1
  315. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dw3n1u3w.js → kanban-definition-UN3LZRKU-BqnWqsE_.js} +1 -1
  316. package/web-shell/assets/{linear-C2BF2zJ9.js → linear-BkoihsaA.js} +1 -1
  317. package/web-shell/assets/{mermaid.core-CGTQU3MA.js → mermaid.core-5RJs-31j.js} +5 -5
  318. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BVFZm9ZC.js → mindmap-definition-RKZ34NQL-D33Bxnpd.js} +1 -1
  319. package/web-shell/assets/{pieDiagram-4H26LBE5-Cc-TNN3n.js → pieDiagram-4H26LBE5-BuEAw3BH.js} +1 -1
  320. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CgW3Rzsi.js → quadrantDiagram-W4KKPZXB-Kox_usEq.js} +1 -1
  321. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BAaj0Y3B.js → requirementDiagram-4Y6WPE33-CNjeUif0.js} +1 -1
  322. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-XJWmekxS.js → sankeyDiagram-5OEKKPKP-BCd2OL_U.js} +1 -1
  323. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CtRc_0wf.js → sequenceDiagram-3UESZ5HK-CF2ZTsz0.js} +1 -1
  324. package/web-shell/assets/{stateDiagram-AJRCARHV-WCnvMGy5.js → stateDiagram-AJRCARHV-qenSzHtm.js} +1 -1
  325. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +1 -0
  326. package/web-shell/assets/{timeline-definition-PNZ67QCA-C9cRx49L.js → timeline-definition-PNZ67QCA-B5DyWdgs.js} +1 -1
  327. package/web-shell/assets/{vennDiagram-CIIHVFJN-BvXOCEt-.js → vennDiagram-CIIHVFJN-DqP4I_o_.js} +1 -1
  328. package/web-shell/assets/{wardley-L42UT6IY-ByafGtzu.js → wardley-L42UT6IY-CJe2e4mg.js} +1 -1
  329. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CozAnw8x.js → wardleyDiagram-YWT4CUSO-BMDSw-Rr.js} +1 -1
  330. package/web-shell/assets/{xychartDiagram-2RQKCTM6-Camu9Qvq.js → xychartDiagram-2RQKCTM6-BTVZYkxD.js} +1 -1
  331. package/web-shell/index.html +17 -13
  332. package/chunks/MaxSizedBox-HNWBEL5H.js +0 -77
  333. package/chunks/agent-KTMY6SF3.js +0 -72
  334. package/chunks/agent-headless-HJ56ZZOW.js +0 -66
  335. package/chunks/bridge-AMC5AD7W.js +0 -80
  336. package/chunks/chunk-CBOQ3HY7.js +0 -2019
  337. package/chunks/chunk-UHGNAWHK.js +0 -6928
  338. package/chunks/contextCommand-PW4GINQU.js +0 -71
  339. package/chunks/daemon-status-provider-3IWTBWQ3.js +0 -79
  340. package/chunks/earlyInputCapture-TYNI3B6E.js +0 -73
  341. package/chunks/errors-QAWTJTAW.js +0 -79
  342. package/chunks/handleAutoUpdate-V5A3JHOG.js +0 -72
  343. package/chunks/initializer-JJLF5JCJ.js +0 -77
  344. package/chunks/installationInfo-LAWMHQAG.js +0 -71
  345. package/chunks/list-L2ECB6UM.js +0 -80
  346. package/chunks/loadedSettingsAdapter-RLMZ4Z3E.js +0 -74
  347. package/chunks/mcp-E4O7Z6FO.js +0 -74
  348. package/chunks/nonInteractiveCli-GU2UKULE.js +0 -131
  349. package/chunks/pidfile-IWQWZNZV.js +0 -77
  350. package/chunks/read-file-ZOCXW4AD.js +0 -31
  351. package/chunks/resumeHistoryUtils-TJWRDE2L.js +0 -83
  352. package/chunks/ripGrep-OFKAW2VE.js +0 -64
  353. package/chunks/serve-UB4CF67Q.js +0 -80
  354. package/chunks/shell-RPK7EAOC.js +0 -74
  355. package/chunks/spawnChannel-IUP3ZNMT.js +0 -73
  356. package/chunks/theme-manager-ALL7F4CJ.js +0 -68
  357. package/chunks/total-session-admission-PLONPNXI.js +0 -74
  358. package/chunks/updateCheck-PVROE4GR.js +0 -87
  359. package/chunks/useAutoAcceptIndicator-6BNLNN5S.js +0 -85
  360. package/chunks/workspace-providers-status-2U3IF4TX.js +0 -77
  361. package/chunks/workspace-registry-DLQDDDIF.js +0 -78
  362. package/chunks/workspace-service-7K3LF4QX.js +0 -89
  363. package/chunks/workspace-skills-status-4DOZ3DBS.js +0 -76
  364. package/chunks/write-file-PTPXDKZ3.js +0 -64
  365. package/web-shell/assets/channel-DiLlxxIf.js +0 -1
  366. package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +0 -1
  367. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +0 -1
  368. package/web-shell/assets/index-CGtQqOIa.css +0 -5
  369. package/web-shell/assets/index-TtM0hVjU.js +0 -1207
  370. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D1gzH2Ue.js +0 -1
@@ -0,0 +1,246 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ require_semver
5
+ } from "./chunk-DP3IHZGG.js";
6
+ import {
7
+ getNpmCliPath
8
+ } from "./chunk-ZNAUOR2I.js";
9
+ import {
10
+ t
11
+ } from "./chunk-LKEJ26GS.js";
12
+ import {
13
+ getPackageJson
14
+ } from "./chunk-VJNBRRZG.js";
15
+ import {
16
+ createDebugLogger
17
+ } from "./chunk-NL7LTRLR.js";
18
+ import {
19
+ init_esbuild_shims
20
+ } from "./chunk-5O2XNYP6.js";
21
+ import {
22
+ __name,
23
+ __toESM
24
+ } from "./chunk-J2S4EL5Y.js";
25
+
26
+ // packages/cli/src/ui/utils/updateCheck.ts
27
+ init_esbuild_shims();
28
+ var import_semver = __toESM(require_semver(), 1);
29
+ import { execFile } from "node:child_process";
30
+ import { promisify } from "node:util";
31
+ var debugLogger = createDebugLogger("UPDATE_CHECK");
32
+ var FETCH_TIMEOUT_MS = 5e3;
33
+ var UpdateCheckTimeoutError = class extends Error {
34
+ static {
35
+ __name(this, "UpdateCheckTimeoutError");
36
+ }
37
+ distTag;
38
+ constructor(timeoutMs, distTag) {
39
+ const suffix = distTag ? ` for ${distTag}` : "";
40
+ super(`update check timed out after ${timeoutMs}ms${suffix}`);
41
+ this.name = "UpdateCheckTimeoutError";
42
+ this.distTag = distTag;
43
+ }
44
+ };
45
+ var NETWORK_ERROR_CODES = [
46
+ "ENOTFOUND",
47
+ "ECONNREFUSED",
48
+ "EAI_AGAIN",
49
+ "ETIMEDOUT",
50
+ "ENETUNREACH"
51
+ ];
52
+ function classifyUpdateCheckError(error) {
53
+ if (error instanceof UpdateCheckTimeoutError) return "timeout";
54
+ if (error instanceof Error) {
55
+ if ("killed" in error && error.killed === true && "signal" in error && error.signal === "SIGTERM") {
56
+ return "timeout";
57
+ }
58
+ const errors = [error];
59
+ if (error.cause instanceof Error) errors.push(error.cause);
60
+ const matchesCode = /* @__PURE__ */ __name((code) => errors.some(
61
+ (error2) => error2.code === code || error2.message.includes(code)
62
+ ), "matchesCode");
63
+ if (NETWORK_ERROR_CODES.some(matchesCode)) return "offline";
64
+ }
65
+ return "registry";
66
+ }
67
+ __name(classifyUpdateCheckError, "classifyUpdateCheckError");
68
+ function describeUpdateCheckFailure(error, timeoutMs = FETCH_TIMEOUT_MS) {
69
+ switch (classifyUpdateCheckError(error)) {
70
+ case "timeout":
71
+ return t("registry did not respond within {{seconds}}s", {
72
+ seconds: String(Math.round(timeoutMs / 1e3))
73
+ });
74
+ case "offline":
75
+ return t("registry unreachable");
76
+ default:
77
+ return t("registry error");
78
+ }
79
+ }
80
+ __name(describeUpdateCheckFailure, "describeUpdateCheckFailure");
81
+ async function fetchInfoWithTimeout(notifier, timeoutMs, distTag) {
82
+ let timer;
83
+ try {
84
+ return await Promise.race([
85
+ Promise.resolve(notifier.fetchInfo()),
86
+ new Promise((_, reject) => {
87
+ timer = setTimeout(
88
+ () => reject(new UpdateCheckTimeoutError(timeoutMs, distTag)),
89
+ timeoutMs
90
+ );
91
+ })
92
+ ]);
93
+ } finally {
94
+ if (timer !== void 0) clearTimeout(timer);
95
+ }
96
+ }
97
+ __name(fetchInfoWithTimeout, "fetchInfoWithTimeout");
98
+ var execFileAsync = promisify(execFile);
99
+ async function runGlobalNpm(args, run = execFileAsync, platform = process.platform, nodePath = process.execPath, resolveNpmCliPath = getNpmCliPath) {
100
+ const { stdout } = await run(
101
+ nodePath,
102
+ [resolveNpmCliPath(nodePath, platform), ...args],
103
+ {
104
+ encoding: "utf8",
105
+ timeout: FETCH_TIMEOUT_MS
106
+ }
107
+ );
108
+ return String(stdout).trim();
109
+ }
110
+ __name(runGlobalNpm, "runGlobalNpm");
111
+ async function fetchGlobalNpmUpdateInfo(packageName, currentVersion, distTag, run = execFileAsync) {
112
+ const output = await runGlobalNpm(
113
+ ["view", packageName, `dist-tags.${distTag}`, "--json", "--global"],
114
+ run
115
+ );
116
+ if (output === "") {
117
+ return {
118
+ latest: currentVersion,
119
+ current: currentVersion,
120
+ type: "latest",
121
+ name: packageName
122
+ };
123
+ }
124
+ const parsed = JSON.parse(output);
125
+ const latest = typeof parsed === "string" ? parsed : Array.isArray(parsed) && parsed.length === 1 && typeof parsed[0] === "string" ? parsed[0] : void 0;
126
+ if (latest === void 0) {
127
+ throw new Error(`Invalid npm ${distTag} version response`);
128
+ }
129
+ return {
130
+ latest,
131
+ current: currentVersion,
132
+ type: "latest",
133
+ name: packageName
134
+ };
135
+ }
136
+ __name(fetchGlobalNpmUpdateInfo, "fetchGlobalNpmUpdateInfo");
137
+ function getBestAvailableUpdate(nightly, stable) {
138
+ if (!nightly) return stable || null;
139
+ if (!stable) return nightly || null;
140
+ const nightlyVer = nightly.latest;
141
+ const stableVer = stable.latest;
142
+ if (import_semver.default.coerce(stableVer)?.version === import_semver.default.coerce(nightlyVer)?.version) {
143
+ return nightly;
144
+ }
145
+ return import_semver.default.gt(stableVer, nightlyVer) ? stable : nightly;
146
+ }
147
+ __name(getBestAvailableUpdate, "getBestAvailableUpdate");
148
+ async function checkForUpdatesDetailed(fetchGlobalNpm = fetchGlobalNpmUpdateInfo) {
149
+ let currentVersion;
150
+ try {
151
+ if (process.env["DEV"] === "true") {
152
+ return { status: "skipped", reason: "development mode" };
153
+ }
154
+ const packageJson = await getPackageJson();
155
+ if (!packageJson || !packageJson.name || !packageJson.version) {
156
+ return { status: "skipped", reason: "package metadata unavailable" };
157
+ }
158
+ const { name, version } = packageJson;
159
+ currentVersion = version;
160
+ const isNightly = version.includes("nightly");
161
+ const createNotifier = /* @__PURE__ */ __name((distTag) => ({
162
+ fetchInfo: /* @__PURE__ */ __name(() => fetchGlobalNpm(name, version, distTag), "fetchInfo")
163
+ }), "createNotifier");
164
+ if (isNightly) {
165
+ const [nightlyUpdateInfo, latestUpdateInfo] = await Promise.all([
166
+ fetchInfoWithTimeout(
167
+ createNotifier("nightly"),
168
+ FETCH_TIMEOUT_MS,
169
+ "nightly"
170
+ ),
171
+ fetchInfoWithTimeout(
172
+ createNotifier("latest"),
173
+ FETCH_TIMEOUT_MS,
174
+ "latest"
175
+ )
176
+ ]);
177
+ debugLogger.debug(
178
+ `fetchInfo returned nightly=${JSON.stringify(nightlyUpdateInfo)} latest=${JSON.stringify(latestUpdateInfo)} for current=${version}`
179
+ );
180
+ const bestUpdate = getBestAvailableUpdate(
181
+ nightlyUpdateInfo,
182
+ latestUpdateInfo
183
+ );
184
+ if (bestUpdate && import_semver.default.gt(bestUpdate.latest, version)) {
185
+ return {
186
+ status: "update",
187
+ info: {
188
+ message: t(
189
+ "A new version of Qwen Code is available! {{current}} \u2192 {{latest}}",
190
+ { current: version, latest: bestUpdate.latest }
191
+ ),
192
+ update: { ...bestUpdate, current: version }
193
+ }
194
+ };
195
+ }
196
+ } else {
197
+ const updateInfo = await fetchInfoWithTimeout(
198
+ createNotifier("latest"),
199
+ FETCH_TIMEOUT_MS,
200
+ "latest"
201
+ );
202
+ debugLogger.debug(
203
+ `fetchInfo returned ${JSON.stringify(updateInfo)} for current=${version}`
204
+ );
205
+ if (updateInfo && import_semver.default.gt(updateInfo.latest, version)) {
206
+ return {
207
+ status: "update",
208
+ info: {
209
+ message: t("Qwen Code update available! {{current}} \u2192 {{latest}}", {
210
+ current: version,
211
+ latest: updateInfo.latest
212
+ }),
213
+ update: { ...updateInfo, current: version }
214
+ }
215
+ };
216
+ }
217
+ }
218
+ return { status: "up-to-date", currentVersion: version };
219
+ } catch (e) {
220
+ const error = e instanceof Error ? e : new Error(String(e));
221
+ debugLogger.warn("Failed to check for updates: " + error);
222
+ return { status: "error", error, currentVersion };
223
+ }
224
+ }
225
+ __name(checkForUpdatesDetailed, "checkForUpdatesDetailed");
226
+ async function checkForUpdates(fetchGlobalNpm = fetchGlobalNpmUpdateInfo) {
227
+ const result = await checkForUpdatesDetailed(fetchGlobalNpm);
228
+ return result.status === "update" ? result.info : null;
229
+ }
230
+ __name(checkForUpdates, "checkForUpdates");
231
+
232
+ export {
233
+ FETCH_TIMEOUT_MS,
234
+ UpdateCheckTimeoutError,
235
+ classifyUpdateCheckError,
236
+ describeUpdateCheckFailure,
237
+ runGlobalNpm,
238
+ fetchGlobalNpmUpdateInfo,
239
+ checkForUpdatesDetailed,
240
+ checkForUpdates
241
+ };
242
+ /**
243
+ * @license
244
+ * Copyright 2025 Google LLC
245
+ * SPDX-License-Identifier: Apache-2.0
246
+ */
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  useKeypress
5
- } from "./chunk-6VPLV3L3.js";
5
+ } from "./chunk-LQIW3YFY.js";
6
6
  import {
7
7
  require_react
8
8
  } from "./chunk-5QWWOFGG.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-V7WNRZL7.js";
11
+ } from "./chunk-LKEJ26GS.js";
12
12
  import {
13
13
  APPROVAL_MODES
14
- } from "./chunk-WHGVTP7Q.js";
14
+ } from "./chunk-L26JL52R.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-OQB4EXO4.js";
5
+ } from "./chunk-NL7LTRLR.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -456,68 +456,6 @@ function detectTodoChanges(oldTodos, newTodos) {
456
456
  }
457
457
  __name(detectTodoChanges, "detectTodoChanges");
458
458
 
459
- // packages/core/src/hooks/registerSkillHooks.ts
460
- init_esbuild_shims();
461
- var debugLogger2 = createDebugLogger("SKILL_HOOKS");
462
- function registerSkillHooks(sessionHooksManager, sessionId, skill) {
463
- if (!skill.hooks) {
464
- debugLogger2.debug(`Skill '${skill.name}' has no hooks to register`);
465
- return 0;
466
- }
467
- const hooksSettings = skill.hooks;
468
- let registeredCount = 0;
469
- for (const eventName of Object.keys(hooksSettings)) {
470
- const matchers = hooksSettings[eventName];
471
- if (!matchers) continue;
472
- for (const matcher of matchers) {
473
- const matcherPattern = matcher.matcher || "";
474
- for (const hook of matcher.hooks) {
475
- if (hook.type === "function" /* Function */) {
476
- debugLogger2.debug(
477
- "Skipping function hook from skill (not supported in frontmatter)"
478
- );
479
- continue;
480
- }
481
- const hookConfig = prepareHookConfig(
482
- hook,
483
- skill.skillRoot
484
- );
485
- sessionHooksManager.addSessionHook(
486
- sessionId,
487
- eventName,
488
- matcherPattern,
489
- hookConfig,
490
- { skillRoot: skill.skillRoot }
491
- );
492
- registeredCount++;
493
- debugLogger2.debug(
494
- `Registered hook for ${eventName} with matcher '${matcherPattern}' from skill '${skill.name}'`
495
- );
496
- }
497
- }
498
- }
499
- if (registeredCount > 0) {
500
- debugLogger2.info(
501
- `Registered ${registeredCount} hooks from skill '${skill.name}'`
502
- );
503
- }
504
- return registeredCount;
505
- }
506
- __name(registerSkillHooks, "registerSkillHooks");
507
- function prepareHookConfig(hook, skillRoot) {
508
- if (hook.type === "command" && skillRoot) {
509
- return {
510
- ...hook,
511
- env: {
512
- ...hook.env,
513
- QWEN_SKILL_ROOT: skillRoot
514
- }
515
- };
516
- }
517
- return hook;
518
- }
519
- __name(prepareHookConfig, "prepareHookConfig");
520
-
521
459
  export {
522
460
  HooksConfigSource,
523
461
  HookEventName,
@@ -544,8 +482,7 @@ export {
544
482
  PreCompactTrigger,
545
483
  PostCompactTrigger,
546
484
  AgentType,
547
- detectTodoChanges,
548
- registerSkillHooks
485
+ detectTodoChanges
549
486
  };
550
487
  /**
551
488
  * @license
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-7TLUW4ZE.js";
5
+ } from "./chunk-BKHWX6I2.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -13,8 +13,10 @@ var LOAD_REPLAY_BULK_MODE = "bulk";
13
13
  var LOAD_REPLAY_VERSION = 1;
14
14
  var CHANNEL_STARTUP_PROFILE_META_KEY = "qwen.daemon.channelStartupProfile";
15
15
  var CHANNEL_STARTUP_PROFILE_VERSION = 1;
16
+ var DAEMON_CHANNEL_DELIVERY_META_KEY = "qwen.daemon.channelDelivery";
16
17
  var MID_TURN_QUEUE_DRAIN_METHOD = "craft/drainMidTurnQueue";
17
18
  var TODO_STOP_GUARD_QUEUE_RELEASE_METHOD = "craft/todoStopGuardQueueReleased";
19
+ var PROMPT_CANCEL_METHOD = "craft/cancelPendingPrompt";
18
20
  var CLIENT_MCP_OVER_WS_CONFIG_FLAG = "__clientMcpOverWs";
19
21
 
20
22
  export {
@@ -25,8 +27,10 @@ export {
25
27
  LOAD_REPLAY_VERSION,
26
28
  CHANNEL_STARTUP_PROFILE_META_KEY,
27
29
  CHANNEL_STARTUP_PROFILE_VERSION,
30
+ DAEMON_CHANNEL_DELIVERY_META_KEY,
28
31
  MID_TURN_QUEUE_DRAIN_METHOD,
29
32
  TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
33
+ PROMPT_CANCEL_METHOD,
30
34
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
31
35
  };
32
36
  /**
@@ -0,0 +1,128 @@
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/request-tokenizer/textTokenizer.ts
11
+ init_esbuild_shims();
12
+ var NON_ASCII_RE = /[\u0080-\uffff]/;
13
+ var TOKEN_ESTIMATE_UNITS_PER_TOKEN = 20;
14
+ function estimateTextTokens(text) {
15
+ if (!text || text.length === 0) {
16
+ return 0;
17
+ }
18
+ if (!NON_ASCII_RE.test(text)) {
19
+ return Math.ceil(text.length / 4);
20
+ }
21
+ const nonAsciiChars = countNonAsciiChars(text);
22
+ const asciiChars = text.length - nonAsciiChars;
23
+ return Math.ceil(asciiChars / 4 + nonAsciiChars * 1.1);
24
+ }
25
+ __name(estimateTextTokens, "estimateTextTokens");
26
+ function estimateTextTokenUnits(text) {
27
+ if (!text || text.length === 0) {
28
+ return 0;
29
+ }
30
+ if (!NON_ASCII_RE.test(text)) {
31
+ return text.length * 5;
32
+ }
33
+ const nonAsciiChars = countNonAsciiChars(text);
34
+ const asciiChars = text.length - nonAsciiChars;
35
+ return asciiChars * 5 + nonAsciiChars * 22;
36
+ }
37
+ __name(estimateTextTokenUnits, "estimateTextTokenUnits");
38
+ function countNonAsciiChars(text) {
39
+ let count = 0;
40
+ for (let i = 0; i < text.length; i++) {
41
+ if (text.charCodeAt(i) >= 128) {
42
+ count++;
43
+ }
44
+ }
45
+ return count;
46
+ }
47
+ __name(countNonAsciiChars, "countNonAsciiChars");
48
+ var TextTokenizer = class {
49
+ static {
50
+ __name(this, "TextTokenizer");
51
+ }
52
+ /**
53
+ * Calculate tokens for text content
54
+ *
55
+ * @param text - The text to estimate tokens for
56
+ * @returns The estimated token count
57
+ */
58
+ async calculateTokens(text) {
59
+ return this.calculateTokensSync(text);
60
+ }
61
+ /**
62
+ * Calculate tokens for multiple text strings
63
+ *
64
+ * @param texts - Array of text strings to estimate tokens for
65
+ * @returns Array of token counts corresponding to each input text
66
+ */
67
+ async calculateTokensBatch(texts) {
68
+ return texts.map((text) => this.calculateTokensSync(text));
69
+ }
70
+ calculateTokensSync(text) {
71
+ return estimateTextTokens(text);
72
+ }
73
+ };
74
+
75
+ // packages/core/src/utils/tool-name-utils.ts
76
+ init_esbuild_shims();
77
+ var MAX_TOOL_NAME_LENGTH = 63;
78
+ var PROVIDER_SAFE_TOOL_NAME = /^[A-Za-z][A-Za-z0-9_-]*$/;
79
+ function normalizeToolNameForProvider(name) {
80
+ if (name.length <= MAX_TOOL_NAME_LENGTH && PROVIDER_SAFE_TOOL_NAME.test(name)) {
81
+ return name;
82
+ }
83
+ const normalized = sanitizeToolNameForProvider(name);
84
+ const suffix = `_${stableToolNameHash(name)}`;
85
+ return `${normalized.slice(0, MAX_TOOL_NAME_LENGTH - suffix.length)}${suffix}`;
86
+ }
87
+ __name(normalizeToolNameForProvider, "normalizeToolNameForProvider");
88
+ function sanitizeToolNameForProvider(name) {
89
+ const sanitized = name.replace(/[^A-Za-z0-9_-]/g, "_");
90
+ return /^[A-Za-z]/.test(sanitized) ? sanitized : `tool_${sanitized}`;
91
+ }
92
+ __name(sanitizeToolNameForProvider, "sanitizeToolNameForProvider");
93
+ function normalizeMcpToolName(name) {
94
+ return name.startsWith("mcp__") ? normalizeToolNameForProvider(name) : name;
95
+ }
96
+ __name(normalizeMcpToolName, "normalizeMcpToolName");
97
+ function generateLegacyMcpToolName(name) {
98
+ let legacyName = name.replace(/[^A-Za-z0-9_.-]/g, "_");
99
+ if (legacyName.length > MAX_TOOL_NAME_LENGTH) {
100
+ legacyName = legacyName.slice(0, 28) + "___" + legacyName.slice(-32);
101
+ }
102
+ return legacyName;
103
+ }
104
+ __name(generateLegacyMcpToolName, "generateLegacyMcpToolName");
105
+ function stableToolNameHash(name) {
106
+ let hash = 2166136261;
107
+ for (let index = 0; index < name.length; index += 1) {
108
+ hash = Math.imul(hash ^ name.charCodeAt(index), 16777619);
109
+ }
110
+ return (hash >>> 0).toString(36).padStart(7, "0");
111
+ }
112
+ __name(stableToolNameHash, "stableToolNameHash");
113
+
114
+ export {
115
+ TOKEN_ESTIMATE_UNITS_PER_TOKEN,
116
+ estimateTextTokens,
117
+ estimateTextTokenUnits,
118
+ TextTokenizer,
119
+ normalizeToolNameForProvider,
120
+ sanitizeToolNameForProvider,
121
+ normalizeMcpToolName,
122
+ generateLegacyMcpToolName
123
+ };
124
+ /**
125
+ * @license
126
+ * Copyright 2025 Qwen
127
+ * SPDX-License-Identifier: Apache-2.0
128
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolveChannelCwd
5
- } from "./chunk-6ZBPS62S.js";
5
+ } from "./chunk-7ZCNENPP.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -21,12 +21,12 @@ function ensureBuiltins() {
21
21
  if (!builtinsPromise) {
22
22
  builtinsPromise = (async () => {
23
23
  const labelled = [
24
- { name: "telegram", promise: import("./dist-XBJVSWS2.js") },
25
- { name: "weixin", promise: import("./dist-UIFWIFRO.js") },
26
- { name: "dingtalk", promise: import("./dist-XRYV6TJP.js") },
27
- { name: "wecom", promise: import("./dist-OAV7LJGJ.js") },
28
- { name: "feishu", promise: import("./dist-OMW6WDEO.js") },
29
- { name: "qqbot", promise: import("./dist-PJLG2XYX.js") }
24
+ { name: "telegram", promise: import("./dist-BBLXMS3N.js") },
25
+ { name: "weixin", promise: import("./dist-46NQKLTW.js") },
26
+ { name: "dingtalk", promise: import("./dist-AIKFMUKK.js") },
27
+ { name: "wecom", promise: import("./dist-YFNEUWSE.js") },
28
+ { name: "feishu", promise: import("./dist-F6IBUDR4.js") },
29
+ { name: "qqbot", promise: import("./dist-WEAHOXDM.js") }
30
30
  ];
31
31
  const results = await Promise.allSettled(labelled.map((l) => l.promise));
32
32
  for (let i = 0; i < results.length; i++) {