@qwen-code/qwen-code 0.23.3 → 0.23.4-dev.codemode-responses.20260914.87437db784

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 (464) hide show
  1. package/bundled/computer-use/SKILL.md +46 -198
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +48 -37
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-CSMC6NNQ.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-5G46NROB.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-4JLSF7SA.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-WJ45JV2S.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-KWNOVXAD.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-TU5N3GFF.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-PF7UX6MH.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-3OVAGIC2.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  47. package/chunks/{chunk-NRXWJXJ4.js → chunk-2YGR3VN6.js} +15 -15
  48. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  49. package/chunks/{chunk-3BTSSIJO.js → chunk-3DOAKZYD.js} +99 -14
  50. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  51. package/chunks/{chunk-2ZN3O5FT.js → chunk-457DR2MC.js} +6 -6
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  54. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  55. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  56. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  57. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  58. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  59. package/chunks/{chunk-3KQBQ6FM.js → chunk-63WKMKVD.js} +190 -28
  60. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  61. package/chunks/{chunk-MLQNSPRZ.js → chunk-6MLDTOHU.js} +15 -5
  62. package/chunks/{chunk-SBRX4BDI.js → chunk-6NKDU7YL.js} +2 -2
  63. package/chunks/{chunk-3UXUOFO6.js → chunk-6TMXX4Z4.js} +9 -10
  64. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  65. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  66. package/chunks/{chunk-EVTNACMT.js → chunk-A6QMKS5S.js} +12 -12
  67. package/chunks/{chunk-NOAG7N22.js → chunk-A6YU6R5N.js} +2 -2
  68. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  69. package/chunks/chunk-ACHCT36C.js +28 -0
  70. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  71. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  72. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  73. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  74. package/chunks/{chunk-SYLECP23.js → chunk-B776VKDA.js} +4 -4
  75. package/chunks/{chunk-AC6KDLH3.js → chunk-BNYQHLPR.js} +1 -1
  76. package/chunks/{chunk-BZM5U74J.js → chunk-BS7ON54G.js} +724 -468
  77. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  78. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  79. package/chunks/{chunk-POC3YMHG.js → chunk-BY6CE34S.js} +4 -4
  80. package/chunks/{chunk-RLLRJJDR.js → chunk-C3VNHDWJ.js} +2 -2
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-MSNHNAQZ.js → chunk-C5ABXOC2.js} +3 -3
  83. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  84. package/chunks/chunk-CCWWPFZJ.js +191 -0
  85. package/chunks/chunk-CFMZLE3L.js +75 -0
  86. package/chunks/{chunk-N7VWZDWW.js → chunk-CFSBWJBB.js} +4462 -3840
  87. package/chunks/{chunk-KOKPXIAN.js → chunk-CL7JONZN.js} +3 -3
  88. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  89. package/chunks/{chunk-JYKWOREU.js → chunk-DBUOMHLZ.js} +13 -3
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-DLJBYORJ.js} +1 -1
  91. package/chunks/{chunk-DT75RKNH.js → chunk-DNVA2MQ2.js} +3 -3
  92. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  93. package/chunks/{chunk-HGAELO7B.js → chunk-DQMBQCTY.js} +2 -2
  94. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  95. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  96. package/chunks/chunk-EKJXDLDD.js +32 -0
  97. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  98. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  99. package/chunks/{chunk-GCDXVPFK.js → chunk-EZSSJSKR.js} +31 -7
  100. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  101. package/chunks/{chunk-UKZ45TJL.js → chunk-FFBP5POK.js} +420 -219
  102. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  103. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  104. package/chunks/{chunk-SSGAAWLY.js → chunk-GCV4NOHV.js} +95 -73
  105. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  106. package/chunks/{chunk-XBZTAGB7.js → chunk-GMN73IMT.js} +1 -1
  107. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  108. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  109. package/chunks/chunk-GXN7DWZZ.js +154 -0
  110. package/chunks/{chunk-SODMFNAR.js → chunk-H23UWPF7.js} +5 -5
  111. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  112. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  113. package/chunks/{chunk-GOXQL4YH.js → chunk-HWRXJQ6B.js} +2 -2
  114. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  115. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  116. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  117. package/chunks/chunk-INGBUYL6.js +230 -0
  118. package/chunks/{chunk-7BXXIQG4.js → chunk-J73WJIMT.js} +36 -72
  119. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  120. package/chunks/{chunk-Z3GF56ME.js → chunk-JAYWZWZF.js} +3 -3
  121. package/chunks/{chunk-DYFOSJHU.js → chunk-JBFC2644.js} +2756 -1153
  122. package/chunks/{chunk-Q5BD56BW.js → chunk-JPCYCFYG.js} +7 -7
  123. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  124. package/chunks/{chunk-NHCZJQE4.js → chunk-JZKBMADP.js} +6 -6
  125. package/chunks/{chunk-MF6E7FSA.js → chunk-K7CQWBLT.js} +8 -201
  126. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  127. package/chunks/{chunk-ZU47FBOC.js → chunk-KSIOXYVX.js} +126 -12
  128. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  129. package/chunks/{chunk-3XLK2QMY.js → chunk-L3S2Y2FF.js} +59 -16
  130. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  131. package/chunks/{chunk-6W4HBUA2.js → chunk-LATAUG2M.js} +1 -1
  132. package/chunks/{chunk-RWVD5RRY.js → chunk-LBDASOPR.js} +3 -3
  133. package/chunks/{chunk-OX7IZ2G5.js → chunk-LF5AD7PY.js} +4 -4
  134. package/chunks/{chunk-NMRCXKQ5.js → chunk-LKCNETDW.js} +3 -3
  135. package/chunks/chunk-LMJSPC55.js +260 -0
  136. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  137. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  138. package/chunks/{chunk-KFZYGSJN.js → chunk-M3YNPR56.js} +3 -3
  139. package/chunks/{chunk-HBQ2NXOU.js → chunk-MDG6GKSE.js} +2 -2
  140. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  141. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  142. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  143. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  144. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  145. package/chunks/{chunk-DAWWT2ID.js → chunk-NN4EC2WO.js} +1374 -2164
  146. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  147. package/chunks/{chunk-HBU7EKY4.js → chunk-NRUKL236.js} +45 -15
  148. package/chunks/{chunk-53GWJOLP.js → chunk-NTCFKGQF.js} +3 -1
  149. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  150. package/chunks/{chunk-X7UJKOHZ.js → chunk-OMDXAHCT.js} +4 -6
  151. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  152. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  153. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-PAPBT3WP.js} +11 -110
  154. package/chunks/{chunk-7ICHPMBQ.js → chunk-PHSQVB6D.js} +4 -4
  155. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  156. package/chunks/{chunk-YQHLFCPU.js → chunk-Q5CCYZD3.js} +32 -24
  157. package/chunks/chunk-QQL5BFOL.js +1416 -0
  158. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  159. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  160. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  161. package/chunks/{chunk-2PJRI3EH.js → chunk-RVOD66ID.js} +218 -43
  162. package/chunks/{chunk-W5FIP7FC.js → chunk-S3PU3CNW.js} +5 -5
  163. package/chunks/chunk-S7UQ3V2H.js +87 -0
  164. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  165. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-E7LB57MB.js → chunk-T3LUMYFP.js} +6 -6
  168. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  169. package/chunks/{chunk-5KI7ZDTB.js → chunk-TV5WDW7R.js} +24 -12
  170. package/chunks/{chunk-NMCDMLHL.js → chunk-TXUJOKVR.js} +50 -35
  171. package/chunks/{chunk-NHJKAR6E.js → chunk-TYWLBEL2.js} +972 -18
  172. package/chunks/chunk-U6H3XTFA.js +95 -0
  173. package/chunks/{chunk-GSILBZLN.js → chunk-U7RWQBGZ.js} +2 -2
  174. package/chunks/{chunk-7APZIRH3.js → chunk-V3CMBOQ6.js} +5 -5
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/chunk-VGY2RGXL.js +100 -0
  177. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  178. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  179. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  180. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  181. package/chunks/chunk-WFNEY5G7.js +347 -0
  182. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  183. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  184. package/chunks/{chunk-BWAMMKIS.js → chunk-WLLRNQVT.js} +135 -6
  185. package/chunks/{chunk-MHAADZOZ.js → chunk-WMSP3XZK.js} +3 -3
  186. package/chunks/{chunk-IL5M5NYD.js → chunk-WUTXSXPP.js} +11 -9
  187. package/chunks/{chunk-NJQTG2G3.js → chunk-XE5ZFBVD.js} +11 -11
  188. package/chunks/{chunk-OLTN767L.js → chunk-XO3Z27IL.js} +2 -2
  189. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  190. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  191. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  192. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  193. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  194. package/chunks/{chunk-F42YYSCK.js → chunk-YVF4PKCV.js} +8 -8
  195. package/chunks/{chunk-LDVNJZGH.js → chunk-Z2H5HQS3.js} +17 -8
  196. package/chunks/chunk-Z72PLR74.js +36 -0
  197. package/chunks/{chunk-BWQLXU37.js → chunk-ZDHXRKRG.js} +381 -86
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/chunk-ZRZZLM37.js +2780 -0
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-SM3TUSBA.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-JHKHFOG6.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-XE4NDYQW.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-PNCWH3RE.js} +58 -55
  207. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  208. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-P7E5Y3HY.js} +169 -89
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-JFD5VZRN.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-A3VFVFWW.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-NPZ47MZH.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-XG2CHL3Z.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-V42EMU27.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-E2ZGJDBJ.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-442YAAZB.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-DCJ5FVHM.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-ZWTDW2NJ.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-4PLQOFOO.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-DBSGDGB3.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-VWOE4W7K.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-K6SIBXMB.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-NCC3XELY.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-GO7JI4PT.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-BXKAW5A6.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-5JONIX62.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-QW74LCLS.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-FJHSMJTM.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-3VLLPQS4.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-OLMQSKVC.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-IMLIJULY.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-LXLBWCNA.js} +57 -53
  261. package/chunks/mcp-FOXA3372.js +127 -0
  262. package/chunks/model-configuration-SCOI2KPF.js +140 -0
  263. package/chunks/modelConfigUtils-EA44S64C.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-TJAHYCCY.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-QH2HABWC.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-WEMSBUBS.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-WD5DWYOA.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-TQL2LCEG.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-6ZU56DCI.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-3HAKHXFV.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-3OIZQZLC.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-2PWWL6J2.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-S4TEUTKE.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-5NMGLMLX.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-6MGYRK4V.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-ZJYUQCPP.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-5MKF4EV3.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-72DZWRH5.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-7ZDMMA7I.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-ONK5RTEV.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-XQW2LM4S.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-Q5IUCMQV.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-MVECWT3W.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-DL6K2HQ3.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-BLP25QJU.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-7KURUNLD.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-MY76LM46.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-IJLH3Z74.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-YQKN7VNO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-ORNGKZTG.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-PRLIKB4U.js} +1610 -1773
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-ANLKOQ44.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-EFUENI6Y.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-CXMFIWKC.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-JUFYQDQQ.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-SNCEA4VA.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-UHYNUO3L.js} +63 -58
  317. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
  318. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
  319. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-YBR5URPG.js} +57 -53
  320. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-L6MTSN76.js} +5 -5
  321. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-Z3SPZXHC.js} +60 -56
  322. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-PR5XGMO6.js} +68 -64
  323. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-KFLTWEYW.js} +109 -104
  324. package/chunks/{version-EAAZN4T2.js → version-NGAKFVUF.js} +1 -1
  325. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WPGTHGU5.js} +15 -13
  326. package/chunks/web-search-JT63IJJV.js +39 -0
  327. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  328. package/chunks/{workflow-UHPFALVZ.js → workflow-EB63BAL4.js} +179 -79
  329. package/chunks/workspace-providers-status-NEPR67D2.js +133 -0
  330. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-CFWXOMGH.js} +2 -2
  331. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-6KRZXOGB.js} +63 -58
  332. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-SP4X3UVH.js} +66 -59
  333. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-PRMYJTTV.js} +70 -65
  334. package/chunks/workspace-skills-status-VYTZJ5MB.js +130 -0
  335. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-B4QMGDMI.js} +73 -68
  336. package/chunks/{write-file-DPVB2SBQ.js → write-file-EGBMW7TS.js} +45 -41
  337. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  338. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  339. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-UR6K2LDR.js} +11 -10
  340. package/cli.js +18 -17
  341. package/codeModeHost.js +4425 -0
  342. package/export-transcript-document.css +1 -1
  343. package/export-transcript-document.js +151 -151
  344. package/locales/ca.js +5 -6
  345. package/locales/de.js +5 -6
  346. package/locales/en.js +7 -6
  347. package/locales/fr.js +6 -6
  348. package/locales/ja.js +5 -6
  349. package/locales/pt.js +5 -6
  350. package/locales/ru.js +6 -6
  351. package/locales/zh-TW.js +7 -6
  352. package/locales/zh.js +7 -6
  353. package/package.json +4 -3
  354. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  355. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  356. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  357. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  358. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  359. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  360. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  361. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  362. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  363. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  364. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  365. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  366. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  367. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  368. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  369. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  370. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  371. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  372. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  373. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  374. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  375. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  376. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  377. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  378. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  379. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  380. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  381. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  382. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  383. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  384. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  385. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  386. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  387. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  388. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  389. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  390. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  391. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  392. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  393. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  394. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  395. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  396. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  397. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  398. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  399. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  400. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  401. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  406. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  409. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  411. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  412. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  413. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  415. package/web-shell/index.html +2 -2
  416. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  417. package/chunks/chunk-AEY27Z35.js +0 -1411
  418. package/chunks/chunk-CFKIH3D3.js +0 -50
  419. package/chunks/chunk-HWVUSYSN.js +0 -126
  420. package/chunks/chunk-QHMLYMMS.js +0 -32
  421. package/chunks/chunk-SAH4BD2J.js +0 -92
  422. package/chunks/chunk-TWUKBNWM.js +0 -86
  423. package/chunks/chunk-ZTTC7T4X.js +0 -126
  424. package/chunks/list-YL6LDQKQ.js +0 -129
  425. package/chunks/mcp-IYVSIW6O.js +0 -123
  426. package/chunks/web-search-NEGYQNDJ.js +0 -912
  427. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  428. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  429. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  430. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  431. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  432. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  433. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  434. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  435. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  436. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  437. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  438. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  439. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  440. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  441. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  442. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  443. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  444. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  445. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  446. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  447. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  448. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  449. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  450. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  451. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  452. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  453. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  454. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  455. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  456. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  457. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  458. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  459. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  460. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  461. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  462. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  463. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  464. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -11,40 +11,49 @@ import {
11
11
  isActiveWorkflowStatus,
12
12
  isTerminalWorkflowStatus,
13
13
  isWorkflowRunPersistenceActive,
14
+ parseSkillContent,
14
15
  rebuildToolRegistryOnOverride,
15
16
  resolveExternalWorktreeDir,
16
17
  toModelVisibleSubagentResult
17
- } from "./chunk-N7VWZDWW.js";
18
+ } from "./chunk-CFSBWJBB.js";
19
+ import {
20
+ parsePositiveIntegerEnv
21
+ } from "./chunk-6PVPNMXU.js";
18
22
  import {
19
23
  GitWorktreeService,
20
24
  generateAgentWorktreeSlug,
21
25
  writeWorktreeSessionMarker
22
- } from "./chunk-36HCNKDS.js";
26
+ } from "./chunk-WKVZES7O.js";
23
27
  import {
24
- parsePositiveIntegerEnv
25
- } from "./chunk-6PVPNMXU.js";
28
+ resolveBundleDir
29
+ } from "./chunk-ACHCT36C.js";
26
30
  import {
27
31
  SUBAGENT_PLAN_LIFECYCLE_TOOLS
28
- } from "./chunk-PLLIWEM3.js";
32
+ } from "./chunk-AEWCOE64.js";
29
33
  import {
30
34
  runWithAgentContext
31
- } from "./chunk-U7O65WKL.js";
35
+ } from "./chunk-BW2SMO6L.js";
32
36
  import {
33
37
  read,
34
38
  writeLine
35
- } from "./chunk-HBU7EKY4.js";
39
+ } from "./chunk-NRUKL236.js";
40
+ import {
41
+ REASONING_EFFORT_TIERS,
42
+ normalizeReasoningEffort
43
+ } from "./chunk-ARDHE6MM.js";
36
44
  import {
37
45
  atomicWriteFile
38
46
  } from "./chunk-XFFRI3WM.js";
39
47
  import {
40
48
  stripAnsiAndControl
41
- } from "./chunk-W5ZQMAEM.js";
49
+ } from "./chunk-4Y2I3CI3.js";
42
50
  import {
43
51
  SyntheticOutputTool
44
- } from "./chunk-HUXPEUFL.js";
52
+ } from "./chunk-SYROIHU7.js";
45
53
  import {
46
- ToolNames
47
- } from "./chunk-TP6FYVQT.js";
54
+ ToolNames,
55
+ resolveBuiltinToolName
56
+ } from "./chunk-RSWBT7AZ.js";
48
57
  import {
49
58
  Storage,
50
59
  createDebugLogger
@@ -599,6 +608,7 @@ var MAX_LOG_LINES = 1e4;
599
608
  var MAX_PHASE_ENTRIES = 1e4;
600
609
  var ARGS_MAX_DEPTH = 64;
601
610
  var DEFAULT_MAX_WALL_CLOCK_MS = 30 * 60 * 1e3;
611
+ var WORKFLOW_SYNC_EVALUATION_TIMEOUT_MS = 3e4;
602
612
  function resolveMaxWallClockMs(opts) {
603
613
  if (typeof opts.maxWallClockMs === "number" && opts.maxWallClockMs > 0) {
604
614
  return opts.maxWallClockMs;
@@ -743,6 +753,18 @@ function createWorkflowSandbox(opts) {
743
753
  pushLog: safeLog,
744
754
  lastPhase: /* @__PURE__ */ __name(() => phases[phases.length - 1], "lastPhase"),
745
755
  hostAgent: opts.dispatch,
756
+ // Effort tiers are resolved host-side so the sandbox accepts exactly the
757
+ // aliases `/effort` does without a second copy of the alias table. Takes
758
+ // and returns primitives only.
759
+ normalizeEffort: /* @__PURE__ */ __name((raw) => typeof raw === "string" ? normalizeReasoningEffort(raw) ?? null : null, "normalizeEffort"),
760
+ effortTiers: REASONING_EFFORT_TIERS.join(", "),
761
+ // A built-in tool named by its display name or a legacy alias becomes its
762
+ // tool name, so both spellings share one resume key; any other entry comes
763
+ // back as given for the host to judge. Primitives only.
764
+ canonicalDenyName: /* @__PURE__ */ __name((raw) => typeof raw === "string" ? resolveBuiltinToolName(raw) ?? raw : null, "canonicalDenyName"),
765
+ // JSON.stringify escapes only C0: strip DEL / C1 (incl. NEL) from a
766
+ // script-controlled echo so it cannot fragment a rejection message.
767
+ sanitizeForMessage: /* @__PURE__ */ __name((raw) => typeof raw === "string" ? stripAnsiAndControl(raw) : "", "sanitizeForMessage"),
746
768
  // PR #4947 R2 T7 (qwen-code-ci-bot): host-side log hook for reviveInRealm's
747
769
  // catch path. Mirrors the rejection-logging in settleToNullArray so an
748
770
  // operator running with debug logging can distinguish "thunk rejected"
@@ -1216,7 +1238,7 @@ function createWorkflowSandbox(opts) {
1216
1238
  // FIX-Round1-T13: throw on any opts key not in the allowlist \u2014 catches
1217
1239
  // typos like { scema: ... } that previously slipped through the
1218
1240
  // [key:string]: unknown index signature.
1219
- const KNOWN_AGENT_OPTS = ['label', 'phase', 'schema', 'model', 'isolation', 'agentType', 'stallMs', 'workingDir'];
1241
+ const KNOWN_AGENT_OPTS = ['label', 'phase', 'schema', 'model', 'effort', 'isolation', 'agentType', 'stallMs', 'workingDir', 'disallowedTools'];
1220
1242
  globalThis.agent = vmAsync(function (prompt, agentOpts) {
1221
1243
  agentOpts = agentOpts || {};
1222
1244
  const keys = Object.keys(agentOpts);
@@ -1274,11 +1296,6 @@ function createWorkflowSandbox(opts) {
1274
1296
  );
1275
1297
  }
1276
1298
  }
1277
- if (typeof agentOpts.phase === 'string' && agentOpts.phase.length > 0) {
1278
- if (__b.lastPhase() !== agentOpts.phase) {
1279
- __b.pushPhase(agentOpts.phase);
1280
- }
1281
- }
1282
1299
  // SECURITY (P3 R2 self-review): user-script-controlled agentOpts
1283
1300
  // cross the vm/host boundary verbatim via vmAsync's hostFn.apply.
1284
1301
  // A Proxy / inherited-getter / non-plain object in agentOpts.schema
@@ -1297,6 +1314,55 @@ function createWorkflowSandbox(opts) {
1297
1314
  String(e && e.message != null ? e.message : e)
1298
1315
  );
1299
1316
  }
1317
+ // effort and disallowedTools are validated on the REVIVED copy: that
1318
+ // is the object the host dispatch and the resume key see, so a getter
1319
+ // cannot show one value here and hand another to the dispatch. Both
1320
+ // are normalized in place (an effort alias becomes its tier; a deny
1321
+ // list has built-in display names mapped to tool names and is sorted
1322
+ // and de-duplicated) so equivalent spellings share one resume key.
1323
+ if (safeOpts.effort !== undefined) {
1324
+ var tier = __b.normalizeEffort(safeOpts.effort);
1325
+ if (tier === null) {
1326
+ throw new Error(
1327
+ "agent({effort}): unknown effort tier " + __b.sanitizeForMessage(JSON.stringify(safeOpts.effort)) + ". " +
1328
+ "Known tiers are: " + __b.effortTiers + "."
1329
+ );
1330
+ }
1331
+ safeOpts.effort = tier;
1332
+ }
1333
+ if (safeOpts.disallowedTools !== undefined) {
1334
+ var denied = safeOpts.disallowedTools;
1335
+ if (
1336
+ !Array.isArray(denied) ||
1337
+ denied.some(function (name) {
1338
+ return typeof name !== 'string' || name.length === 0 || name !== name.trim();
1339
+ })
1340
+ ) {
1341
+ throw new Error(
1342
+ "agent({disallowedTools}): must be an array of non-empty tool-name strings " +
1343
+ "without surrounding whitespace, e.g. ['run_shell_command', 'write_file']."
1344
+ );
1345
+ }
1346
+ var uniqueDenied = [];
1347
+ for (var d = 0; d < denied.length; d++) {
1348
+ var deniedName = __b.canonicalDenyName(denied[d]);
1349
+ if (uniqueDenied.indexOf(deniedName) === -1) uniqueDenied.push(deniedName);
1350
+ }
1351
+ uniqueDenied.sort();
1352
+ if (uniqueDenied.length === 0) {
1353
+ delete safeOpts.disallowedTools;
1354
+ } else {
1355
+ safeOpts.disallowedTools = uniqueDenied;
1356
+ }
1357
+ }
1358
+ // The phase is recorded only once every option gate above has passed,
1359
+ // so a call its options rejected leaves no phase that dispatched
1360
+ // nothing.
1361
+ if (typeof agentOpts.phase === 'string' && agentOpts.phase.length > 0) {
1362
+ if (__b.lastPhase() !== agentOpts.phase) {
1363
+ __b.pushPhase(agentOpts.phase);
1364
+ }
1365
+ }
1300
1366
  // SECURITY (PR #4947 R1 wenshao, extended for P3): vmAsync's resolve
1301
1367
  // path is verbatim (no re-wrap of resolved values). Host-realm
1302
1368
  // strings cross the boundary harmlessly because primitives have no
@@ -1582,7 +1648,7 @@ function createWorkflowSandbox(opts) {
1582
1648
  throw workflowCancelledError();
1583
1649
  }
1584
1650
  const runOpts = {
1585
- timeout: 3e4
1651
+ timeout: WORKFLOW_SYNC_EVALUATION_TIMEOUT_MS
1586
1652
  };
1587
1653
  const result = script.runInContext(ctx, runOpts);
1588
1654
  const timeoutPromise = new Promise((_, reject) => {
@@ -1731,186 +1797,11 @@ var WorkflowBudgetExceededError = class extends Error {
1731
1797
  }
1732
1798
  };
1733
1799
 
1734
- // packages/core/src/agents/runtime/workflow-stall.ts
1735
- init_esbuild_shims();
1736
-
1737
- // packages/core/src/agents/runtime/workflow-agent-failure.ts
1738
- init_esbuild_shims();
1739
- var WorkflowAgentFailedError = class extends Error {
1740
- static {
1741
- __name(this, "WorkflowAgentFailedError");
1742
- }
1743
- name = "WorkflowAgentFailedError";
1744
- kind;
1745
- terminateMode;
1746
- constructor(message, kind, terminateMode) {
1747
- super(message);
1748
- this.kind = kind;
1749
- this.terminateMode = terminateMode;
1750
- }
1751
- };
1752
- function isWorkflowAgentFailedError(error) {
1753
- return typeof error === "object" && error !== null && error.name === "WorkflowAgentFailedError";
1754
- }
1755
- __name(isWorkflowAgentFailedError, "isWorkflowAgentFailedError");
1756
- var WorkflowAgentCapExceededError = class extends Error {
1757
- static {
1758
- __name(this, "WorkflowAgentCapExceededError");
1759
- }
1760
- name = "WorkflowAgentCapExceededError";
1761
- constructor(maxAgents) {
1762
- super(
1763
- `Workflow exceeded the maximum of ${maxAgents} agent() calls per run.`
1764
- );
1765
- }
1766
- };
1767
- function isWorkflowRunLevelError(error) {
1768
- if (typeof error !== "object" || error === null) return false;
1769
- const name = error.name;
1770
- return name === "WorkflowBudgetExceededError" || name === "WorkflowAgentCapExceededError";
1771
- }
1772
- __name(isWorkflowRunLevelError, "isWorkflowRunLevelError");
1773
- var WORKFLOW_ABORT_REASON_STALLED = "stalled";
1774
-
1775
- // packages/core/src/agents/runtime/workflow-stall.ts
1776
- var DEFAULT_STALL_MS = 18e4;
1777
- var MAX_STALL_ATTEMPTS = 3;
1778
- var MAX_WORKFLOW_STALL_MS_ENV = "QWEN_CODE_WORKFLOW_STALL_SECONDS";
1779
- function resolveStallMs(perCall, env = process.env) {
1780
- if (typeof perCall === "number" && Number.isFinite(perCall)) {
1781
- if (perCall === 0) return 0;
1782
- if (perCall > 0) return perCall;
1783
- }
1784
- const raw = env[MAX_WORKFLOW_STALL_MS_ENV];
1785
- const trimmed = raw?.trim();
1786
- if (trimmed) {
1787
- if (trimmed === "0") return 0;
1788
- const sec = parsePositiveIntegerEnv(trimmed, 0);
1789
- if (sec > 0) return sec * 1e3;
1790
- }
1791
- return DEFAULT_STALL_MS;
1792
- }
1793
- __name(resolveStallMs, "resolveStallMs");
1794
- var debugLogger3 = createDebugLogger("WORKFLOW_STALL");
1795
- function attachStallWatchdog(emitter, controller, stallMs) {
1796
- if (stallMs <= 0) {
1797
- return { stalled: /* @__PURE__ */ __name(() => false, "stalled"), dispose: /* @__PURE__ */ __name(() => {
1798
- }, "dispose") };
1799
- }
1800
- let inFlightTools = 0;
1801
- let fired = false;
1802
- let timer;
1803
- let disposed = false;
1804
- const clear = /* @__PURE__ */ __name(() => {
1805
- if (timer) {
1806
- clearTimeout(timer);
1807
- timer = void 0;
1808
- }
1809
- }, "clear");
1810
- const arm = /* @__PURE__ */ __name(() => {
1811
- clear();
1812
- if (disposed || fired) return;
1813
- if (inFlightTools > 0) return;
1814
- timer = setTimeout(() => {
1815
- if (disposed || fired) return;
1816
- fired = true;
1817
- debugLogger3.warn(
1818
- `[Workflow] agent dispatch stalled \u2014 no progress for ${stallMs}ms; aborting.`
1819
- );
1820
- try {
1821
- controller.abort(WORKFLOW_ABORT_REASON_STALLED);
1822
- } catch (e) {
1823
- debugLogger3.warn("stall watchdog abort threw:", e);
1824
- }
1825
- }, stallMs);
1826
- if (typeof timer.unref === "function") {
1827
- timer.unref();
1828
- }
1829
- }, "arm");
1830
- const onActivity = /* @__PURE__ */ __name(() => arm(), "onActivity");
1831
- const onToolCall = /* @__PURE__ */ __name(() => {
1832
- inFlightTools += 1;
1833
- clear();
1834
- }, "onToolCall");
1835
- const onToolResult = /* @__PURE__ */ __name(() => {
1836
- inFlightTools = Math.max(0, inFlightTools - 1);
1837
- arm();
1838
- }, "onToolResult");
1839
- emitter.on("round_start" /* ROUND_START */, onActivity);
1840
- emitter.on("round_end" /* ROUND_END */, onActivity);
1841
- emitter.on("stream_text" /* STREAM_TEXT */, onActivity);
1842
- emitter.on("usage_metadata" /* USAGE_METADATA */, onActivity);
1843
- emitter.on("tool_call" /* TOOL_CALL */, onToolCall);
1844
- emitter.on("tool_result" /* TOOL_RESULT */, onToolResult);
1845
- return {
1846
- stalled: /* @__PURE__ */ __name(() => fired, "stalled"),
1847
- dispose: /* @__PURE__ */ __name(() => {
1848
- if (disposed) return;
1849
- disposed = true;
1850
- clear();
1851
- emitter.off("round_start" /* ROUND_START */, onActivity);
1852
- emitter.off("round_end" /* ROUND_END */, onActivity);
1853
- emitter.off("stream_text" /* STREAM_TEXT */, onActivity);
1854
- emitter.off("usage_metadata" /* USAGE_METADATA */, onActivity);
1855
- emitter.off("tool_call" /* TOOL_CALL */, onToolCall);
1856
- emitter.off("tool_result" /* TOOL_RESULT */, onToolResult);
1857
- }, "dispose")
1858
- };
1859
- }
1860
- __name(attachStallWatchdog, "attachStallWatchdog");
1861
- async function runStallResilient(attemptFn, opts) {
1862
- const { stallMs, signal, label } = opts;
1863
- if (stallMs <= 0) {
1864
- const emitter = new AgentEventEmitter();
1865
- return attemptFn(signal ?? new AbortController().signal, emitter);
1866
- }
1867
- let attempt = 0;
1868
- for (; ; ) {
1869
- attempt += 1;
1870
- const controller = new AbortController();
1871
- let onParentAbort;
1872
- if (signal) {
1873
- if (signal.aborted) {
1874
- controller.abort(signal.reason);
1875
- } else {
1876
- onParentAbort = /* @__PURE__ */ __name(() => controller.abort(signal.reason), "onParentAbort");
1877
- signal.addEventListener("abort", onParentAbort);
1878
- }
1879
- }
1880
- const emitter = new AgentEventEmitter();
1881
- const watchdog = attachStallWatchdog(emitter, controller, stallMs);
1882
- try {
1883
- return await attemptFn(controller.signal, emitter);
1884
- } catch (err) {
1885
- if (signal?.aborted) throw err;
1886
- if (watchdog.stalled() && attempt < MAX_STALL_ATTEMPTS) {
1887
- debugLogger3.warn(
1888
- `[Workflow] agent "${label ?? "workflow-agent"}" stalled (attempt ${attempt}/${MAX_STALL_ATTEMPTS}) \u2014 retrying.`
1889
- );
1890
- continue;
1891
- }
1892
- if (watchdog.stalled()) {
1893
- throw new WorkflowAgentFailedError(
1894
- `agent "${label ?? "workflow-agent"}" stalled on all ${MAX_STALL_ATTEMPTS} attempts (no progress for ${stallMs}ms each).`,
1895
- "stalled"
1896
- );
1897
- }
1898
- throw err;
1899
- } finally {
1900
- watchdog.dispose();
1901
- if (onParentAbort && signal) {
1902
- signal.removeEventListener("abort", onParentAbort);
1903
- }
1904
- }
1905
- }
1906
- }
1907
- __name(runStallResilient, "runStallResilient");
1908
-
1909
1800
  // packages/core/src/agents/runtime/workflow-saved.ts
1910
1801
  init_esbuild_shims();
1911
1802
  import { promises as fs } from "node:fs";
1912
1803
  import * as path from "node:path";
1913
- var debugLogger4 = createDebugLogger("WORKFLOW_SAVED");
1804
+ var debugLogger3 = createDebugLogger("WORKFLOW_SAVED");
1914
1805
  var WORKFLOW_NAME_PATTERN = /^[a-z][a-z0-9-]{0,40}$/;
1915
1806
  function validateWorkflowName(name) {
1916
1807
  if (!name) return "Workflow name is required.";
@@ -1940,7 +1831,7 @@ async function isSymlinkedRoot(dir) {
1940
1831
  __name(isSymlinkedRoot, "isSymlinkedRoot");
1941
1832
  async function listJsFiles(dir) {
1942
1833
  if (await isSymlinkedRoot(dir)) {
1943
- debugLogger4.warn(`refusing symlinked saved-workflow dir: ${dir}`);
1834
+ debugLogger3.warn(`refusing symlinked saved-workflow dir: ${dir}`);
1944
1835
  return [];
1945
1836
  }
1946
1837
  try {
@@ -1956,7 +1847,7 @@ async function listJsFiles(dir) {
1956
1847
  } catch (e) {
1957
1848
  const code = e?.code;
1958
1849
  if (code !== "ENOENT") {
1959
- debugLogger4.warn(`listJsFiles failed for ${dir}: ${e}`);
1850
+ debugLogger3.warn(`listJsFiles failed for ${dir}: ${e}`);
1960
1851
  }
1961
1852
  return [];
1962
1853
  }
@@ -2103,7 +1994,7 @@ __name(saveWorkflowScript, "saveWorkflowScript");
2103
1994
  var INLINE_RUN_ID_PATTERN = /^wf_[0-9a-f]+$/;
2104
1995
  async function persistInlineWorkflowScript(config, runId, script) {
2105
1996
  if (!INLINE_RUN_ID_PATTERN.test(runId)) {
2106
- debugLogger4.warn(`refusing to persist a script for run id: ${runId}`);
1997
+ debugLogger3.warn(`refusing to persist a script for run id: ${runId}`);
2107
1998
  return null;
2108
1999
  }
2109
2000
  const storage = config.storage;
@@ -2112,7 +2003,7 @@ async function persistInlineWorkflowScript(config, runId, script) {
2112
2003
  const filePath = storage.getInlineWorkflowScriptPath(runId);
2113
2004
  const dir = path.dirname(filePath);
2114
2005
  if (await isSymlinkedRoot(storage.getGeneratedWorkflowsDir()) || await isSymlinkedRoot(dir)) {
2115
- debugLogger4.warn(
2006
+ debugLogger3.warn(
2116
2007
  `refusing to persist an inline workflow script into a symlinked root: '${dir}'.`
2117
2008
  );
2118
2009
  return null;
@@ -2126,7 +2017,7 @@ async function persistInlineWorkflowScript(config, runId, script) {
2126
2017
  });
2127
2018
  return filePath;
2128
2019
  } catch (error) {
2129
- debugLogger4.warn(
2020
+ debugLogger3.warn(
2130
2021
  `failed to persist inline workflow script for ${runId}: ${error}`
2131
2022
  );
2132
2023
  return null;
@@ -2141,7 +2032,7 @@ async function deleteInlineWorkflowScript(config, runId) {
2141
2032
  await fs.rm(storage.getInlineWorkflowScriptPath(runId), { force: true });
2142
2033
  return true;
2143
2034
  } catch (error) {
2144
- debugLogger4.warn(
2035
+ debugLogger3.warn(
2145
2036
  `failed to delete inline workflow script for ${runId}: ${error}`
2146
2037
  );
2147
2038
  return false;
@@ -2155,6 +2046,179 @@ import { randomBytes } from "node:crypto";
2155
2046
  import { AsyncLocalStorage } from "node:async_hooks";
2156
2047
  import * as os from "node:os";
2157
2048
 
2049
+ // packages/core/src/agents/runtime/workflow-agent-failure.ts
2050
+ init_esbuild_shims();
2051
+ var WorkflowAgentFailedError = class extends Error {
2052
+ static {
2053
+ __name(this, "WorkflowAgentFailedError");
2054
+ }
2055
+ name = "WorkflowAgentFailedError";
2056
+ kind;
2057
+ terminateMode;
2058
+ constructor(message, kind, terminateMode) {
2059
+ super(message);
2060
+ this.kind = kind;
2061
+ this.terminateMode = terminateMode;
2062
+ }
2063
+ };
2064
+ function isWorkflowAgentFailedError(error) {
2065
+ return typeof error === "object" && error !== null && error.name === "WorkflowAgentFailedError";
2066
+ }
2067
+ __name(isWorkflowAgentFailedError, "isWorkflowAgentFailedError");
2068
+ var WorkflowAgentCapExceededError = class extends Error {
2069
+ static {
2070
+ __name(this, "WorkflowAgentCapExceededError");
2071
+ }
2072
+ name = "WorkflowAgentCapExceededError";
2073
+ constructor(maxAgents) {
2074
+ super(
2075
+ `Workflow exceeded the maximum of ${maxAgents} agent() calls per run.`
2076
+ );
2077
+ }
2078
+ };
2079
+ function isWorkflowRunLevelError(error) {
2080
+ if (typeof error !== "object" || error === null) return false;
2081
+ const name = error.name;
2082
+ return name === "WorkflowBudgetExceededError" || name === "WorkflowAgentCapExceededError";
2083
+ }
2084
+ __name(isWorkflowRunLevelError, "isWorkflowRunLevelError");
2085
+ var WORKFLOW_ABORT_REASON_STALLED = "stalled";
2086
+
2087
+ // packages/core/src/agents/runtime/workflow-stall.ts
2088
+ init_esbuild_shims();
2089
+ var DEFAULT_STALL_MS = 18e4;
2090
+ var MAX_STALL_ATTEMPTS = 3;
2091
+ var MAX_WORKFLOW_STALL_MS_ENV = "QWEN_CODE_WORKFLOW_STALL_SECONDS";
2092
+ function resolveStallMs(perCall, env = process.env) {
2093
+ if (typeof perCall === "number" && Number.isFinite(perCall)) {
2094
+ if (perCall === 0) return 0;
2095
+ if (perCall > 0) return perCall;
2096
+ }
2097
+ const raw = env[MAX_WORKFLOW_STALL_MS_ENV];
2098
+ const trimmed = raw?.trim();
2099
+ if (trimmed) {
2100
+ if (trimmed === "0") return 0;
2101
+ const sec = parsePositiveIntegerEnv(trimmed, 0);
2102
+ if (sec > 0) return sec * 1e3;
2103
+ }
2104
+ return DEFAULT_STALL_MS;
2105
+ }
2106
+ __name(resolveStallMs, "resolveStallMs");
2107
+ var debugLogger4 = createDebugLogger("WORKFLOW_STALL");
2108
+ function attachStallWatchdog(emitter, controller, stallMs) {
2109
+ if (stallMs <= 0) {
2110
+ return { stalled: /* @__PURE__ */ __name(() => false, "stalled"), dispose: /* @__PURE__ */ __name(() => {
2111
+ }, "dispose") };
2112
+ }
2113
+ let inFlightTools = 0;
2114
+ let fired = false;
2115
+ let timer;
2116
+ let disposed = false;
2117
+ const clear = /* @__PURE__ */ __name(() => {
2118
+ if (timer) {
2119
+ clearTimeout(timer);
2120
+ timer = void 0;
2121
+ }
2122
+ }, "clear");
2123
+ const arm = /* @__PURE__ */ __name(() => {
2124
+ clear();
2125
+ if (disposed || fired) return;
2126
+ if (inFlightTools > 0) return;
2127
+ timer = setTimeout(() => {
2128
+ if (disposed || fired) return;
2129
+ fired = true;
2130
+ debugLogger4.warn(
2131
+ `[Workflow] agent dispatch stalled \u2014 no progress for ${stallMs}ms; aborting.`
2132
+ );
2133
+ try {
2134
+ controller.abort(WORKFLOW_ABORT_REASON_STALLED);
2135
+ } catch (e) {
2136
+ debugLogger4.warn("stall watchdog abort threw:", e);
2137
+ }
2138
+ }, stallMs);
2139
+ if (typeof timer.unref === "function") {
2140
+ timer.unref();
2141
+ }
2142
+ }, "arm");
2143
+ const onActivity = /* @__PURE__ */ __name(() => arm(), "onActivity");
2144
+ const onToolCall = /* @__PURE__ */ __name(() => {
2145
+ inFlightTools += 1;
2146
+ clear();
2147
+ }, "onToolCall");
2148
+ const onToolResult = /* @__PURE__ */ __name(() => {
2149
+ inFlightTools = Math.max(0, inFlightTools - 1);
2150
+ arm();
2151
+ }, "onToolResult");
2152
+ emitter.on("round_start" /* ROUND_START */, onActivity);
2153
+ emitter.on("round_end" /* ROUND_END */, onActivity);
2154
+ emitter.on("stream_text" /* STREAM_TEXT */, onActivity);
2155
+ emitter.on("usage_metadata" /* USAGE_METADATA */, onActivity);
2156
+ emitter.on("tool_call" /* TOOL_CALL */, onToolCall);
2157
+ emitter.on("tool_result" /* TOOL_RESULT */, onToolResult);
2158
+ return {
2159
+ stalled: /* @__PURE__ */ __name(() => fired, "stalled"),
2160
+ dispose: /* @__PURE__ */ __name(() => {
2161
+ if (disposed) return;
2162
+ disposed = true;
2163
+ clear();
2164
+ emitter.off("round_start" /* ROUND_START */, onActivity);
2165
+ emitter.off("round_end" /* ROUND_END */, onActivity);
2166
+ emitter.off("stream_text" /* STREAM_TEXT */, onActivity);
2167
+ emitter.off("usage_metadata" /* USAGE_METADATA */, onActivity);
2168
+ emitter.off("tool_call" /* TOOL_CALL */, onToolCall);
2169
+ emitter.off("tool_result" /* TOOL_RESULT */, onToolResult);
2170
+ }, "dispose")
2171
+ };
2172
+ }
2173
+ __name(attachStallWatchdog, "attachStallWatchdog");
2174
+ async function runStallResilient(attemptFn, opts) {
2175
+ const { stallMs, signal, label } = opts;
2176
+ if (stallMs <= 0) {
2177
+ const emitter = new AgentEventEmitter();
2178
+ return attemptFn(signal ?? new AbortController().signal, emitter);
2179
+ }
2180
+ let attempt = 0;
2181
+ for (; ; ) {
2182
+ attempt += 1;
2183
+ const controller = new AbortController();
2184
+ let onParentAbort;
2185
+ if (signal) {
2186
+ if (signal.aborted) {
2187
+ controller.abort(signal.reason);
2188
+ } else {
2189
+ onParentAbort = /* @__PURE__ */ __name(() => controller.abort(signal.reason), "onParentAbort");
2190
+ signal.addEventListener("abort", onParentAbort);
2191
+ }
2192
+ }
2193
+ const emitter = new AgentEventEmitter();
2194
+ const watchdog = attachStallWatchdog(emitter, controller, stallMs);
2195
+ try {
2196
+ return await attemptFn(controller.signal, emitter);
2197
+ } catch (err) {
2198
+ if (signal?.aborted) throw err;
2199
+ if (watchdog.stalled() && attempt < MAX_STALL_ATTEMPTS) {
2200
+ debugLogger4.warn(
2201
+ `[Workflow] agent "${label ?? "workflow-agent"}" stalled (attempt ${attempt}/${MAX_STALL_ATTEMPTS}) \u2014 retrying.`
2202
+ );
2203
+ continue;
2204
+ }
2205
+ if (watchdog.stalled()) {
2206
+ throw new WorkflowAgentFailedError(
2207
+ `agent "${label ?? "workflow-agent"}" stalled on all ${MAX_STALL_ATTEMPTS} attempts (no progress for ${stallMs}ms each).`,
2208
+ "stalled"
2209
+ );
2210
+ }
2211
+ throw err;
2212
+ } finally {
2213
+ watchdog.dispose();
2214
+ if (onParentAbort && signal) {
2215
+ signal.removeEventListener("abort", onParentAbort);
2216
+ }
2217
+ }
2218
+ }
2219
+ }
2220
+ __name(runStallResilient, "runStallResilient");
2221
+
2158
2222
  // packages/core/src/agents/runtime/workflow-journal.ts
2159
2223
  init_esbuild_shims();
2160
2224
  import { createHash } from "node:crypto";
@@ -2162,15 +2226,18 @@ import { constants, promises as fs2 } from "node:fs";
2162
2226
  import path2 from "node:path";
2163
2227
  var debugLogger5 = createDebugLogger("WORKFLOW_JOURNAL");
2164
2228
  var JOURNAL_KEY_VERSION = "v2";
2229
+ var DISPATCH_AFFECTING_AGENT_OPTS = [
2230
+ "schema",
2231
+ "model",
2232
+ "effort",
2233
+ "isolation",
2234
+ "agentType",
2235
+ "workingDir",
2236
+ "disallowedTools"
2237
+ ];
2165
2238
  function canonicalizeAgentOpts(opts) {
2166
2239
  const projected = {};
2167
- for (const k of [
2168
- "schema",
2169
- "model",
2170
- "isolation",
2171
- "agentType",
2172
- "workingDir"
2173
- ]) {
2240
+ for (const k of DISPATCH_AFFECTING_AGENT_OPTS) {
2174
2241
  const v = opts[k];
2175
2242
  if (v === void 0 || typeof v === "function") continue;
2176
2243
  projected[k] = v;
@@ -2671,11 +2738,11 @@ function terminalDispatchError(workflowAgentId, mode) {
2671
2738
  }
2672
2739
  __name(terminalDispatchError, "terminalDispatchError");
2673
2740
  async function runSingleDispatch(config, prompt, opts, attemptSignal, emitter, workflowAgentId, agentIdentity, onTokens, subagentBounds) {
2674
- const { AgentHeadless, ContextState } = await import("./agent-headless-RI2THRQ7.js");
2741
+ const { AgentHeadless, ContextState } = await import("./agent-headless-TU5N3GFF.js");
2675
2742
  const ctx = new ContextState();
2676
2743
  ctx.set("task_prompt", prompt);
2677
2744
  debugLogger.debug(`[workflow] Dispatch ${workflowAgentId}`);
2678
- if (opts.agentType === void 0 && opts.model === void 0 && opts.isolation === void 0 && opts.schema === void 0 && opts.workingDir === void 0) {
2745
+ if (DISPATCH_AFFECTING_AGENT_OPTS.every((key) => opts[key] === void 0)) {
2679
2746
  const subagent = await AgentHeadless.create(
2680
2747
  agentIdentity.name,
2681
2748
  config,
@@ -2740,12 +2807,39 @@ function reportTokens(subagent, opts, onTokens) {
2740
2807
  }
2741
2808
  }
2742
2809
  __name(reportTokens, "reportTokens");
2810
+ function resolveDispatchEffort(raw) {
2811
+ if (raw === void 0) return void 0;
2812
+ const tier = typeof raw === "string" ? normalizeReasoningEffort(raw) : void 0;
2813
+ if (tier === void 0) {
2814
+ throw new Error(
2815
+ `agent({effort}): unknown effort tier ${sanitizeForErrorMessage(
2816
+ JSON.stringify(raw) ?? String(raw)
2817
+ )}. Known tiers are: ${REASONING_EFFORT_TIERS.join(", ")}.`
2818
+ );
2819
+ }
2820
+ return tier;
2821
+ }
2822
+ __name(resolveDispatchEffort, "resolveDispatchEffort");
2823
+ function resolveDispatchDenies(raw) {
2824
+ if (raw === void 0) return [];
2825
+ if (!Array.isArray(raw) || raw.some(
2826
+ (name) => typeof name !== "string" || name.length === 0 || name !== name.trim()
2827
+ )) {
2828
+ throw new Error(
2829
+ "agent({disallowedTools}): must be an array of non-empty tool-name strings without surrounding whitespace, e.g. ['run_shell_command', 'write_file']."
2830
+ );
2831
+ }
2832
+ return raw.map((name) => resolveBuiltinToolName(name) ?? name);
2833
+ }
2834
+ __name(resolveDispatchDenies, "resolveDispatchDenies");
2743
2835
  async function runOverridePath(config, ctx, opts, signal, workflowAgentId, agentIdentity, onTokens, emitter, subagentBounds) {
2744
2836
  if (opts.isolation === "remote") {
2745
2837
  throw new Error(
2746
2838
  "agent({isolation:'remote'}) is not available in this build."
2747
2839
  );
2748
2840
  }
2841
+ const effort = resolveDispatchEffort(opts.effort);
2842
+ const requestedDenies = resolveDispatchDenies(opts.disallowedTools);
2749
2843
  const subagentMgr = config.getSubagentManager();
2750
2844
  let baseConfig;
2751
2845
  if (opts.agentType !== void 0) {
@@ -2784,10 +2878,28 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2784
2878
  disallowedTools: Array.from(
2785
2879
  /* @__PURE__ */ new Set([
2786
2880
  ...baseConfig.disallowedTools ?? [],
2787
- ...WORKFLOW_SUBAGENT_DISALLOWED_TOOLS
2881
+ ...WORKFLOW_SUBAGENT_DISALLOWED_TOOLS,
2882
+ ...requestedDenies
2788
2883
  ])
2789
2884
  )
2790
2885
  };
2886
+ if (requestedDenies.length > 0) {
2887
+ const unmatched = await subagentMgr.findUnmatchedToolNames(requestedDenies);
2888
+ if (unmatched.length > 0) {
2889
+ throw new Error(
2890
+ `agent({disallowedTools}): ${sanitizeForErrorMessage(
2891
+ unmatched.map((name) => JSON.stringify(name)).join(", ")
2892
+ )} ${unmatched.length === 1 ? "matches" : "match"} no tool. Use a tool name (run_shell_command, write_file, edit), a display name (Shell, WriteFile, Edit), or an MCP pattern (mcp__<server>, mcp__<server>__*, mcp__<server>__<tool>).`
2893
+ );
2894
+ }
2895
+ }
2896
+ if (opts.schema !== void 0 && [...baseConfig.disallowedTools ?? [], ...requestedDenies].some(
2897
+ (name) => (resolveBuiltinToolName(name) ?? name) === ToolNames.STRUCTURED_OUTPUT
2898
+ )) {
2899
+ throw new Error(
2900
+ "agent({schema, disallowedTools}): schema mode needs the structured_output tool, but disallowedTools deny it (from this call or from the agent type)."
2901
+ );
2902
+ }
2791
2903
  let worktreeIsolation = null;
2792
2904
  let effectiveContext = config;
2793
2905
  let approvalCleanup;
@@ -2870,6 +2982,7 @@ ${WORKFLOW_SUBAGENT_SYSTEM_PROMPT_WITH_SCHEMA}` : WORKFLOW_SUBAGENT_SYSTEM_PROMP
2870
2982
  max_turns: resolveSubagentMaxTurns(),
2871
2983
  max_time_minutes: resolveSubagentMaxTimeMinutes()
2872
2984
  },
2985
+ ...effort !== void 0 ? { modelConfigOverrides: { reasoningEffort: effort } } : {},
2873
2986
  eventEmitter,
2874
2987
  taskName: String(ctx.get("task_prompt")),
2875
2988
  subagentId: workflowAgentId
@@ -3853,12 +3966,98 @@ async function pruneSnapshots(config, dir) {
3853
3966
  }
3854
3967
  __name(pruneSnapshots, "pruneSnapshots");
3855
3968
 
3969
+ // packages/core/src/skills/workflow-authoring-skill.ts
3970
+ init_esbuild_shims();
3971
+ import { readFileSync } from "node:fs";
3972
+ import * as path4 from "node:path";
3973
+ var debugLogger7 = createDebugLogger("WORKFLOW_AUTHORING_SKILL");
3974
+ var WORKFLOW_AUTHORING_SKILL_NAME = "workflow-authoring";
3975
+ var cachedReference;
3976
+ function referencePath() {
3977
+ return path4.join(
3978
+ resolveBundleDir(import.meta.url),
3979
+ "bundled",
3980
+ WORKFLOW_AUTHORING_SKILL_NAME,
3981
+ "SKILL.md"
3982
+ );
3983
+ }
3984
+ __name(referencePath, "referencePath");
3985
+ function readWorkflowAuthoringReference() {
3986
+ if (cachedReference !== void 0) return cachedReference;
3987
+ try {
3988
+ const filePath = referencePath();
3989
+ const parsed = parseSkillContent(readFileSync(filePath, "utf8"), filePath);
3990
+ cachedReference = { body: parsed.body, baseDir: path4.dirname(filePath) };
3991
+ } catch (error) {
3992
+ debugLogger7.warn(`cannot read the workflow-authoring reference: ${error}`);
3993
+ cachedReference = null;
3994
+ }
3995
+ return cachedReference;
3996
+ }
3997
+ __name(readWorkflowAuthoringReference, "readWorkflowAuthoringReference");
3998
+ function resolveWorkflowAuthoringRoute(config) {
3999
+ try {
4000
+ if (config.getDisabledSkillLevels?.()?.has("bundled")) return "withheld";
4001
+ if (config.isSkillEnabled?.({
4002
+ name: WORKFLOW_AUTHORING_SKILL_NAME,
4003
+ level: "bundled"
4004
+ }) === false) {
4005
+ return "withheld";
4006
+ }
4007
+ if (!config.getSkillManager?.()) return "inline";
4008
+ const registry = config.getToolRegistry?.();
4009
+ const toolNames = registry?.getAllToolNames?.();
4010
+ if (!Array.isArray(toolNames)) return "skill";
4011
+ if (!toolNames.includes(ToolNames.SKILL)) return "inline";
4012
+ if (isToolDeferredBehindToolSearch(config, ToolNames.SKILL)) {
4013
+ return toolNames.includes(ToolNames.TOOL_SEARCH) ? "skill-via-tool-search" : "inline";
4014
+ }
4015
+ return "skill";
4016
+ } catch (error) {
4017
+ debugLogger7.warn(`cannot resolve the workflow-authoring route: ${error}`);
4018
+ return "skill";
4019
+ }
4020
+ }
4021
+ __name(resolveWorkflowAuthoringRoute, "resolveWorkflowAuthoringRoute");
4022
+ function resolveWorkflowAuthoringSurface(config) {
4023
+ const route = resolveWorkflowAuthoringRoute(config);
4024
+ switch (route) {
4025
+ case "skill":
4026
+ return "pointer";
4027
+ case "skill-via-tool-search":
4028
+ return "pointer-via-tool-search";
4029
+ case "withheld":
4030
+ return "withheld";
4031
+ case "inline":
4032
+ return readWorkflowAuthoringReference() ? "inline" : "pointer";
4033
+ default: {
4034
+ const unhandled = route;
4035
+ return unhandled;
4036
+ }
4037
+ }
4038
+ }
4039
+ __name(resolveWorkflowAuthoringSurface, "resolveWorkflowAuthoringSurface");
4040
+ function isToolDeferredBehindToolSearch(config, name) {
4041
+ if (!config.getToolRegistry?.()?.isPermissionDeferred?.(name)) return false;
4042
+ return !config.getVisibleTools?.()?.has(name);
4043
+ }
4044
+ __name(isToolDeferredBehindToolSearch, "isToolDeferredBehindToolSearch");
4045
+ function isToolHiddenBehindToolSearch(config, name) {
4046
+ if (!isToolDeferredBehindToolSearch(config, name)) return false;
4047
+ return !config.getToolRegistry?.()?.isDeferredToolRevealed?.(name);
4048
+ }
4049
+ __name(isToolHiddenBehindToolSearch, "isToolHiddenBehindToolSearch");
4050
+ function toolSearchRevealSentence(toolDisplayName) {
4051
+ return `If the ${toolDisplayName} tool is not in your tool list, reveal it with ToolSearch first.`;
4052
+ }
4053
+ __name(toolSearchRevealSentence, "toolSearchRevealSentence");
4054
+
3856
4055
  // packages/core/src/agents/runtime/review-workflow.ts
3857
4056
  init_esbuild_shims();
3858
4057
  import { createHash as createHash2 } from "node:crypto";
3859
4058
  import { promises as fs4 } from "node:fs";
3860
- import path4 from "node:path";
3861
- var debugLogger7 = createDebugLogger("REVIEW_WORKFLOW");
4059
+ import path5 from "node:path";
4060
+ var debugLogger8 = createDebugLogger("REVIEW_WORKFLOW");
3862
4061
  function resolveReviewWorkflowConcurrency(env = process.env) {
3863
4062
  const configured = parsePositiveIntegerEnv(env[MAX_WORKFLOW_CONCURRENCY_ENV], 0) || parsePositiveIntegerEnv(env["QWEN_CODE_MAX_TOOL_CONCURRENCY"], 10);
3864
4063
  return resolveConcurrencyLimit({
@@ -3872,12 +4071,12 @@ async function resolveReviewWorkflowLimits(scriptPath, generatedDir, scriptConte
3872
4071
  if ((await fs4.lstat(generatedDir)).isSymbolicLink()) return void 0;
3873
4072
  const generatedRoot = await fs4.realpath(generatedDir);
3874
4073
  canonicalScript = await fs4.realpath(scriptPath);
3875
- if (!canonicalScript.startsWith(path4.join(generatedRoot, "review") + path4.sep)) {
4074
+ if (!canonicalScript.startsWith(path5.join(generatedRoot, "review") + path5.sep)) {
3876
4075
  return void 0;
3877
4076
  }
3878
4077
  } catch (error) {
3879
4078
  if (error.code !== "ENOENT") {
3880
- debugLogger7.warn(
4079
+ debugLogger8.warn(
3881
4080
  "Cannot classify review workflow; using generic limits:",
3882
4081
  error
3883
4082
  );
@@ -3885,7 +4084,7 @@ async function resolveReviewWorkflowLimits(scriptPath, generatedDir, scriptConte
3885
4084
  return void 0;
3886
4085
  }
3887
4086
  const digest = /^qwen-review-[a-f0-9]{10}-([a-f0-9]{64})\.js$/.exec(
3888
- path4.basename(canonicalScript)
4087
+ path5.basename(canonicalScript)
3889
4088
  )?.[1];
3890
4089
  if (!digest || createHash2("sha256").update(scriptContent).digest("hex") !== digest) {
3891
4090
  return void 0;
@@ -3923,9 +4122,6 @@ export {
3923
4122
  MAX_TOKENS_PER_WORKFLOW_ENV,
3924
4123
  resolveMaxTokensPerWorkflow,
3925
4124
  WorkflowBudgetImpl,
3926
- DEFAULT_STALL_MS,
3927
- MAX_STALL_ATTEMPTS,
3928
- MAX_WORKFLOW_STALL_MS_ENV,
3929
4125
  validateWorkflowName,
3930
4126
  isSymlinkedRoot,
3931
4127
  listSavedWorkflows,
@@ -3952,7 +4148,12 @@ export {
3952
4148
  listWorkflowSnapshots,
3953
4149
  deleteWorkflowSnapshot,
3954
4150
  resolveReviewWorkflowConcurrency,
3955
- resolveReviewWorkflowLimits
4151
+ resolveReviewWorkflowLimits,
4152
+ WORKFLOW_AUTHORING_SKILL_NAME,
4153
+ readWorkflowAuthoringReference,
4154
+ resolveWorkflowAuthoringSurface,
4155
+ isToolHiddenBehindToolSearch,
4156
+ toolSearchRevealSentence
3956
4157
  };
3957
4158
  /**
3958
4159
  * @license