@qwen-code/qwen-code 0.20.2-headless-image-routing.1 → 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-PLQQB22E.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -59
  7. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  8. package/chunks/{acpAgent-AIVK2EM5.js → acpAgent-6J2U72PQ.js} +705 -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-GHIZ4MSZ.js → build-RV63TIRH.js} +2 -3
  16. package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
  17. package/chunks/{channel-worker-group-QZV2SP5U.js → channel-worker-group-2ZD7TVAT.js} +8 -7
  18. package/chunks/{channel-worker-manager-3GMAU45H.js → channel-worker-manager-4OA4BCGB.js} +190 -30
  19. package/chunks/{channel-worker-supervisor-QCXSXCRY.js → channel-worker-supervisor-V7KCFJTS.js} +7 -6
  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-4DWTDZGS.js → chunk-2NH6DYI4.js} +12 -12
  24. package/chunks/chunk-2SCDWPXI.js +246 -0
  25. package/chunks/{chunk-QE4KFTBS.js → chunk-2X55UKQE.js} +3 -3
  26. package/chunks/{chunk-QBUDF33N.js → chunk-3QMGYBFN.js} +1 -1
  27. package/chunks/{chunk-3OAKYHRG.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-GHRSKGHF.js → chunk-4WIZGAH3.js} +7 -7
  31. package/chunks/{chunk-CAS7CB3T.js → chunk-55DJUCI2.js} +87 -29
  32. package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
  33. package/chunks/{chunk-H24SOJIQ.js → chunk-5NBDS5S6.js} +147 -7
  34. package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
  35. package/chunks/chunk-6FGBXPWM.js +293 -0
  36. package/chunks/{chunk-FFFM6NJV.js → chunk-6GMVPFB2.js} +155 -73
  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-FZPTCQY7.js → chunk-7JURR4JT.js} +1 -1
  40. package/chunks/{chunk-Q6NAKZTA.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-YO2XRXY6.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-FRPDJNK3.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-ZDP2Y2AL.js → chunk-CIKQ7KKO.js} +4625 -8645
  52. package/chunks/{chunk-PEJWA3QQ.js → chunk-D3UEZIQH.js} +4 -2
  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-JC26SJ5Y.js → chunk-EBJQ6AXW.js} +13 -12
  58. package/chunks/{chunk-RCWKCN2Z.js → chunk-EPDRMGT4.js} +164 -17
  59. package/chunks/{chunk-FUFCALSJ.js → chunk-ETSW4KLJ.js} +2 -2
  60. package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
  61. package/chunks/{chunk-SP5WRGVG.js → chunk-FQK6JAFG.js} +72 -23
  62. package/chunks/{chunk-NWZY2SPY.js → chunk-FSITMZJH.js} +8 -8
  63. package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
  64. package/chunks/{chunk-KPBVP6SL.js → chunk-GSN55ZRI.js} +5 -5
  65. package/chunks/{chunk-MLYGPZGU.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-5G3ZVADU.js → chunk-IJTOWOD7.js} +17 -6
  69. package/chunks/chunk-IKCX4CCL.js +469 -0
  70. package/chunks/{chunk-LPEONXNV.js → chunk-IKYJHJNF.js} +3 -3
  71. package/chunks/{chunk-DTZY2SH2.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-46DK772E.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-RKWX4CMO.js → chunk-JVPM2ULZ.js} +6 -6
  78. package/chunks/{chunk-ENPCQK44.js → chunk-JXJFVC6E.js} +37 -18
  79. package/chunks/{chunk-NABLFI57.js → chunk-JZA3JUDJ.js} +1 -1
  80. package/chunks/{chunk-CGLQAVZE.js → chunk-K36B6G2O.js} +5 -5
  81. package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
  82. package/chunks/{chunk-QOZOIPSF.js → chunk-KIM5GUMA.js} +650 -113
  83. package/chunks/{chunk-JZSM2IZ3.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-O2XSCRCS.js → chunk-LB6DUZ26.js} +259 -67
  88. package/chunks/chunk-LEH5C7FV.js +232 -0
  89. package/chunks/{chunk-RWV32G2M.js → chunk-LH2BYDQ5.js} +6 -4
  90. package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
  91. package/chunks/{chunk-VRRF3GW5.js → chunk-LKEJ26GS.js} +11 -11
  92. package/chunks/{chunk-SQFXI7VK.js → chunk-LQIW3YFY.js} +227 -41
  93. package/chunks/chunk-LS77BEZP.js +405 -0
  94. package/chunks/{chunk-BSHD62QJ.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-3HFNGB2O.js → chunk-MVSUYZDT.js} +4 -4
  99. package/chunks/{chunk-T5IO6FZ4.js → chunk-MZAXJAUM.js} +1 -1
  100. package/chunks/{chunk-QKNXKTZX.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-CS2FSS7W.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-7THPNISK.js → chunk-PC6JANNU.js} +5 -5
  108. package/chunks/{chunk-OTQ6PSZC.js → chunk-PHOF65IG.js} +3498 -1030
  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-RECUEJ7B.js → chunk-PSOO6YXD.js} +18 -15
  113. package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
  114. package/chunks/{chunk-5NJTNQUW.js → chunk-PWVFN2LF.js} +1 -1
  115. package/chunks/{chunk-7AUH6A4T.js → chunk-Q4M4MDQ4.js} +2 -2
  116. package/chunks/{chunk-EZPB6S2I.js → chunk-QAF7NMK7.js} +1 -1
  117. package/chunks/{chunk-5GI55PF5.js → chunk-R5AFZNQW.js} +5 -5
  118. package/chunks/{chunk-T5B5NQZX.js → chunk-RF3EXIHJ.js} +47 -60
  119. package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
  120. package/chunks/{chunk-TJDW42MV.js → chunk-RIBKPMRP.js} +220 -141
  121. package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
  122. package/chunks/{chunk-L5QZGCRH.js → chunk-RZIX2G32.js} +1 -1
  123. package/chunks/{chunk-LLKWRXSS.js → chunk-SQCQ4KO2.js} +350 -418
  124. package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
  125. package/chunks/{chunk-XCXYRDHB.js → chunk-TEHGS6UP.js} +47 -18
  126. package/chunks/{chunk-PQIVAWXN.js → chunk-TGILQ3YH.js} +8 -8
  127. package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
  128. package/chunks/{chunk-L3KUB6XM.js → chunk-TPRQ7RZH.js} +586 -242
  129. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  130. package/chunks/{chunk-HIP6TVWA.js → chunk-U7M2DMGW.js} +3 -3
  131. package/chunks/{chunk-ACW3VNUE.js → chunk-UDX5OBWR.js} +41 -9
  132. package/chunks/{chunk-LW2FUYBN.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-O4BHWVUD.js → chunk-VIA5XA4U.js} +5 -2
  137. package/chunks/{chunk-EBXZ2YGV.js → chunk-VRYUBFMC.js} +1 -1
  138. package/chunks/{chunk-TWVE5ZS5.js → chunk-VULLI6WQ.js} +172 -6
  139. package/chunks/{chunk-LNDD3IML.js → chunk-WCXCRJYB.js} +1 -1
  140. package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
  141. package/chunks/{chunk-Q35QUZDQ.js → chunk-Y34KJKDC.js} +1 -1
  142. package/chunks/{chunk-7NR2AIK6.js → chunk-YBL3QUDD.js} +2 -2
  143. package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
  144. package/chunks/{chunk-MBOJHHPI.js → chunk-YPE6A4GC.js} +2 -2
  145. package/chunks/{chunk-3EK5ZOUQ.js → chunk-YX324OPW.js} +1 -1
  146. package/chunks/{chunk-4PTLZ3NX.js → chunk-Z2BC6UJ5.js} +3 -3
  147. package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
  148. package/chunks/{chunk-LX3COOXF.js → chunk-ZFDTEDCF.js} +6 -6
  149. package/chunks/chunk-ZJHVAS7M.js +289 -0
  150. package/chunks/{chunk-4OWXOUYF.js → chunk-ZNAUOR2I.js} +15 -12
  151. package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
  152. package/chunks/{computer-use-2VIV73WK.js → computer-use-SOQ4E3VX.js} +43 -35
  153. package/chunks/{config-utils-FYTBZLCJ.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-XDHHC2P4.js → create-sub-session-QRJLW5BV.js} +43 -35
  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-CS6SFEXC.js → edit-OBDSQURM.js} +43 -35
  171. package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
  172. package/chunks/{enter-worktree-LMAL75DY.js → enter-worktree-U6MRPQ2P.js} +43 -35
  173. package/chunks/{enterPlanMode-WVJB4DSS.js → enterPlanMode-BC5QUZZ2.js} +43 -35
  174. package/chunks/{environment-6YHC4JAJ.js → environment-W5UFC2CH.js} +46 -38
  175. package/chunks/errors-M7CLORXH.js +88 -0
  176. package/chunks/{exit-worktree-KPFD742L.js → exit-worktree-DGNYMECB.js} +43 -35
  177. package/chunks/{exitPlanMode-UEJS6CDY.js → exitPlanMode-GXTBWQAR.js} +43 -35
  178. package/chunks/{fast-path-G2N4NRCA.js → fast-path-JJZFJANL.js} +6 -6
  179. package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-WQJU2LAT.js} +2 -2
  180. package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
  181. package/chunks/{gemini-2MDVIOVT.js → gemini-QS36EBZV.js} +132 -102
  182. package/chunks/{geminiContentGenerator-ZXTDBMFR.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-562XFLIZ.js → glob-V7R3PSK3.js} +43 -35
  189. package/chunks/{grep-MGEFBDQK.js → grep-QYPSK7OP.js} +43 -35
  190. package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
  191. package/chunks/{i18n-R6HJENXA.js → i18n-VUJJZIMU.js} +44 -36
  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-4KNYSOYC.js → managed-npm-update-JYEMMXA3.js} +94 -38
  206. package/chunks/mcp-6DBDJPFU.js +83 -0
  207. package/chunks/{monitor-DMHKE4SW.js → monitor-R3ODH5U6.js} +45 -36
  208. package/chunks/node-UUDY34IG.js +305 -0
  209. package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
  210. package/chunks/{notebook-edit-35SJGEOR.js → notebook-edit-BNOK452R.js} +43 -35
  211. package/chunks/{openaiContentGenerator-5LPAFXPF.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
  212. package/chunks/pidfile-TFRZZZIO.js +86 -0
  213. package/chunks/{processUtils-GM2I55KF.js → processUtils-RT7UNCC2.js} +2 -2
  214. package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
  215. package/chunks/{qwenContentGenerator-HKOYNP7H.js → qwenContentGenerator-HHCRK4SX.js} +56 -42
  216. package/chunks/{qwenOAuth2-NUUYC3V5.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-5VH3F4NW.js → run-qwen-serve-FU6HEM4J.js} +271 -57
  224. package/chunks/{runtime-OH77YH7W.js → runtime-XXRRTNP6.js} +55 -45
  225. package/chunks/{scheduler-WJQSLCSV.js → scheduler-G2ZS2Z7E.js} +43 -35
  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-E4N4AI6Z.js → server-4UMH7OIZ.js} +2362 -411
  232. package/chunks/{session-5YUWIOQE.js → session-K3O3Q2SV.js} +105 -87
  233. package/chunks/{settings-YY7ZSFO7.js → settings-CR2EWTBA.js} +53 -45
  234. package/chunks/shell-HH3PF3A2.js +83 -0
  235. package/chunks/{skill-PAIDX3EU.js → skill-I3SDA4MB.js} +17 -16
  236. package/chunks/spawnChannel-RWNDBXGA.js +82 -0
  237. package/chunks/{src-IZXLJI5M.js → src-GE4TTTML.js} +302 -184
  238. package/chunks/{standalone-update-X675JVBL.js → standalone-update-Q6WFRZZQ.js} +45 -37
  239. package/chunks/{startInteractiveUI-ND2IVBU3.js → startInteractiveUI-SLZGHRPH.js} +747 -310
  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-2DEYNMMN.js → team-create-YJALH5D2.js} +46 -38
  246. package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
  247. package/chunks/{team-plan-approval-65AVAOCT.js → team-plan-approval-34QFYKGN.js} +43 -35
  248. package/chunks/theme-manager-SWRILQHI.js +77 -0
  249. package/chunks/{todoWrite-KRAUN54W.js → todoWrite-VQ7FKOHL.js} +5 -5
  250. package/chunks/{tool-search-ZQP3SMTV.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-LURI52LP.js → trustedFolders-KHXHY6PY.js} +44 -36
  255. package/chunks/{update-relaunch-BPWFIDLM.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-HWD6Y22I.js → validateNonInterActiveAuth-3R223G3R.js} +89 -80
  259. package/chunks/{version-OD4JAFG7.js → version-HS7YSFHV.js} +1 -1
  260. package/chunks/{web-fetch-RFBKNU24.js → web-fetch-NKCSG7ZE.js} +18 -16
  261. package/chunks/{web-search-AKTVS5YZ.js → web-search-S62WAP4S.js} +13 -27
  262. package/chunks/{workflow-VZVCOSZN.js → workflow-QAGU5RU4.js} +44 -36
  263. package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
  264. package/chunks/{workspace-registration-store-Q5SFJSX4.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-3XQIBACV.js +0 -78
  333. package/chunks/agent-QXD5NSKA.js +0 -73
  334. package/chunks/agent-headless-4VXR2TBK.js +0 -67
  335. package/chunks/bridge-GIBRSPE6.js +0 -81
  336. package/chunks/chunk-CBOQ3HY7.js +0 -2019
  337. package/chunks/chunk-MA6GYKK7.js +0 -6928
  338. package/chunks/contextCommand-XQU7KLIH.js +0 -72
  339. package/chunks/daemon-status-provider-KQVNB4VA.js +0 -80
  340. package/chunks/earlyInputCapture-WP5SA3KH.js +0 -74
  341. package/chunks/errors-JEYPXX4S.js +0 -80
  342. package/chunks/handleAutoUpdate-2VJPAW43.js +0 -73
  343. package/chunks/initializer-UOX67ZFQ.js +0 -78
  344. package/chunks/installationInfo-NQNY34X3.js +0 -72
  345. package/chunks/list-2Z7KS7ZF.js +0 -81
  346. package/chunks/loadedSettingsAdapter-LIYY3LE4.js +0 -75
  347. package/chunks/mcp-AJ4QW3JA.js +0 -75
  348. package/chunks/nonInteractiveCli-PUSO5QF6.js +0 -134
  349. package/chunks/pidfile-EH2JW2PB.js +0 -78
  350. package/chunks/read-file-JZ5VXILQ.js +0 -31
  351. package/chunks/resumeHistoryUtils-Z3HG4WKM.js +0 -84
  352. package/chunks/ripGrep-JNLJCT2B.js +0 -65
  353. package/chunks/serve-NN5FXWR6.js +0 -81
  354. package/chunks/shell-FXT3NVC6.js +0 -75
  355. package/chunks/spawnChannel-XAWLXNOD.js +0 -74
  356. package/chunks/theme-manager-2WZHPK2M.js +0 -69
  357. package/chunks/total-session-admission-HULB2TEQ.js +0 -75
  358. package/chunks/updateCheck-D4ESCHBJ.js +0 -88
  359. package/chunks/useAutoAcceptIndicator-CBNLOF2P.js +0 -86
  360. package/chunks/workspace-providers-status-TJTVHORI.js +0 -78
  361. package/chunks/workspace-registry-H6VM5WXK.js +0 -79
  362. package/chunks/workspace-service-ZNKD3I2J.js +0 -90
  363. package/chunks/workspace-skills-status-OOBIXADG.js +0 -77
  364. package/chunks/write-file-CAKK5IAO.js +0 -65
  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
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  CHANNEL_STARTUP_PROFILE_VERSION
5
- } from "./chunk-QR6U5QPP.js";
5
+ } from "./chunk-3SJ43L4W.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,17 +5,17 @@ import {
5
5
  } from "./chunk-RXFQM6FQ.js";
6
6
  import {
7
7
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
8
- } from "./chunk-QR6U5QPP.js";
8
+ } from "./chunk-3SJ43L4W.js";
9
9
  import {
10
10
  require_lib
11
11
  } from "./chunk-WBL3FJEU.js";
12
+ import {
13
+ require_mime_db
14
+ } from "./chunk-T2NCM2ET.js";
12
15
  import {
13
16
  MAX_WORKSPACE_PATH_LENGTH,
14
17
  translateAndCheckAbsoluteWorkspacePath
15
18
  } from "./chunk-2RFKHEXL.js";
16
- import {
17
- require_mime_db
18
- } from "./chunk-T2NCM2ET.js";
19
19
  import {
20
20
  writeStderrLine
21
21
  } from "./chunk-OWAK7LMW.js";
@@ -16304,9 +16304,9 @@ function parseAllowOriginPatterns(raw) {
16304
16304
  __name(parseAllowOriginPatterns, "parseAllowOriginPatterns");
16305
16305
  function allowOriginCors(patterns) {
16306
16306
  const allowedMethods = "GET, POST, PATCH, DELETE, OPTIONS";
16307
- const allowedHeaders = "Authorization, Content-Type, X-Qwen-Client-Id, Last-Event-ID";
16307
+ const allowedHeaders = "Authorization, Content-Type, X-Qwen-Client-Id, Last-Event-ID, X-Qwen-Event-Epoch";
16308
16308
  const maxAgeSeconds = "86400";
16309
- const exposedHeaders = "Retry-After";
16309
+ const exposedHeaders = "Retry-After, X-Qwen-Event-Epoch";
16310
16310
  return (req, res, next) => {
16311
16311
  const origin = req.headers.origin;
16312
16312
  if (!origin) {
@@ -16699,6 +16699,9 @@ var SERVE_CAPABILITY_REGISTRY = {
16699
16699
  // `POST /session/:id/generate` streams a stateless, tool-free model call.
16700
16700
  // The ACP child prefers fastModel and falls back to the main session model.
16701
16701
  session_generation: { since: "v1" },
16702
+ // `POST /workspace/generate` runs the same stateless, tool-free generation
16703
+ // protocol against the resolved workspace runtime without a live session.
16704
+ workspace_generation: { since: "v1" },
16702
16705
  // Side question (/btw) against the session's conversation context.
16703
16706
  // Single-turn, tool-free LLM call via runForkedAgent (cache path).
16704
16707
  session_btw: { since: "v1" },
@@ -16771,6 +16774,10 @@ var SERVE_CAPABILITY_REGISTRY = {
16771
16774
  session_branch: { since: "v1" },
16772
16775
  rate_limit: { since: "v1" },
16773
16776
  workspace_reload: { since: "v1" },
16777
+ // Immediate best-effort channel delivery for prompt/scheduled finals and
16778
+ // direct workspace notifications. Presence describes the route/event
16779
+ // contract; current worker availability is reported per delivery.
16780
+ channel_delivery: { since: "v1" },
16774
16781
  // Daemon supports reloading its daemon-managed channel worker via
16775
16782
  // `POST /workspace/channel/reload`. The worker is stopped and relaunched;
16776
16783
  // on relaunch it re-reads settings.json (channels / proxy / per-channel
@@ -16897,6 +16904,10 @@ var CONDITIONAL_SERVE_FEATURES = /* @__PURE__ */ new Map([
16897
16904
  "session_generation",
16898
16905
  (toggles) => toggles.sessionGenerationAvailable === true
16899
16906
  ],
16907
+ [
16908
+ "workspace_generation",
16909
+ (toggles) => toggles.workspaceGenerationAvailable === true
16910
+ ],
16900
16911
  ["rate_limit", (toggles) => toggles.rateLimit === true],
16901
16912
  ["workspace_reload", (toggles) => toggles.reloadAvailable === true],
16902
16913
  ["channel_reload", (toggles) => toggles.channelReloadAvailable === true],
@@ -0,0 +1,469 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ preloadRuntimeFetchModule
5
+ } from "./chunk-2JZBVYTU.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/core/src/config/models.ts
14
+ init_esbuild_shims();
15
+ var DEFAULT_QWEN_MODEL = "coder-model";
16
+ var DEFAULT_QWEN_FLASH_MODEL = "coder-model";
17
+ var DEFAULT_QWEN_EMBEDDING_MODEL = "text-embedding-v4";
18
+ var MAINLINE_CODER_MODEL = "qwen3.7-max";
19
+
20
+ // packages/core/src/models/constants.ts
21
+ init_esbuild_shims();
22
+ var MODEL_GENERATION_CONFIG_FIELDS = [
23
+ "samplingParams",
24
+ "timeout",
25
+ "maxRetries",
26
+ "retryErrorCodes",
27
+ "enableCacheControl",
28
+ "forceGlobalCacheScope",
29
+ "schemaCompliance",
30
+ "reasoning",
31
+ "contextWindowSize",
32
+ "customHeaders",
33
+ "extra_body",
34
+ "thinkingMandatory",
35
+ "modalities",
36
+ "splitToolMedia",
37
+ "toolResultContentFormat"
38
+ ];
39
+ var CREDENTIAL_FIELDS = [
40
+ "model",
41
+ "apiKey",
42
+ "apiKeyEnvKey",
43
+ "baseUrl"
44
+ ];
45
+ var PROVIDER_SOURCED_FIELDS = [
46
+ ...CREDENTIAL_FIELDS,
47
+ ...MODEL_GENERATION_CONFIG_FIELDS
48
+ ];
49
+ var AUTH_ENV_MAPPINGS = {
50
+ openai: {
51
+ apiKey: ["OPENAI_API_KEY"],
52
+ baseUrl: ["OPENAI_BASE_URL"],
53
+ model: ["OPENAI_MODEL", "QWEN_MODEL"]
54
+ },
55
+ anthropic: {
56
+ apiKey: ["ANTHROPIC_API_KEY"],
57
+ baseUrl: ["ANTHROPIC_BASE_URL"],
58
+ model: ["ANTHROPIC_MODEL"]
59
+ },
60
+ gemini: {
61
+ apiKey: ["GEMINI_API_KEY"],
62
+ baseUrl: [],
63
+ model: ["GEMINI_MODEL"]
64
+ },
65
+ "vertex-ai": {
66
+ apiKey: ["GOOGLE_API_KEY"],
67
+ baseUrl: [],
68
+ model: ["GOOGLE_MODEL"]
69
+ },
70
+ "qwen-oauth": {
71
+ apiKey: [],
72
+ baseUrl: [],
73
+ model: []
74
+ }
75
+ };
76
+ var DEFAULT_MODELS = {
77
+ openai: MAINLINE_CODER_MODEL,
78
+ "qwen-oauth": DEFAULT_QWEN_MODEL
79
+ };
80
+ var QWEN_OAUTH_MODELS = [
81
+ {
82
+ id: "coder-model",
83
+ name: "coder-model",
84
+ description: "Qwen 3.7 Max \u2014 efficient hybrid model with leading coding performance",
85
+ capabilities: { vision: true }
86
+ }
87
+ ];
88
+ var QWEN_OAUTH_ALLOWED_MODELS = QWEN_OAUTH_MODELS.map(
89
+ (model) => model.id
90
+ );
91
+
92
+ // packages/core/src/core/contentGenerator.ts
93
+ init_esbuild_shims();
94
+
95
+ // packages/core/src/models/modelConfigErrors.ts
96
+ init_esbuild_shims();
97
+ function getDefaultApiKeyEnvVar(authType) {
98
+ switch (authType) {
99
+ case "openai":
100
+ return "OPENAI_API_KEY";
101
+ case "anthropic":
102
+ return "ANTHROPIC_API_KEY";
103
+ case "gemini":
104
+ return "GEMINI_API_KEY";
105
+ case "vertex-ai":
106
+ return "GOOGLE_API_KEY";
107
+ default:
108
+ return "API_KEY";
109
+ }
110
+ }
111
+ __name(getDefaultApiKeyEnvVar, "getDefaultApiKeyEnvVar");
112
+ function getDefaultModelEnvVar(authType) {
113
+ switch (authType) {
114
+ case "openai":
115
+ return "OPENAI_MODEL";
116
+ case "anthropic":
117
+ return "ANTHROPIC_MODEL";
118
+ case "gemini":
119
+ return "GEMINI_MODEL";
120
+ case "vertex-ai":
121
+ return "GOOGLE_MODEL";
122
+ default:
123
+ return "MODEL";
124
+ }
125
+ }
126
+ __name(getDefaultModelEnvVar, "getDefaultModelEnvVar");
127
+ var ModelConfigError = class extends Error {
128
+ static {
129
+ __name(this, "ModelConfigError");
130
+ }
131
+ constructor(message) {
132
+ super(message);
133
+ this.name = new.target.name;
134
+ Object.setPrototypeOf(this, new.target.prototype);
135
+ }
136
+ };
137
+ var StrictMissingCredentialsError = class extends ModelConfigError {
138
+ static {
139
+ __name(this, "StrictMissingCredentialsError");
140
+ }
141
+ code = "STRICT_MISSING_CREDENTIALS";
142
+ constructor(authType, model, envKey) {
143
+ const providerKey = authType || "(unknown)";
144
+ const modelName = model || "(unknown)";
145
+ super(
146
+ `Missing credentials for modelProviders model '${modelName}'. ` + (envKey ? `Current configured envKey: '${envKey}'. Set that environment variable, or update modelProviders.${providerKey}[].envKey.` : `Configure modelProviders.${providerKey}[].envKey and set that environment variable.`)
147
+ );
148
+ }
149
+ };
150
+ var StrictMissingModelIdError = class extends ModelConfigError {
151
+ static {
152
+ __name(this, "StrictMissingModelIdError");
153
+ }
154
+ code = "STRICT_MISSING_MODEL_ID";
155
+ constructor(authType) {
156
+ super(
157
+ `Missing model id for strict modelProviders resolution (authType: ${authType}).`
158
+ );
159
+ }
160
+ };
161
+ var MissingApiKeyError = class extends ModelConfigError {
162
+ static {
163
+ __name(this, "MissingApiKeyError");
164
+ }
165
+ code = "MISSING_API_KEY";
166
+ constructor(params) {
167
+ super(
168
+ `Missing API key for ${params.authType} auth. Current model: '${params.model || "(unknown)"}', baseUrl: '${params.baseUrl || "(default)"}'. Provide an API key via settings (security.auth.apiKey), or set the environment variable '${params.envKey}'.`
169
+ );
170
+ }
171
+ };
172
+ var MissingModelError = class extends ModelConfigError {
173
+ static {
174
+ __name(this, "MissingModelError");
175
+ }
176
+ code = "MISSING_MODEL";
177
+ constructor(params) {
178
+ super(
179
+ `Missing model for ${params.authType} auth. Set the environment variable '${params.envKey}'.`
180
+ );
181
+ }
182
+ };
183
+ var MissingBaseUrlError = class extends ModelConfigError {
184
+ static {
185
+ __name(this, "MissingBaseUrlError");
186
+ }
187
+ code = "MISSING_BASE_URL";
188
+ constructor(params) {
189
+ super(
190
+ `Missing baseUrl for modelProviders model '${params.model || "(unknown)"}'. Configure modelProviders.${params.authType || "(unknown)"}[].baseUrl.`
191
+ );
192
+ }
193
+ };
194
+ var MissingAnthropicBaseUrlEnvError = class extends ModelConfigError {
195
+ static {
196
+ __name(this, "MissingAnthropicBaseUrlEnvError");
197
+ }
198
+ code = "MISSING_ANTHROPIC_BASE_URL_ENV";
199
+ constructor() {
200
+ super("ANTHROPIC_BASE_URL environment variable not found.");
201
+ }
202
+ };
203
+
204
+ // packages/core/src/core/contentGenerator.ts
205
+ var AuthType = /* @__PURE__ */ ((AuthType2) => {
206
+ AuthType2["USE_OPENAI"] = "openai";
207
+ AuthType2["QWEN_OAUTH"] = "qwen-oauth";
208
+ AuthType2["USE_GEMINI"] = "gemini";
209
+ AuthType2["USE_VERTEX_AI"] = "vertex-ai";
210
+ AuthType2["USE_ANTHROPIC"] = "anthropic";
211
+ return AuthType2;
212
+ })(AuthType || {});
213
+ function setSource(sources, path, source) {
214
+ sources[path] = source;
215
+ }
216
+ __name(setSource, "setSource");
217
+ function getSeedSource(seed, path) {
218
+ return seed?.[path];
219
+ }
220
+ __name(getSeedSource, "getSeedSource");
221
+ function resolveContentGeneratorConfigWithSources(config, authType, generationConfig, seedSources, options) {
222
+ const sources = { ...seedSources || {} };
223
+ const strictModelProvider = options?.strictModelProvider === true;
224
+ const newContentGeneratorConfig = {
225
+ ...generationConfig || {},
226
+ authType,
227
+ proxy: config?.getProxy()
228
+ };
229
+ setSource(sources, "authType", {
230
+ kind: "computed",
231
+ detail: "provided by caller"
232
+ });
233
+ if (config?.getProxy()) {
234
+ setSource(sources, "proxy", {
235
+ kind: "computed",
236
+ detail: "Config.getProxy()"
237
+ });
238
+ }
239
+ const seedOrUnknown = /* @__PURE__ */ __name((path) => getSeedSource(seedSources, path) ?? { kind: "unknown" }, "seedOrUnknown");
240
+ for (const field of PROVIDER_SOURCED_FIELDS) {
241
+ if (generationConfig && field in generationConfig && !sources[field]) {
242
+ setSource(sources, field, seedOrUnknown(field));
243
+ }
244
+ }
245
+ const validation = validateModelConfig(
246
+ newContentGeneratorConfig,
247
+ strictModelProvider
248
+ );
249
+ if (!validation.valid) {
250
+ throw new Error(validation.errors.map((e) => e.message).join("\n"));
251
+ }
252
+ return {
253
+ config: newContentGeneratorConfig,
254
+ sources
255
+ };
256
+ }
257
+ __name(resolveContentGeneratorConfigWithSources, "resolveContentGeneratorConfigWithSources");
258
+ function validateModelConfig(config, isStrictModelProvider = false) {
259
+ const errors = [];
260
+ if (config.authType === "qwen-oauth" /* QWEN_OAUTH */) {
261
+ return { valid: true, errors: [] };
262
+ }
263
+ if (!config.apiKey) {
264
+ if (isStrictModelProvider) {
265
+ errors.push(
266
+ new StrictMissingCredentialsError(
267
+ config.authType,
268
+ config.model,
269
+ config.apiKeyEnvKey
270
+ )
271
+ );
272
+ } else {
273
+ const envKey = config.apiKeyEnvKey || getDefaultApiKeyEnvVar(config.authType);
274
+ errors.push(
275
+ new MissingApiKeyError({
276
+ authType: config.authType,
277
+ model: config.model,
278
+ baseUrl: config.baseUrl,
279
+ envKey
280
+ })
281
+ );
282
+ }
283
+ }
284
+ if (!config.model) {
285
+ if (isStrictModelProvider) {
286
+ errors.push(new StrictMissingModelIdError(config.authType));
287
+ } else {
288
+ const envKey = getDefaultModelEnvVar(config.authType);
289
+ errors.push(new MissingModelError({ authType: config.authType, envKey }));
290
+ }
291
+ }
292
+ if (config.authType === "anthropic" /* USE_ANTHROPIC */ && !config.baseUrl) {
293
+ if (isStrictModelProvider) {
294
+ errors.push(
295
+ new MissingBaseUrlError({
296
+ authType: config.authType,
297
+ model: config.model
298
+ })
299
+ );
300
+ } else if (config.authType === "anthropic" /* USE_ANTHROPIC */) {
301
+ errors.push(new MissingAnthropicBaseUrlEnvError());
302
+ }
303
+ }
304
+ return { valid: errors.length === 0, errors };
305
+ }
306
+ __name(validateModelConfig, "validateModelConfig");
307
+ function createContentGeneratorConfig(config, authType, generationConfig) {
308
+ return resolveContentGeneratorConfigWithSources(
309
+ config,
310
+ authType,
311
+ generationConfig
312
+ ).config;
313
+ }
314
+ __name(createContentGeneratorConfig, "createContentGeneratorConfig");
315
+ function getModuleNotFoundError(error) {
316
+ let current = error;
317
+ while (current instanceof Error) {
318
+ if ("code" in current && current.code === "ERR_MODULE_NOT_FOUND") {
319
+ return current;
320
+ }
321
+ current = current.cause;
322
+ }
323
+ return void 0;
324
+ }
325
+ __name(getModuleNotFoundError, "getModuleNotFoundError");
326
+ function wrapProviderLoadError(error, authType) {
327
+ const moduleNotFoundError = getModuleNotFoundError(error);
328
+ if (!moduleNotFoundError) {
329
+ return error;
330
+ }
331
+ return new Error(
332
+ `Qwen Code was updated in the background and needs to be restarted.
333
+ Please exit and restart Qwen Code to use the '${authType}' provider.`,
334
+ { cause: moduleNotFoundError }
335
+ );
336
+ }
337
+ __name(wrapProviderLoadError, "wrapProviderLoadError");
338
+ var LazyContentGenerator = class {
339
+ constructor(loader, summarizedThinking) {
340
+ this.loader = loader;
341
+ this.summarizedThinking = summarizedThinking;
342
+ }
343
+ static {
344
+ __name(this, "LazyContentGenerator");
345
+ }
346
+ generatorPromise;
347
+ getGenerator() {
348
+ this.generatorPromise ??= this.loader();
349
+ return this.generatorPromise;
350
+ }
351
+ async generateContent(request, userPromptId) {
352
+ return (await this.getGenerator()).generateContent(request, userPromptId);
353
+ }
354
+ async generateContentStream(request, userPromptId) {
355
+ return (await this.getGenerator()).generateContentStream(
356
+ request,
357
+ userPromptId
358
+ );
359
+ }
360
+ async countTokens(request) {
361
+ return (await this.getGenerator()).countTokens(request);
362
+ }
363
+ async embedContent(request) {
364
+ return (await this.getGenerator()).embedContent(request);
365
+ }
366
+ useSummarizedThinking() {
367
+ return this.summarizedThinking;
368
+ }
369
+ };
370
+ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
371
+ const validation = validateModelConfig(generatorConfig, false);
372
+ if (!validation.valid) {
373
+ throw new Error(validation.errors.map((e) => e.message).join("\n"));
374
+ }
375
+ const authType = generatorConfig.authType;
376
+ if (!authType) {
377
+ throw new Error("ContentGeneratorConfig must have an authType");
378
+ }
379
+ await preloadRuntimeFetchModule();
380
+ let loadBaseGenerator;
381
+ try {
382
+ if (authType === "openai" /* USE_OPENAI */) {
383
+ loadBaseGenerator = /* @__PURE__ */ __name(async () => {
384
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-WMCU3O2H.js");
385
+ return createOpenAIContentGenerator(generatorConfig, config);
386
+ }, "loadBaseGenerator");
387
+ } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
388
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-OWLB5AKH.js");
389
+ try {
390
+ const qwenClient = await getQwenOauthClient(
391
+ config,
392
+ isInitialAuth ? { requireCachedCredentials: true } : void 0
393
+ );
394
+ loadBaseGenerator = /* @__PURE__ */ __name(async () => {
395
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-HHCRK4SX.js");
396
+ return new QwenContentGenerator(qwenClient, generatorConfig, config);
397
+ }, "loadBaseGenerator");
398
+ } catch (error) {
399
+ if (getModuleNotFoundError(error)) {
400
+ throw error;
401
+ }
402
+ throw new Error(error instanceof Error ? error.message : String(error));
403
+ }
404
+ } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
405
+ loadBaseGenerator = /* @__PURE__ */ __name(async () => {
406
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-75BKLTSP.js");
407
+ return createAnthropicContentGenerator(generatorConfig, config);
408
+ }, "loadBaseGenerator");
409
+ } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
410
+ loadBaseGenerator = /* @__PURE__ */ __name(async () => {
411
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-AG4KB6CV.js");
412
+ return createGeminiContentGenerator(generatorConfig, config);
413
+ }, "loadBaseGenerator");
414
+ } else {
415
+ throw new Error(
416
+ `Error creating contentGenerator: Unsupported authType: ${authType}`
417
+ );
418
+ }
419
+ } catch (error) {
420
+ throw wrapProviderLoadError(error, authType);
421
+ }
422
+ return new LazyContentGenerator(
423
+ async () => {
424
+ try {
425
+ const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
426
+ loadBaseGenerator(),
427
+ import("./loggingContentGenerator-HS3S5H3Q.js")
428
+ ]);
429
+ return new LoggingContentGenerator(
430
+ baseGenerator,
431
+ config,
432
+ generatorConfig
433
+ );
434
+ } catch (error) {
435
+ throw wrapProviderLoadError(error, authType);
436
+ }
437
+ },
438
+ authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */
439
+ );
440
+ }
441
+ __name(createContentGenerator, "createContentGenerator");
442
+
443
+ export {
444
+ DEFAULT_QWEN_MODEL,
445
+ DEFAULT_QWEN_FLASH_MODEL,
446
+ DEFAULT_QWEN_EMBEDDING_MODEL,
447
+ MAINLINE_CODER_MODEL,
448
+ MODEL_GENERATION_CONFIG_FIELDS,
449
+ PROVIDER_SOURCED_FIELDS,
450
+ AUTH_ENV_MAPPINGS,
451
+ DEFAULT_MODELS,
452
+ QWEN_OAUTH_MODELS,
453
+ QWEN_OAUTH_ALLOWED_MODELS,
454
+ AuthType,
455
+ resolveContentGeneratorConfigWithSources,
456
+ validateModelConfig,
457
+ createContentGeneratorConfig,
458
+ createContentGenerator
459
+ };
460
+ /**
461
+ * @license
462
+ * Copyright 2025 Google LLC
463
+ * SPDX-License-Identifier: Apache-2.0
464
+ */
465
+ /**
466
+ * @license
467
+ * Copyright 2025 Qwen Team
468
+ * SPDX-License-Identifier: Apache-2.0
469
+ */
@@ -6,16 +6,16 @@ import {
6
6
  import {
7
7
  JsonFormatter,
8
8
  parseAndFormatApiError
9
- } from "./chunk-OTQ6PSZC.js";
9
+ } from "./chunk-PHOF65IG.js";
10
10
  import {
11
11
  FatalBudgetExceededError,
12
12
  FatalCancellationError,
13
13
  FatalTurnLimitedError,
14
14
  createDebugLogger
15
- } from "./chunk-OQB4EXO4.js";
15
+ } from "./chunk-NL7LTRLR.js";
16
16
  import {
17
17
  runExitCleanup
18
- } from "./chunk-5NJTNQUW.js";
18
+ } from "./chunk-PWVFN2LF.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-XCXYRDHB.js";
9
+ } from "./chunk-TEHGS6UP.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,12 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  stringWidth
5
- } from "./chunk-H2XVO6NE.js";
5
+ } from "./chunk-2MIN6GRR.js";
6
6
  import {
7
7
  ansiRegex,
8
- init_ansi_regex,
9
8
  stripAnsi
10
- } from "./chunk-T4TZQJ7W.js";
9
+ } from "./chunk-TWPJO254.js";
11
10
  import {
12
11
  init_esbuild_shims
13
12
  } from "./chunk-5O2XNYP6.js";
@@ -17,7 +16,6 @@ import {
17
16
 
18
17
  // packages/cli/src/ui/utils/textUtils.ts
19
18
  init_esbuild_shims();
20
- init_ansi_regex();
21
19
  import { stripVTControlCharacters } from "node:util";
22
20
  var getAsciiArtWidth = /* @__PURE__ */ __name((asciiArt) => {
23
21
  if (!asciiArt) {
@@ -97,8 +97,8 @@ function parseCron(cronExpr) {
97
97
  dayOfMonth: parseField(parts[2], FIELD_RANGES[2][0], FIELD_RANGES[2][1]),
98
98
  month: parseField(parts[3], FIELD_RANGES[3][0], FIELD_RANGES[3][1]),
99
99
  dayOfWeek,
100
- domIsWild: parts[2].trim() === "*",
101
- dowIsWild: parts[4].trim() === "*"
100
+ domIsWild: parts[2].trim().startsWith("*"),
101
+ dowIsWild: parts[4].trim().startsWith("*")
102
102
  };
103
103
  }
104
104
  __name(parseCron, "parseCron");
@@ -3,17 +3,17 @@
3
3
  import {
4
4
  getGitVersion,
5
5
  getNpmVersion
6
- } from "./chunk-3HFNGB2O.js";
6
+ } from "./chunk-MVSUYZDT.js";
7
7
  import {
8
8
  buildEnvStatusFromEnv,
9
9
  snapshotProcessEnv
10
- } from "./chunk-FUFCALSJ.js";
10
+ } from "./chunk-ETSW4KLJ.js";
11
11
  import {
12
12
  mapDomainErrorToErrorKind
13
- } from "./chunk-O4BHWVUD.js";
13
+ } from "./chunk-VIA5XA4U.js";
14
14
  import {
15
15
  canUseRipgrep
16
- } from "./chunk-OTQ6PSZC.js";
16
+ } from "./chunk-PHOF65IG.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -1,8 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ wrapForMultiplexer
5
+ } from "./chunk-EPDRMGT4.js";
3
6
  import {
4
7
  createDebugLogger
5
- } from "./chunk-OQB4EXO4.js";
8
+ } from "./chunk-NL7LTRLR.js";
6
9
  import {
7
10
  init_esbuild_shims
8
11
  } from "./chunk-5O2XNYP6.js";
@@ -88,17 +91,6 @@ function osc(...parts) {
88
91
  return `${OSC_PREFIX}${sanitized.join(SEP)}${terminator}`;
89
92
  }
90
93
  __name(osc, "osc");
91
- function wrapForMultiplexer(sequence) {
92
- if (process.env["TMUX"]) {
93
- const escaped = sequence.replaceAll("\x1B", "\x1B\x1B");
94
- return `\x1BPtmux;${escaped}\x1B\\`;
95
- }
96
- if (process.env["STY"]) {
97
- return `\x1BP${sequence}\x1B\\`;
98
- }
99
- return sequence;
100
- }
101
- __name(wrapForMultiplexer, "wrapForMultiplexer");
102
94
  function encodeKittyPayload(text) {
103
95
  return Buffer.from(text, "utf8").toString("base64");
104
96
  }
@@ -602,7 +594,6 @@ export {
602
594
  BEL,
603
595
  OSC_PREFIX,
604
596
  detectTerminal,
605
- wrapForMultiplexer,
606
597
  oscITerm2Notify,
607
598
  oscKittyNotify,
608
599
  oscGhosttyNotify,
@@ -9,6 +9,10 @@ import {
9
9
 
10
10
  // packages/cli/src/serve/channel-selection.ts
11
11
  init_esbuild_shims();
12
+ function isAllChannelSelectionName(name) {
13
+ return name.trim() === "all";
14
+ }
15
+ __name(isAllChannelSelectionName, "isAllChannelSelectionName");
12
16
  function normalizeServeChannelSelection(rawChannels) {
13
17
  if (rawChannels === void 0 || rawChannels.length === 0) {
14
18
  return void 0;
@@ -24,7 +28,7 @@ function normalizeServeChannelSelection(rawChannels) {
24
28
  seen.add(name);
25
29
  names.push(name);
26
30
  }
27
- if (seen.has("all")) {
31
+ if (names.some(isAllChannelSelectionName)) {
28
32
  if (names.length > 1) {
29
33
  throw new Error("--channel all cannot be combined with channel names.");
30
34
  }