@qwen-code/qwen-code 0.22.2 → 0.22.3-nightly.20260831.3a0c4c6108

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 (480) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/common-workflow.md +32 -0
  3. package/bundled/qc-helper/docs/configuration/auth.md +6 -6
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +4 -2
  5. package/bundled/qc-helper/docs/configuration/settings.md +47 -44
  6. package/bundled/qc-helper/docs/extension/introduction.md +1 -1
  7. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  8. package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
  9. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  10. package/bundled/qc-helper/docs/features/channels/overview.md +36 -3
  11. package/bundled/qc-helper/docs/features/code-review.md +5 -5
  12. package/bundled/qc-helper/docs/features/commands.md +41 -0
  13. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  14. package/bundled/qc-helper/docs/features/hooks.md +6 -2
  15. package/bundled/qc-helper/docs/features/memory.md +1 -0
  16. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  17. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
  18. package/bundled/qc-helper/docs/qwen-serve.md +59 -55
  19. package/bundled/review/SKILL.md +90 -31
  20. package/bundled/review/references/persistence.md +7 -3
  21. package/bundled/review/references/posting.md +11 -5
  22. package/chunks/MaxSizedBox-IHRTWGSY.js +115 -0
  23. package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-TLVWVTJ7.js} +88 -85
  24. package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
  25. package/chunks/{acpAgent-MXEAN54C.js → acpAgent-7I5LLPP3.js} +1563 -407
  26. package/chunks/agent-4Z4NTJXD.js +99 -0
  27. package/chunks/agent-headless-TVUJXQWU.js +89 -0
  28. package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-VSSPG7XV.js} +84 -55
  29. package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-TEYW6I4A.js} +11 -3
  30. package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-PYNBWV63.js} +45 -7
  31. package/chunks/bridge-EVURP4NO.js +122 -0
  32. package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
  33. package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-IDBNYSFW.js} +6 -6
  34. package/chunks/channel-settings-store-MZNXRKVI.js +125 -0
  35. package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-ZLP5SJHT.js} +7 -7
  36. package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-FG5377T2.js} +7 -7
  37. package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-HDVE4ADS.js} +4 -4
  38. package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
  39. package/chunks/chunk-24FVUD5P.js +49 -0
  40. package/chunks/{chunk-CMHFCLBU.js → chunk-26SIKQIC.js} +1 -1
  41. package/chunks/{chunk-5PA6UEYA.js → chunk-3452WXOK.js} +4 -1
  42. package/chunks/{chunk-SFPGAQUL.js → chunk-373DQUVA.js} +72 -31
  43. package/chunks/{chunk-H2WDGQ6D.js → chunk-3AKCBZVW.js} +3 -3
  44. package/chunks/{chunk-LXIBMVRN.js → chunk-3CZGSTZX.js} +15 -9
  45. package/chunks/{chunk-JVPFTDBK.js → chunk-3EGEBDTW.js} +1 -1
  46. package/chunks/{chunk-K2NQPH5D.js → chunk-3NQCZMUB.js} +79 -5
  47. package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
  48. package/chunks/{chunk-WKK5BQNP.js → chunk-4P7PPAHN.js} +45 -421
  49. package/chunks/chunk-4VQBQLIZ.js +293 -0
  50. package/chunks/{chunk-4JWNNLPT.js → chunk-5FGWVPCM.js} +4 -4
  51. package/chunks/{chunk-ZFKOCECU.js → chunk-5ICKESC3.js} +2 -2
  52. package/chunks/{chunk-3I6UTTDX.js → chunk-67AY5D3M.js} +20 -20
  53. package/chunks/chunk-6HUXPLB5.js +110 -0
  54. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  55. package/chunks/{chunk-6LFTG244.js → chunk-6NWPR2EB.js} +19 -9
  56. package/chunks/chunk-6OO7QEWV.js +2581 -0
  57. package/chunks/{chunk-TWSKM647.js → chunk-6VHIWUJP.js} +1 -1
  58. package/chunks/{chunk-RJC5EIKY.js → chunk-6YXNJXQW.js} +7 -5
  59. package/chunks/{chunk-TPI7O7HR.js → chunk-7DDTI7Q3.js} +1 -1
  60. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  61. package/chunks/chunk-7J6OTNGO.js +424 -0
  62. package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
  63. package/chunks/{chunk-3FDFA4MZ.js → chunk-7XICSE62.js} +3 -3
  64. package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
  65. package/chunks/{chunk-F7TNAPZ4.js → chunk-AAX236AR.js} +45 -11
  66. package/chunks/{chunk-T32W2JHI.js → chunk-ACZ4YRYK.js} +6 -6
  67. package/chunks/chunk-ADJD4LZF.js +210 -0
  68. package/chunks/{chunk-JWALNCLT.js → chunk-AF3QB6OL.js} +1 -1
  69. package/chunks/{chunk-P2SU6ZTI.js → chunk-AI35S34R.js} +3 -3
  70. package/chunks/{chunk-OIP7C4FE.js → chunk-AKNQMSL2.js} +5 -5
  71. package/chunks/{chunk-6CGL7E7G.js → chunk-AN3KFCNH.js} +2 -2
  72. package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
  73. package/chunks/chunk-AYYKUUKP.js +972 -0
  74. package/chunks/chunk-B2RIIK3K.js +346 -0
  75. package/chunks/{chunk-F5SZP77N.js → chunk-BBYTY46C.js} +153 -112
  76. package/chunks/{chunk-XRSOI3DL.js → chunk-BE5FGT5Z.js} +1 -1
  77. package/chunks/{chunk-BGXZBI5B.js → chunk-BHTYRHJF.js} +3 -2
  78. package/chunks/{chunk-CSMI4FP5.js → chunk-BSJOBW4U.js} +1 -1
  79. package/chunks/{chunk-Z7TGYN5F.js → chunk-BXNKREX7.js} +3 -3
  80. package/chunks/{chunk-4MQEPP3Y.js → chunk-BY24DZ4J.js} +5 -119
  81. package/chunks/{chunk-5XBFCMWD.js → chunk-CAZADEU7.js} +17 -9
  82. package/chunks/chunk-CHEIIBT3.js +40 -0
  83. package/chunks/{chunk-BBWV7ONL.js → chunk-CM4F4JBB.js} +6 -6
  84. package/chunks/{chunk-CAJTKR6W.js → chunk-D7D3HSYQ.js} +6 -5
  85. package/chunks/{chunk-3DXFGHAJ.js → chunk-DBTMP3P4.js} +213 -185
  86. package/chunks/chunk-DJBQCO2E.js +842 -0
  87. package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
  88. package/chunks/{chunk-3AFMQUTI.js → chunk-E4JNFXNI.js} +3 -3
  89. package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
  90. package/chunks/{chunk-OIVXBW3W.js → chunk-ED7DD7MV.js} +3 -3
  91. package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
  92. package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
  93. package/chunks/{chunk-CQH5KTKC.js → chunk-ERHAMGAA.js} +1 -1
  94. package/chunks/{chunk-IOPCFOTF.js → chunk-ERRJA23L.js} +3 -3
  95. package/chunks/{chunk-LDP5OD6N.js → chunk-EU2B4P3D.js} +12 -12
  96. package/chunks/{chunk-W5MJJ2V7.js → chunk-FHPYRXRH.js} +1 -1
  97. package/chunks/{chunk-IZIVM7LZ.js → chunk-FIWZOMBF.js} +3 -3
  98. package/chunks/{chunk-4HV6HH33.js → chunk-FPMQT2YY.js} +9 -9
  99. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  100. package/chunks/{chunk-L2M46FP5.js → chunk-FXUSWLBF.js} +225 -12
  101. package/chunks/{chunk-VVW4ZNFY.js → chunk-GB4UKWY5.js} +16 -8
  102. package/chunks/{chunk-PKAYJDB3.js → chunk-GCUR24KK.js} +22 -4
  103. package/chunks/{chunk-DIMEPKCW.js → chunk-GDXSXL3H.js} +11 -1
  104. package/chunks/{chunk-7JPW6IYH.js → chunk-GN422P4J.js} +1 -1
  105. package/chunks/{chunk-66KDY3LV.js → chunk-GS7XT345.js} +3 -3
  106. package/chunks/{chunk-PFCQ62V4.js → chunk-H2A2GJGL.js} +6 -6
  107. package/chunks/{chunk-Z7FLBQPR.js → chunk-H5GPPDGY.js} +8 -8
  108. package/chunks/{chunk-CPGJJJLU.js → chunk-HDMKCJHI.js} +1 -1
  109. package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
  110. package/chunks/{chunk-Z4X5MTRT.js → chunk-HWVUSYSN.js} +5 -12
  111. package/chunks/{chunk-V4QXXQJ2.js → chunk-I75VKFCJ.js} +4 -4
  112. package/chunks/{chunk-NU7RKEZR.js → chunk-IBMUI5EV.js} +3 -3
  113. package/chunks/{chunk-4J657AJR.js → chunk-ID33ZRWH.js} +42 -42
  114. package/chunks/{chunk-R4PMVSR5.js → chunk-IIFL7QDN.js} +30 -192
  115. package/chunks/{chunk-MQM5PJML.js → chunk-IVUWTA2D.js} +1 -1
  116. package/chunks/{chunk-E55H6BZ7.js → chunk-IXEZHTDR.js} +1616 -151
  117. package/chunks/{chunk-XF63PKEN.js → chunk-IXHV5MIC.js} +1 -1
  118. package/chunks/{chunk-JHS74YAB.js → chunk-J4Y3QJHF.js} +3 -1
  119. package/chunks/{chunk-MIIVI25Q.js → chunk-JDIO45X7.js} +3 -3
  120. package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
  121. package/chunks/{chunk-FDY5RMGH.js → chunk-JLSZT354.js} +2 -2
  122. package/chunks/chunk-JMRE4WJQ.js +1849 -0
  123. package/chunks/{chunk-FY76G3G5.js → chunk-JOTYTYYW.js} +6 -6
  124. package/chunks/{chunk-TRZTNIQ6.js → chunk-JOWQD4LO.js} +3 -3
  125. package/chunks/{chunk-KEKZFOL6.js → chunk-JPKTAQS3.js} +1 -1
  126. package/chunks/chunk-JS73NNWF.js +30 -0
  127. package/chunks/chunk-JX6XHPTX.js +26 -0
  128. package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
  129. package/chunks/{chunk-3JGZSIDA.js → chunk-KFN2IZYR.js} +3 -3
  130. package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
  131. package/chunks/{chunk-AGR5UROZ.js → chunk-KUDI54QQ.js} +23 -33
  132. package/chunks/{chunk-3SGB2UHX.js → chunk-L2OKAIUK.js} +28 -16
  133. package/chunks/{chunk-BXDAPVQU.js → chunk-L6CUJZDG.js} +28 -4
  134. package/chunks/chunk-LAUEEBDL.js +277 -0
  135. package/chunks/{chunk-BNMF3K5X.js → chunk-LFAR7CPW.js} +55 -39
  136. package/chunks/{chunk-Y3QL45LS.js → chunk-LKODFJRD.js} +9 -9
  137. package/chunks/{chunk-BWORX6FA.js → chunk-LMMHS3RS.js} +1 -1
  138. package/chunks/{chunk-UTLCH2FK.js → chunk-LYSZVCCD.js} +10 -7
  139. package/chunks/{chunk-F6FV3C5K.js → chunk-MBZ5ORJB.js} +264 -283
  140. package/chunks/{chunk-L6YT5H34.js → chunk-MJBHSZEJ.js} +5 -5
  141. package/chunks/{chunk-B7CDU2SL.js → chunk-MOF6VZN2.js} +18 -21
  142. package/chunks/{chunk-6LFJEACX.js → chunk-MZ5A5PQW.js} +7 -7
  143. package/chunks/chunk-MZYWNU66.js +149 -0
  144. package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
  145. package/chunks/{chunk-5O72BNDD.js → chunk-ND7TQQPE.js} +9 -9
  146. package/chunks/{chunk-QP4C6WCE.js → chunk-NGKLMNWN.js} +3 -3
  147. package/chunks/{chunk-JSC3H3TD.js → chunk-NT5XIL5H.js} +46 -18
  148. package/chunks/{chunk-KUX5D6DK.js → chunk-NT7LXVV5.js} +11010 -11138
  149. package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
  150. package/chunks/{chunk-FBSSIAAQ.js → chunk-OE5AQVNB.js} +8 -8
  151. package/chunks/chunk-OHU2H5CS.js +130 -0
  152. package/chunks/{chunk-2K6ORIHJ.js → chunk-OKMDOATP.js} +13 -13
  153. package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
  154. package/chunks/{chunk-XDLEZ5HX.js → chunk-OQYXJK2V.js} +1 -1
  155. package/chunks/{chunk-EFUM7RVY.js → chunk-OSTQZIOY.js} +944 -18
  156. package/chunks/{chunk-VQUGEVGR.js → chunk-OTTNXUT5.js} +1 -1
  157. package/chunks/{chunk-T3WXYEZ4.js → chunk-PB7JBAHF.js} +53 -54
  158. package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
  159. package/chunks/{chunk-43GGFFLY.js → chunk-PDXYZBBQ.js} +3 -3
  160. package/chunks/{chunk-4CMJKUND.js → chunk-PNIGAVY6.js} +67 -2
  161. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  162. package/chunks/{chunk-4CDSK5AZ.js → chunk-PWR2NQBS.js} +6 -6
  163. package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
  164. package/chunks/{chunk-IJKTMLBE.js → chunk-QE7DTCLX.js} +1 -1
  165. package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
  166. package/chunks/{chunk-C6K43ZDE.js → chunk-QTMPM6RC.js} +16 -10
  167. package/chunks/{chunk-P5GGM4KS.js → chunk-RAEEQEC5.js} +5 -5
  168. package/chunks/{chunk-XDFHY4R3.js → chunk-RGEV5AUD.js} +242 -14
  169. package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
  170. package/chunks/{chunk-RIEFGNTP.js → chunk-RLSPPTWH.js} +5119 -683
  171. package/chunks/{chunk-PDMJ3KGS.js → chunk-RT4QNQ5P.js} +3 -3
  172. package/chunks/{chunk-SJ3ZUWFK.js → chunk-RVCGAHC7.js} +4 -26
  173. package/chunks/{chunk-77RG5SFQ.js → chunk-RY7DL5IF.js} +11 -6
  174. package/chunks/{chunk-4FTKQNWJ.js → chunk-S2T7H5MI.js} +182 -3
  175. package/chunks/{chunk-EOGELB3H.js → chunk-SDCHI64N.js} +4 -4
  176. package/chunks/{chunk-EKSCLBBF.js → chunk-SMJYTKTB.js} +23 -5
  177. package/chunks/{chunk-MZS7GEC7.js → chunk-SMRDCANI.js} +1 -1
  178. package/chunks/{chunk-43UYNAWX.js → chunk-T3TL6S3B.js} +4 -4
  179. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  180. package/chunks/{chunk-IK5BW3CS.js → chunk-T4RMUTTT.js} +16 -5
  181. package/chunks/{chunk-L6BZRIUL.js → chunk-TBJ3SNS3.js} +183 -5
  182. package/chunks/{chunk-CCBZDVUA.js → chunk-TNMOFNT4.js} +133 -122
  183. package/chunks/{chunk-Y6LSMB6J.js → chunk-TV7BJ7TX.js} +1 -1
  184. package/chunks/{chunk-G34IR3D6.js → chunk-U5RTYI7D.js} +102 -146
  185. package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
  186. package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
  187. package/chunks/{chunk-A7YP63XN.js → chunk-UKB2TZAO.js} +5 -5
  188. package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
  189. package/chunks/{chunk-2NYCN6F2.js → chunk-UVYKCRJZ.js} +46 -29
  190. package/chunks/{chunk-HVEYF6VT.js → chunk-UXEW7TQS.js} +2 -2
  191. package/chunks/{chunk-HVQ3B7FF.js → chunk-V4HN35IF.js} +44 -7
  192. package/chunks/chunk-VGHZT6JR.js +51 -0
  193. package/chunks/{chunk-V5J4J5TP.js → chunk-VYSZUQGU.js} +2 -20
  194. package/chunks/{chunk-6IUNAPLR.js → chunk-W4BDHLRT.js} +3 -3
  195. package/chunks/{chunk-Q26AYA62.js → chunk-W7KWB6AH.js} +7 -4
  196. package/chunks/chunk-WLEYH7CD.js +332 -0
  197. package/chunks/{chunk-RU7BK6B3.js → chunk-X7C7KFWA.js} +2 -2
  198. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  199. package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
  200. package/chunks/{chunk-JU4EEXC7.js → chunk-XLENZQXH.js} +2 -2
  201. package/chunks/{chunk-JSHHYW6T.js → chunk-XPDKSOVW.js} +69 -64
  202. package/chunks/chunk-YDQ4OCDK.js +1222 -0
  203. package/chunks/{chunk-ZU4UDIWX.js → chunk-YKADANK6.js} +6 -7
  204. package/chunks/{chunk-JCQD3INC.js → chunk-YNG7XAJU.js} +3 -3
  205. package/chunks/{chunk-O2UN57NX.js → chunk-YOFULAHO.js} +19 -2
  206. package/chunks/{chunk-BAJKAAOY.js → chunk-YOMKOM7E.js} +4892 -1504
  207. package/chunks/{chunk-ERFDKH32.js → chunk-YPISTYEI.js} +8 -7
  208. package/chunks/{chunk-TGWAQ5RB.js → chunk-ZBDYI7VM.js} +6900 -6882
  209. package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
  210. package/chunks/chunk-ZHO2CW6D.js +205 -0
  211. package/chunks/{chunk-DZWPESIF.js → chunk-ZQ3FKEWA.js} +3 -3
  212. package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
  213. package/chunks/{chunk-7UYV53BC.js → chunk-ZYPJ7HVZ.js} +1 -1
  214. package/chunks/config-utils-NNUPVGEC.js +118 -0
  215. package/chunks/contextCommand-S3TPCDM5.js +111 -0
  216. package/chunks/{core-runtime-677KFX6Q.js → core-runtime-NASPCSQX.js} +66 -63
  217. package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-36TNCHCP.js} +3 -3
  218. package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-DS4BJLYZ.js} +97 -68
  219. package/chunks/{cron-create-KJ4IY6PP.js → cron-create-QXHTYUTO.js} +4 -4
  220. package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-WV2BM42M.js} +4 -4
  221. package/chunks/{cron-list-DWH2PQ47.js → cron-list-7KVNBLZ7.js} +4 -4
  222. package/chunks/{daemon-MJQUO7RA.js → daemon-UCVUHPJD.js} +723 -90
  223. package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-ATXVQPS3.js} +63 -60
  224. package/chunks/daemon-status-provider-UI3GBTMO.js +121 -0
  225. package/chunks/daemon-trust-policy-SUCBJ2CA.js +117 -0
  226. package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-3LM5RQNS.js} +71 -68
  227. package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
  228. package/chunks/deferred-core-runtime-SCOJLVYG.js +119 -0
  229. package/chunks/{display-image-BE7I6ZB6.js → display-image-Z4VBQDEJ.js} +5 -5
  230. package/chunks/{dist-TJUDJTCB.js → dist-5423MG3D.js} +411 -91
  231. package/chunks/{dist-ILDBUWDB.js → dist-7WDZYMWV.js} +43 -25
  232. package/chunks/{dist-ZBVOXSKF.js → dist-FLJLHASF.js} +219 -121
  233. package/chunks/{dist-QODVOVWI.js → dist-GPSRNVVP.js} +43 -35
  234. package/chunks/{dist-DJBNNPLN.js → dist-LY66XNUL.js} +10 -3
  235. package/chunks/{dist-7CKN54NL.js → dist-S3BKCTWF.js} +205 -89
  236. package/chunks/{dist-UQUFZDIY.js → dist-SDKHGH5O.js} +41 -20
  237. package/chunks/{dist-4Q7NTUNB.js → dist-WAUO5OMN.js} +46 -22
  238. package/chunks/{dist-SATKXKUR.js → dist-WIVVPE7M.js} +28 -14
  239. package/chunks/earlyInputCapture-INWJ2STR.js +112 -0
  240. package/chunks/{edit-BSV6YRVW.js → edit-B7ZRRGAE.js} +51 -49
  241. package/chunks/{en-YLXBXM4Z.js → en-E4AYTX6H.js} +3 -0
  242. package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-SPZHEETQ.js} +7 -7
  243. package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-S554IKJ2.js} +55 -53
  244. package/chunks/environment-25ADH4Y6.js +134 -0
  245. package/chunks/errors-G2I6LFTW.js +118 -0
  246. package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-AWUXAMAM.js} +7 -7
  247. package/chunks/exitPlanMode-ZFH4OYPM.js +87 -0
  248. package/chunks/{fast-path-773PV7PU.js → fast-path-WZHVZ2ER.js} +8 -7
  249. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-NILM6QZL.js} +3 -3
  250. package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
  251. package/chunks/{glob-CZHOWUEA.js → glob-UOVDMBUP.js} +50 -48
  252. package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-7TNK5ZHC.js} +5 -4
  253. package/chunks/{grep-5GPICQBU.js → grep-LHYJ5V2N.js} +9 -7
  254. package/chunks/handleAutoUpdate-4MZ45DZY.js +114 -0
  255. package/chunks/i18n-KWUEI4DS.js +129 -0
  256. package/chunks/{image-gen-HAYOEQ4O.js → image-gen-YZDVO5YS.js} +8 -10
  257. package/chunks/initializer-2NBROGMG.js +118 -0
  258. package/chunks/installationInfo-YKUSY3ZB.js +112 -0
  259. package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
  260. package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
  261. package/chunks/list-W2WV3COM.js +121 -0
  262. package/chunks/list-agents-PMVMHNY7.js +128 -0
  263. package/chunks/{gemini-IP4FJAP5.js → llm-NPPHLIJI.js} +162 -133
  264. package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-YK3WN6XW.js} +29 -29
  265. package/chunks/loadedSettingsAdapter-2P7DFWUR.js +115 -0
  266. package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-QYYYGU6V.js} +318 -35
  267. package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-EBM4F5MZ.js} +5 -5
  268. package/chunks/{ls-3VAT2J7A.js → ls-F6TRX3DD.js} +4 -4
  269. package/chunks/{lsp-5W7IRUBH.js → lsp-QYTOS2FI.js} +2 -2
  270. package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-UMC4NBWW.js} +64 -61
  271. package/chunks/mcp-OFI6XDP2.js +115 -0
  272. package/chunks/{monitor-FI7PY36Z.js → monitor-QX3BM3JY.js} +50 -48
  273. package/chunks/nonInteractiveCli-NVRMD5MN.js +193 -0
  274. package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-AAILDPSV.js} +51 -49
  275. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-D6JD6LDS.js} +4 -4
  276. package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-53PB3CMN.js} +27 -29
  277. package/chunks/pidfile-5ACKG2LI.js +116 -0
  278. package/chunks/process-registry-OAEG6WGC.js +662 -0
  279. package/chunks/{processUtils-IQZBYWSB.js → processUtils-2BCDO3DZ.js} +2 -2
  280. package/chunks/prompt-terminal-ledger-3RKW73A2.js +110 -0
  281. package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
  282. package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-N4LLWDPH.js} +56 -54
  283. package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-7AOCKSOQ.js} +7 -9
  284. package/chunks/{read-file-QE2B5FTX.js → read-file-DPAKXHYE.js} +13 -13
  285. package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-R4NO75DW.js} +2 -2
  286. package/chunks/{record-artifact-RZGZBENU.js → record-artifact-2EAYLAL5.js} +4 -4
  287. package/chunks/{report-findings-Q3SYKKW5.js → report-findings-Y4MSHDS3.js} +9 -5
  288. package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-DWRMGTMB.js} +8 -7
  289. package/chunks/resumeHistoryUtils-3JQORXAK.js +123 -0
  290. package/chunks/ripGrep-AHF5QCI7.js +39 -0
  291. package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
  292. package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-3LKV7KDC.js} +728 -256
  293. package/chunks/runtime-66F4W3IA.js +153 -0
  294. package/chunks/scheduled-tasks-2NVKS5Q2.js +132 -0
  295. package/chunks/scheduler-JNV7T3ZO.js +127 -0
  296. package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-MFIWD23D.js} +2 -2
  297. package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-2RXJ4Q6X.js} +11 -5
  298. package/chunks/send-message-WPZRCJOB.js +442 -0
  299. package/chunks/serve-GP2UNRP7.js +123 -0
  300. package/chunks/{server-DFUSSSHI.js → server-7W6C3SOW.js} +5233 -3623
  301. package/chunks/{session-3TEHNENZ.js → session-PZLBAQGG.js} +125 -118
  302. package/chunks/session-pr-refresh-OIVL3U3Z.js +367 -0
  303. package/chunks/{settings-VOZYKLTT.js → settings-ZOHIQWYK.js} +70 -67
  304. package/chunks/shell-FWZT6IUR.js +97 -0
  305. package/chunks/{skill-FEOKFX26.js → skill-RTQC2YGA.js} +121 -65
  306. package/chunks/skill-settings-AKMIXFSJ.js +123 -0
  307. package/chunks/spawnChannel-ZP23JL6O.js +116 -0
  308. package/chunks/standalone-update-P2Q5H4ZU.js +123 -0
  309. package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-NSA6QPQZ.js} +2018 -1526
  310. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  311. package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-5URSQLIS.js} +3 -3
  312. package/chunks/{task-create-TMSV7RD5.js → task-create-3EXVDG3G.js} +12 -12
  313. package/chunks/{task-list-W55RBFRX.js → task-list-PIBYNSE7.js} +5 -6
  314. package/chunks/{task-stop-CXEH5L2D.js → task-stop-IV3BYWJC.js} +2 -2
  315. package/chunks/{task-update-N536I4GQ.js → task-update-H5BPDS5Y.js} +13 -14
  316. package/chunks/{team-create-QYSWCYCL.js → team-create-53T42W37.js} +56 -55
  317. package/chunks/{team-delete-FJRFX33M.js → team-delete-X3WPELS6.js} +25 -8
  318. package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-D45ZC5OE.js} +50 -48
  319. package/chunks/terminal-image-renderer-FCRUWT6C.js +121 -0
  320. package/chunks/theme-manager-MHNPEDP7.js +107 -0
  321. package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-A5IOZZ3P.js} +4 -4
  322. package/chunks/{tool-search-F2EMIAPV.js → tool-search-6RPBGGUX.js} +27 -23
  323. package/chunks/total-session-admission-MGV56XDK.js +117 -0
  324. package/chunks/trustedFolders-QJYEFMTU.js +127 -0
  325. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  326. package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-ZDMQX63C.js} +6 -6
  327. package/chunks/updateCheck-4QZWCGP6.js +123 -0
  328. package/chunks/useAutoAcceptIndicator-DLIQN256.js +125 -0
  329. package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-HGTG7AEK.js} +114 -107
  330. package/chunks/{version-ANP4TS6O.js → version-CPAZMC4B.js} +1 -1
  331. package/chunks/{web-fetch-QJADSAH3.js → web-fetch-N4K5M3M4.js} +16 -18
  332. package/chunks/{web-search-7TTQKEKM.js → web-search-4VZKM5SF.js} +9 -11
  333. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-PW7OEDQO.js} +3 -2
  334. package/chunks/{workflow-5XN6XSOT.js → workflow-2ALQKTHG.js} +229 -146
  335. package/chunks/workspace-providers-status-5JM4CB6R.js +119 -0
  336. package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-RNMFVCH7.js} +2 -1
  337. package/chunks/workspace-registry-6EULAPZC.js +126 -0
  338. package/chunks/workspace-runtime-coordinator-IRI2DRCJ.js +127 -0
  339. package/chunks/workspace-service-SETHN4WE.js +131 -0
  340. package/chunks/workspace-skills-status-4D4EUEQU.js +118 -0
  341. package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-4LR3CDL4.js} +77 -76
  342. package/chunks/write-file-45GWPSOI.js +92 -0
  343. package/chunks/{zh-UNY63FR3.js → zh-2BQ7P6OD.js} +3 -0
  344. package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-UFXRZTXX.js} +3 -0
  345. package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-K6IQUKRC.js} +13 -13
  346. package/cli.js +129 -92
  347. package/locales/ca.js +6 -0
  348. package/locales/de.js +6 -0
  349. package/locales/en.js +6 -0
  350. package/locales/fr.js +6 -0
  351. package/locales/ja.js +6 -0
  352. package/locales/pt.js +6 -0
  353. package/locales/ru.js +6 -0
  354. package/locales/zh-TW.js +6 -0
  355. package/locales/zh.js +6 -0
  356. package/package.json +3 -3
  357. package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-C80OZcPP.js} +1 -1
  358. package/web-shell/assets/{arc-BSTnk5pu.js → arc-AUqStYgf.js} +1 -1
  359. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-CQYOdYla.js} +1 -1
  360. package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-lYKlFysy.js} +1 -1
  361. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-BoS23iIp.js} +1 -1
  362. package/web-shell/assets/channel-B0ovOJeK.js +1 -0
  363. package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-DLLooL1E.js} +1 -1
  364. package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-kPfJxScY.js} +1 -1
  365. package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-CVGFBqkD.js} +1 -1
  366. package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-CnM_kOVV.js} +1 -1
  367. package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Cj-ajOkT.js} +1 -1
  368. package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-8L5c-wFo.js} +1 -1
  369. package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-DsXTxpvL.js} +1 -1
  370. package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-DU5GE1_z.js} +1 -1
  371. package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-D2IIWZKt.js} +1 -1
  372. package/web-shell/assets/classDiagram-DTDB5LWJ-DMll2-6_.js +1 -0
  373. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DMll2-6_.js +1 -0
  374. package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-CF_txUJr.js} +1 -1
  375. package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-DEZ-My-Z.js} +1 -1
  376. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-BV7EKUS6.js} +1 -1
  377. package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-JGIX0G4H.js} +1 -1
  378. package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-DdUY7q6A.js} +1 -1
  379. package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-fhzRZ19v.js} +1 -1
  380. package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-BOgOex6q.js} +1 -1
  381. package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-C0NknIz6.js} +1 -1
  382. package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-C__3mUBX.js} +1 -1
  383. package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-BvPhqycH.js} +1 -1
  384. package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-BqzoNoL9.js} +1 -1
  385. package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CJKOre47.js} +1 -1
  386. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-C5xZjrp0.js} +1 -1
  387. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-C0EjwuPK.js} +1 -1
  388. package/web-shell/assets/index-B_IPzA0h.js +2020 -0
  389. package/web-shell/assets/{index-CBGz4Qjl.js → index-C5M93syE.js} +1 -1
  390. package/web-shell/assets/index-D1OKGQlM.css +36 -0
  391. package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-BUwzsYOs.js} +1 -1
  392. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-EDJ_DH3V.js} +1 -1
  393. package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BnfcOsS0.js} +1 -1
  394. package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-D_ofTVGu.js} +1 -1
  395. package/web-shell/assets/{layout-CEz_1L8z.js → layout-CBuQFdfZ.js} +1 -1
  396. package/web-shell/assets/{linear-CBjTq9Hc.js → linear-DRIHtmGv.js} +1 -1
  397. package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-CmR5wZH6.js} +6 -6
  398. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-BV374olC.js} +1 -1
  399. package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-Bpy1SplK.js} +1 -1
  400. package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-CeZx4hR2.js} +1 -1
  401. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-COYKs14h.js} +1 -1
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-5g2pOeTs.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-Yn8uPGtF.js} +1 -1
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-CTayAGq6.js} +1 -1
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-BFWDKzUU.js} +1 -1
  406. package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-CtErUbj4.js} +1 -1
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-Co3HFzOd.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C3gdRjPm.js +1 -0
  409. package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-CDZuxzOj.js} +1 -1
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C34TGCPZ.js +8 -0
  411. package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-UcNHj8At.js} +1 -1
  412. package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-JKR9pVFG.js} +1 -1
  413. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-C4SU-yIW.js} +1 -1
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-D_yoWGZ4.js} +1 -1
  415. package/web-shell/index.html +197 -3
  416. package/chunks/MaxSizedBox-X5FZSNAJ.js +0 -112
  417. package/chunks/agent-PJIPDWHB.js +0 -97
  418. package/chunks/agent-headless-B4JVD7UK.js +0 -87
  419. package/chunks/bridge-FKZTVIS3.js +0 -121
  420. package/chunks/channel-settings-store-4UFCLBBG.js +0 -117
  421. package/chunks/chunk-7DJCPZE3.js +0 -945
  422. package/chunks/chunk-CPBF7KYF.js +0 -51
  423. package/chunks/chunk-H72BQNM3.js +0 -645
  424. package/chunks/chunk-J2OSJFP3.js +0 -202
  425. package/chunks/chunk-K2OJUPOE.js +0 -78
  426. package/chunks/chunk-P3QQPMQA.js +0 -19
  427. package/chunks/chunk-RUGNCYNO.js +0 -699
  428. package/chunks/chunk-T26EAKDL.js +0 -13
  429. package/chunks/chunk-ZGXYO7DY.js +0 -3416
  430. package/chunks/chunk-ZYNTSXWK.js +0 -32
  431. package/chunks/config-utils-BBOCOGZW.js +0 -113
  432. package/chunks/contextCommand-EET67MQ2.js +0 -108
  433. package/chunks/daemon-status-provider-RFKZOK3S.js +0 -119
  434. package/chunks/daemon-trust-policy-DRZPFB4Q.js +0 -114
  435. package/chunks/deferred-core-runtime-BBVIOP24.js +0 -116
  436. package/chunks/earlyInputCapture-2JOMMNQ4.js +0 -109
  437. package/chunks/environment-MOZMPUHR.js +0 -131
  438. package/chunks/errors-DMPQVYJL.js +0 -115
  439. package/chunks/exitPlanMode-UE4FGCY4.js +0 -85
  440. package/chunks/handleAutoUpdate-SGXKTQM6.js +0 -111
  441. package/chunks/i18n-B42HKHKH.js +0 -126
  442. package/chunks/initializer-FB66WYR3.js +0 -115
  443. package/chunks/installationInfo-Y7AULNMX.js +0 -109
  444. package/chunks/list-2HWGSVRA.js +0 -118
  445. package/chunks/list-agents-DI3YFTDT.js +0 -80
  446. package/chunks/loadedSettingsAdapter-7Y7IEI6T.js +0 -112
  447. package/chunks/mcp-QGG5NMJJ.js +0 -112
  448. package/chunks/nonInteractiveCli-4LO2TL72.js +0 -186
  449. package/chunks/pidfile-JMF2CLMY.js +0 -113
  450. package/chunks/process-registry-PMJOA5CO.js +0 -172
  451. package/chunks/prompt-terminal-ledger-DCZO6S7C.js +0 -107
  452. package/chunks/resumeHistoryUtils-CZ4JRDVW.js +0 -120
  453. package/chunks/ripGrep-R6B6HWPX.js +0 -39
  454. package/chunks/runtime-TTIGSBM4.js +0 -150
  455. package/chunks/scheduled-tasks-QB4ZVUQS.js +0 -129
  456. package/chunks/scheduler-YRUG22M7.js +0 -124
  457. package/chunks/send-message-Y5I6NYAM.js +0 -295
  458. package/chunks/serve-MXXCDAQN.js +0 -120
  459. package/chunks/shell-6RTKZVMI.js +0 -95
  460. package/chunks/skill-settings-VA4XVYVL.js +0 -120
  461. package/chunks/spawnChannel-F6WVP723.js +0 -114
  462. package/chunks/standalone-update-RGILUQVK.js +0 -120
  463. package/chunks/terminal-image-renderer-SMQE46UJ.js +0 -116
  464. package/chunks/theme-manager-RFO5WWFF.js +0 -104
  465. package/chunks/total-session-admission-HTVTP4BS.js +0 -116
  466. package/chunks/trustedFolders-7OCNMUQE.js +0 -124
  467. package/chunks/updateCheck-7QBDXZRT.js +0 -120
  468. package/chunks/useAutoAcceptIndicator-UI4SNL2O.js +0 -122
  469. package/chunks/workspace-providers-status-PDFZWL5Q.js +0 -116
  470. package/chunks/workspace-registry-23R7XRB5.js +0 -125
  471. package/chunks/workspace-service-MUYO2QIC.js +0 -131
  472. package/chunks/workspace-skills-status-IKECTOOQ.js +0 -115
  473. package/chunks/write-file-GGRBB5TZ.js +0 -90
  474. package/web-shell/assets/channel-CENAhErJ.js +0 -1
  475. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
  476. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
  477. package/web-shell/assets/index-8hXIpvo4.js +0 -1865
  478. package/web-shell/assets/index-DclEv91i.css +0 -5
  479. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
  480. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
@@ -4,120 +4,124 @@ import {
4
4
  isSymlinkedRoot,
5
5
  resolveSavedWorkflowScript,
6
6
  writeWorkflowSnapshot
7
- } from "./chunk-3DXFGHAJ.js";
7
+ } from "./chunk-DBTMP3P4.js";
8
8
  import {
9
9
  AgentEventEmitter,
10
- FileDiscoveryService,
11
10
  attachJsonlTranscriptWriter,
12
11
  buildAgentTranscriptAttach,
12
+ deriveApprovalModeConfig,
13
+ deriveConfig,
14
+ deriveWorktreeConfig,
13
15
  getRuleDisplayName,
16
+ getWorkflowTaskMutationKey,
14
17
  isTerminalWorkflowStatus,
15
18
  rebuildToolRegistryOnOverride,
16
19
  resolveExternalWorktreeDir,
17
20
  resolveToolName,
18
- toModelVisibleSubagentResult
19
- } from "./chunk-TGWAQ5RB.js";
21
+ toModelVisibleSubagentResult,
22
+ tryWithWorkflowTaskMutation
23
+ } from "./chunk-ZBDYI7VM.js";
20
24
  import "./chunk-GOFAQQZA.js";
21
25
  import "./chunk-5M6IDOMF.js";
26
+ import "./chunk-6HUXPLB5.js";
22
27
  import "./chunk-TWPJO254.js";
23
28
  import "./chunk-CQ35AJ4Z.js";
24
- import "./chunk-EKSCLBBF.js";
25
- import "./chunk-P2SU6ZTI.js";
26
- import "./chunk-IZIVM7LZ.js";
27
- import "./chunk-SFPGAQUL.js";
29
+ import "./chunk-SMJYTKTB.js";
30
+ import "./chunk-AI35S34R.js";
31
+ import "./chunk-FIWZOMBF.js";
28
32
  import {
29
33
  parsePositiveIntegerEnv
30
34
  } from "./chunk-6PVPNMXU.js";
31
- import "./chunk-JB4JIVTJ.js";
35
+ import "./chunk-OKTNXDVO.js";
36
+ import "./chunk-DJBQCO2E.js";
32
37
  import "./chunk-IRH27ZC2.js";
33
38
  import "./chunk-QHWCP53L.js";
34
- import "./chunk-D5LUXLUH.js";
39
+ import "./chunk-UJ4DUYIH.js";
35
40
  import "./chunk-O6GEWCJA.js";
36
- import "./chunk-T26EAKDL.js";
41
+ import "./chunk-YDQ4OCDK.js";
37
42
  import {
38
43
  GitWorktreeService,
39
44
  generateAgentWorktreeSlug,
40
45
  writeWorktreeSessionMarker
41
- } from "./chunk-EOGELB3H.js";
42
- import "./chunk-CPBF7KYF.js";
43
- import "./chunk-EFUM7RVY.js";
44
- import "./chunk-TTX2JUE6.js";
45
- import "./chunk-43GGFFLY.js";
46
- import "./chunk-SMPR7SPO.js";
47
- import "./chunk-JWALNCLT.js";
48
- import "./chunk-NIFYWDYN.js";
49
- import "./chunk-3AFMQUTI.js";
50
- import "./chunk-WKK5BQNP.js";
46
+ } from "./chunk-SDCHI64N.js";
47
+ import "./chunk-B2RIIK3K.js";
48
+ import "./chunk-373DQUVA.js";
49
+ import "./chunk-OSTQZIOY.js";
50
+ import "./chunk-U6D2PPMN.js";
51
+ import "./chunk-PDXYZBBQ.js";
52
+ import "./chunk-QJNDUTOL.js";
53
+ import "./chunk-ZHO2CW6D.js";
54
+ import "./chunk-AF3QB6OL.js";
55
+ import "./chunk-7TBU7PU2.js";
56
+ import "./chunk-E4JNFXNI.js";
57
+ import "./chunk-4P7PPAHN.js";
58
+ import "./chunk-7J6OTNGO.js";
59
+ import "./chunk-CHEIIBT3.js";
51
60
  import {
52
61
  SUBAGENT_PLAN_LIFECYCLE_TOOLS
53
- } from "./chunk-V5J4J5TP.js";
62
+ } from "./chunk-VYSZUQGU.js";
63
+ import "./chunk-JX6XHPTX.js";
54
64
  import "./chunk-MLXTMF7H.js";
55
65
  import "./chunk-NAVJD2PQ.js";
56
- import "./chunk-3JGZSIDA.js";
57
- import "./chunk-VVW4ZNFY.js";
66
+ import "./chunk-KFN2IZYR.js";
67
+ import "./chunk-GB4UKWY5.js";
58
68
  import "./chunk-QHMLYMMS.js";
59
- import "./chunk-7DJCPZE3.js";
60
- import "./chunk-P3QQPMQA.js";
61
- import "./chunk-HVEYF6VT.js";
62
- import "./chunk-SAH4BD2J.js";
63
- import "./chunk-PDMJ3KGS.js";
69
+ import "./chunk-UXEW7TQS.js";
70
+ import "./chunk-PQEISIKS.js";
71
+ import "./chunk-RT4QNQ5P.js";
64
72
  import {
65
73
  runWithAgentContext
66
- } from "./chunk-CMHFCLBU.js";
74
+ } from "./chunk-26SIKQIC.js";
67
75
  import "./chunk-S6LOFUVP.js";
76
+ import "./chunk-CFKIH3D3.js";
68
77
  import "./chunk-2LD5U7Q3.js";
69
78
  import {
70
79
  createAbortController,
71
80
  createChildAbortController
72
81
  } from "./chunk-DJ2GSRLV.js";
73
- import "./chunk-J2OSJFP3.js";
74
- import "./chunk-K2OJUPOE.js";
75
- import "./chunk-CFKIH3D3.js";
76
- import "./chunk-4FTKQNWJ.js";
77
- import "./chunk-Y3QL45LS.js";
82
+ import "./chunk-S2T7H5MI.js";
83
+ import "./chunk-LKODFJRD.js";
78
84
  import {
79
85
  WorkflowRunEvent,
80
86
  logWorkflowRun,
81
87
  read,
82
88
  writeLine
83
- } from "./chunk-L2M46FP5.js";
84
- import "./chunk-YRLW2MSX.js";
89
+ } from "./chunk-FXUSWLBF.js";
90
+ import "./chunk-XBVNNDPK.js";
85
91
  import "./chunk-VGC4I5JJ.js";
86
92
  import {
87
93
  isWithinRoot
88
- } from "./chunk-3I6UTTDX.js";
89
- import "./chunk-6PJOTWAN.js";
90
- import "./chunk-BWORX6FA.js";
94
+ } from "./chunk-67AY5D3M.js";
95
+ import "./chunk-HT5S5TRQ.js";
96
+ import "./chunk-LMMHS3RS.js";
91
97
  import "./chunk-WZAD4ZNJ.js";
92
98
  import "./chunk-FPGTNKCP.js";
93
- import "./chunk-6DIGWMGT.js";
94
- import "./chunk-Z7FLBQPR.js";
99
+ import "./chunk-EIJT2PQ6.js";
100
+ import "./chunk-H5GPPDGY.js";
95
101
  import "./chunk-XZA32HII.js";
96
- import "./chunk-23RFD54N.js";
97
- import "./chunk-PPKZ7JOE.js";
102
+ import "./chunk-KHP66DFN.js";
103
+ import "./chunk-22UH7VTP.js";
98
104
  import "./chunk-HHJLM3WQ.js";
99
105
  import {
100
106
  stripAnsiAndControl
101
- } from "./chunk-L6BZRIUL.js";
107
+ } from "./chunk-TBJ3SNS3.js";
102
108
  import "./chunk-74TONY4F.js";
103
109
  import {
104
110
  SyntheticOutputTool
105
- } from "./chunk-XF63PKEN.js";
106
- import "./chunk-CAJTKR6W.js";
107
- import "./chunk-ZU4UDIWX.js";
111
+ } from "./chunk-IXHV5MIC.js";
112
+ import "./chunk-D7D3HSYQ.js";
113
+ import "./chunk-YKADANK6.js";
108
114
  import "./chunk-AQ37AY7B.js";
109
- import {
110
- WorkspaceContext
111
- } from "./chunk-PDQGMSZK.js";
115
+ import "./chunk-ODZF64DM.js";
112
116
  import {
113
117
  BaseDeclarativeTool,
114
118
  BaseToolInvocation,
115
119
  ToolDisplayNames,
116
120
  ToolNames
117
- } from "./chunk-UTLCH2FK.js";
121
+ } from "./chunk-LYSZVCCD.js";
118
122
  import {
119
123
  createDebugLogger
120
- } from "./chunk-UHQFIS7N.js";
124
+ } from "./chunk-EAHOJF6V.js";
121
125
  import "./chunk-75DOP5OR.js";
122
126
  import "./chunk-DMTGGOSA.js";
123
127
  import "./chunk-YQ3U5MUC.js";
@@ -546,6 +550,12 @@ function compileWorkflowScript(scriptSource) {
546
550
  return { script, meta };
547
551
  }
548
552
  __name(compileWorkflowScript, "compileWorkflowScript");
553
+ function workflowCancelledError() {
554
+ const error = new Error("Workflow run was aborted (cancelled).");
555
+ error.name = "AbortError";
556
+ return error;
557
+ }
558
+ __name(workflowCancelledError, "workflowCancelledError");
549
559
  var COMPILE_ERROR_LINE_WIDTH = 80;
550
560
  function describeWorkflowCompileError(error, authorLineCount) {
551
561
  const err = error instanceof Error ? error : new Error(String(error));
@@ -1632,16 +1642,22 @@ function createWorkflowSandbox(opts) {
1632
1642
  let watchdog;
1633
1643
  let stopWatchingState;
1634
1644
  let rearmWatchdogOnAbort;
1645
+ let settleOnAbort;
1646
+ let wallClockFired = false;
1635
1647
  process.on("unhandledRejection", adoptionEscapeHook);
1636
1648
  try {
1637
1649
  const { script, meta } = compileWorkflowScript(scriptSource);
1638
1650
  extractedMeta = meta;
1651
+ if (opts.abortOnTimeout?.signal.aborted) {
1652
+ throw workflowCancelledError();
1653
+ }
1639
1654
  const runOpts = {
1640
1655
  timeout: 3e4
1641
1656
  };
1642
1657
  const result = script.runInContext(ctx, runOpts);
1643
1658
  const timeoutPromise = new Promise((_, reject) => {
1644
1659
  watchdog = new WallClockWatchdog(maxWallClockMs, () => {
1660
+ wallClockFired = true;
1645
1661
  opts.abortOnTimeout?.abort();
1646
1662
  reject(
1647
1663
  new Error(
@@ -1664,7 +1680,15 @@ function createWorkflowSandbox(opts) {
1664
1680
  rearmWatchdogOnAbort,
1665
1681
  { once: true }
1666
1682
  );
1667
- return await Promise.race([result, timeoutPromise]);
1683
+ const abortPromise = new Promise((_, reject) => {
1684
+ const signal = opts.abortOnTimeout?.signal;
1685
+ if (!signal) return;
1686
+ settleOnAbort = /* @__PURE__ */ __name(() => {
1687
+ if (!wallClockFired) reject(workflowCancelledError());
1688
+ }, "settleOnAbort");
1689
+ signal.addEventListener("abort", settleOnAbort, { once: true });
1690
+ });
1691
+ return await Promise.race([result, timeoutPromise, abortPromise]);
1668
1692
  } finally {
1669
1693
  if (rearmWatchdogOnAbort) {
1670
1694
  opts.abortOnTimeout?.signal.removeEventListener(
@@ -1672,6 +1696,12 @@ function createWorkflowSandbox(opts) {
1672
1696
  rearmWatchdogOnAbort
1673
1697
  );
1674
1698
  }
1699
+ if (settleOnAbort) {
1700
+ opts.abortOnTimeout?.signal.removeEventListener(
1701
+ "abort",
1702
+ settleOnAbort
1703
+ );
1704
+ }
1675
1705
  stopWatchingState?.();
1676
1706
  watchdog?.stop();
1677
1707
  await flushUnconsumedRejections();
@@ -2165,7 +2195,7 @@ function resolveMaxAgentsPerRun(env = process.env) {
2165
2195
  __name(resolveMaxAgentsPerRun, "resolveMaxAgentsPerRun");
2166
2196
  var MAX_WORKFLOW_CONCURRENCY_ENV = "QWEN_CODE_MAX_WORKFLOW_CONCURRENCY";
2167
2197
  var HARD_MAX_CONCURRENCY_CEILING = 64;
2168
- function resolveConcurrencyLimit(env = process.env) {
2198
+ function resolveConcurrencyLimit(env = process.env, availableParallelism2 = os.availableParallelism) {
2169
2199
  const raw = env[MAX_WORKFLOW_CONCURRENCY_ENV];
2170
2200
  if (raw !== void 0 && raw.trim() !== "") {
2171
2201
  const parsed = parsePositiveIntegerEnv(raw, 0);
@@ -2182,7 +2212,7 @@ function resolveConcurrencyLimit(env = process.env) {
2182
2212
  `Invalid ${MAX_WORKFLOW_CONCURRENCY_ENV}=${JSON.stringify(raw)}, using cpu-derived default`
2183
2213
  );
2184
2214
  }
2185
- return Math.max(1, Math.min(16, os.cpus().length - 2));
2215
+ return Math.max(2, Math.min(16, availableParallelism2() - 2));
2186
2216
  }
2187
2217
  __name(resolveConcurrencyLimit, "resolveConcurrencyLimit");
2188
2218
  var DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS = 50;
@@ -2353,7 +2383,7 @@ function attachDispatchTranscript(config, agentId, prompt, agentName, emitter, a
2353
2383
  }
2354
2384
  __name(attachDispatchTranscript, "attachDispatchTranscript");
2355
2385
  async function runSingleDispatch(config, prompt, opts, attemptSignal, emitter, workflowAgentId, agentIdentity, onTokens) {
2356
- const { AgentHeadless, ContextState } = await import("./agent-headless-B4JVD7UK.js");
2386
+ const { AgentHeadless, ContextState } = await import("./agent-headless-TVUJXQWU.js");
2357
2387
  const ctx = new ContextState();
2358
2388
  ctx.set("task_prompt", prompt);
2359
2389
  debugLogger.debug(`[workflow] Dispatch ${workflowAgentId}`);
@@ -2473,6 +2503,7 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2473
2503
  };
2474
2504
  let worktreeIsolation = null;
2475
2505
  let effectiveContext = config;
2506
+ let approvalCleanup;
2476
2507
  if (opts.isolation !== void 0 && opts.workingDir !== void 0) {
2477
2508
  throw new Error(
2478
2509
  "agent({workingDir, isolation}): incompatible options. workingDir pins the agent to a worktree you already own; isolation creates a fresh one and removes it afterwards. Pass one."
@@ -2480,10 +2511,9 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2480
2511
  }
2481
2512
  if (opts.isolation === "worktree") {
2482
2513
  worktreeIsolation = await provisionWorkflowWorktree(config);
2483
- effectiveContext = createDirScopedConfigOverride(
2484
- config,
2485
- worktreeIsolation.path
2486
- );
2514
+ effectiveContext = deriveWorktreeConfig(config, worktreeIsolation.path, {
2515
+ customIgnoreFiles: config.getFileFilteringOptions().customIgnoreFiles
2516
+ });
2487
2517
  } else if (opts.workingDir !== void 0) {
2488
2518
  if (typeof opts.workingDir !== "string" || opts.workingDir.trim().length === 0) {
2489
2519
  throw new Error(
@@ -2500,7 +2530,17 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2500
2530
  `agent({workingDir: ${sanitizeForErrorMessage(JSON.stringify(opts.workingDir))}}): ${sanitizeForErrorMessage(resolved.error)}`
2501
2531
  );
2502
2532
  }
2503
- effectiveContext = createDirScopedConfigOverride(config, resolved.path);
2533
+ effectiveContext = deriveWorktreeConfig(config, resolved.path, {
2534
+ customIgnoreFiles: config.getFileFilteringOptions().customIgnoreFiles
2535
+ });
2536
+ }
2537
+ if (effectiveContext !== config) {
2538
+ const approvalHandle = deriveApprovalModeConfig(
2539
+ effectiveContext,
2540
+ config.getApprovalMode()
2541
+ );
2542
+ approvalCleanup = approvalHandle.cleanup;
2543
+ effectiveContext = approvalHandle.config;
2504
2544
  }
2505
2545
  let onParentAbort;
2506
2546
  try {
@@ -2613,6 +2653,7 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2613
2653
  if (onParentAbort && signal) {
2614
2654
  signal.removeEventListener("abort", onParentAbort);
2615
2655
  }
2656
+ approvalCleanup?.();
2616
2657
  if (worktreeIsolation) {
2617
2658
  try {
2618
2659
  await cleanupWorkflowWorktree(worktreeIsolation);
@@ -2695,26 +2736,6 @@ async function provisionWorkflowWorktree(config) {
2695
2736
  };
2696
2737
  }
2697
2738
  __name(provisionWorkflowWorktree, "provisionWorkflowWorktree");
2698
- function createDirScopedConfigOverride(base, wtPath) {
2699
- const ov = Object.create(base);
2700
- ov.targetDir = wtPath;
2701
- ov.cwd = wtPath;
2702
- ov.getTargetDir = () => wtPath;
2703
- ov.getCwd = () => wtPath;
2704
- ov.getWorkingDir = () => wtPath;
2705
- ov.getProjectRoot = () => wtPath;
2706
- const wtFileService = new FileDiscoveryService(
2707
- wtPath,
2708
- base.getFileFilteringOptions().customIgnoreFiles
2709
- );
2710
- ov.fileDiscoveryService = wtFileService;
2711
- ov.getFileService = () => wtFileService;
2712
- const wtWorkspace = new WorkspaceContext(wtPath);
2713
- ov.workspaceContext = wtWorkspace;
2714
- ov.getWorkspaceContext = () => wtWorkspace;
2715
- return ov;
2716
- }
2717
- __name(createDirScopedConfigOverride, "createDirScopedConfigOverride");
2718
2739
  async function cleanupWorkflowWorktree(isolation) {
2719
2740
  const wtService = new GitWorktreeService(isolation.repoRoot);
2720
2741
  const [hasChanges, hasUnmerged] = await Promise.all([
@@ -2804,7 +2825,7 @@ function attachSchemaListeners(emitter, state) {
2804
2825
  }
2805
2826
  __name(attachSchemaListeners, "attachSchemaListeners");
2806
2827
  async function createSchemaConfigOverride(base, schema) {
2807
- const override = Object.create(base);
2828
+ const override = deriveConfig(base);
2808
2829
  await rebuildToolRegistryOnOverride(override, base);
2809
2830
  const registry = override.getToolRegistry();
2810
2831
  registry.registerTool(new SyntheticOutputTool(schema));
@@ -3269,74 +3290,111 @@ Workflow scripts must be plain JavaScript \u2014 the usual causes are TypeScript
3269
3290
  __name(this, "WorkflowScriptNotLaunchedError");
3270
3291
  }
3271
3292
  };
3293
+ var WorkflowStartCancelledError = class extends Error {
3294
+ static {
3295
+ __name(this, "WorkflowStartCancelledError");
3296
+ }
3297
+ constructor() {
3298
+ super("Workflow start was cancelled.");
3299
+ this.name = "WorkflowStartCancelledError";
3300
+ }
3301
+ };
3272
3302
  var WorkflowRunner = class {
3273
3303
  static {
3274
3304
  __name(this, "WorkflowRunner");
3275
3305
  }
3276
3306
  static async start(options) {
3307
+ if (options.resumeFromRunId) {
3308
+ const attempt = await tryWithWorkflowTaskMutation(
3309
+ getWorkflowTaskMutationKey(options.config, options.resumeFromRunId),
3310
+ () => this.startClaimed(options)
3311
+ );
3312
+ if (!attempt.acquired) {
3313
+ throw new Error(
3314
+ `Workflow run ${options.resumeFromRunId} is already being modified.`
3315
+ );
3316
+ }
3317
+ return attempt.value;
3318
+ }
3319
+ return this.startClaimed(options);
3320
+ }
3321
+ static async startClaimed(options) {
3277
3322
  const config = options.config;
3278
3323
  const runInBackground = options.runInBackground === true;
3279
3324
  const budget = WorkflowBudgetImpl.fromEnv();
3280
- const loaded = options.scriptPath && options.script === void 0 ? await resolveSavedWorkflowScript(
3281
- { scriptPath: options.scriptPath },
3282
- config
3283
- ) : void 0;
3284
- const script = loaded?.script ?? options.script ?? "";
3285
- const scriptPath = loaded?.scriptPath ?? options.scriptPath;
3286
- try {
3287
- compileWorkflowScript(script);
3288
- } catch (error) {
3289
- throw new WorkflowScriptNotLaunchedError(
3290
- describeWorkflowCompileError(
3291
- error,
3292
- script.split(/\r\n|[\n\r\u2028\u2029]/).length
3293
- )
3294
- );
3295
- }
3296
3325
  const runId = options.resumeFromRunId ?? `wf_${randomBytes2(8).toString("hex")}`;
3297
- const storage = config.storage;
3298
- const journal = storage ? new WorkflowJournal(storage.getWorkflowRunJournalPath(runId)) : void 0;
3299
- const resumeReplay = options.resumeFromRunId ? await journal?.load() : void 0;
3300
- if (runInBackground && options.signal.aborted) {
3301
- throw new Error("Background workflow start was cancelled.");
3302
- }
3303
- const callerWasAbortedBeforeStart = options.signal.aborted;
3304
3326
  const registry = config.getWorkflowRunRegistry?.();
3305
3327
  let entry;
3306
3328
  const isCurrentEntry = /* @__PURE__ */ __name(() => registry === void 0 || entry !== void 0 && registry.get(runId) === entry, "isCurrentEntry");
3307
- const controller = runInBackground ? createAbortController() : createChildAbortController(options.signal);
3308
- const dispatch = options.dispatch ?? createProductionDispatch(
3309
- config,
3310
- controller.signal,
3311
- (outputTokens) => budget.recordSpent(outputTokens),
3312
- registry ? (emitter2, dispatchId) => isCurrentEntry() ? registry.bridgeApprovalEvents(
3313
- runId,
3314
- emitter2,
3315
- dispatchId,
3316
- entry
3317
- ) : () => void 0 : void 0
3318
- );
3319
- const orchestrator = new WorkflowOrchestrator(dispatch);
3329
+ const createController = /* @__PURE__ */ __name(() => runInBackground ? createAbortController() : createChildAbortController(options.signal), "createController");
3330
+ const controller = registry ? registry.reserveStart(runId, createController) : createController();
3331
+ const storage = config.storage;
3332
+ const journal = storage ? new WorkflowJournal(storage.getWorkflowRunJournalPath(runId)) : void 0;
3333
+ let script;
3334
+ let scriptPath;
3335
+ let resumeReplay;
3336
+ let callerWasAbortedBeforeStart;
3337
+ let orchestrator;
3320
3338
  try {
3321
- entry = registry?.register({
3322
- runId,
3323
- toolUseId: options.toolUseId,
3324
- meta: null,
3325
- status: "running",
3326
- startTime: Date.now(),
3327
- outputFile: "",
3328
- abortController: controller,
3329
- tokenBudgetTotal: budget.total,
3330
- script,
3331
- scriptPath,
3332
- args: options.args,
3333
- ...options.resumeFromRunId ? {
3334
- sourceRunId: options.resumeFromRunId,
3335
- startMode: "retry"
3336
- } : {},
3337
- isBackgrounded: runInBackground
3338
- });
3339
+ const loaded = options.scriptPath && options.script === void 0 ? await resolveSavedWorkflowScript(
3340
+ { scriptPath: options.scriptPath },
3341
+ config
3342
+ ) : void 0;
3343
+ script = loaded?.script ?? options.script ?? "";
3344
+ scriptPath = loaded?.scriptPath ?? options.scriptPath;
3345
+ try {
3346
+ compileWorkflowScript(script);
3347
+ } catch (error) {
3348
+ throw new WorkflowScriptNotLaunchedError(
3349
+ describeWorkflowCompileError(
3350
+ error,
3351
+ script.split(/\r\n|[\n\r\u2028\u2029]/).length
3352
+ )
3353
+ );
3354
+ }
3355
+ resumeReplay = options.resumeFromRunId ? await journal?.load() : void 0;
3356
+ if (controller.signal.aborted && !options.signal.aborted) {
3357
+ throw new WorkflowStartCancelledError();
3358
+ }
3359
+ if (runInBackground && options.signal.aborted) {
3360
+ throw new WorkflowStartCancelledError();
3361
+ }
3362
+ callerWasAbortedBeforeStart = options.signal.aborted;
3363
+ const dispatch = options.dispatch ?? createProductionDispatch(
3364
+ config,
3365
+ controller.signal,
3366
+ (outputTokens) => budget.recordSpent(outputTokens),
3367
+ registry ? (emitter2, dispatchId) => isCurrentEntry() ? registry.bridgeApprovalEvents(
3368
+ runId,
3369
+ emitter2,
3370
+ dispatchId,
3371
+ entry
3372
+ ) : () => void 0 : void 0
3373
+ );
3374
+ orchestrator = new WorkflowOrchestrator(dispatch);
3375
+ entry = registry?.register(
3376
+ {
3377
+ runId,
3378
+ toolUseId: options.toolUseId,
3379
+ meta: null,
3380
+ status: "running",
3381
+ startTime: Date.now(),
3382
+ outputFile: "",
3383
+ abortController: controller,
3384
+ tokenBudgetTotal: budget.total,
3385
+ script,
3386
+ scriptPath,
3387
+ args: options.args,
3388
+ ...options.resumeFromRunId ? {
3389
+ sourceRunId: options.resumeFromRunId,
3390
+ startMode: "retry"
3391
+ } : {},
3392
+ isBackgrounded: runInBackground
3393
+ },
3394
+ controller
3395
+ );
3339
3396
  } catch (error) {
3397
+ registry?.releaseStart(runId, controller);
3340
3398
  controller.abort();
3341
3399
  throw error;
3342
3400
  }
@@ -3443,7 +3501,14 @@ var WorkflowRunner = class {
3443
3501
  const message = extractErrorMessage2(error);
3444
3502
  if (entry && details?.meta && !entry.meta) entry.meta = details.meta;
3445
3503
  if (details?.logs) registry?.setRecentLogs(runId, details.logs);
3446
- if (callerWasAbortedBeforeStart || !runInBackground && options.signal.aborted || entry?.status === "cancelled") {
3504
+ if (entry && isTerminalWorkflowStatus(entry.status)) {
3505
+ return {
3506
+ ok: false,
3507
+ message: entry.status === "cancelled" ? "Workflow run cancelled." : entry.error ?? message,
3508
+ details
3509
+ };
3510
+ }
3511
+ if (callerWasAbortedBeforeStart || !runInBackground && options.signal.aborted) {
3447
3512
  registry?.cancel(runId, Date.now());
3448
3513
  } else {
3449
3514
  registry?.fail(runId, message, Date.now());
@@ -3460,7 +3525,13 @@ var WorkflowRunner = class {
3460
3525
  tokens_spent: entry.tokensSpent,
3461
3526
  duration_ms: (entry.endTime ?? entry.startTime) - entry.startTime
3462
3527
  });
3463
- await writeWorkflowSnapshot(config, entry);
3528
+ const snapshotPersisted = await writeWorkflowSnapshot(
3529
+ config,
3530
+ entry
3531
+ );
3532
+ if (snapshotPersisted) {
3533
+ registry?.notifySnapshotPersisted(entry.runId);
3534
+ }
3464
3535
  await journal?.drain();
3465
3536
  try {
3466
3537
  logWorkflowRun(config, telemetryEvent);
@@ -3493,7 +3564,7 @@ var WORKFLOW_PARAM_SCHEMA = {
3493
3564
  properties: {
3494
3565
  script: {
3495
3566
  type: "string",
3496
- description: `JavaScript source of the workflow. Wrapped as an async IIFE. May call the injected globals \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, and read \`args\`. agent() opts: \`{ label?, phase?, schema?, model?, agentType?, isolation?, workingDir?, stallMs? }\`. \`schema\` (JSON Schema object): the subagent must deliver its result by calling \`structured_output\` with arguments matching the schema; agent() resolves to the validated object. Two failed attempts produce a terminal error "subagent completed without calling StructuredOutput (after 2 in-conversation nudges)". \`agentType\` (string): resolves against the declarative-agents registry (\`.qwen/agents/<name>.md\`, project then user then built-in). Unresolved names throw "agent({agentType}): agent type 'X' not found". \`model\` (string): per-call model override; routes provider correctly via the subagent runtime view. \`isolation\`: \`'worktree'\` provisions a fresh git worktree under \`<projectRoot>/.qwen/worktrees/agent-<7hex>\`; the worktree is auto-removed if no changes, otherwise the path and branch are returned alongside the result. \`'remote'\` throws "agent({isolation:'remote'}) is not available in this build" (parity with upstream). isolation=worktree refuses to run when the parent working tree has uncommitted changes (the subagent would see a stale HEAD). \`workingDir\` (string): pin the subagent to an EXISTING git worktree of this repository that the caller owns \u2014 nothing is created and nothing is removed. Use it when the directory the agent must work in already exists and its uncommitted state is the point (a review worktree, a checkout a previous step provisioned) \u2014 exactly the case isolation cannot serve. Mutually exclusive with \`isolation\`. The path must be a linked worktree of this repository registered via \`git worktree add\` (it may live anywhere on disk) \u2014 the main checkout is not eligible. \`stallMs\` (number, ms): a no-progress watchdog, not a wall-clock cap. The dispatch is aborted and retried (up to ${MAX_STALL_ATTEMPTS} attempts total) after this many milliseconds with no observable subagent progress \u2014 including before the first response arrives; the timer is suspended while a tool is in flight, so a legitimately slow tool is not a stall. Default ${DEFAULT_STALL_MS} (override via \`${MAX_WORKFLOW_STALL_MS_ENV}\`, whole seconds); \`0\` disables the watchdog. Wall time per attempt is bounded separately. Workflow subagents always have SendMessage / Monitor / EnterPlanMode / ExitPlanMode in their disallowed-tool floor regardless of agentType. Concurrency: \`parallel([() => agent(...), ...])\` runs thunks through a shared per-run window (default \`max(1, min(16, cpus-2))\` agents in flight; override via \`${MAX_WORKFLOW_CONCURRENCY_ENV}\`) and resolves to a position-aligned array \u2014 a thunk that throws, or resolves to a non-JSON-serializable value, becomes \`null\` at its index (errors-as-data); parallel() itself rejects only on invalid arguments or abort. \`pipeline(items, ...stages)\` runs each item through the stages (staggered, no inter-stage barrier); a stage that throws, returns \`null\`, or returns a non-JSON-serializable value drops that item to \`null\`. Pass THUNKS to parallel, not eager calls: \`parallel([() => agent(...)])\`, not \`parallel([agent(...)])\`. At most ${DEFAULT_MAX_AGENTS_PER_RUN} agent() calls per run (override via \`${MAX_WORKFLOW_AGENTS_ENV}\`). \`Date.now()\` and \`Math.random()\` both throw \u2014 workflow scripts must be deterministic for resume. \`export const meta = {...}\` declarations are stripped before execution.`
3567
+ description: `JavaScript source of the workflow. Wrapped as an async IIFE. May call the injected globals \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, and read \`args\`. agent() opts: \`{ label?, phase?, schema?, model?, agentType?, isolation?, workingDir?, stallMs? }\`. \`schema\` (JSON Schema object): the subagent must deliver its result by calling \`structured_output\` with arguments matching the schema; agent() resolves to the validated object. Two failed attempts produce a terminal error "subagent completed without calling StructuredOutput (after 2 in-conversation nudges)". \`agentType\` (string): resolves against the declarative-agents registry (\`.qwen/agents/<name>.md\`, project then user then built-in). Unresolved names throw "agent({agentType}): agent type 'X' not found". \`model\` (string): per-call model override; routes provider correctly via the subagent runtime view. \`isolation\`: \`'worktree'\` provisions a fresh git worktree under \`<projectRoot>/.qwen/worktrees/agent-<7hex>\`; the worktree is auto-removed if no changes, otherwise the path and branch are returned alongside the result. \`'remote'\` throws "agent({isolation:'remote'}) is not available in this build" (parity with upstream). isolation=worktree refuses to run when the parent working tree has uncommitted changes (the subagent would see a stale HEAD). \`workingDir\` (string): pin the subagent to an EXISTING git worktree of this repository that the caller owns \u2014 nothing is created and nothing is removed. Use it when the directory the agent must work in already exists and its uncommitted state is the point (a review worktree, a checkout a previous step provisioned) \u2014 exactly the case isolation cannot serve. Mutually exclusive with \`isolation\`. The path must be a linked worktree of this repository registered via \`git worktree add\` (it may live anywhere on disk) \u2014 the main checkout is not eligible. \`stallMs\` (number, ms): a no-progress watchdog, not a wall-clock cap. The dispatch is aborted and retried (up to ${MAX_STALL_ATTEMPTS} attempts total) after this many milliseconds with no observable subagent progress \u2014 including before the first response arrives; the timer is suspended while a tool is in flight, so a legitimately slow tool is not a stall. Default ${DEFAULT_STALL_MS} (override via \`${MAX_WORKFLOW_STALL_MS_ENV}\`, whole seconds); \`0\` disables the watchdog. Wall time per attempt is bounded separately. Workflow subagents always have SendMessage / Monitor / EnterPlanMode / ExitPlanMode in their disallowed-tool floor regardless of agentType. Concurrency: \`parallel([() => agent(...), ...])\` runs thunks through a shared per-run window (default \`max(2, min(16, cpus-2))\` agents in flight; override via \`${MAX_WORKFLOW_CONCURRENCY_ENV}\`) and resolves to a position-aligned array \u2014 a thunk that throws, or resolves to a non-JSON-serializable value, becomes \`null\` at its index (errors-as-data); parallel() itself rejects only on invalid arguments or abort. \`pipeline(items, ...stages)\` runs each item through the stages (staggered, no inter-stage barrier); a stage that throws, returns \`null\`, or returns a non-JSON-serializable value drops that item to \`null\`. Pass THUNKS to parallel, not eager calls: \`parallel([() => agent(...)])\`, not \`parallel([agent(...)])\`. At most ${DEFAULT_MAX_AGENTS_PER_RUN} agent() calls per run (override via \`${MAX_WORKFLOW_AGENTS_ENV}\`). \`Date.now()\` and \`Math.random()\` both throw \u2014 workflow scripts must be deterministic for resume. \`export const meta = {...}\` declarations are stripped before execution.`
3497
3568
  },
3498
3569
  scriptPath: {
3499
3570
  type: "string",
@@ -3621,7 +3692,7 @@ var WorkflowToolInvocation = class extends BaseToolInvocation {
3621
3692
  async execute(signal, updateOutput, _shellExecutionConfig) {
3622
3693
  const runInBackground = this.params.run_in_background === true;
3623
3694
  if (runInBackground && signal.aborted) {
3624
- return backgroundStartCancelledResult();
3695
+ return startCancelledResult();
3625
3696
  }
3626
3697
  let handle;
3627
3698
  try {
@@ -3638,8 +3709,8 @@ var WorkflowToolInvocation = class extends BaseToolInvocation {
3638
3709
  onUpdate: !runInBackground && updateOutput ? (entry) => safeEmitUpdate(updateOutput, entry) : void 0
3639
3710
  });
3640
3711
  } catch (error) {
3641
- if (runInBackground && signal.aborted) {
3642
- return backgroundStartCancelledResult();
3712
+ if (error instanceof WorkflowStartCancelledError || runInBackground && signal.aborted) {
3713
+ return startCancelledResult();
3643
3714
  }
3644
3715
  if (error instanceof WorkflowScriptNotLaunchedError) {
3645
3716
  return {
@@ -3725,13 +3796,13 @@ ${safeStringifyDisplayPayload({
3725
3796
  }
3726
3797
  }
3727
3798
  };
3728
- function backgroundStartCancelledResult() {
3799
+ function startCancelledResult() {
3729
3800
  return {
3730
3801
  llmContent: "Workflow was cancelled before it could start.",
3731
3802
  returnDisplay: "Workflow cancelled."
3732
3803
  };
3733
3804
  }
3734
- __name(backgroundStartCancelledResult, "backgroundStartCancelledResult");
3805
+ __name(startCancelledResult, "startCancelledResult");
3735
3806
  function buildLivePhaseTreeDisplay(entry) {
3736
3807
  const payload = {
3737
3808
  runId: entry.runId,
@@ -3934,7 +4005,7 @@ Reach for one to be comprehensive (decompose the work and cover every part in pa
3934
4005
 
3935
4006
  **Runtime** \u2014 see the \`script\` parameter for the detailed authoring contract.
3936
4007
 
3937
- \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, \`parallel(thunks)\`, \`pipeline(items, ...stages)\`, \`workflow(nameOrRef, args?)\`, plus the \`args\` and \`budget\` globals. \`workflow()\` runs a saved workflow inline under this run's caps and nests one level only \u2014 a workflow reached through \`workflow()\` cannot call \`workflow()\` itself, and doing so throws. Saved workflows are \`<name>.js\` files under \`<projectRoot>/.qwen/workflows\` (project scope, also surfaced as \`/<name>\` slash commands) or \`~/.qwen/workflows\` (user scope, lower precedence when both define the same name); \`workflow('<name>')\` resolves against those two directories, while \`scriptPath\` takes an absolute path to a script inside either of them or inside the generated-scripts root (\`$QWEN_CODE_PROJECT_DIR/workflows/generated\` \u2014 the per-project runtime dir, not the project tree \u2014 where a tool emitting a one-run script writes it; never a slash command, never resolvable by name); a path outside those roots is refused. Default \`max(1, min(16, cpus-2))\` agents in flight per run (\`${MAX_WORKFLOW_CONCURRENCY_ENV}\`), up to ${DEFAULT_MAX_AGENTS_PER_RUN} agents total (\`${MAX_WORKFLOW_AGENTS_ENV}\`), under a 30-minute wall-clock cap per run (\`QWEN_CODE_MAX_WORKFLOW_SECONDS\`) \u2014 a fan-out near the agent cap will not fit inside the default cap. Each subagent attempt is separately capped at ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS} turns (\`${WORKFLOW_SUBAGENT_MAX_TURNS_ENV}\`) and ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TIME_MINUTES} minutes (\`${WORKFLOW_SUBAGENT_MAX_MINUTES_ENV}\`) \u2014 an attempt that hits either becomes \`null\` in \`parallel()\`/\`pipeline()\`, indistinguishable from a missing agent, so raise them for legitimately long work. A per-run output-token cap may also be in effect: read \`budget.total\` (\`null\` = uncapped) before committing to a large fan-out, because once the cap is reached every further \`agent()\` call is refused \u2014 a bare sequential \`await agent()\` sees the rejection, while inside \`parallel()\`/\`pipeline()\` the refused slot becomes \`null\` and the script keeps running on partial results. Per-call \`agent({ schema, agentType, model, isolation: 'worktree', workingDir, stallMs })\` covers structured-output contracts, declarative-agent selection, model override, git-worktree-isolated subagents, pinning an agent to a caller-owned worktree, and the no-progress stall watchdog (\`stallMs: 0\` disables it). \`resumeFromRunId\` resumes a prior run \u2014 agent() calls whose rolling prefix-hash matches the journal are served from cache for the longest unchanged prefix. Runs appear in the background-tasks view and the \`/workflows\` dialog (live phase tree, token usage, cooperative pause/resume, cancel); \`run_in_background: true\` returns a run handle immediately in the interactive TUI and delivers completion through the conversation. Scripts run in a node:vm sandbox with no filesystem or shell access \u2014 all I/O happens through the spawned agents.
4008
+ \`phase(title)\`, \`log(msg)\`, \`agent(prompt, opts?)\`, \`parallel(thunks)\`, \`pipeline(items, ...stages)\`, \`workflow(nameOrRef, args?)\`, plus the \`args\` and \`budget\` globals. \`workflow()\` runs a saved workflow inline under this run's caps and nests one level only \u2014 a workflow reached through \`workflow()\` cannot call \`workflow()\` itself, and doing so throws. Saved workflows are \`<name>.js\` files under \`<projectRoot>/.qwen/workflows\` (project scope, also surfaced as \`/<name>\` slash commands) or \`~/.qwen/workflows\` (user scope, lower precedence when both define the same name); \`workflow('<name>')\` resolves against those two directories, while \`scriptPath\` takes an absolute path to a script inside either of them or inside the generated-scripts root (\`$QWEN_CODE_PROJECT_DIR/workflows/generated\` \u2014 the per-project runtime dir, not the project tree \u2014 where a tool emitting a one-run script writes it; never a slash command, never resolvable by name); a path outside those roots is refused. Default \`max(2, min(16, cpus-2))\` agents in flight per run (\`${MAX_WORKFLOW_CONCURRENCY_ENV}\`), up to ${DEFAULT_MAX_AGENTS_PER_RUN} agents total (\`${MAX_WORKFLOW_AGENTS_ENV}\`), under a 30-minute wall-clock cap per run (\`QWEN_CODE_MAX_WORKFLOW_SECONDS\`) \u2014 a fan-out near the agent cap will not fit inside the default cap. Each subagent attempt is separately capped at ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TURNS} turns (\`${WORKFLOW_SUBAGENT_MAX_TURNS_ENV}\`) and ${DEFAULT_WORKFLOW_SUBAGENT_MAX_TIME_MINUTES} minutes (\`${WORKFLOW_SUBAGENT_MAX_MINUTES_ENV}\`) \u2014 an attempt that hits either becomes \`null\` in \`parallel()\`/\`pipeline()\`, indistinguishable from a missing agent, so raise them for legitimately long work. A per-run output-token cap may also be in effect: read \`budget.total\` (\`null\` = uncapped) before committing to a large fan-out, because once the cap is reached every further \`agent()\` call is refused \u2014 a bare sequential \`await agent()\` sees the rejection, while inside \`parallel()\`/\`pipeline()\` the refused slot becomes \`null\` and the script keeps running on partial results. Per-call \`agent({ schema, agentType, model, isolation: 'worktree', workingDir, stallMs })\` covers structured-output contracts, declarative-agent selection, model override, git-worktree-isolated subagents, pinning an agent to a caller-owned worktree, and the no-progress stall watchdog (\`stallMs: 0\` disables it). \`resumeFromRunId\` resumes a prior run \u2014 agent() calls whose rolling prefix-hash matches the journal are served from cache for the longest unchanged prefix. Runs appear in the background-tasks view and the \`/workflows\` dialog (live phase tree, token usage, cooperative pause/resume, cancel); \`run_in_background: true\` returns a run handle immediately in the interactive TUI and delivers completion through the conversation. Scripts run in a node:vm sandbox with no filesystem or shell access \u2014 all I/O happens through the spawned agents.
3938
4009
 
3939
4010
  **Scout first, then orchestrate**
3940
4011
 
@@ -3980,6 +4051,18 @@ var WorkflowTool = class extends BaseDeclarativeTool {
3980
4051
  static {
3981
4052
  __name(this, "WorkflowTool");
3982
4053
  }
4054
+ buildSessionOwnedBackground(params) {
4055
+ const validationError = this.validateToolParams(params);
4056
+ if (validationError) {
4057
+ throw new Error(validationError);
4058
+ }
4059
+ if (!this.config.getWorkflowRunRegistry().hasCompletionCallback()) {
4060
+ throw new Error(
4061
+ "WorkflowTool: session-owned background runs require an active workflow completion channel."
4062
+ );
4063
+ }
4064
+ return this.createInvocation({ ...params, run_in_background: true });
4065
+ }
3983
4066
  validateToolParamValues(params) {
3984
4067
  const hasScript = typeof params.script === "string" && params.script.length > 0;
3985
4068
  const hasPath = typeof params.scriptPath === "string" && params.scriptPath.length > 0;