@qwen-code/qwen-code 0.19.8 → 0.19.9

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 (434) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -0
  2. package/bundled/qc-helper/docs/configuration/auth.md +40 -55
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
  4. package/bundled/qc-helper/docs/configuration/settings.md +60 -51
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dingtalk.md +9 -2
  7. package/bundled/qc-helper/docs/features/channels/overview.md +71 -4
  8. package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
  9. package/bundled/qc-helper/docs/features/code-review.md +29 -5
  10. package/bundled/qc-helper/docs/features/commands.md +39 -38
  11. package/bundled/qc-helper/docs/features/computer-use.md +77 -0
  12. package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
  13. package/bundled/qc-helper/docs/integration-vscode.md +2 -2
  14. package/bundled/qc-helper/docs/qwen-serve.md +29 -12
  15. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  16. package/bundled/review/DESIGN.md +93 -22
  17. package/bundled/review/SKILL.md +295 -86
  18. package/chunks/MaxSizedBox-6HYJ3ZPJ.js +70 -0
  19. package/chunks/{StandaloneSessionPicker-EYRGH6PJ.js → StandaloneSessionPicker-WS4GXYOG.js} +79 -79
  20. package/chunks/{acpAgent-GRFTTRHW.js → acpAgent-5FWSOZL5.js} +968 -200
  21. package/chunks/agent-HOLHB3RT.js +68 -0
  22. package/chunks/agent-headless-SXL6H56A.js +62 -0
  23. package/chunks/{anthropicContentGenerator-CPF22MA7.js → anthropicContentGenerator-L73TO3DB.js} +187 -31
  24. package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-U7IRTLIV.js} +5 -5
  25. package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-2DLUUZZG.js} +6 -6
  26. package/chunks/bridge-BCJQ7BBB.js +78 -0
  27. package/chunks/{ca-MKD32FQL.js → ca-UJ6HC4H2.js} +64 -5
  28. package/chunks/{channel-worker-supervisor-NZQUOEFJ.js → channel-worker-supervisor-WSOAAYUO.js} +137 -13
  29. package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
  30. package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
  31. package/chunks/{chunk-DIWVZ3VM.js → chunk-34MW4KTI.js} +5 -5
  32. package/chunks/{chunk-IBY3Q3HG.js → chunk-34Z3U5RQ.js} +508 -126
  33. package/chunks/{chunk-UXEW557D.js → chunk-3AHXV67U.js} +3 -3
  34. package/chunks/{chunk-O2YT7VB4.js → chunk-3BTRNWWD.js} +1 -1
  35. package/chunks/chunk-3G7CIHVV.js +71 -0
  36. package/chunks/{chunk-FBET5XZ2.js → chunk-3SJSQXNS.js} +20 -5
  37. package/chunks/{chunk-BUZ6HGL4.js → chunk-3VAGG5T5.js} +248 -55
  38. package/chunks/{chunk-M7S4GK5Z.js → chunk-4C5BQ2D2.js} +74 -27
  39. package/chunks/{chunk-5MBO76SL.js → chunk-4GORAUCN.js} +3 -3
  40. package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
  41. package/chunks/{chunk-TLWA7TPR.js → chunk-4QLQE5WJ.js} +2 -2
  42. package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
  43. package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
  44. package/chunks/{chunk-H6EMK6QK.js → chunk-4ZVWQHEQ.js} +11913 -5207
  45. package/chunks/{chunk-HW4N45EE.js → chunk-524RQP4Q.js} +29 -8
  46. package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
  47. package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
  48. package/chunks/{chunk-YDOXPLYL.js → chunk-5HOMWMCL.js} +1147 -738
  49. package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
  50. package/chunks/{chunk-ZL5HN75Q.js → chunk-5SFOMFG4.js} +2 -2
  51. package/chunks/{chunk-2EM7ECZD.js → chunk-5U27BZ72.js} +179 -63
  52. package/chunks/{chunk-JRQ7EVGE.js → chunk-5VXNZWGF.js} +2 -2
  53. package/chunks/{chunk-QYNNN7BK.js → chunk-5XUCZNSY.js} +2 -2
  54. package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
  55. package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
  56. package/chunks/{chunk-PUVCVELY.js → chunk-6PESIEKJ.js} +4 -4
  57. package/chunks/{chunk-3UP777ZS.js → chunk-6RLROE6G.js} +1 -1
  58. package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
  59. package/chunks/{chunk-RMLZAUWH.js → chunk-77XJ3SWN.js} +10 -12
  60. package/chunks/{chunk-L46XKEGM.js → chunk-7PU4FYLG.js} +5 -8
  61. package/chunks/{chunk-NQKLOAVJ.js → chunk-7R3CZA3Q.js} +2 -2
  62. package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
  63. package/chunks/{chunk-OQXDAMKY.js → chunk-A3XKDTSH.js} +8 -8
  64. package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
  65. package/chunks/{chunk-TSPB77TG.js → chunk-AKIVHSJR.js} +923 -2892
  66. package/chunks/{chunk-FQNC62B2.js → chunk-ATAKVRIF.js} +11 -11
  67. package/chunks/{chunk-GSHQYYIV.js → chunk-AURZZYMD.js} +6 -26
  68. package/chunks/{chunk-CHB5SLZZ.js → chunk-B4G2WOFA.js} +3 -3
  69. package/chunks/{chunk-X3YGAX7V.js → chunk-B5ORX3FG.js} +4 -2
  70. package/chunks/chunk-BAPGSC7U.js +239 -0
  71. package/chunks/{chunk-UX6OTBVD.js → chunk-BMGVRZN4.js} +2 -2
  72. package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
  73. package/chunks/{chunk-IJRL2S3D.js → chunk-BZIFY5TF.js} +6 -6
  74. package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
  75. package/chunks/chunk-CC2ITGCF.js +176 -0
  76. package/chunks/{chunk-HDOH3QYE.js → chunk-CCDMCZPP.js} +2 -2
  77. package/chunks/{chunk-FV7425LN.js → chunk-CEA3E3JB.js} +18 -5
  78. package/chunks/{chunk-BOBOCR5H.js → chunk-CLFKOZEK.js} +4 -4
  79. package/chunks/{chunk-P3XEEI3X.js → chunk-CNEIYWSA.js} +38 -9
  80. package/chunks/{chunk-GLE2YUPU.js → chunk-COH43MRJ.js} +1 -1
  81. package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
  82. package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
  83. package/chunks/{chunk-5P5XGNYH.js → chunk-CU3L64TP.js} +1 -1
  84. package/chunks/{chunk-CD6USWHZ.js → chunk-CUMMSHH6.js} +2 -2
  85. package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
  86. package/chunks/{chunk-WQTHLB5T.js → chunk-D2GFWEXB.js} +7 -7
  87. package/chunks/{chunk-I6WGFJJ3.js → chunk-D5SKC4YG.js} +38 -12
  88. package/chunks/{chunk-MZ7BABX3.js → chunk-DC5Z3DU6.js} +2 -2
  89. package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
  90. package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
  91. package/chunks/{chunk-A5JOJ77H.js → chunk-E2IY465S.js} +38 -15
  92. package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
  93. package/chunks/{chunk-SQ2UATK7.js → chunk-EAXLGSFP.js} +11 -11
  94. package/chunks/{chunk-JCH35JB3.js → chunk-ECNYL4AA.js} +2 -2
  95. package/chunks/{chunk-E7EMCSUG.js → chunk-EGYZ275M.js} +64 -42
  96. package/chunks/{chunk-6VK6FIMQ.js → chunk-EMDMPBJ4.js} +415 -379
  97. package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
  98. package/chunks/{chunk-V35MD7KN.js → chunk-GRC5HGPI.js} +1 -1
  99. package/chunks/{chunk-WMPVYQ4P.js → chunk-GWHYEOV2.js} +2 -2
  100. package/chunks/{chunk-27BHARDE.js → chunk-GWLSNBG4.js} +2103 -13
  101. package/chunks/chunk-GZRTYZ2R.js +292 -0
  102. package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
  103. package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
  104. package/chunks/{chunk-DICGXFAI.js → chunk-HKMAENAO.js} +8 -8
  105. package/chunks/{chunk-ZE6E424U.js → chunk-HPDUL5MF.js} +2 -2
  106. package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
  107. package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
  108. package/chunks/{chunk-ON3JA3RU.js → chunk-HVY356M2.js} +7 -9
  109. package/chunks/{chunk-GGQQA4JW.js → chunk-IAVB3HM3.js} +2 -2
  110. package/chunks/{chunk-FEJ2FZ3U.js → chunk-J3JA76CF.js} +2 -2
  111. package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
  112. package/chunks/{chunk-22MNNNXE.js → chunk-J4TSQ5EQ.js} +3 -2
  113. package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
  114. package/chunks/{chunk-CCGOFQV3.js → chunk-JSG7ZSBC.js} +8 -7
  115. package/chunks/{chunk-WF4FAXDL.js → chunk-JZETEN3Z.js} +62 -62
  116. package/chunks/{chunk-GN3F6PIU.js → chunk-K434OPES.js} +5 -5
  117. package/chunks/{chunk-YKZIAK7C.js → chunk-KHUQZZJ6.js} +66 -16
  118. package/chunks/{chunk-X2XNQQJI.js → chunk-KKNMOEZH.js} +4 -4
  119. package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
  120. package/chunks/{chunk-6IAWPIQ6.js → chunk-L36P3NBD.js} +3 -3
  121. package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
  122. package/chunks/{chunk-DHOLNQLC.js → chunk-L6P4KPHR.js} +12 -12
  123. package/chunks/{chunk-E7KNELIZ.js → chunk-LK7KUE55.js} +2 -2
  124. package/chunks/{chunk-W7EEOR7D.js → chunk-LUODI7WD.js} +5 -5
  125. package/chunks/{chunk-CSOTA7KX.js → chunk-LXNEJD34.js} +2 -2
  126. package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
  127. package/chunks/{chunk-3B26UVCX.js → chunk-MC23XKFE.js} +39 -10
  128. package/chunks/{chunk-PC4ZXHU2.js → chunk-MXL5UP4X.js} +3 -3
  129. package/chunks/{chunk-BVYU3ZTI.js → chunk-N3EMS75V.js} +73 -30
  130. package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
  131. package/chunks/{chunk-3GNOQZDC.js → chunk-NVYTCB5Z.js} +4797 -2620
  132. package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
  133. package/chunks/chunk-OQ4DRIOA.js +296 -0
  134. package/chunks/{chunk-42XGFRJS.js → chunk-ORBGV7NJ.js} +5 -5
  135. package/chunks/{chunk-AYNCLGTW.js → chunk-P67PFTUT.js} +8 -51
  136. package/chunks/{chunk-VGGOPZUL.js → chunk-PDZ7MBDG.js} +12 -5
  137. package/chunks/{chunk-WHJQ3JUS.js → chunk-PODM4SZ4.js} +12 -12
  138. package/chunks/{chunk-JPALE3PA.js → chunk-PVZM22CK.js} +6 -6
  139. package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
  140. package/chunks/{chunk-L4AMBVQG.js → chunk-Q4YQW46J.js} +31 -17
  141. package/chunks/{chunk-XYR5RUA5.js → chunk-Q6I5QHMH.js} +10 -3
  142. package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
  143. package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
  144. package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
  145. package/chunks/{chunk-Z3I3QJK3.js → chunk-QRUIS3DN.js} +1 -1
  146. package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
  147. package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
  148. package/chunks/{chunk-XOHNA2S6.js → chunk-QYMQSECS.js} +3 -3
  149. package/chunks/{chunk-QYUE6W3T.js → chunk-RDJSGHZE.js} +1 -1
  150. package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
  151. package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
  152. package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
  153. package/chunks/{chunk-BOBRZZKD.js → chunk-SCGXUJBT.js} +5 -5
  154. package/chunks/{chunk-44NROQYV.js → chunk-SJHDYNHF.js} +4 -4
  155. package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
  156. package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
  157. package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
  158. package/chunks/{chunk-SUAKHHK7.js → chunk-TDEXZKMT.js} +3 -3
  159. package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
  160. package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
  161. package/chunks/chunk-TO6QE22P.js +444 -0
  162. package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
  163. package/chunks/chunk-U2NNEY4R.js +38 -0
  164. package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
  165. package/chunks/{chunk-AHNJGLFV.js → chunk-UOZWKTQG.js} +3 -3
  166. package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
  167. package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
  168. package/chunks/{chunk-DCZWC4PF.js → chunk-VA4KQY6V.js} +5 -5
  169. package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
  170. package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
  171. package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
  172. package/chunks/{chunk-J7RCB6N5.js → chunk-VTU57BWZ.js} +2 -2
  173. package/chunks/{chunk-LAXNEOBG.js → chunk-VWPVHAMO.js} +15 -3
  174. package/chunks/{chunk-VZ7HY3YU.js → chunk-W2UIXQDL.js} +3 -3
  175. package/chunks/{chunk-JZHIQJOE.js → chunk-W3JHSWRP.js} +6 -6
  176. package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
  177. package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
  178. package/chunks/{chunk-BMFMJINR.js → chunk-WL4L7EZH.js} +1 -1
  179. package/chunks/{chunk-PMFULMLX.js → chunk-WQUQVGTF.js} +2057 -266
  180. package/chunks/chunk-X4NKFGFJ.js +81 -0
  181. package/chunks/{chunk-YHKAK72D.js → chunk-X6TJ3YZV.js} +102 -16
  182. package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
  183. package/chunks/{chunk-O7FIRWJV.js → chunk-XLA62MYB.js} +3 -3
  184. package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
  185. package/chunks/{chunk-EEN2TKST.js → chunk-XUOOWUZS.js} +2 -2
  186. package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
  187. package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
  188. package/chunks/{chunk-TI3BWD4D.js → chunk-XYQSMABS.js} +39 -19
  189. package/chunks/chunk-YAF2MQZ6.js +19 -0
  190. package/chunks/{chunk-O33TBKDC.js → chunk-YAUFFXDS.js} +154 -19
  191. package/chunks/{chunk-OACJLMLD.js → chunk-YLV3XXFB.js} +2 -2
  192. package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
  193. package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
  194. package/chunks/{chunk-II73RK2S.js → chunk-YVEDCAUE.js} +1 -1
  195. package/chunks/{chunk-SKAZWEV5.js → chunk-ZJE7NSL3.js} +1 -1
  196. package/chunks/{chunk-7LTB54MK.js → chunk-ZLXQN2QS.js} +2 -2
  197. package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
  198. package/chunks/{computer-use-WMY3UOBX.js → computer-use-HM37RX6A.js} +50 -50
  199. package/chunks/config-utils-NV2SVGPB.js +23 -0
  200. package/chunks/contextCommand-OF5SFGH2.js +68 -0
  201. package/chunks/create-sub-session-INX7TXJI.js +207 -0
  202. package/chunks/create-sub-session-KPRT7ECJ.js +375 -0
  203. package/chunks/{cron-create-JSXEIPVS.js → cron-create-AMBKGZX6.js} +9 -9
  204. package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-LRU4OJYG.js} +7 -7
  205. package/chunks/{cron-list-D4ZX4IOE.js → cron-list-WVP2JXER.js} +14 -10
  206. package/chunks/{daemon-WPAENEBW.js → daemon-ARHTSTXP.js} +478 -6
  207. package/chunks/daemon-status-provider-B2UTZUJ2.js +76 -0
  208. package/chunks/{de-ZFPPQVSF.js → de-EBJN3OVN.js} +64 -5
  209. package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
  210. package/chunks/{dist-Z34QPAQW.js → dist-PNVLTKTL.js} +374 -78
  211. package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
  212. package/chunks/{dist-BEXOZXLQ.js → dist-QYCAEZIT.js} +32 -15
  213. package/chunks/{dist-H2AEJCZ5.js → dist-R7LN5AZE.js} +5 -5
  214. package/chunks/{dist-E6UANPIM.js → dist-VHV4EVHG.js} +1011 -197
  215. package/chunks/{dist-O2IRTRPP.js → dist-WKPOYU7O.js} +10 -10
  216. package/chunks/{dist-SCFLLYMK.js → dist-XKU3ABM5.js} +12 -11
  217. package/chunks/earlyInputCapture-3VTHRC4C.js +69 -0
  218. package/chunks/{edit-OTYWAXGP.js → edit-VNI4NJ73.js} +51 -51
  219. package/chunks/{en-N4EPZAQI.js → en-5A6LA7RK.js} +74 -6
  220. package/chunks/{enter-worktree-HNYBDVCX.js → enter-worktree-IYYBKPZT.js} +50 -50
  221. package/chunks/{enterPlanMode-CJCNGT63.js → enterPlanMode-GMC5FD5A.js} +50 -50
  222. package/chunks/environment-5HSSRMJ7.js +88 -0
  223. package/chunks/errors-HMFCJJ7P.js +75 -0
  224. package/chunks/{exit-worktree-DUUKOE3X.js → exit-worktree-6BHCMP5G.js} +50 -50
  225. package/chunks/{exitPlanMode-AMMSXOAJ.js → exitPlanMode-CJW7G74W.js} +51 -51
  226. package/chunks/{fast-path-OV6NIP3K.js → fast-path-FRDMDVHG.js} +8 -8
  227. package/chunks/{fast-path-settings-7RIFI3PK.js → fast-path-settings-5QZE64HR.js} +6 -6
  228. package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
  229. package/chunks/{fr-5WWMY53B.js → fr-YXRABLYZ.js} +64 -5
  230. package/chunks/{gemini-NQ3WWBKB.js → gemini-QYSEGHAX.js} +119 -111
  231. package/chunks/{geminiContentGenerator-CDUNEJQE.js → geminiContentGenerator-J7YNZDYP.js} +9 -9
  232. package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
  233. package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
  234. package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
  235. package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
  236. package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
  237. package/chunks/{glob-ROV3YS4R.js → glob-BRCSGFOT.js} +95 -74
  238. package/chunks/{grep-NRITKDCD.js → grep-EE2DUOSY.js} +50 -50
  239. package/chunks/handleAutoUpdate-5NWTLR67.js +69 -0
  240. package/chunks/i18n-BASPENNQ.js +84 -0
  241. package/chunks/initializer-UTQ7FB7G.js +71 -0
  242. package/chunks/installationInfo-W6V4DT7W.js +65 -0
  243. package/chunks/{ja-CUHZOLEJ.js → ja-7VQOANVG.js} +64 -5
  244. package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-VKUBNCP4.js} +4 -4
  245. package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
  246. package/chunks/list-DEICDL65.js +74 -0
  247. package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +68 -0
  248. package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-WX7BLWWP.js} +10 -10
  249. package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
  250. package/chunks/{ls-7MFU2QYW.js → ls-ZB2BDP6T.js} +6 -6
  251. package/chunks/{lsp-XHDTPTGV.js → lsp-V5DN4YUJ.js} +4 -4
  252. package/chunks/mcp-L5JXEEIA.js +68 -0
  253. package/chunks/{monitor-FL2ZO33W.js → monitor-X5Z3H4FY.js} +50 -50
  254. package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
  255. package/chunks/nonInteractiveCli-LS2K4X6A.js +124 -0
  256. package/chunks/{notebook-edit-6PULTHL5.js → notebook-edit-TRM2QIJK.js} +51 -51
  257. package/chunks/openaiContentGenerator-AAYONPMF.js +56 -0
  258. package/chunks/pidfile-D4I4FTVA.js +73 -0
  259. package/chunks/{pt-OLYN42DS.js → pt-2C6YCSHL.js} +64 -5
  260. package/chunks/{qwenContentGenerator-NX2E7PB7.js → qwenContentGenerator-K3HZ2H76.js} +52 -52
  261. package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-PJQ27GSO.js} +9 -9
  262. package/chunks/read-file-7SZSIZOL.js +30 -0
  263. package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-SM5DA4RG.js} +5 -5
  264. package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
  265. package/chunks/{record-artifact-SQ2OKRJW.js → record-artifact-4XKZX3UW.js} +4 -4
  266. package/chunks/ripGrep-YNPFVCZP.js +60 -0
  267. package/chunks/{ru-LDM3GWVQ.js → ru-6BBHVZZV.js} +64 -5
  268. package/chunks/{run-qwen-serve-JK2DL7PI.js → run-qwen-serve-DMWV5N6L.js} +395 -74
  269. package/chunks/runtime-57WWRVHN.js +94 -0
  270. package/chunks/{scheduler-O4IGVZKK.js → scheduler-YBLGWSIL.js} +51 -51
  271. package/chunks/{send-message-76GT3JMC.js → send-message-F36YD6KQ.js} +7 -7
  272. package/chunks/serve-R63NK3CV.js +74 -0
  273. package/chunks/{server-SGNPKX2O.js → server-Z22GCAXP.js} +3956 -869
  274. package/chunks/{session-5BNM25EZ.js → session-HKAAI7BN.js} +117 -112
  275. package/chunks/settings-3EYN66GK.js +118 -0
  276. package/chunks/shell-6YXINTWJ.js +68 -0
  277. package/chunks/{skill-I22QK5XS.js → skill-OO57P4X6.js} +24 -24
  278. package/chunks/spawnChannel-JD7G4VU6.js +70 -0
  279. package/chunks/{src-BBQSM46M.js → src-G5UPLZSZ.js} +122 -52
  280. package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
  281. package/chunks/standalone-update-OB7F4JPZ.js +79 -0
  282. package/chunks/{startInteractiveUI-JII36UGN.js → startInteractiveUI-73EGLIIH.js} +1775 -1663
  283. package/chunks/stdioHelpers-UMY72QRP.js +14 -0
  284. package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-34H7LGA7.js} +5 -5
  285. package/chunks/task-create-FRGOEIKY.js +22 -0
  286. package/chunks/{task-list-TGGJX7EA.js → task-list-OW766BXZ.js} +10 -10
  287. package/chunks/{task-stop-W7NGTMYQ.js → task-stop-SIR5SNBN.js} +4 -4
  288. package/chunks/{task-update-XYWMHJGJ.js → task-update-YRA532MT.js} +12 -12
  289. package/chunks/{team-create-A7NUU5AQ.js → team-create-PECAAPXK.js} +50 -50
  290. package/chunks/{team-delete-UHQQ2QQX.js → team-delete-6OSECUZC.js} +10 -10
  291. package/chunks/{team-plan-approval-TOQRJ2KI.js → team-plan-approval-L6F434RY.js} +50 -50
  292. package/chunks/theme-manager-ZG4RY6GU.js +64 -0
  293. package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-YDMFEV4G.js} +6 -6
  294. package/chunks/{tool-search-SZ4EFS2T.js → tool-search-THVIWAPB.js} +24 -24
  295. package/chunks/total-session-admission-JOKNRIIA.js +72 -0
  296. package/chunks/trustedFolders-EOGT3UVS.js +79 -0
  297. package/chunks/{types-QX5C3CHJ.js → types-JNKGKUJT.js} +2 -2
  298. package/chunks/updateCheck-2KYEYVSB.js +69 -0
  299. package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
  300. package/chunks/validateNonInterActiveAuth-EN6ZQSR2.js +190 -0
  301. package/chunks/{version-NO2XSNNP.js → version-3UEA6ZIR.js} +3 -3
  302. package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-PAAEQKBW.js} +8 -8
  303. package/chunks/{workflow-WO2H6NRI.js → workflow-QCCCMYP3.js} +51 -51
  304. package/chunks/workspace-providers-status-4KMGETOJ.js +71 -0
  305. package/chunks/workspace-registry-24QFLQYH.js +76 -0
  306. package/chunks/workspace-service-RVLBMSMZ.js +80 -0
  307. package/chunks/workspace-skills-status-DS4ZVFTO.js +70 -0
  308. package/chunks/{write-file-PX2Z7IBE.js → write-file-I3MUDRIE.js} +51 -51
  309. package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
  310. package/chunks/{zh-J4F6QWQV.js → zh-RQE7I22T.js} +74 -6
  311. package/chunks/{zh-TW-XVDWOLSW.js → zh-TW-TBPQGHKH.js} +74 -6
  312. package/cli.js +18 -17
  313. package/locales/ca.js +85 -7
  314. package/locales/de.js +84 -7
  315. package/locales/en.js +101 -7
  316. package/locales/fr.js +85 -7
  317. package/locales/ja.js +86 -6
  318. package/locales/pt.js +84 -7
  319. package/locales/ru.js +84 -7
  320. package/locales/zh-TW.js +97 -6
  321. package/locales/zh.js +97 -6
  322. package/package.json +3 -6
  323. package/web-shell/assets/{arc-BWyoJpY2.js → arc-C15hqnJe.js} +1 -1
  324. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BT0mGrz2.js → architectureDiagram-3BPJPVTR-B-At37J_.js} +1 -1
  325. package/web-shell/assets/{blockDiagram-GPEHLZMM-BLgUWvyf.js → blockDiagram-GPEHLZMM-B51wjcU7.js} +1 -1
  326. package/web-shell/assets/{c4Diagram-AAUBKEIU-DYx9M7oU.js → c4Diagram-AAUBKEIU-xBK7BAwN.js} +1 -1
  327. package/web-shell/assets/channel-CLiQD50f.js +1 -0
  328. package/web-shell/assets/{chunk-2J33WTMH-CfMHWbuZ.js → chunk-2J33WTMH-xKmLg7Yr.js} +1 -1
  329. package/web-shell/assets/{chunk-4BX2VUAB-B1URoqEV.js → chunk-4BX2VUAB-BfkdKZCM.js} +1 -1
  330. package/web-shell/assets/{chunk-55IACEB6-DAIaM4QF.js → chunk-55IACEB6-DT713sZf.js} +1 -1
  331. package/web-shell/assets/{chunk-727SXJPM-B2X34knw.js → chunk-727SXJPM-CYEeAamv.js} +1 -1
  332. package/web-shell/assets/{chunk-AQP2D5EJ-Cif-zLTQ.js → chunk-AQP2D5EJ-DBN-5CFd.js} +1 -1
  333. package/web-shell/assets/{chunk-FMBD7UC4-H18WCXdY.js → chunk-FMBD7UC4-CGZKk4PH.js} +1 -1
  334. package/web-shell/assets/{chunk-ND2GUHAM-YFtetHi0.js → chunk-ND2GUHAM-qQbC2O-y.js} +1 -1
  335. package/web-shell/assets/{chunk-QZHKN3VN-By2hiH3r.js → chunk-QZHKN3VN-B3zeXwsX.js} +1 -1
  336. package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +1 -0
  337. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +1 -0
  338. package/web-shell/assets/{cose-bilkent-S5V4N54A-VrcnnLZu.js → cose-bilkent-S5V4N54A-BKsl1Wvy.js} +1 -1
  339. package/web-shell/assets/{dagre-BM42HDAG-CGo-IaVV.js → dagre-BM42HDAG-CuuuLiBK.js} +1 -1
  340. package/web-shell/assets/{diagram-2AECGRRQ-Dl4QjzIB.js → diagram-2AECGRRQ-CG4_eKiV.js} +1 -1
  341. package/web-shell/assets/{diagram-5GNKFQAL-qMLmsO0u.js → diagram-5GNKFQAL-DSFTmZB1.js} +1 -1
  342. package/web-shell/assets/{diagram-KO2AKTUF-CHlmuxPI.js → diagram-KO2AKTUF-BxwlEHn8.js} +1 -1
  343. package/web-shell/assets/{diagram-LMA3HP47-BUwU3GwT.js → diagram-LMA3HP47-BUAg-jMG.js} +1 -1
  344. package/web-shell/assets/{diagram-OG6HWLK6-HEhwPDUM.js → diagram-OG6HWLK6-BFM2jlO5.js} +1 -1
  345. package/web-shell/assets/{erDiagram-TEJ5UH35-1n0llBmM.js → erDiagram-TEJ5UH35-CerbFPa2.js} +1 -1
  346. package/web-shell/assets/{flowDiagram-I6XJVG4X-BN74uMnt.js → flowDiagram-I6XJVG4X-BNeZz5Zz.js} +1 -1
  347. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BoOq78i3.js → ganttDiagram-6RSMTGT7-CTOogLaM.js} +1 -1
  348. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CN8b00c8.js → gitGraphDiagram-PVQCEYII-yxSFkXPj.js} +1 -1
  349. package/web-shell/assets/index-D5IWFVk1.css +5 -0
  350. package/web-shell/assets/index-KFJRDhX7.js +783 -0
  351. package/web-shell/assets/{infoDiagram-5YYISTIA-CCurnIna.js → infoDiagram-5YYISTIA-DYdAUevm.js} +1 -1
  352. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AwuRqdUP.js → ishikawaDiagram-YF4QCWOH-CNuijZ90.js} +1 -1
  353. package/web-shell/assets/{journeyDiagram-JHISSGLW-B7IICk-E.js → journeyDiagram-JHISSGLW-BTyiuonf.js} +1 -1
  354. package/web-shell/assets/{kanban-definition-UN3LZRKU-BYF0OKhx.js → kanban-definition-UN3LZRKU-DPJo0Uow.js} +1 -1
  355. package/web-shell/assets/{linear-GWWguGfD.js → linear-C8wKCbIC.js} +1 -1
  356. package/web-shell/assets/{mermaid.core-JqtkxvCl.js → mermaid.core-BV5o7nW5.js} +5 -5
  357. package/web-shell/assets/{mindmap-definition-RKZ34NQL-B0MmHsZ6.js → mindmap-definition-RKZ34NQL-BtLcBmSt.js} +1 -1
  358. package/web-shell/assets/{pieDiagram-4H26LBE5-DhImUZLQ.js → pieDiagram-4H26LBE5-C22J7A9Q.js} +1 -1
  359. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DGeSC3DT.js → quadrantDiagram-W4KKPZXB-DSL10wiL.js} +1 -1
  360. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DkspY6Re.js → requirementDiagram-4Y6WPE33-feqh0UpX.js} +1 -1
  361. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CaOofS2x.js → sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js} +1 -1
  362. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DFQ_kFnN.js → sequenceDiagram-3UESZ5HK-DIluIcb1.js} +1 -1
  363. package/web-shell/assets/{stateDiagram-AJRCARHV-D3snw0Tz.js → stateDiagram-AJRCARHV-hlhnuoYH.js} +1 -1
  364. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +1 -0
  365. package/web-shell/assets/{timeline-definition-PNZ67QCA-l4zH8nLM.js → timeline-definition-PNZ67QCA-Dqf_CqgL.js} +1 -1
  366. package/web-shell/assets/{vennDiagram-CIIHVFJN-BnRlA98M.js → vennDiagram-CIIHVFJN-DD2QhaTX.js} +1 -1
  367. package/web-shell/assets/{wardley-L42UT6IY-BS0xUdmd.js → wardley-L42UT6IY-B2uI85U_.js} +1 -1
  368. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKGBUWyQ.js → wardleyDiagram-YWT4CUSO-U1aJX71g.js} +1 -1
  369. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DVb2HuOB.js → xychartDiagram-2RQKCTM6-C0ODHUee.js} +1 -1
  370. package/web-shell/index.html +16 -4
  371. package/chunks/MaxSizedBox-5DT2SD7B.js +0 -71
  372. package/chunks/agent-H2DGKS77.js +0 -68
  373. package/chunks/agent-headless-KFMFIT6J.js +0 -62
  374. package/chunks/bridge-NA3ZQQKJ.js +0 -78
  375. package/chunks/chunk-6SHO7WFF.js +0 -79
  376. package/chunks/chunk-IFEWJXFS.js +0 -37
  377. package/chunks/chunk-S6RLAIUR.js +0 -23
  378. package/chunks/chunk-XNXVCNAT.js +0 -88
  379. package/chunks/contextCommand-LXFZRP4L.js +0 -68
  380. package/chunks/daemon-status-provider-GJRXY5EN.js +0 -76
  381. package/chunks/earlyInputCapture-KNOYZ4MJ.js +0 -69
  382. package/chunks/environment-ATFTYMLZ.js +0 -88
  383. package/chunks/errors-A54HAADA.js +0 -75
  384. package/chunks/handleAutoUpdate-CEZJAARW.js +0 -65
  385. package/chunks/initializer-BRFJKRRX.js +0 -71
  386. package/chunks/list-KVHF7O4X.js +0 -73
  387. package/chunks/loadedSettingsAdapter-LL5PSFKX.js +0 -68
  388. package/chunks/mcp-3GCXRTOQ.js +0 -68
  389. package/chunks/nonInteractiveCli-PTQI3DV6.js +0 -119
  390. package/chunks/openaiContentGenerator-YE42PKCY.js +0 -56
  391. package/chunks/pidfile-NZYSCFRK.js +0 -73
  392. package/chunks/read-file-33XGP5HF.js +0 -30
  393. package/chunks/ripGrep-QWZLGTAN.js +0 -60
  394. package/chunks/serve-JTMIGANH.js +0 -74
  395. package/chunks/settings-3MI4XXP6.js +0 -118
  396. package/chunks/shell-YJKBE67T.js +0 -68
  397. package/chunks/spawnChannel-UNV6W4DU.js +0 -70
  398. package/chunks/task-create-WCHTB435.js +0 -22
  399. package/chunks/theme-manager-WZ4RRMMB.js +0 -64
  400. package/chunks/total-session-admission-ULXJWXFV.js +0 -72
  401. package/chunks/trustedFolders-LAZZPZ3D.js +0 -79
  402. package/chunks/updateCheck-KONLM73X.js +0 -65
  403. package/chunks/validateNonInterActiveAuth-MPKSRCXD.js +0 -184
  404. package/chunks/workspace-providers-status-3W7E7DFW.js +0 -71
  405. package/chunks/workspace-registry-SXJZNN3O.js +0 -74
  406. package/chunks/workspace-service-CZRQZ4Q4.js +0 -80
  407. package/chunks/workspace-skills-status-K7WFREPD.js +0 -70
  408. package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
  409. package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
  410. package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
  411. package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
  412. package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
  413. package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
  414. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
  415. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
  416. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
  417. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
  418. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
  419. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
  420. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  421. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
  422. package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
  423. package/node_modules/@qwen-code/audio-capture/package.json +0 -30
  424. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  425. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  426. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
  427. package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
  428. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  429. package/web-shell/assets/channel-wmPUGHtg.js +0 -1
  430. package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +0 -1
  431. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +0 -1
  432. package/web-shell/assets/index-CNwoO1Cn.js +0 -783
  433. package/web-shell/assets/index-CWQ0z6kZ.css +0 -5
  434. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +0 -1
@@ -0,0 +1,444 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ resolvePath
5
+ } from "./chunk-34Z3U5RQ.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/commands/channel/config-utils.ts
14
+ init_esbuild_shims();
15
+
16
+ // packages/cli/src/commands/channel/channel-registry.ts
17
+ init_esbuild_shims();
18
+ var registry = /* @__PURE__ */ new Map();
19
+ var builtinsPromise = null;
20
+ function ensureBuiltins() {
21
+ if (!builtinsPromise) {
22
+ builtinsPromise = (async () => {
23
+ const labelled = [
24
+ { name: "telegram", promise: import("./dist-WKPOYU7O.js") },
25
+ { name: "weixin", promise: import("./dist-R7LN5AZE.js") },
26
+ { name: "dingtalk", promise: import("./dist-PNVLTKTL.js") },
27
+ { name: "wecom", promise: import("./dist-XKU3ABM5.js") },
28
+ { name: "feishu", promise: import("./dist-QYCAEZIT.js") },
29
+ { name: "qqbot", promise: import("./dist-VHV4EVHG.js") }
30
+ ];
31
+ const results = await Promise.allSettled(labelled.map((l) => l.promise));
32
+ for (let i = 0; i < results.length; i++) {
33
+ const result = results[i];
34
+ if (result.status === "fulfilled") {
35
+ registry.set(result.value.plugin.channelType, result.value.plugin);
36
+ } else {
37
+ process.stderr.write(
38
+ `[channel-registry] Failed to load "${labelled[i].name}" channel: ${result.reason}
39
+ `
40
+ );
41
+ }
42
+ }
43
+ })();
44
+ }
45
+ return builtinsPromise;
46
+ }
47
+ __name(ensureBuiltins, "ensureBuiltins");
48
+ function registerPlugin(plugin) {
49
+ if (registry.has(plugin.channelType)) {
50
+ throw new Error(
51
+ `Channel type "${plugin.channelType}" is already registered.`
52
+ );
53
+ }
54
+ registry.set(plugin.channelType, plugin);
55
+ }
56
+ __name(registerPlugin, "registerPlugin");
57
+ async function getPlugin(channelType) {
58
+ await ensureBuiltins();
59
+ return registry.get(channelType);
60
+ }
61
+ __name(getPlugin, "getPlugin");
62
+ async function supportedTypes() {
63
+ await ensureBuiltins();
64
+ return [...registry.keys()];
65
+ }
66
+ __name(supportedTypes, "supportedTypes");
67
+
68
+ // packages/cli/src/commands/channel/config-utils.ts
69
+ var ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
70
+ var CHANNEL_APPROVAL_MODES = /* @__PURE__ */ new Set([
71
+ "plan",
72
+ "default",
73
+ "auto-edit",
74
+ "auto",
75
+ "yolo"
76
+ ]);
77
+ function resolveEnvVars(value) {
78
+ if (value.startsWith("$$")) {
79
+ return value.substring(1);
80
+ }
81
+ if (value.startsWith("$")) {
82
+ const envName = value.substring(1);
83
+ const envValue = process.env[envName];
84
+ if (envValue === void 0) {
85
+ throw new Error(
86
+ `Environment variable ${envName} is not set (referenced as ${value})`
87
+ );
88
+ }
89
+ if (envValue === "") {
90
+ throw new Error(
91
+ `Environment variable ${envName} is empty (referenced as ${value})`
92
+ );
93
+ }
94
+ return envValue;
95
+ }
96
+ return value;
97
+ }
98
+ __name(resolveEnvVars, "resolveEnvVars");
99
+ function resolveOptionalStringField(channelName, rawConfig, field, envResolution) {
100
+ const value = rawConfig[field];
101
+ if (value === void 0 || value === null || value === "") {
102
+ return void 0;
103
+ }
104
+ if (typeof value !== "string") {
105
+ throw new Error(
106
+ `Channel "${channelName}" field "${field}" must be a string.`
107
+ );
108
+ }
109
+ return resolveConfigEnvVar(value, envResolution);
110
+ }
111
+ __name(resolveOptionalStringField, "resolveOptionalStringField");
112
+ var KNOWN_CREDENTIAL_FIELDS = /* @__PURE__ */ new Set(["token", "clientId", "clientSecret"]);
113
+ function resolveConfigEnvVar(value, mode) {
114
+ if (mode === false) return value;
115
+ if (value.startsWith("$$")) return value.substring(1);
116
+ if (mode === "available" && value.startsWith("$")) {
117
+ const envName = value.substring(1);
118
+ const envValue = process.env[envName];
119
+ if (envValue === void 0) {
120
+ throw new Error(
121
+ `Environment variable ${envName} is not set (referenced as ${value}). Set the variable or remove the $ prefix to use a literal value.`
122
+ );
123
+ }
124
+ if (envValue === "") {
125
+ throw new Error(
126
+ `Environment variable ${envName} is empty (referenced as ${value})`
127
+ );
128
+ }
129
+ return envValue;
130
+ }
131
+ return resolveEnvVars(value);
132
+ }
133
+ __name(resolveConfigEnvVar, "resolveConfigEnvVar");
134
+ function parseObjectStringFields(channelName, rawConfig, key, fields) {
135
+ const value = rawConfig[key];
136
+ if (value === void 0 || value === null) {
137
+ return void 0;
138
+ }
139
+ if (typeof value !== "object" || Array.isArray(value)) {
140
+ throw new Error(
141
+ `Channel "${channelName}" field "${key}" must be an object.`
142
+ );
143
+ }
144
+ const record = value;
145
+ const result = {};
146
+ for (const field of fields) {
147
+ const fieldValue = record[field];
148
+ if (fieldValue === void 0 || fieldValue === null || fieldValue === "") {
149
+ continue;
150
+ }
151
+ if (typeof fieldValue !== "string") {
152
+ throw new Error(
153
+ `Channel "${channelName}" field "${key}.${field}" must be a string.`
154
+ );
155
+ }
156
+ result[field] = fieldValue;
157
+ }
158
+ return Object.keys(result).length > 0 ? result : void 0;
159
+ }
160
+ __name(parseObjectStringFields, "parseObjectStringFields");
161
+ function parseMemoryScopeConfig(channelName, rawConfig) {
162
+ const parsed = parseObjectStringFields(
163
+ channelName,
164
+ rawConfig,
165
+ "memoryScope",
166
+ ["namespace", "mode"]
167
+ );
168
+ if (parsed?.["mode"] !== void 0 && parsed["mode"] !== "metadata-only") {
169
+ throw new Error(
170
+ `Channel "${channelName}" field "memoryScope.mode" must be "metadata-only".`
171
+ );
172
+ }
173
+ return parsed;
174
+ }
175
+ __name(parseMemoryScopeConfig, "parseMemoryScopeConfig");
176
+ function requireStringField(channelName, path, value) {
177
+ if (typeof value !== "string" || value === "") {
178
+ throw new Error(
179
+ `Channel "${channelName}" field "${path}" must be a string.`
180
+ );
181
+ }
182
+ return value;
183
+ }
184
+ __name(requireStringField, "requireStringField");
185
+ function optionalBooleanField(channelName, path, value) {
186
+ if (value === void 0) {
187
+ return void 0;
188
+ }
189
+ if (typeof value !== "boolean") {
190
+ throw new Error(
191
+ `Channel "${channelName}" field "${path}" must be a boolean.`
192
+ );
193
+ }
194
+ return value;
195
+ }
196
+ __name(optionalBooleanField, "optionalBooleanField");
197
+ function requireObjectField(channelName, path, value) {
198
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
199
+ throw new Error(
200
+ `Channel "${channelName}" field "${path}" must be an object.`
201
+ );
202
+ }
203
+ return value;
204
+ }
205
+ __name(requireObjectField, "requireObjectField");
206
+ function parseWebhookTarget(channelName, path, raw) {
207
+ const record = requireObjectField(channelName, path, raw);
208
+ const target = {
209
+ chatId: requireStringField(channelName, `${path}.chatId`, record["chatId"]),
210
+ senderId: requireStringField(
211
+ channelName,
212
+ `${path}.senderId`,
213
+ record["senderId"]
214
+ )
215
+ };
216
+ if (record["threadId"] !== void 0) {
217
+ target.threadId = requireStringField(
218
+ channelName,
219
+ `${path}.threadId`,
220
+ record["threadId"]
221
+ );
222
+ }
223
+ const isGroup = optionalBooleanField(
224
+ channelName,
225
+ `${path}.isGroup`,
226
+ record["isGroup"]
227
+ );
228
+ if (isGroup !== void 0) {
229
+ target.isGroup = isGroup;
230
+ }
231
+ return target;
232
+ }
233
+ __name(parseWebhookTarget, "parseWebhookTarget");
234
+ function parseWebhookSource(channelName, path, raw) {
235
+ const record = requireObjectField(channelName, path, raw);
236
+ const rawTargets = requireObjectField(
237
+ channelName,
238
+ `${path}.targets`,
239
+ record["targets"]
240
+ );
241
+ const targets = {};
242
+ for (const [targetRef, targetConfig] of Object.entries(rawTargets)) {
243
+ targets[targetRef] = parseWebhookTarget(
244
+ channelName,
245
+ `${path}.targets.${targetRef}`,
246
+ targetConfig
247
+ );
248
+ }
249
+ const hasSecret = record["secret"] !== void 0 && record["secret"] !== null;
250
+ const hasSecretEnv = record["secretEnv"] !== void 0 && record["secretEnv"] !== null;
251
+ if (hasSecret === hasSecretEnv) {
252
+ throw new Error(
253
+ `Channel "${channelName}" field "${path}" must define exactly one of "secret" or "secretEnv".`
254
+ );
255
+ }
256
+ const secret = hasSecret ? resolveEnvVars(
257
+ requireStringField(channelName, `${path}.secret`, record["secret"])
258
+ ) : resolveWebhookSecretEnv(
259
+ channelName,
260
+ path,
261
+ requireStringField(
262
+ channelName,
263
+ `${path}.secretEnv`,
264
+ record["secretEnv"]
265
+ )
266
+ );
267
+ if (secret.length === 0) {
268
+ throw new Error(
269
+ `Channel "${channelName}" field "${path}" webhook secret must be non-empty.`
270
+ );
271
+ }
272
+ return { secret, targets };
273
+ }
274
+ __name(parseWebhookSource, "parseWebhookSource");
275
+ function resolveWebhookSecretEnv(channelName, path, secretEnv) {
276
+ const envName = secretEnv.startsWith("$") ? secretEnv.substring(1) : secretEnv;
277
+ if (!ENV_VAR_NAME_PATTERN.test(envName)) {
278
+ throw new Error(
279
+ `Channel "${channelName}" field "${path}.secretEnv" must be an environment variable name or $-prefixed reference.`
280
+ );
281
+ }
282
+ const envValue = process.env[envName];
283
+ if (envValue === void 0) {
284
+ throw new Error(
285
+ `Channel "${channelName}" field "${path}.secretEnv" references an unset environment variable.`
286
+ );
287
+ }
288
+ if (envValue === "") {
289
+ throw new Error(
290
+ `Channel "${channelName}" field "${path}.secretEnv" references an empty environment variable.`
291
+ );
292
+ }
293
+ return envValue;
294
+ }
295
+ __name(resolveWebhookSecretEnv, "resolveWebhookSecretEnv");
296
+ function parseWebhookConfig(channelName, rawConfig) {
297
+ const raw = rawConfig["webhooks"];
298
+ if (raw === void 0 || raw === null) {
299
+ return void 0;
300
+ }
301
+ const record = requireObjectField(channelName, "webhooks", raw);
302
+ const rawSources = requireObjectField(
303
+ channelName,
304
+ "webhooks.sources",
305
+ record["sources"]
306
+ );
307
+ const sources = {};
308
+ for (const [source, sourceConfig] of Object.entries(rawSources)) {
309
+ sources[source] = parseWebhookSource(
310
+ channelName,
311
+ `webhooks.sources.${source}`,
312
+ sourceConfig
313
+ );
314
+ }
315
+ return { sources };
316
+ }
317
+ __name(parseWebhookConfig, "parseWebhookConfig");
318
+ function parseApprovalModeConfig(channelName, rawConfig) {
319
+ const approvalMode = rawConfig["approvalMode"];
320
+ if (approvalMode === void 0 || approvalMode === null) {
321
+ return void 0;
322
+ }
323
+ if (typeof approvalMode !== "string" || !CHANNEL_APPROVAL_MODES.has(approvalMode)) {
324
+ throw new Error(
325
+ `Channel "${channelName}" field "approvalMode" must be one of: ${[
326
+ ...CHANNEL_APPROVAL_MODES
327
+ ].join(", ")}.`
328
+ );
329
+ }
330
+ return approvalMode;
331
+ }
332
+ __name(parseApprovalModeConfig, "parseApprovalModeConfig");
333
+ function parseChannelWebhookConfig(channelName, rawConfig) {
334
+ return parseWebhookConfig(channelName, rawConfig);
335
+ }
336
+ __name(parseChannelWebhookConfig, "parseChannelWebhookConfig");
337
+ function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError) {
338
+ const raw = rawConfig["webhooks"];
339
+ if (raw === void 0 || raw === null) {
340
+ return void 0;
341
+ }
342
+ const record = requireObjectField(channelName, "webhooks", raw);
343
+ const rawSources = requireObjectField(
344
+ channelName,
345
+ "webhooks.sources",
346
+ record["sources"]
347
+ );
348
+ const sources = {};
349
+ for (const [source, sourceConfig] of Object.entries(rawSources)) {
350
+ try {
351
+ sources[source] = parseWebhookSource(
352
+ channelName,
353
+ `webhooks.sources.${source}`,
354
+ sourceConfig
355
+ );
356
+ } catch (error) {
357
+ onSourceError?.(source, error);
358
+ }
359
+ }
360
+ return { sources };
361
+ }
362
+ __name(parseChannelWebhookConfigLenient, "parseChannelWebhookConfigLenient");
363
+ async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), options = {}) {
364
+ if (!rawConfig["type"]) {
365
+ throw new Error(`Channel "${name}" is missing required field "type".`);
366
+ }
367
+ const channelType = rawConfig["type"];
368
+ const plugin = await getPlugin(channelType);
369
+ if (!plugin) {
370
+ const types = await supportedTypes();
371
+ throw new Error(
372
+ `Channel type "${channelType}" is not supported. Available: ${types.join(", ")}`
373
+ );
374
+ }
375
+ const resolvedRawConfig = { ...rawConfig };
376
+ const envResolution = options.resolveEnvVars ?? true;
377
+ const resolvedPluginFields = /* @__PURE__ */ new Set();
378
+ for (const field of plugin.requiredConfigFields ?? []) {
379
+ const value = rawConfig[field];
380
+ if (value === void 0 || value === null || value === "") {
381
+ throw new Error(
382
+ `Channel "${name}" (${channelType}) requires "${field}".`
383
+ );
384
+ }
385
+ if (typeof value === "string" && !KNOWN_CREDENTIAL_FIELDS.has(field)) {
386
+ resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
387
+ resolvedPluginFields.add(field);
388
+ }
389
+ }
390
+ for (const field of plugin.envResolvableConfigFields ?? []) {
391
+ if (resolvedPluginFields.has(field)) continue;
392
+ const value = rawConfig[field];
393
+ if (typeof value === "string" && value !== "") {
394
+ resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
395
+ }
396
+ }
397
+ const token = resolveOptionalStringField(name, rawConfig, "token", envResolution) ?? "";
398
+ const clientId = resolveOptionalStringField(
399
+ name,
400
+ rawConfig,
401
+ "clientId",
402
+ envResolution
403
+ );
404
+ const clientSecret = resolveOptionalStringField(
405
+ name,
406
+ rawConfig,
407
+ "clientSecret",
408
+ envResolution
409
+ );
410
+ return {
411
+ ...resolvedRawConfig,
412
+ type: channelType,
413
+ token,
414
+ clientId,
415
+ clientSecret,
416
+ senderPolicy: rawConfig["senderPolicy"] || "allowlist",
417
+ allowedUsers: rawConfig["allowedUsers"] || [],
418
+ sessionScope: rawConfig["sessionScope"] || "user",
419
+ cwd: resolvePath(rawConfig["cwd"] || defaultCwd),
420
+ approvalMode: parseApprovalModeConfig(name, rawConfig),
421
+ instructions: rawConfig["instructions"],
422
+ identity: parseObjectStringFields(name, rawConfig, "identity", [
423
+ "id",
424
+ "displayName",
425
+ "description"
426
+ ]),
427
+ memoryScope: parseMemoryScopeConfig(name, rawConfig),
428
+ model: rawConfig["model"],
429
+ groupPolicy: rawConfig["groupPolicy"] || "disabled",
430
+ dmPolicy: rawConfig["dmPolicy"] || "open",
431
+ groups: rawConfig["groups"] || {},
432
+ webhooks: parseWebhookConfig(name, rawConfig)
433
+ };
434
+ }
435
+ __name(parseChannelConfig, "parseChannelConfig");
436
+
437
+ export {
438
+ registerPlugin,
439
+ getPlugin,
440
+ resolveEnvVars,
441
+ parseChannelWebhookConfig,
442
+ parseChannelWebhookConfigLenient,
443
+ parseChannelConfig
444
+ };
@@ -9,10 +9,10 @@ import {
9
9
  require_subprotocol,
10
10
  require_websocket,
11
11
  require_websocket_server
12
- } from "./chunk-5IFG2VC4.js";
12
+ } from "./chunk-FCMNKVXT.js";
13
13
  import {
14
14
  init_esbuild_shims
15
- } from "./chunk-A4BMJM77.js";
15
+ } from "./chunk-5O2XNYP6.js";
16
16
  import {
17
17
  __toESM
18
18
  } from "./chunk-J2S4EL5Y.js";
@@ -0,0 +1,38 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ t
5
+ } from "./chunk-YAUFFXDS.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/cli/src/ui/utils/history-gap-notice.ts
14
+ init_esbuild_shims();
15
+ function formatHistoryGapNotice(_gap) {
16
+ return t(
17
+ "\u26A0\uFE0F History gap: earlier conversation was lost before this point (storage interruption) and could not be recovered."
18
+ );
19
+ }
20
+ __name(formatHistoryGapNotice, "formatHistoryGapNotice");
21
+ function indexGapsByChild(gaps) {
22
+ const byChild = /* @__PURE__ */ new Map();
23
+ for (const gap of gaps ?? []) {
24
+ byChild.set(gap.childUuid, gap);
25
+ }
26
+ return byChild;
27
+ }
28
+ __name(indexGapsByChild, "indexGapsByChild");
29
+
30
+ export {
31
+ formatHistoryGapNotice,
32
+ indexGapsByChild
33
+ };
34
+ /**
35
+ * @license
36
+ * Copyright 2025 Qwen Code
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  external_exports,
5
5
  external_exports2
6
- } from "./chunk-K5PGHDBN.js";
6
+ } from "./chunk-H6XPXXMH.js";
7
7
  import {
8
8
  init_esbuild_shims
9
- } from "./chunk-A4BMJM77.js";
9
+ } from "./chunk-5O2XNYP6.js";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-J2S4EL5Y.js";
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTlsVerificationDisabled
5
- } from "./chunk-H6EMK6QK.js";
5
+ } from "./chunk-4ZVWQHEQ.js";
6
6
  import {
7
7
  getErrorMessage,
8
8
  isNodeError
9
- } from "./chunk-22MNNNXE.js";
9
+ } from "./chunk-J4TSQ5EQ.js";
10
10
  import {
11
11
  init_esbuild_shims
12
- } from "./chunk-A4BMJM77.js";
12
+ } from "./chunk-5O2XNYP6.js";
13
13
  import {
14
14
  __name
15
15
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __name
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -2,23 +2,23 @@
2
2
  "use strict";
3
3
  import {
4
4
  writeStderrLine
5
- } from "./chunk-Y6Z2O3WR.js";
5
+ } from "./chunk-YUZI3WAC.js";
6
6
  import {
7
7
  JsonFormatter,
8
8
  parseAndFormatApiError
9
- } from "./chunk-3GNOQZDC.js";
9
+ } from "./chunk-NVYTCB5Z.js";
10
10
  import {
11
11
  FatalBudgetExceededError,
12
12
  FatalCancellationError,
13
13
  FatalTurnLimitedError,
14
14
  createDebugLogger
15
- } from "./chunk-22MNNNXE.js";
15
+ } from "./chunk-J4TSQ5EQ.js";
16
16
  import {
17
17
  runExitCleanup
18
- } from "./chunk-JCH35JB3.js";
18
+ } from "./chunk-ECNYL4AA.js";
19
19
  import {
20
20
  init_esbuild_shims
21
- } from "./chunk-A4BMJM77.js";
21
+ } from "./chunk-5O2XNYP6.js";
22
22
  import {
23
23
  __name
24
24
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  init_esbuild_shims
5
- } from "./chunk-A4BMJM77.js";
5
+ } from "./chunk-5O2XNYP6.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-J2S4EL5Y.js";
@@ -18,7 +18,7 @@ async function getPackageJson() {
18
18
  if (packageJson) {
19
19
  return packageJson;
20
20
  }
21
- const { readPackageUp } = await import("./read-package-up-ER5OJUGP.js");
21
+ const { readPackageUp } = await import("./read-package-up-TCM6I7S2.js");
22
22
  const result = await readPackageUp({ cwd: __dirname });
23
23
  if (!result) {
24
24
  return;
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-JCH35JB3.js";
5
+ } from "./chunk-ECNYL4AA.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  SkillError
5
- } from "./chunk-3GNOQZDC.js";
5
+ } from "./chunk-NVYTCB5Z.js";
6
6
  import {
7
7
  init_esbuild_shims
8
- } from "./chunk-A4BMJM77.js";
8
+ } from "./chunk-5O2XNYP6.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-J2S4EL5Y.js";
@@ -64,6 +64,7 @@ var SERVE_STATUS_EXT_METHODS = {
64
64
  sessionTasks: "qwen/status/session/tasks",
65
65
  sessionStats: "qwen/status/session/stats",
66
66
  sessionLspStatus: "qwen/status/session/lsp",
67
+ sessionTranscript: "qwen/status/session/transcript",
67
68
  sessionRewindSnapshots: "qwen/status/session/rewind_snapshots",
68
69
  workspaceHooks: "qwen/status/workspace/hooks",
69
70
  sessionHooks: "qwen/status/session/hooks",
@@ -84,6 +85,8 @@ var SERVE_CONTROL_EXT_METHODS = {
84
85
  sessionRewind: "qwen/control/session/rewind",
85
86
  sessionContinue: "qwen/control/session/continue",
86
87
  sessionTitle: "qwen/control/session/title",
88
+ sessionParent: "qwen/control/session/parent",
89
+ sessionArtifactsPersist: "qwen/control/session/artifacts/persist",
87
90
  workspaceMcpRestart: "qwen/control/workspace/mcp/restart",
88
91
  workspaceMcpManage: "qwen/control/workspace/mcp/manage",
89
92
  workspaceAgentGenerate: "qwen/control/workspace/agents/generate",
@@ -109,7 +112,16 @@ var SERVE_CONTROL_EXT_METHODS = {
109
112
  * result: `{ payload }`.
110
113
  */
111
114
  clientMcpMessage: "qwen/control/client_mcp/message",
112
- sessionCd: "qwen/control/session/cd"
115
+ sessionCd: "qwen/control/session/cd",
116
+ /**
117
+ * Also called by the CHILD UP into the parent (like `clientMcpMessage`): the
118
+ * `create_sub_session` tool, running inside a child's agent turn, asks the
119
+ * daemon to spawn a fresh top-level sub-session and run a prompt in it. Params:
120
+ * `{ prompt, completion:'sent'|'first-turn', model?, name?, callerSessionId? }`;
121
+ * result: `{ sessionId, result?, stopReason? }` (result present only for the
122
+ * `first-turn` mode, which waits for the sub-session's first turn to finish).
123
+ */
124
+ createSubSession: "qwen/control/create-sub-session"
113
125
  };
114
126
  var IDLE_HOOK_EVENTS = {
115
127
  PreToolUse: { description: "Before tool execution", matcherKind: "toolName" },