@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,207 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ BaseDeclarativeTool,
5
+ BaseToolInvocation,
6
+ ToolDisplayNames,
7
+ ToolNames
8
+ } from "./chunk-B5ORX3FG.js";
9
+ import "./chunk-J4TSQ5EQ.js";
10
+ import "./chunk-TB6UDU4T.js";
11
+ import {
12
+ init_esbuild_shims
13
+ } from "./chunk-5O2XNYP6.js";
14
+ import {
15
+ __name
16
+ } from "./chunk-J2S4EL5Y.js";
17
+
18
+ // packages/core/src/tools/create-sub-session.ts
19
+ init_esbuild_shims();
20
+ var DAEMON_ONLY_MESSAGE = "create_sub_session is only available when running under `qwen serve` (daemon mode). There is no session bridge in this environment, so a sub-session cannot be spawned.";
21
+ var MAX_SUB_SESSION_PROMPT_CHARS = 1e5;
22
+ var CANCELLED = Symbol("create_sub_session:cancelled");
23
+ async function raceCancellation(start, signal) {
24
+ if (signal.aborted) return CANCELLED;
25
+ const spawn = start();
26
+ void spawn.catch(() => {
27
+ });
28
+ return new Promise((resolve, reject) => {
29
+ const onAbort = /* @__PURE__ */ __name(() => resolve(CANCELLED), "onAbort");
30
+ signal.addEventListener("abort", onAbort, { once: true });
31
+ spawn.then(
32
+ (value) => {
33
+ signal.removeEventListener("abort", onAbort);
34
+ resolve(value);
35
+ },
36
+ (err) => {
37
+ signal.removeEventListener("abort", onAbort);
38
+ reject(err);
39
+ }
40
+ );
41
+ });
42
+ }
43
+ __name(raceCancellation, "raceCancellation");
44
+ var CreateSubSessionInvocation = class extends BaseToolInvocation {
45
+ constructor(config, params) {
46
+ super(params);
47
+ this.config = config;
48
+ }
49
+ static {
50
+ __name(this, "CreateSubSessionInvocation");
51
+ }
52
+ getDescription() {
53
+ const mode = this.params.completion ?? "first-turn";
54
+ const raw = this.params.name ?? this.params.prompt;
55
+ const cleaned = raw.replace(/[\r\n\t\x00-\x1f]/g, " ").trim();
56
+ const label = cleaned.length > 80 ? cleaned.slice(0, 77) + "\u2026" : cleaned;
57
+ return `[${mode}] ${label}`;
58
+ }
59
+ /**
60
+ * `create_sub_session` runs a model-authored prompt with full tool access in
61
+ * a fresh session — the same privileged-sink shape as `cron_create`,
62
+ * `send_message` and `task_create`, which all return `'ask'`. The L3 default
63
+ * must NOT be `'allow'`: AUTO mode short-circuits before the L5 classifier
64
+ * when `finalPermission === 'allow'`, and DEFAULT mode skips confirmation,
65
+ * so the delegated prompt would never be reviewed. `'ask'` lets AUTO route
66
+ * the call through the classifier, which resolves it without a human.
67
+ */
68
+ async getDefaultPermission() {
69
+ return "ask";
70
+ }
71
+ async execute(signal) {
72
+ const spawner = this.config.getSubSessionSpawner();
73
+ if (!spawner) {
74
+ return {
75
+ llmContent: DAEMON_ONLY_MESSAGE,
76
+ returnDisplay: "Unavailable (daemon-only)",
77
+ error: { message: DAEMON_ONLY_MESSAGE }
78
+ };
79
+ }
80
+ const completion = this.params.completion ?? "first-turn";
81
+ const prompt = this.params.prompt.trim();
82
+ let spawnStarted = false;
83
+ try {
84
+ const res = await raceCancellation(() => {
85
+ spawnStarted = true;
86
+ return spawner({
87
+ prompt,
88
+ completion,
89
+ ...this.params.model ? { model: this.params.model } : {},
90
+ ...this.params.name ? { name: this.params.name } : {}
91
+ });
92
+ }, signal);
93
+ if (res === CANCELLED) {
94
+ const message = spawnStarted ? "create_sub_session was cancelled. A sub-session may already have been created; it runs independently and is not cancelled." : "create_sub_session was cancelled before it started. No sub-session was created.";
95
+ return { llmContent: message, returnDisplay: "Cancelled" };
96
+ }
97
+ const sessionLink = `[\u{1F9F5} ${res.sessionId.slice(0, 8)}](qwen-session://${res.sessionId})`;
98
+ const parentWarning = res.parentSessionPersisted === false ? " Note: the parent-session link could not be persisted and is live-only \u2014 it will not survive a daemon restart." : "";
99
+ if (completion === "sent") {
100
+ return {
101
+ llmContent: `Sub-session ${sessionLink} created and the prompt was dispatched. It runs independently \u2014 this call did not wait for a result.${parentWarning}`,
102
+ returnDisplay: `${sessionLink} started`
103
+ };
104
+ }
105
+ const stop = res.stopReason ? ` (stopReason: ${res.stopReason})` : "";
106
+ const body = res.result && res.result.length > 0 ? res.result : `Sub-session ${sessionLink} completed its first turn but produced no text output.`;
107
+ return {
108
+ llmContent: `Sub-session ${sessionLink} first-turn result${stop}:
109
+
110
+ ${body}${parentWarning}`,
111
+ returnDisplay: `${sessionLink} completed${stop}`
112
+ };
113
+ } catch (error) {
114
+ const message = error instanceof Error ? error.message : String(error);
115
+ return {
116
+ llmContent: `Error creating sub-session: ${message}`,
117
+ returnDisplay: message,
118
+ error: { message }
119
+ };
120
+ }
121
+ }
122
+ };
123
+ var CreateSubSessionTool = class _CreateSubSessionTool extends BaseDeclarativeTool {
124
+ constructor(config) {
125
+ super(
126
+ _CreateSubSessionTool.Name,
127
+ ToolDisplayNames.CREATE_SUB_SESSION,
128
+ "Spawn a fresh, independent sub-session (its own clean context and transcript) and run a prompt in it. Use to fan work out into a separate session \u2014 e.g. a self-contained sub-task you want isolated from this conversation.\n\nONLY available when running under `qwen serve` (daemon mode); it is inert in a plain interactive session.\n\n## Completion modes\n- `first-turn` (default): waits for the sub-session's first turn to finish and returns its result to you. Use when you need the answer back.\n- `sent`: returns immediately after dispatching the prompt, without waiting. Use for fire-and-forget launches whose output you do not need inline.\n\nThe sub-session runs the prompt with full tool access, starting from zero context \u2014 brief it completely in `prompt` (it cannot see this conversation).",
129
+ "other" /* Other */,
130
+ {
131
+ type: "object",
132
+ properties: {
133
+ prompt: {
134
+ type: "string",
135
+ description: "The full, self-contained prompt to run in the new sub-session. It starts with no context from this conversation, so include everything it needs."
136
+ },
137
+ completion: {
138
+ type: "string",
139
+ enum: ["sent", "first-turn"],
140
+ description: "'first-turn' (default) waits for the sub-session's first turn and returns its result. 'sent' returns immediately after the prompt is dispatched (fire-and-forget)."
141
+ },
142
+ model: {
143
+ type: "string",
144
+ description: "Optional model service id for the sub-session. Omit to use the default model."
145
+ },
146
+ name: {
147
+ type: "string",
148
+ description: "Optional display name for the sub-session in the session list."
149
+ }
150
+ },
151
+ required: ["prompt"],
152
+ additionalProperties: false
153
+ },
154
+ true,
155
+ // isOutputMarkdown
156
+ false,
157
+ // canUpdateOutput
158
+ true,
159
+ // shouldDefer — spawning is infrequent
160
+ false,
161
+ // alwaysLoad
162
+ "sub-session spawn delegate fan-out isolated session"
163
+ );
164
+ this.config = config;
165
+ }
166
+ static {
167
+ __name(this, "CreateSubSessionTool");
168
+ }
169
+ static Name = ToolNames.CREATE_SUB_SESSION;
170
+ createInvocation(params) {
171
+ return new CreateSubSessionInvocation(this.config, params);
172
+ }
173
+ validateToolParamValues(params) {
174
+ if (!params.prompt || params.prompt.trim() === "") {
175
+ return 'Parameter "prompt" must be a non-empty string.';
176
+ }
177
+ if (params.prompt.length > MAX_SUB_SESSION_PROMPT_CHARS) {
178
+ return `Parameter "prompt" exceeds the ${MAX_SUB_SESSION_PROMPT_CHARS}-character limit.`;
179
+ }
180
+ if (params.completion !== void 0 && params.completion !== "sent" && params.completion !== "first-turn") {
181
+ return 'Parameter "completion" must be "sent" or "first-turn".';
182
+ }
183
+ return null;
184
+ }
185
+ /**
186
+ * Surface the delegated prompt + mode to the AUTO classifier. The sub-session
187
+ * executes this prompt with tool access, so it must face the same scrutiny as
188
+ * a direct command — without this the classifier sees `create_sub_session({})`
189
+ * and is blind to what the sub-session will be asked to do.
190
+ */
191
+ toAutoClassifierInput(params) {
192
+ return {
193
+ prompt: params.prompt,
194
+ completion: params.completion ?? "first-turn",
195
+ ...params.model ? { model: params.model } : {}
196
+ };
197
+ }
198
+ };
199
+ export {
200
+ CreateSubSessionTool,
201
+ MAX_SUB_SESSION_PROMPT_CHARS
202
+ };
203
+ /**
204
+ * @license
205
+ * Copyright 2025 Qwen Team
206
+ * SPDX-License-Identifier: Apache-2.0
207
+ */
@@ -0,0 +1,375 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ writeStderrLine
5
+ } from "./chunk-YUZI3WAC.js";
6
+ import {
7
+ stripTerminalControlSequences
8
+ } from "./chunk-NVYTCB5Z.js";
9
+ import "./chunk-CU3L64TP.js";
10
+ import "./chunk-ZJE7NSL3.js";
11
+ import "./chunk-H6XPXXMH.js";
12
+ import "./chunk-MC23XKFE.js";
13
+ import "./chunk-LUODI7WD.js";
14
+ import "./chunk-ORBGV7NJ.js";
15
+ import "./chunk-KKNMOEZH.js";
16
+ import "./chunk-W2UIXQDL.js";
17
+ import "./chunk-XU457J4V.js";
18
+ import "./chunk-VDDGDZMA.js";
19
+ import "./chunk-CEA3E3JB.js";
20
+ import "./chunk-SZRN75WQ.js";
21
+ import "./chunk-HTO4JFDZ.js";
22
+ import "./chunk-CPBF7KYF.js";
23
+ import "./chunk-4GORAUCN.js";
24
+ import "./chunk-6AM5D4ME.js";
25
+ import "./chunk-7R3CZA3Q.js";
26
+ import "./chunk-GWHYEOV2.js";
27
+ import "./chunk-4QLQE5WJ.js";
28
+ import "./chunk-5XUCZNSY.js";
29
+ import "./chunk-3VAGG5T5.js";
30
+ import "./chunk-4WKAA4KS.js";
31
+ import "./chunk-CR3C7WXL.js";
32
+ import "./chunk-CARU2RR2.js";
33
+ import "./chunk-VGC4I5JJ.js";
34
+ import "./chunk-YLV3XXFB.js";
35
+ import "./chunk-TDEXZKMT.js";
36
+ import "./chunk-J3JA76CF.js";
37
+ import "./chunk-B5ORX3FG.js";
38
+ import "./chunk-BZIFY5TF.js";
39
+ import "./chunk-UOZWKTQG.js";
40
+ import "./chunk-JESCGQM3.js";
41
+ import "./chunk-ZLXQN2QS.js";
42
+ import "./chunk-XVNQMZ2I.js";
43
+ import "./chunk-524RQP4Q.js";
44
+ import "./chunk-JSG7ZSBC.js";
45
+ import "./chunk-A4UCTEB5.js";
46
+ import "./chunk-XWRJCPHC.js";
47
+ import "./chunk-4LD5APFL.js";
48
+ import "./chunk-TYAMGABM.js";
49
+ import "./chunk-FCMNKVXT.js";
50
+ import "./chunk-DJ2GSRLV.js";
51
+ import "./chunk-4ZVWQHEQ.js";
52
+ import {
53
+ createDebugLogger
54
+ } from "./chunk-J4TSQ5EQ.js";
55
+ import "./chunk-75DOP5OR.js";
56
+ import "./chunk-DMTGGOSA.js";
57
+ import "./chunk-YQ3U5MUC.js";
58
+ import "./chunk-TB6UDU4T.js";
59
+ import {
60
+ init_esbuild_shims
61
+ } from "./chunk-5O2XNYP6.js";
62
+ import {
63
+ __name
64
+ } from "./chunk-J2S4EL5Y.js";
65
+
66
+ // packages/cli/src/serve/create-sub-session.ts
67
+ init_esbuild_shims();
68
+ import { randomUUID } from "node:crypto";
69
+ var log = createDebugLogger("SUB_SESSION");
70
+ var MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER = 5;
71
+ var MAX_CONCURRENT_SUB_SESSIONS_TOTAL = 20;
72
+ var FIRST_TURN_TIMEOUT_MS = 5 * 6e4;
73
+ var SENT_MODE_DRAIN_TIMEOUT_MS = 30 * 6e4;
74
+ var MAX_RESULT_CHARS = 32e3;
75
+ var MAX_NAME_LENGTH = 60;
76
+ var MAX_TRACKED_SPAWNED_SESSIONS = 1024;
77
+ var BIDI_CONTROL_MARKS = new RegExp(
78
+ "[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]",
79
+ "g"
80
+ );
81
+ function subSessionName(label) {
82
+ const cleaned = stripTerminalControlSequences(label).replace(BIDI_CONTROL_MARKS, "").trim().replace(/\s+/g, " ");
83
+ let short = cleaned;
84
+ if (cleaned.length > MAX_NAME_LENGTH) {
85
+ let cut = MAX_NAME_LENGTH - 1;
86
+ const boundary = cleaned.charCodeAt(cut - 1);
87
+ if (boundary >= 55296 && boundary <= 56319) cut -= 1;
88
+ short = `${cleaned.slice(0, cut)}\u2026`;
89
+ }
90
+ return `\u{1F9F5} ${short}`;
91
+ }
92
+ __name(subSessionName, "subSessionName");
93
+ async function awaitFirstTurn(bridge, sessionId, promptId, lastEventId, timeoutMs, stopSignal) {
94
+ const ac = new AbortController();
95
+ let timedOut = false;
96
+ const timer = setTimeout(() => {
97
+ timedOut = true;
98
+ ac.abort();
99
+ }, timeoutMs);
100
+ if (typeof timer.unref === "function") timer.unref();
101
+ const composed = stopSignal ? AbortSignal.any([ac.signal, stopSignal]) : ac.signal;
102
+ let acc = "";
103
+ let truncated = false;
104
+ let stopReason;
105
+ const appendChunk = /* @__PURE__ */ __name((text) => {
106
+ if (truncated) return;
107
+ if (acc.length + text.length > MAX_RESULT_CHARS) {
108
+ let cut = Math.max(0, MAX_RESULT_CHARS - acc.length);
109
+ if (cut > 0) {
110
+ const code = text.charCodeAt(cut - 1);
111
+ if (code >= 55296 && code <= 56319) cut -= 1;
112
+ }
113
+ acc += text.slice(0, cut);
114
+ truncated = true;
115
+ } else {
116
+ acc += text;
117
+ }
118
+ }, "appendChunk");
119
+ try {
120
+ for await (const e of bridge.subscribeEvents(sessionId, {
121
+ lastEventId,
122
+ signal: composed
123
+ })) {
124
+ if (e.type === "session_update") {
125
+ const d = e.data;
126
+ if (d?.update?.sessionUpdate === "agent_message_chunk" && typeof d.update.content?.text === "string") {
127
+ appendChunk(d.update.content.text);
128
+ }
129
+ } else if (e.type === "turn_complete") {
130
+ const d = e.data;
131
+ if (d?.promptId === promptId) {
132
+ stopReason = d.stopReason ?? "end_turn";
133
+ break;
134
+ }
135
+ } else if (e.type === "turn_error") {
136
+ const d = e.data;
137
+ if (d?.promptId === promptId) {
138
+ stopReason = "error";
139
+ if (d.message && !truncated) {
140
+ const suffix = `${acc ? "\n" : ""}[turn error] ${d.message}`;
141
+ if (acc.length + suffix.length <= MAX_RESULT_CHARS) {
142
+ acc += suffix;
143
+ } else {
144
+ truncated = true;
145
+ }
146
+ }
147
+ break;
148
+ }
149
+ }
150
+ }
151
+ } finally {
152
+ clearTimeout(timer);
153
+ ac.abort();
154
+ }
155
+ if (stopReason === void 0) {
156
+ stopReason = stopSignal?.aborted ? "shutdown" : timedOut ? "timeout" : "incomplete";
157
+ }
158
+ if (truncated) acc += "\n[\u2026output truncated]";
159
+ return { result: acc, stopReason };
160
+ }
161
+ __name(awaitFirstTurn, "awaitFirstTurn");
162
+ function createSubSessionLauncher(opts) {
163
+ const { getBridge, boundWorkspace } = opts;
164
+ const firstTurnTimeoutMs = opts.firstTurnTimeoutMs ?? FIRST_TURN_TIMEOUT_MS;
165
+ const sentModeDrainTimeoutMs = opts.sentModeDrainTimeoutMs ?? SENT_MODE_DRAIN_TIMEOUT_MS;
166
+ const inflight = /* @__PURE__ */ new Map();
167
+ const spawnedSessionIds = /* @__PURE__ */ new Set();
168
+ const stopAc = new AbortController();
169
+ let inflightTotal = 0;
170
+ const release = /* @__PURE__ */ __name((key) => {
171
+ const n = (inflight.get(key) ?? 1) - 1;
172
+ if (n <= 0) inflight.delete(key);
173
+ else inflight.set(key, n);
174
+ inflightTotal = Math.max(0, inflightTotal - 1);
175
+ }, "release");
176
+ const rememberSpawned = /* @__PURE__ */ __name((sessionId) => {
177
+ spawnedSessionIds.add(sessionId);
178
+ while (spawnedSessionIds.size > MAX_TRACKED_SPAWNED_SESSIONS) {
179
+ const oldest = spawnedSessionIds.values().next().value;
180
+ if (oldest === void 0) break;
181
+ spawnedSessionIds.delete(oldest);
182
+ }
183
+ }, "rememberSpawned");
184
+ const launch = /* @__PURE__ */ __name(async (info) => {
185
+ if (stopAc.signal.aborted) {
186
+ throw new Error(
187
+ "The daemon is shutting down; cannot create a sub-session."
188
+ );
189
+ }
190
+ const bridge = getBridge();
191
+ if (!bridge) {
192
+ throw new Error("Session bridge is not available.");
193
+ }
194
+ if (spawnedSessionIds.has(info.callerSessionId)) {
195
+ throw new Error(
196
+ "A sub-session cannot create further sub-sessions (nesting is capped at one level)."
197
+ );
198
+ }
199
+ const key = info.callerSessionId;
200
+ const current = inflight.get(key) ?? 0;
201
+ if (current >= MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER) {
202
+ throw new Error(
203
+ `Too many concurrent sub-sessions for this session (cap ${MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER}); wait for one to finish.`
204
+ );
205
+ }
206
+ if (inflightTotal >= MAX_CONCURRENT_SUB_SESSIONS_TOTAL) {
207
+ throw new Error(
208
+ `Too many concurrent sub-sessions in this workspace (cap ${MAX_CONCURRENT_SUB_SESSIONS_TOTAL}); wait for one to finish.`
209
+ );
210
+ }
211
+ inflight.set(key, current + 1);
212
+ inflightTotal += 1;
213
+ let released = false;
214
+ const releaseOnce = /* @__PURE__ */ __name(() => {
215
+ if (released) return;
216
+ released = true;
217
+ release(key);
218
+ }, "releaseOnce");
219
+ let spawnedSessionId;
220
+ try {
221
+ const sub = await bridge.spawnOrAttach({
222
+ workspaceCwd: boundWorkspace,
223
+ sessionScope: "thread",
224
+ // force a fresh top-level session, never attach
225
+ // Record the caller as the sub-session's parent so the UI can link it
226
+ // back. Persisted into the sub-session's transcript at spawn time.
227
+ parentSessionId: info.callerSessionId,
228
+ ...info.model ? { modelServiceId: info.model } : {}
229
+ });
230
+ spawnedSessionId = sub.sessionId;
231
+ const sessionId = sub.sessionId;
232
+ rememberSpawned(sessionId);
233
+ try {
234
+ bridge.updateSessionMetadata(sessionId, {
235
+ displayName: subSessionName(info.name ?? info.prompt)
236
+ });
237
+ } catch (err) {
238
+ log.debug("sub-session: updateSessionMetadata failed", sessionId, err);
239
+ }
240
+ const lastEventId = bridge.getSessionLastEventId(sessionId);
241
+ const promptId = randomUUID();
242
+ const turn = bridge.sendPrompt(
243
+ sessionId,
244
+ {
245
+ sessionId,
246
+ prompt: [{ type: "text", text: info.prompt }]
247
+ },
248
+ void 0,
249
+ { promptId }
250
+ );
251
+ void turn.catch((err) => {
252
+ log.debug("sub-session: sendPrompt rejected", sessionId, String(err));
253
+ });
254
+ if (info.completion === "sent") {
255
+ const drainAc = new AbortController();
256
+ let drainTimedOut = false;
257
+ const drainTimer = setTimeout(() => {
258
+ drainTimedOut = true;
259
+ drainAc.abort();
260
+ }, sentModeDrainTimeoutMs);
261
+ if (typeof drainTimer.unref === "function") drainTimer.unref();
262
+ const drainSignal = AbortSignal.any([stopAc.signal, drainAc.signal]);
263
+ void (async () => {
264
+ try {
265
+ const turnSettled = turn.then(
266
+ () => "ok",
267
+ () => "rejected"
268
+ );
269
+ const drainDone = (async () => {
270
+ for await (const e of bridge.subscribeEvents(sessionId, {
271
+ lastEventId,
272
+ signal: drainSignal
273
+ })) {
274
+ if (e.type === "turn_complete" || e.type === "turn_error") {
275
+ const d = e.data;
276
+ if (d?.promptId === promptId) break;
277
+ }
278
+ }
279
+ return "drained";
280
+ })();
281
+ await Promise.race([turnSettled, drainDone]);
282
+ } catch (err) {
283
+ if (!(err instanceof Error && err.name === "AbortError") && !(stopAc.signal.aborted || drainAc.signal.aborted)) {
284
+ log.debug(
285
+ "sub-session: sent-mode drain error",
286
+ sessionId,
287
+ String(err)
288
+ );
289
+ }
290
+ } finally {
291
+ clearTimeout(drainTimer);
292
+ if (drainTimedOut) {
293
+ writeStderrLine(
294
+ `qwen serve: sub-session ${sessionId} drain timed out after ${Math.round(sentModeDrainTimeoutMs / 6e4)}min; releasing its concurrency slot (the sub-session may still be running)`
295
+ );
296
+ }
297
+ drainAc.abort();
298
+ releaseOnce();
299
+ }
300
+ })();
301
+ return {
302
+ sessionId,
303
+ ...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
304
+ };
305
+ }
306
+ try {
307
+ const turnError = turn.then(
308
+ () => new Promise(() => {
309
+ }),
310
+ // never resolves on success
311
+ (err) => Promise.reject(
312
+ new Error(
313
+ `sub-session dispatch failed: ${err instanceof Error ? err.message : String(err)}`
314
+ )
315
+ )
316
+ );
317
+ const firstTurn = awaitFirstTurn(
318
+ bridge,
319
+ sessionId,
320
+ promptId,
321
+ lastEventId,
322
+ firstTurnTimeoutMs,
323
+ stopAc.signal
324
+ );
325
+ const { result, stopReason } = await Promise.race([
326
+ firstTurn,
327
+ turnError
328
+ ]);
329
+ return {
330
+ sessionId,
331
+ result,
332
+ stopReason,
333
+ ...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
334
+ };
335
+ } finally {
336
+ releaseOnce();
337
+ }
338
+ } catch (err) {
339
+ releaseOnce();
340
+ if (spawnedSessionId !== void 0) {
341
+ try {
342
+ void bridge.closeSession(spawnedSessionId).catch(() => {
343
+ });
344
+ } catch (closeErr) {
345
+ log.debug(
346
+ "sub-session: closeSession threw",
347
+ spawnedSessionId,
348
+ closeErr
349
+ );
350
+ }
351
+ }
352
+ writeStderrLine(
353
+ `qwen serve: create_sub_session failed: ${err instanceof Error ? err.message : String(err)}`
354
+ );
355
+ throw err instanceof Error ? err : new Error(String(err));
356
+ }
357
+ }, "launch");
358
+ return {
359
+ launch,
360
+ stop: /* @__PURE__ */ __name(() => {
361
+ stopAc.abort();
362
+ }, "stop")
363
+ };
364
+ }
365
+ __name(createSubSessionLauncher, "createSubSessionLauncher");
366
+ export {
367
+ MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER,
368
+ MAX_CONCURRENT_SUB_SESSIONS_TOTAL,
369
+ createSubSessionLauncher
370
+ };
371
+ /**
372
+ * @license
373
+ * Copyright 2025 Qwen Team
374
+ * SPDX-License-Identifier: Apache-2.0
375
+ */
@@ -3,26 +3,26 @@
3
3
  import {
4
4
  nextFireTime,
5
5
  parseCron
6
- } from "./chunk-2MPVVENX.js";
6
+ } from "./chunk-XU457J4V.js";
7
7
  import {
8
8
  humanReadableCron
9
- } from "./chunk-ZTQ26VBE.js";
9
+ } from "./chunk-VDDGDZMA.js";
10
10
  import {
11
11
  CRON_TASKS_DISPLAY_PATH
12
- } from "./chunk-FV7425LN.js";
13
- import "./chunk-OMX7CUOE.js";
12
+ } from "./chunk-CEA3E3JB.js";
13
+ import "./chunk-VGC4I5JJ.js";
14
14
  import {
15
15
  BaseDeclarativeTool,
16
16
  BaseToolInvocation,
17
17
  ToolDisplayNames,
18
18
  ToolNames
19
- } from "./chunk-X3YGAX7V.js";
20
- import "./chunk-7LTB54MK.js";
21
- import "./chunk-22MNNNXE.js";
22
- import "./chunk-Z2Z3GUXZ.js";
19
+ } from "./chunk-B5ORX3FG.js";
20
+ import "./chunk-ZLXQN2QS.js";
21
+ import "./chunk-J4TSQ5EQ.js";
22
+ import "./chunk-TB6UDU4T.js";
23
23
  import {
24
24
  init_esbuild_shims
25
- } from "./chunk-A4BMJM77.js";
25
+ } from "./chunk-5O2XNYP6.js";
26
26
  import {
27
27
  __name
28
28
  } from "./chunk-J2S4EL5Y.js";
@@ -3,22 +3,22 @@
3
3
  import {
4
4
  CRON_TASKS_DISPLAY_PATH,
5
5
  removeCronTasks
6
- } from "./chunk-FV7425LN.js";
7
- import "./chunk-OMX7CUOE.js";
6
+ } from "./chunk-CEA3E3JB.js";
7
+ import "./chunk-VGC4I5JJ.js";
8
8
  import {
9
9
  BaseDeclarativeTool,
10
10
  BaseToolInvocation,
11
11
  ToolDisplayNames,
12
12
  ToolNames
13
- } from "./chunk-X3YGAX7V.js";
14
- import "./chunk-7LTB54MK.js";
13
+ } from "./chunk-B5ORX3FG.js";
14
+ import "./chunk-ZLXQN2QS.js";
15
15
  import {
16
16
  getErrorMessage
17
- } from "./chunk-22MNNNXE.js";
18
- import "./chunk-Z2Z3GUXZ.js";
17
+ } from "./chunk-J4TSQ5EQ.js";
18
+ import "./chunk-TB6UDU4T.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,24 +2,25 @@
2
2
  "use strict";
3
3
  import {
4
4
  humanReadableCron
5
- } from "./chunk-ZTQ26VBE.js";
5
+ } from "./chunk-VDDGDZMA.js";
6
6
  import {
7
7
  CRON_TASKS_DISPLAY_PATH,
8
- readCronTasks
9
- } from "./chunk-FV7425LN.js";
10
- import "./chunk-OMX7CUOE.js";
8
+ readCronTasks,
9
+ taskHasLegacyCondition
10
+ } from "./chunk-CEA3E3JB.js";
11
+ import "./chunk-VGC4I5JJ.js";
11
12
  import {
12
13
  BaseDeclarativeTool,
13
14
  BaseToolInvocation,
14
15
  ToolDisplayNames,
15
16
  ToolNames
16
- } from "./chunk-X3YGAX7V.js";
17
- import "./chunk-7LTB54MK.js";
18
- import "./chunk-22MNNNXE.js";
19
- import "./chunk-Z2Z3GUXZ.js";
17
+ } from "./chunk-B5ORX3FG.js";
18
+ import "./chunk-ZLXQN2QS.js";
19
+ import "./chunk-J4TSQ5EQ.js";
20
+ import "./chunk-TB6UDU4T.js";
20
21
  import {
21
22
  init_esbuild_shims
22
- } from "./chunk-A4BMJM77.js";
23
+ } from "./chunk-5O2XNYP6.js";
23
24
  import {
24
25
  __name
25
26
  } from "./chunk-J2S4EL5Y.js";
@@ -69,7 +70,10 @@ var CronListInvocation = class extends BaseToolInvocation {
69
70
  recurring: task.recurring,
70
71
  durable: true,
71
72
  ...task.name ? { name: task.name } : {},
72
- enabled: task.enabled !== false
73
+ // A legacy guarded task (removed isolated mode + precondition) can never
74
+ // fire — the scheduler skips it — so report it disabled here too rather
75
+ // than as an enabled task that silently never runs.
76
+ enabled: task.enabled !== false && !taskHasLegacyCondition(task)
73
77
  })),
74
78
  ...scheduler.list().filter((job) => !job.durable).map((job) => ({
75
79
  id: job.id,