@qwen-code/qwen-code 0.22.3 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/README.md +30 -0
  2. package/bundled/computer-use/SKILL.md +116 -180
  3. package/bundled/goal-draft/SKILL.md +5 -1
  4. package/bundled/qc-helper/docs/common-workflow.md +32 -0
  5. package/bundled/qc-helper/docs/configuration/auth.md +6 -6
  6. package/bundled/qc-helper/docs/configuration/model-providers.md +8 -2
  7. package/bundled/qc-helper/docs/configuration/settings.md +63 -58
  8. package/bundled/qc-helper/docs/extension/introduction.md +1 -1
  9. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  10. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  11. package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
  12. package/bundled/qc-helper/docs/features/channels/dingtalk.md +4 -2
  13. package/bundled/qc-helper/docs/features/channels/dws.md +6 -2
  14. package/bundled/qc-helper/docs/features/channels/overview.md +5 -2
  15. package/bundled/qc-helper/docs/features/code-review.md +2 -2
  16. package/bundled/qc-helper/docs/features/commands.md +79 -1
  17. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  18. package/bundled/qc-helper/docs/features/goals.md +9 -3
  19. package/bundled/qc-helper/docs/features/headless.md +16 -1
  20. package/bundled/qc-helper/docs/features/hooks.md +8 -3
  21. package/bundled/qc-helper/docs/features/memory.md +1 -0
  22. package/bundled/qc-helper/docs/features/output-styles.md +38 -0
  23. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
  24. package/bundled/qc-helper/docs/qwen-serve.md +74 -55
  25. package/bundled/review/SKILL.md +16 -7
  26. package/bundled/review/references/posting.md +3 -3
  27. package/chunks/MaxSizedBox-B3D7545A.js +111 -0
  28. package/chunks/{StandaloneSessionPicker-2FJAOLGG.js → StandaloneSessionPicker-QUMO4LLQ.js} +88 -86
  29. package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
  30. package/chunks/{acpAgent-2ZMIJAFV.js → acpAgent-2GTFCIEP.js} +2041 -444
  31. package/chunks/{agent-X5WX3L2I.js → agent-XKF5SZWU.js} +46 -46
  32. package/chunks/agent-headless-OC2IB55D.js +85 -0
  33. package/chunks/{anthropicContentGenerator-YVTB6QX7.js → anthropicContentGenerator-L76MR5OR.js} +53 -20
  34. package/chunks/{artifact-tool-XSMPHZBT.js → artifact-tool-MYCL2QCS.js} +3 -4
  35. package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-THQZMG44.js} +45 -7
  36. package/chunks/bridge-IHSBI2YJ.js +118 -0
  37. package/chunks/{build-INBK7IXX.js → build-63BIOYWK.js} +1 -1
  38. package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
  39. package/chunks/{channel-management-service-HQ6KDS7C.js → channel-management-service-4MTCEGJB.js} +4 -4
  40. package/chunks/channel-settings-store-BVKWAI2T.js +121 -0
  41. package/chunks/{channel-worker-group-6NA6BBZV.js → channel-worker-group-47F4ISUZ.js} +7 -7
  42. package/chunks/{channel-worker-manager-NEZ2J6RK.js → channel-worker-manager-I5Y44GYR.js} +51 -10
  43. package/chunks/{channel-worker-supervisor-FKU7DIHJ.js → channel-worker-supervisor-6VCLUXFE.js} +4 -4
  44. package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
  45. package/chunks/chunk-24FVUD5P.js +49 -0
  46. package/chunks/{chunk-MZCJWS5Y.js → chunk-2M3EWQNG.js} +20 -0
  47. package/chunks/{chunk-7T52W4SW.js → chunk-32LU3APX.js} +1 -1
  48. package/chunks/{chunk-42IDLQWS.js → chunk-373DQUVA.js} +48 -13
  49. package/chunks/{chunk-MSBO7X2W.js → chunk-37JFWFCD.js} +1 -1
  50. package/chunks/{chunk-3JXM2CVW.js → chunk-3AKCBZVW.js} +3 -3
  51. package/chunks/{chunk-TVC6HQ2U.js → chunk-3JQZVCBI.js} +2 -2
  52. package/chunks/{chunk-2LNNVAUV.js → chunk-3L724BJ5.js} +246 -15
  53. package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
  54. package/chunks/{chunk-WNPDGUJO.js → chunk-47RYEQW5.js} +2 -3
  55. package/chunks/{chunk-TZBSGJ6C.js → chunk-4BGDFKQE.js} +7 -7
  56. package/chunks/{chunk-PZ66FRIC.js → chunk-4F7GQGXB.js} +11772 -4773
  57. package/chunks/{chunk-DMLVSW7L.js → chunk-4HVH57J3.js} +713 -9
  58. package/chunks/{chunk-CMHFCLBU.js → chunk-4LIFGNI4.js} +1 -1
  59. package/chunks/{chunk-3SZC4VP4.js → chunk-4M24B5J5.js} +88 -49
  60. package/chunks/{chunk-BOWFGCEU.js → chunk-4PSDSCW3.js} +3 -3
  61. package/chunks/chunk-4UANMABT.js +1026 -0
  62. package/chunks/{chunk-M3QRM3DE.js → chunk-54C6PIGT.js} +5 -5
  63. package/chunks/{chunk-HP5LR5HL.js → chunk-5EIOJGCR.js} +4 -4
  64. package/chunks/{chunk-64REQJJ2.js → chunk-5H5S4UY5.js} +3 -3
  65. package/chunks/chunk-5IENVM7Z.js +35 -0
  66. package/chunks/{chunk-I6LYRJPB.js → chunk-5Q5RC2WE.js} +2 -2
  67. package/chunks/{chunk-WGY3AVGM.js → chunk-5RTTI4GE.js} +79 -5
  68. package/chunks/{chunk-KID24ZFN.js → chunk-64QH2UC6.js} +13 -1
  69. package/chunks/{chunk-MF7HCQWZ.js → chunk-65HWLGA7.js} +3 -3
  70. package/chunks/{chunk-OU5APVWO.js → chunk-6A2D4QSO.js} +13 -7
  71. package/chunks/chunk-6HUXPLB5.js +110 -0
  72. package/chunks/{chunk-VQUGEVGR.js → chunk-7IKXTGZT.js} +1 -1
  73. package/chunks/{chunk-UTLCH2FK.js → chunk-7JMGTOH7.js} +437 -136
  74. package/chunks/{chunk-7LOELM2I.js → chunk-7RB56BRJ.js} +3 -3
  75. package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
  76. package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
  77. package/chunks/chunk-ADJD4LZF.js +210 -0
  78. package/chunks/{chunk-T7KMERIX.js → chunk-ADYN7P2Y.js} +2 -2
  79. package/chunks/{chunk-TPI7O7HR.js → chunk-AHYTURFB.js} +1 -1
  80. package/chunks/{chunk-LUEHOUHM.js → chunk-AI35S34R.js} +3 -3
  81. package/chunks/{chunk-CIZCL2MW.js → chunk-ALUYNJPM.js} +1486 -2172
  82. package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
  83. package/chunks/{chunk-6ZPDLGHN.js → chunk-AZJLY2XZ.js} +5 -5
  84. package/chunks/{chunk-A3LWD5MK.js → chunk-BA4WJC4L.js} +1 -1
  85. package/chunks/{chunk-W3JH33JE.js → chunk-BFY33IB4.js} +18 -10
  86. package/chunks/{chunk-N4X7G4J2.js → chunk-BHTYRHJF.js} +1 -1
  87. package/chunks/{chunk-TEBDFQBZ.js → chunk-BJXCYUGM.js} +11 -6
  88. package/chunks/{chunk-7VMIMAVB.js → chunk-C2VWOXHS.js} +8 -8
  89. package/chunks/{chunk-XHF7WQ6B.js → chunk-C4TIXFDZ.js} +16 -5
  90. package/chunks/chunk-CHEIIBT3.js +40 -0
  91. package/chunks/chunk-CVX63TFJ.js +348 -0
  92. package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
  93. package/chunks/{chunk-EKSCLBBF.js → chunk-DQCKVAF5.js} +23 -5
  94. package/chunks/{chunk-734C6JGI.js → chunk-DSX7KQPM.js} +5195 -666
  95. package/chunks/{chunk-4CMJKUND.js → chunk-DTVQSSNM.js} +67 -2
  96. package/chunks/{chunk-BKWNKLZB.js → chunk-DYTW3QVG.js} +24 -9
  97. package/chunks/{chunk-C2X7KY45.js → chunk-E4JNFXNI.js} +3 -3
  98. package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
  99. package/chunks/{chunk-YLSQLSH7.js → chunk-EBDGRBZX.js} +24 -16
  100. package/chunks/{chunk-DJBQCO2E.js → chunk-EFTPIZIC.js} +412 -3
  101. package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
  102. package/chunks/{chunk-4TT3IVGA.js → chunk-EIY7SUPZ.js} +1 -1
  103. package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
  104. package/chunks/{chunk-ZWJDJ6RU.js → chunk-EVFDRBUM.js} +157 -153
  105. package/chunks/{chunk-4VPCTGH6.js → chunk-EWRW2WQC.js} +15 -9
  106. package/chunks/{chunk-VBCPNIQD.js → chunk-F33GFWPR.js} +47 -184
  107. package/chunks/{chunk-ERFDKH32.js → chunk-F47DITLZ.js} +19 -8
  108. package/chunks/{chunk-73RM4POK.js → chunk-F7NF2IOE.js} +7 -7
  109. package/chunks/{chunk-EB6QRGHM.js → chunk-FD5SJOWT.js} +10 -7
  110. package/chunks/{chunk-SS5SDCD3.js → chunk-FRICLXCZ.js} +7 -7
  111. package/chunks/{chunk-NU7RKEZR.js → chunk-FUO5V5KI.js} +14 -7
  112. package/chunks/{chunk-G6FECKTJ.js → chunk-G5PBOQWI.js} +9 -6
  113. package/chunks/{chunk-CAJTKR6W.js → chunk-G7HBEEX7.js} +15 -9
  114. package/chunks/{chunk-4QHPPXK2.js → chunk-GB4UKWY5.js} +2 -2
  115. package/chunks/{chunk-QYMAKPY5.js → chunk-GH2S4GD5.js} +350 -12
  116. package/chunks/{chunk-LHBUKJG2.js → chunk-GXUTFQXK.js} +28 -25
  117. package/chunks/{chunk-KJO2LBUK.js → chunk-H43PSPYS.js} +5 -5
  118. package/chunks/{chunk-XSG6G3G6.js → chunk-HJBHMANB.js} +12 -14
  119. package/chunks/chunk-HRPFBHW7.js +336 -0
  120. package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
  121. package/chunks/{chunk-HCOBAG2L.js → chunk-HWVUSYSN.js} +3 -8
  122. package/chunks/{chunk-2OUD5T67.js → chunk-I2TMJPCV.js} +213 -185
  123. package/chunks/{chunk-CLWO3B77.js → chunk-I4NRYS6A.js} +11 -11
  124. package/chunks/{chunk-V7EESTJV.js → chunk-I5N4EAS6.js} +1 -1
  125. package/chunks/{chunk-K5KXUXWC.js → chunk-IG4W5SJR.js} +3 -3
  126. package/chunks/{chunk-FROAFEFB.js → chunk-IPATA3T2.js} +3 -3
  127. package/chunks/{chunk-NKLP3DCK.js → chunk-IQAFKVXS.js} +1 -1
  128. package/chunks/{chunk-AYHQZBJ4.js → chunk-IRKQ4YYX.js} +3 -3
  129. package/chunks/{chunk-J3NNHTV6.js → chunk-J5TTWBZK.js} +6 -0
  130. package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
  131. package/chunks/{chunk-AVNATYLY.js → chunk-JJKNYRFY.js} +1 -1
  132. package/chunks/{chunk-CQH5KTKC.js → chunk-JR42V4UY.js} +1 -1
  133. package/chunks/chunk-JS73NNWF.js +30 -0
  134. package/chunks/{chunk-NV55WWD6.js → chunk-JUARRUMA.js} +802 -2011
  135. package/chunks/chunk-JX6XHPTX.js +26 -0
  136. package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
  137. package/chunks/{chunk-P2G476QN.js → chunk-KEVYJSI4.js} +13 -13
  138. package/chunks/{chunk-B466ZSHZ.js → chunk-KFN2IZYR.js} +3 -3
  139. package/chunks/{chunk-JWALNCLT.js → chunk-KGV55H53.js} +1 -1
  140. package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
  141. package/chunks/{chunk-2SXSLSQE.js → chunk-KM3XVTMO.js} +12 -6
  142. package/chunks/{chunk-GPGU4S2N.js → chunk-KMU3ZHH4.js} +3 -3
  143. package/chunks/chunk-KOGW3YWJ.js +2054 -0
  144. package/chunks/{chunk-NMOD2FXQ.js → chunk-L26ONV2Y.js} +8 -8
  145. package/chunks/chunk-L34XSHIZ.js +28 -0
  146. package/chunks/{chunk-SEONHUS3.js → chunk-LAUEEBDL.js} +2 -0
  147. package/chunks/{chunk-3WK3QDNV.js → chunk-LB3WQQJK.js} +2 -2
  148. package/chunks/{chunk-URE3QBBB.js → chunk-LEPCWS5A.js} +3 -3
  149. package/chunks/{chunk-36GSQ3MM.js → chunk-LHBNR6EU.js} +2 -2
  150. package/chunks/{chunk-V4264FEG.js → chunk-LKODFJRD.js} +1 -1
  151. package/chunks/{chunk-PADPMMYM.js → chunk-LOBDDFYK.js} +5 -29
  152. package/chunks/{chunk-BXDAPVQU.js → chunk-LU77UT4D.js} +28 -4
  153. package/chunks/{chunk-RFIDDFAL.js → chunk-M4KFODIP.js} +1 -1
  154. package/chunks/{chunk-CFJY4DGX.js → chunk-M4LBBSVP.js} +4 -2
  155. package/chunks/{chunk-KYWTPLBJ.js → chunk-MOF6VZN2.js} +2 -2
  156. package/chunks/{chunk-DJPASAUV.js → chunk-MP6YZ4RK.js} +4829 -3638
  157. package/chunks/{chunk-T26EAKDL.js → chunk-N2TNM3QB.js} +2 -6
  158. package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
  159. package/chunks/{chunk-7S226YTK.js → chunk-NFIDVZND.js} +11 -1
  160. package/chunks/{chunk-ZEYFMJQA.js → chunk-NQ4L2CMD.js} +83 -18
  161. package/chunks/{chunk-ZZUKP7HV.js → chunk-NRL5CUZT.js} +1 -1
  162. package/chunks/{chunk-WXEA74YB.js → chunk-NSUKQ4DN.js} +9 -3
  163. package/chunks/chunk-NUHOLAQ6.js +59 -0
  164. package/chunks/{chunk-DJEZ55D4.js → chunk-NVVJTUSL.js} +336 -140
  165. package/chunks/{chunk-3XKLXHGK.js → chunk-NXKOVOM5.js} +9 -9
  166. package/chunks/{chunk-5Q372OFJ.js → chunk-O4KNCAX4.js} +57 -10
  167. package/chunks/{chunk-GOXKNSDZ.js → chunk-O5CD7T4T.js} +40 -9
  168. package/chunks/{chunk-XIQ5HQ2F.js → chunk-OBTWL6ZW.js} +1 -1
  169. package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
  170. package/chunks/{chunk-5MK45KZ3.js → chunk-OHOO527W.js} +1 -1
  171. package/chunks/{chunk-36LGBEM6.js → chunk-OHU2H5CS.js} +1 -1
  172. package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
  173. package/chunks/{chunk-CETB5XY4.js → chunk-ORFIYTI2.js} +1 -1
  174. package/chunks/{chunk-7E7UCJHS.js → chunk-OSHQMOBS.js} +18 -17
  175. package/chunks/chunk-OSSTATJF.js +1310 -0
  176. package/chunks/chunk-P6UIF2OW.js +400 -0
  177. package/chunks/{chunk-U54AYGEC.js → chunk-PB7JBAHF.js} +15 -49
  178. package/chunks/{chunk-Y5S7LBOZ.js → chunk-PCRBLMIN.js} +17 -3
  179. package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
  180. package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
  181. package/chunks/{chunk-ST5MDGH3.js → chunk-QI27MKNQ.js} +27 -19
  182. package/chunks/{chunk-MK2GIB46.js → chunk-QJGYU5PG.js} +1 -1
  183. package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
  184. package/chunks/{chunk-MQM5PJML.js → chunk-QJVZLILI.js} +1 -1
  185. package/chunks/{chunk-B5PHIJGI.js → chunk-QKDNS6FU.js} +2 -2
  186. package/chunks/{chunk-ZU4UDIWX.js → chunk-QQD2GART.js} +15 -9
  187. package/chunks/{chunk-62GQFYID.js → chunk-RAFQIHN2.js} +3 -3
  188. package/chunks/{chunk-MO3FC2WT.js → chunk-RJUVTJEZ.js} +1 -1
  189. package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
  190. package/chunks/{chunk-GBJBJ4HX.js → chunk-RM4WT2XB.js} +4 -26
  191. package/chunks/{chunk-VGIFXISB.js → chunk-RN3YGDCA.js} +7 -5
  192. package/chunks/{chunk-DYXFD5RO.js → chunk-S2T7H5MI.js} +1 -1
  193. package/chunks/{chunk-FTF2YIZ5.js → chunk-S6H3ELPG.js} +1 -1
  194. package/chunks/{chunk-4NDLQAY2.js → chunk-SI7WDR3U.js} +524 -16
  195. package/chunks/{chunk-2YOHKHYR.js → chunk-SRF4KTAG.js} +6 -6
  196. package/chunks/{chunk-ZZMSC3RG.js → chunk-STCVJXQB.js} +24 -24
  197. package/chunks/{chunk-ST5V3ZOC.js → chunk-SULZPKTA.js} +3 -3
  198. package/chunks/{chunk-6X7EU5TI.js → chunk-SX2QIMJV.js} +9 -7
  199. package/chunks/{chunk-V5J4J5TP.js → chunk-TJYRTS4S.js} +2 -20
  200. package/chunks/{chunk-C3PEFRKD.js → chunk-TMKTOTMQ.js} +5 -5
  201. package/chunks/{chunk-ISKH4QX3.js → chunk-TQHPVKO6.js} +4 -4
  202. package/chunks/{chunk-HVC3PNVC.js → chunk-TSZSGQ3N.js} +1 -1
  203. package/chunks/{chunk-ICURCKIU.js → chunk-U4DJ5XB3.js} +594 -91
  204. package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
  205. package/chunks/{chunk-GVIVASYK.js → chunk-UAKRDON5.js} +4 -4
  206. package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
  207. package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
  208. package/chunks/{chunk-ZYMLPEZQ.js → chunk-UM2FFKXN.js} +3 -3
  209. package/chunks/{chunk-2OBKDPZZ.js → chunk-UPFRILIL.js} +2 -2
  210. package/chunks/{chunk-2HYKTO7V.js → chunk-UUASLXHW.js} +55 -6
  211. package/chunks/chunk-V5U2NZNJ.js +29 -0
  212. package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
  213. package/chunks/{chunk-Q2MSPKIJ.js → chunk-VBWD6C27.js} +1 -1
  214. package/chunks/chunk-VGHZT6JR.js +51 -0
  215. package/chunks/{chunk-MPNBVAEU.js → chunk-VNAYZAFX.js} +4 -4
  216. package/chunks/chunk-VPSIC437.js +780 -0
  217. package/chunks/{chunk-AIAOIFY4.js → chunk-VWTSRH6C.js} +92 -17
  218. package/chunks/{chunk-4K7KNVWH.js → chunk-VYIUNFEA.js} +3 -3
  219. package/chunks/{chunk-EQSBPBZ3.js → chunk-WP4AX3XD.js} +5 -7
  220. package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
  221. package/chunks/{chunk-RU7BK6B3.js → chunk-XLXAZLDR.js} +3 -3
  222. package/chunks/{chunk-EFWRMA2I.js → chunk-YPWZTR7F.js} +3 -3
  223. package/chunks/{chunk-XF63PKEN.js → chunk-ZDFQGHZH.js} +1 -1
  224. package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
  225. package/chunks/chunk-ZHO2CW6D.js +205 -0
  226. package/chunks/chunk-ZJ2LM2SI.js +198 -0
  227. package/chunks/{chunk-AYFA7MZV.js → chunk-ZKFTS3OV.js} +6 -6
  228. package/chunks/{chunk-HMJ2P3SV.js → chunk-ZL4HFSL6.js} +91 -29
  229. package/chunks/{chunk-DJECZIJX.js → chunk-ZTPGUFQV.js} +30 -8
  230. package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
  231. package/chunks/chunk-bdqvmfwv-ZTSOWAFE.js +17446 -0
  232. package/chunks/config-utils-LVSYDLHZ.js +114 -0
  233. package/chunks/contextCommand-TZD7UAJK.js +107 -0
  234. package/chunks/{core-runtime-AXB6SK5D.js → core-runtime-B4UKKIAQ.js} +63 -62
  235. package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-LUPWEUHR.js} +3 -3
  236. package/chunks/{create-sub-session-4QNE64MR.js → create-sub-session-NJ24B4US.js} +94 -66
  237. package/chunks/{cron-create-KJ4IY6PP.js → cron-create-CRSPET3H.js} +4 -4
  238. package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-DB77SZTU.js} +4 -4
  239. package/chunks/{cron-list-DWH2PQ47.js → cron-list-U2JNYWV6.js} +4 -4
  240. package/chunks/{daemon-3GNHB3M2.js → daemon-RKDGBFLK.js} +613 -102
  241. package/chunks/{daemon-git-worktree-guard-IVAJJWYK.js → daemon-git-worktree-guard-O2HPOBAB.js} +62 -61
  242. package/chunks/daemon-status-provider-GRRVCJFW.js +117 -0
  243. package/chunks/daemon-trust-policy-YJL442BK.js +113 -0
  244. package/chunks/{daemon-trust-policy-monitor-KGGROSIV.js → daemon-trust-policy-monitor-JL7F4Y4Q.js} +68 -67
  245. package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
  246. package/chunks/deferred-core-runtime-S32AYVZI.js +115 -0
  247. package/chunks/{devtools-JCG4K2NZ.js → devtools-VDRJYPZF.js} +1 -1
  248. package/chunks/{discovery-X2NV535U.js → discovery-TUM3ZQ6U.js} +2 -2
  249. package/chunks/{display-image-BE7I6ZB6.js → display-image-73C7XNRK.js} +5 -5
  250. package/chunks/{dist-LVZCXVPF.js → dist-62OZ7QXB.js} +44 -26
  251. package/chunks/{dist-GFN5DCBX.js → dist-EDHQIBYD.js} +152 -63
  252. package/chunks/{dist-N6W6E753.js → dist-GT64AAUR.js} +135 -26
  253. package/chunks/{dist-6BPYWHVD.js → dist-JVXT4VUJ.js} +14 -7
  254. package/chunks/{dist-4WXLCBDR.js → dist-L6URO6CK.js} +12 -5
  255. package/chunks/{dist-5VXFRTWU.js → dist-LXFYIJNG.js} +866 -172
  256. package/chunks/{dist-SWQMYP2Q.js → dist-PDGNRVPY.js} +27 -8
  257. package/chunks/{dist-NSV4NBPK.js → dist-QAF5DO3Y.js} +380 -83
  258. package/chunks/{dist-HZNT6GQS.js → dist-ZCJLKQSP.js} +28 -14
  259. package/chunks/earlyInputCapture-BBPCIVZG.js +108 -0
  260. package/chunks/{edit-LEQLAGPZ.js → edit-SUGXY63Y.js} +47 -47
  261. package/chunks/{en-YLXBXM4Z.js → en-2RATMNX7.js} +5 -0
  262. package/chunks/{enter-worktree-35QCAAFP.js → enter-worktree-B6USKSIK.js} +7 -7
  263. package/chunks/{enterPlanMode-ONQN3WHE.js → enterPlanMode-MDX4RVVL.js} +48 -48
  264. package/chunks/{environment-UANTR7A4.js → environment-VN6RXDVN.js} +63 -62
  265. package/chunks/errors-UEY36PIT.js +114 -0
  266. package/chunks/{exit-worktree-XQD6D543.js → exit-worktree-DLQ73SJH.js} +10 -8
  267. package/chunks/exitPlanMode-EPHIEDAA.js +83 -0
  268. package/chunks/{fast-path-WUL7UZ6H.js → fast-path-Y73R42LV.js} +8 -7
  269. package/chunks/{fast-path-settings-XH426LUU.js → fast-path-settings-MFUR3IWK.js} +3 -3
  270. package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
  271. package/chunks/{glob-Y54QUWDY.js → glob-DMGH7EZN.js} +47 -47
  272. package/chunks/goal-tools-3RF3PXCL.js +99 -0
  273. package/chunks/{grep-5GPICQBU.js → grep-AJVLCVXC.js} +9 -7
  274. package/chunks/handleAutoUpdate-HVWQT2AU.js +110 -0
  275. package/chunks/i18n-5OR7NTRZ.js +125 -0
  276. package/chunks/{image-gen-J6FDGUZP.js → image-gen-VOIDOHOB.js} +8 -8
  277. package/chunks/initializer-JE5RQSOE.js +114 -0
  278. package/chunks/installationInfo-KO3CCSCK.js +108 -0
  279. package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
  280. package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
  281. package/chunks/list-3IORSFIY.js +117 -0
  282. package/chunks/list-agents-SBMONIUK.js +128 -0
  283. package/chunks/{llm-NSAVK5V3.js → llm-K26SUDVK.js} +223 -140
  284. package/chunks/{llm-content-generator-AY2QKXHE.js → llm-content-generator-TT6EAUD4.js} +11 -12
  285. package/chunks/loadedSettingsAdapter-KLLFZF3M.js +111 -0
  286. package/chunks/{loggingContentGenerator-DSFQHXIF.js → loggingContentGenerator-EYQBA4M4.js} +66 -65
  287. package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-QA6SHCZT.js} +5 -5
  288. package/chunks/{ls-3VAT2J7A.js → ls-HEJNCEYO.js} +4 -4
  289. package/chunks/{lsp-5W7IRUBH.js → lsp-WOQKNZP6.js} +2 -2
  290. package/chunks/{managed-npm-update-TSWENTK5.js → managed-npm-update-HIJTODQT.js} +61 -60
  291. package/chunks/mcp-A2UEHETW.js +111 -0
  292. package/chunks/{monitor-RW4GWJHB.js → monitor-DKNZQAB2.js} +46 -46
  293. package/chunks/{node-QKLNSZMX.js → node-UETAYMMO.js} +3 -3
  294. package/chunks/nonInteractiveCli-YA47F2F4.js +190 -0
  295. package/chunks/{notebook-edit-CQNYS5OR.js → notebook-edit-MGHTRL2D.js} +47 -47
  296. package/chunks/{open-with-auth-YN3QZHVM.js → open-with-auth-D6JD6LDS.js} +3 -3
  297. package/chunks/{openaiContentGenerator-J6QIF7EX.js → openaiContentGenerator-ZJIEQ3ZJ.js} +26 -28
  298. package/chunks/pidfile-ETHAZNMY.js +112 -0
  299. package/chunks/{processUtils-GPHNANKZ.js → processUtils-UY3SAJJZ.js} +2 -2
  300. package/chunks/prompt-terminal-ledger-GZ747VYE.js +106 -0
  301. package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
  302. package/chunks/{qwenContentGenerator-WWDXPYQI.js → qwenContentGenerator-VI4KATRY.js} +58 -58
  303. package/chunks/{qwenOAuth2-OF5WRBQT.js → qwenOAuth2-7AOCKSOQ.js} +7 -7
  304. package/chunks/{read-file-FQUQHC6N.js → read-file-P7F4P7LV.js} +11 -13
  305. package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-GLAGB6R7.js} +2 -2
  306. package/chunks/{record-artifact-VW23GS4F.js → record-artifact-SWVR7NSU.js} +4 -4
  307. package/chunks/renderer-selection-M4UN63VJ.js +99 -0
  308. package/chunks/{report-findings-AO5VYFLR.js → report-findings-AL5YW3KI.js} +5 -5
  309. package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-5YK4IZ54.js} +8 -7
  310. package/chunks/resumeHistoryUtils-DPZKFW24.js +119 -0
  311. package/chunks/ripGrep-C7LJKUPZ.js +37 -0
  312. package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
  313. package/chunks/{run-qwen-serve-5X6IDZER.js → run-qwen-serve-OGTEEUR2.js} +589 -251
  314. package/chunks/{runtime-HK27GMPF.js → runtime-LNBLEMZS.js} +73 -72
  315. package/chunks/scheduled-tasks-FLDYZQOF.js +128 -0
  316. package/chunks/{scheduler-WD4MHMO5.js → scheduler-73YXGUGW.js} +62 -61
  317. package/chunks/{sdk-exporters-grpc-G5IT4XS4.js → sdk-exporters-grpc-MXTVSE3C.js} +2 -2
  318. package/chunks/{sdk-exporters-http-TTU2CHBU.js → sdk-exporters-http-3JO5TJNU.js} +4 -4
  319. package/chunks/{sdk-impl-UUMVYMAL.js → sdk-impl-HZAUUTHJ.js} +6 -6
  320. package/chunks/{send-message-AJ4OCUBV.js → send-message-JC7NJTY6.js} +166 -35
  321. package/chunks/serve-3UR2H4CV.js +119 -0
  322. package/chunks/{server-GO2N5DH7.js → server-AOYZVVOM.js} +2904 -860
  323. package/chunks/{session-IFNHTUBT.js → session-UAWFNFGI.js} +119 -114
  324. package/chunks/session-attachments-root-ZCGXQQTR.js +104 -0
  325. package/chunks/{session-pr-refresh-I3UBWMVP.js → session-pr-refresh-CT2INROL.js} +157 -88
  326. package/chunks/{settings-L6N54CU6.js → settings-BHRGDASJ.js} +67 -66
  327. package/chunks/{shell-4Y5LLW6N.js → shell-YHOGC7TO.js} +46 -46
  328. package/chunks/{skill-YOWTRAKQ.js → skill-ZGBKNCHQ.js} +131 -97
  329. package/chunks/skill-settings-AKSP665O.js +119 -0
  330. package/chunks/spawnChannel-N25MBB6F.js +112 -0
  331. package/chunks/standalone-update-XGPWJDRN.js +119 -0
  332. package/chunks/start-opentui-ui-FZ4USOU7.js +55342 -0
  333. package/chunks/{startInteractiveUI-XDFSHBZD.js → startInteractiveUI-E2WQJUOA.js} +3509 -4706
  334. package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-HJNZSEHN.js} +3 -3
  335. package/chunks/{task-create-QN4LYRSE.js → task-create-6RSD54S5.js} +12 -12
  336. package/chunks/{task-list-JPLGK45U.js → task-list-IQSACPOM.js} +34 -11
  337. package/chunks/{task-stop-CXEH5L2D.js → task-stop-HE2LRQNW.js} +2 -2
  338. package/chunks/{task-update-IWEOJFV2.js → task-update-XAJ2NYOA.js} +13 -14
  339. package/chunks/{team-create-OOPXCDBA.js → team-create-SOKMYSQU.js} +54 -55
  340. package/chunks/{team-delete-RZVVSGCY.js → team-delete-NGNNKGMG.js} +25 -8
  341. package/chunks/{team-plan-approval-DSX5EWAT.js → team-plan-approval-U7ZWXYAY.js} +46 -46
  342. package/chunks/terminal-image-renderer-KKM4OBLO.js +117 -0
  343. package/chunks/theme-manager-GQHF3A7T.js +103 -0
  344. package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-5UTVUXHA.js} +39 -9
  345. package/chunks/{tool-search-J5Q6U7DN.js → tool-search-IAI2RVWT.js} +21 -19
  346. package/chunks/total-session-admission-G4CGCSTG.js +113 -0
  347. package/chunks/trustedFolders-D2I3FDPB.js +123 -0
  348. package/chunks/{update-relaunch-SIKHLHVR.js → update-relaunch-5RWKZAL3.js} +5 -5
  349. package/chunks/updateCheck-ZXOQDFEI.js +119 -0
  350. package/chunks/useAutoAcceptIndicator-6EK4QGAH.js +121 -0
  351. package/chunks/{validateNonInterActiveAuth-JUDQP6V4.js → validateNonInterActiveAuth-QPFEKATS.js} +113 -109
  352. package/chunks/{version-C63GDDWN.js → version-JKNG7YDH.js} +1 -1
  353. package/chunks/{web-fetch-FOQZMNSC.js → web-fetch-X3AHIIHW.js} +16 -19
  354. package/chunks/{web-search-PUJTBFUC.js → web-search-K2FMOGS5.js} +10 -11
  355. package/chunks/{web-shell-static-HNB4FDOE.js → web-shell-static-POZHGGXE.js} +5 -4
  356. package/chunks/{workflow-Y5IPINVH.js → workflow-TOLPAK5G.js} +213 -119
  357. package/chunks/workspace-providers-status-PCJK3RC7.js +115 -0
  358. package/chunks/{workspace-registration-store-SMJWI2AI.js → workspace-registration-store-KQWVVW4Y.js} +2 -1
  359. package/chunks/workspace-registry-YNIOB6HJ.js +122 -0
  360. package/chunks/workspace-runtime-coordinator-WG2RNEN7.js +123 -0
  361. package/chunks/workspace-service-G4ZNBOFH.js +127 -0
  362. package/chunks/workspace-skills-status-FMTPPMWC.js +114 -0
  363. package/chunks/{workspace-trust-reconciler-PLIDLJZX.js → workspace-trust-reconciler-IBDFQBQS.js} +76 -77
  364. package/chunks/wrapper-JH3IFHT2.js +35 -0
  365. package/chunks/write-file-YTLFY2S5.js +88 -0
  366. package/chunks/{zh-UNY63FR3.js → zh-25DF7OGK.js} +5 -0
  367. package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-5EDMZVGK.js} +5 -0
  368. package/chunks/{zoom-image-LYQD7BQA.js → zoom-image-IFXSN74N.js} +11 -13
  369. package/cli.js +131 -90
  370. package/locales/ca.js +6 -0
  371. package/locales/de.js +6 -0
  372. package/locales/en.js +9 -0
  373. package/locales/fr.js +6 -0
  374. package/locales/ja.js +6 -0
  375. package/locales/pt.js +6 -0
  376. package/locales/ru.js +6 -0
  377. package/locales/zh-TW.js +9 -0
  378. package/locales/zh.js +9 -0
  379. package/package.json +3 -3
  380. package/web-shell/assets/{abnfDiagram-VCTEODGH-TRCMSA_6.js → abnfDiagram-VCTEODGH-Cxf7xE_Z.js} +1 -1
  381. package/web-shell/assets/{arc-D9Uls5b3.js → arc-ESi1eNkE.js} +1 -1
  382. package/web-shell/assets/{architectureDiagram-5GKGNRK7-Bwb8jPXg.js → architectureDiagram-5GKGNRK7-D9l7-bDo.js} +1 -1
  383. package/web-shell/assets/{blockDiagram-NRAW4CY4-DHj71TSX.js → blockDiagram-NRAW4CY4-Bc8DEasw.js} +1 -1
  384. package/web-shell/assets/{c4Diagram-UCG6FXSJ-uKBBdbyr.js → c4Diagram-UCG6FXSJ-Dimb2Hmh.js} +1 -1
  385. package/web-shell/assets/channel-B7ohGDil.js +1 -0
  386. package/web-shell/assets/{chunk-2Q5K7J3B-BZd0Phrl.js → chunk-2Q5K7J3B-jVDmOpAQ.js} +1 -1
  387. package/web-shell/assets/{chunk-5VM5RSS4-7KNeNBqN.js → chunk-5VM5RSS4-DbG_SwdB.js} +1 -1
  388. package/web-shell/assets/{chunk-F27PBJKO-BeboS7Fi.js → chunk-F27PBJKO-QEc4cY1v.js} +1 -1
  389. package/web-shell/assets/{chunk-G27WJ6UU-RV3JONoj.js → chunk-G27WJ6UU-iJ36lQ3X.js} +1 -1
  390. package/web-shell/assets/{chunk-JWPE2WC7-Yw9FCFsP.js → chunk-JWPE2WC7-DuArnVtF.js} +1 -1
  391. package/web-shell/assets/{chunk-LCL6LL3I-GIMnydDe.js → chunk-LCL6LL3I-DxOf1zwL.js} +1 -1
  392. package/web-shell/assets/{chunk-POPQ4Y6H-Cfrux7bL.js → chunk-POPQ4Y6H-lVLu9Ild.js} +1 -1
  393. package/web-shell/assets/{chunk-SVP7TREG-BlvIN0CO.js → chunk-SVP7TREG-C6XYlIer.js} +1 -1
  394. package/web-shell/assets/{chunk-XXDRQBXY-DMs7Rr4t.js → chunk-XXDRQBXY-CiG2j2Ji.js} +1 -1
  395. package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +1 -0
  396. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +1 -0
  397. package/web-shell/assets/{cose-bilkent-JH36ORCC-DNGqTNwI.js → cose-bilkent-JH36ORCC-DGVHMMVm.js} +1 -1
  398. package/web-shell/assets/{cynefin-OW5HDTMX-CojMpaoH.js → cynefin-OW5HDTMX-D6cgpCnH.js} +1 -1
  399. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DF07YXGo.js → cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js} +1 -1
  400. package/web-shell/assets/{dagre-3AP2YEHR-17-4WtCH.js → dagre-3AP2YEHR-B4ABMIG-.js} +1 -1
  401. package/web-shell/assets/{diagram-S7CK7UJ4-G3Wuyz9m.js → diagram-S7CK7UJ4-DgCkp_Lm.js} +1 -1
  402. package/web-shell/assets/{diagram-UQ7AKVKN-nyWIKZ8P.js → diagram-UQ7AKVKN-FG0FNokz.js} +1 -1
  403. package/web-shell/assets/{diagram-VSXAHHWV-tKHhmYSC.js → diagram-VSXAHHWV-JgkP9qg-.js} +1 -1
  404. package/web-shell/assets/{diagram-VX7I27RA-CpDf1hYk.js → diagram-VX7I27RA-ADh2x83l.js} +1 -1
  405. package/web-shell/assets/{diagram-Z3DM3KII-Cah2IFXG.js → diagram-Z3DM3KII-yXqoYF1J.js} +1 -1
  406. package/web-shell/assets/{ebnfDiagram-PWID7BFC-DNaCkgxy.js → ebnfDiagram-PWID7BFC-Duk83Ek_.js} +1 -1
  407. package/web-shell/assets/{erDiagram-SSCWMZ5O-CAdRgcf1.js → erDiagram-SSCWMZ5O-DMdvxySG.js} +1 -1
  408. package/web-shell/assets/{flowDiagram-A5DVABFB-CMUJAShL.js → flowDiagram-A5DVABFB-DHjVgSji.js} +1 -1
  409. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-o-_MUNey.js → ganttDiagram-EL5Y4UJY-DMM9DkCE.js} +1 -1
  410. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js → gitGraphDiagram-WWUBYQGX-t_ug9vO8.js} +1 -1
  411. package/web-shell/assets/index-BGZRqbRo.css +36 -0
  412. package/web-shell/assets/index-DRri_6_x.js +2067 -0
  413. package/web-shell/assets/{index-BK_NKxiJ.js → index-zqvnpGHv.js} +1 -1
  414. package/web-shell/assets/{infoDiagram-RXCK75RN-qJPeZbGP.js → infoDiagram-RXCK75RN-eT1fANNm.js} +1 -1
  415. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-7Om4vNo1.js → ishikawaDiagram-5VMMS53U-k3evzZNn.js} +1 -1
  416. package/web-shell/assets/{journeyDiagram-EYS64GPL-BNtXqmBW.js → journeyDiagram-EYS64GPL-CGim3EAi.js} +1 -1
  417. package/web-shell/assets/{kanban-definition-3QL26DDD-COgFec8P.js → kanban-definition-3QL26DDD-WHfJo-22.js} +1 -1
  418. package/web-shell/assets/{layout-B9n81PC9.js → layout-DkqIaFlJ.js} +1 -1
  419. package/web-shell/assets/{linear-Bb6nXZQq.js → linear-Bdkd3mCz.js} +1 -1
  420. package/web-shell/assets/{mermaid.core-Cgrm3JVT.js → mermaid.core-CGw0LkT_.js} +6 -6
  421. package/web-shell/assets/{mindmap-definition-FBJOCRG2-TKwLTjnG.js → mindmap-definition-FBJOCRG2-C9V4rBvo.js} +1 -1
  422. package/web-shell/assets/{pegDiagram-XKGWAZYB-BJPuvlpi.js → pegDiagram-XKGWAZYB-CwoI2T5G.js} +1 -1
  423. package/web-shell/assets/{pieDiagram-E7YTZNPT-D01VkNsW.js → pieDiagram-E7YTZNPT-DaTmBmPG.js} +1 -1
  424. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-C4hHsiv-.js → quadrantDiagram-AXDQQJYC-plh6MyGI.js} +1 -1
  425. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CuEO4xK2.js → railroadDiagram-O6MQD6OU-D_b-S0iK.js} +1 -1
  426. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-D5J_vIo5.js → requirementDiagram-EFPCY7ZU-zUzTN7VE.js} +1 -1
  427. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-DQKY223V.js → sankeyDiagram-P5KCCOFB-m6AhoD0l.js} +1 -1
  428. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D27YV_cm.js → sequenceDiagram-WJ2MYXX4-Cwhzsine.js} +1 -1
  429. package/web-shell/assets/{sizeCapture-X5ZJPWSS-TJg8UcwV.js → sizeCapture-X5ZJPWSS-CcZuKIae.js} +1 -1
  430. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CmnPzUIx.js → stateDiagram-HBIQ2CUA-CFoiJwD_.js} +1 -1
  431. package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +1 -0
  432. package/web-shell/assets/{swimlanes-XN3QIQJK-ByeP3_Nu.js → swimlanes-XN3QIQJK-CgS9hcaV.js} +1 -1
  433. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +8 -0
  434. package/web-shell/assets/{timeline-definition-24CTP7MA-BsFA5juR.js → timeline-definition-24CTP7MA-Dzzc05t9.js} +1 -1
  435. package/web-shell/assets/{vennDiagram-4TSXK5OY-DREP2ECo.js → vennDiagram-4TSXK5OY-DemK0f7Y.js} +1 -1
  436. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-iyd9lKi2.js → wardleyDiagram-VM6X3IG4-CquLxtMr.js} +1 -1
  437. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CVr1_j9q.js → xychartDiagram-S5SC5T6Z-BTBKTM5g.js} +1 -1
  438. package/web-shell/index.html +196 -2
  439. package/chunks/MaxSizedBox-X42SXBJH.js +0 -110
  440. package/chunks/agent-headless-IZM25LJA.js +0 -85
  441. package/chunks/bridge-ME6QXZNA.js +0 -119
  442. package/chunks/channel-settings-store-PEOI7XCG.js +0 -120
  443. package/chunks/chunk-7J6OTNGO.js +0 -424
  444. package/chunks/chunk-BWORX6FA.js +0 -135
  445. package/chunks/chunk-CPBF7KYF.js +0 -51
  446. package/chunks/chunk-H72BQNM3.js +0 -645
  447. package/chunks/chunk-JHYH6PYQ.js +0 -3096
  448. package/chunks/chunk-SS4MRMKE.js +0 -3525
  449. package/chunks/chunk-T4EFG2P5.js +0 -113
  450. package/chunks/chunk-XZA32HII.js +0 -19
  451. package/chunks/chunk-ZYNTSXWK.js +0 -32
  452. package/chunks/config-utils-R6M3TA34.js +0 -113
  453. package/chunks/contextCommand-ZCAP23J6.js +0 -106
  454. package/chunks/daemon-status-provider-K3SJ5C2U.js +0 -117
  455. package/chunks/daemon-trust-policy-DOR3YG62.js +0 -112
  456. package/chunks/deferred-core-runtime-WOYLUQQ7.js +0 -114
  457. package/chunks/earlyInputCapture-OHBEVO4K.js +0 -107
  458. package/chunks/errors-WAK6KFBC.js +0 -113
  459. package/chunks/exitPlanMode-UEYBG6P5.js +0 -83
  460. package/chunks/goal-tools-PTD3MBA7.js +0 -411
  461. package/chunks/handleAutoUpdate-FP3NWNSG.js +0 -109
  462. package/chunks/i18n-INIU5X7A.js +0 -124
  463. package/chunks/initializer-TYODV6GE.js +0 -113
  464. package/chunks/installationInfo-AAPKYDSZ.js +0 -107
  465. package/chunks/list-TUODDN6J.js +0 -116
  466. package/chunks/list-agents-DI3YFTDT.js +0 -80
  467. package/chunks/loadedSettingsAdapter-KJCLZ3C4.js +0 -110
  468. package/chunks/mcp-MWSAPFOL.js +0 -110
  469. package/chunks/nonInteractiveCli-JXKL343Q.js +0 -185
  470. package/chunks/pidfile-QOIQZFT2.js +0 -111
  471. package/chunks/prompt-terminal-ledger-FOMFTYOM.js +0 -105
  472. package/chunks/resumeHistoryUtils-NSGF3UCB.js +0 -118
  473. package/chunks/ripGrep-4CAT6SKV.js +0 -39
  474. package/chunks/scheduled-tasks-MN2ZZ5P6.js +0 -127
  475. package/chunks/serve-2XCHPPGG.js +0 -118
  476. package/chunks/skill-settings-ZL4JY5UE.js +0 -118
  477. package/chunks/spawnChannel-ZST6XJVJ.js +0 -112
  478. package/chunks/standalone-update-THVU3OKY.js +0 -118
  479. package/chunks/terminal-image-renderer-KS25G33E.js +0 -114
  480. package/chunks/theme-manager-YMZNG45F.js +0 -102
  481. package/chunks/total-session-admission-PVN64JVV.js +0 -114
  482. package/chunks/trustedFolders-FATSC4YI.js +0 -122
  483. package/chunks/updateCheck-D3YG2WCD.js +0 -118
  484. package/chunks/useAutoAcceptIndicator-ILINOSAS.js +0 -120
  485. package/chunks/workspace-providers-status-IJ4VHFMB.js +0 -114
  486. package/chunks/workspace-registry-BTGZIMPK.js +0 -123
  487. package/chunks/workspace-service-SIN67ITC.js +0 -126
  488. package/chunks/workspace-skills-status-F3RKCUIX.js +0 -113
  489. package/chunks/write-file-PAIGB33C.js +0 -88
  490. package/web-shell/assets/channel-CXjVLaBa.js +0 -1
  491. package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +0 -1
  492. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +0 -1
  493. package/web-shell/assets/index-Ci-z4zWY.js +0 -1913
  494. package/web-shell/assets/index-LDlXZRHA.css +0 -36
  495. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +0 -1
  496. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +0 -8
  497. /package/chunks/{chunk-FOGQO4FG.js → chunk-JA5CBKRP.js} +0 -0
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTerminalWorkflowStatus
5
- } from "./chunk-PZ66FRIC.js";
5
+ } from "./chunk-4F7GQGXB.js";
6
6
  import {
7
7
  Storage,
8
8
  createDebugLogger
9
- } from "./chunk-UHQFIS7N.js";
9
+ } from "./chunk-EAHOJF6V.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -14,177 +14,10 @@ import {
14
14
  __name
15
15
  } from "./chunk-J2S4EL5Y.js";
16
16
 
17
- // packages/core/src/agents/runtime/workflow-saved.ts
18
- init_esbuild_shims();
19
- import { promises as fs } from "node:fs";
20
- import * as path from "node:path";
21
- var debugLogger = createDebugLogger("WORKFLOW_SAVED");
22
- var WORKFLOW_NAME_PATTERN = /^[a-z][a-z0-9-]{0,40}$/;
23
- function validateWorkflowName(name) {
24
- if (!name) return "Workflow name is required.";
25
- if (!WORKFLOW_NAME_PATTERN.test(name)) {
26
- return `Invalid workflow name "${name}". Use lower-case letters, digits, and hyphens only (must start with a letter, max 41 chars).`;
27
- }
28
- return null;
29
- }
30
- __name(validateWorkflowName, "validateWorkflowName");
31
- function getSavedWorkflowDirs(config) {
32
- return [
33
- { dir: config.storage.getProjectWorkflowsDir(), source: "project" },
34
- { dir: Storage.getUserWorkflowsDir(), source: "user" }
35
- ];
36
- }
37
- __name(getSavedWorkflowDirs, "getSavedWorkflowDirs");
38
- function getWorkflowScriptRoots(config) {
39
- return [
40
- ...getSavedWorkflowDirs(config).map(({ dir }) => dir),
41
- config.storage.getGeneratedWorkflowsDir()
42
- ];
43
- }
44
- __name(getWorkflowScriptRoots, "getWorkflowScriptRoots");
45
- async function isSymlinkedRoot(dir) {
46
- return fs.lstat(dir).then((st) => st.isSymbolicLink()).catch(() => false);
47
- }
48
- __name(isSymlinkedRoot, "isSymlinkedRoot");
49
- async function listJsFiles(dir) {
50
- if (await isSymlinkedRoot(dir)) {
51
- debugLogger.warn(`refusing symlinked saved-workflow dir: ${dir}`);
52
- return [];
53
- }
54
- try {
55
- const names = await fs.readdir(dir);
56
- const out = [];
57
- for (const n of names) {
58
- if (!n.endsWith(".js")) continue;
59
- const st = await fs.lstat(path.join(dir, n)).catch(() => null);
60
- if (!st || st.isSymbolicLink()) continue;
61
- out.push(n);
62
- }
63
- return out;
64
- } catch (e) {
65
- const code = e?.code;
66
- if (code !== "ENOENT") {
67
- debugLogger.warn(`listJsFiles failed for ${dir}: ${e}`);
68
- }
69
- return [];
70
- }
71
- }
72
- __name(listJsFiles, "listJsFiles");
73
- async function readWorkflowFileSecurely(filePath, config) {
74
- const real = await fs.realpath(filePath);
75
- const roots = await Promise.all(
76
- getWorkflowScriptRoots(config).map(async (dir) => {
77
- if (await isSymlinkedRoot(dir)) return { dir, real: null };
78
- try {
79
- return { dir, real: await fs.realpath(dir) };
80
- } catch {
81
- return { dir, real: path.resolve(dir) };
82
- }
83
- })
84
- );
85
- const dirs = roots.flatMap((r) => r.real === null ? [] : [r.real]);
86
- const inside = dirs.some((d) => real === d || real.startsWith(d + path.sep));
87
- if (!inside) {
88
- const refused = roots.flatMap((r) => r.real === null ? [r.dir] : []);
89
- const refusedNote = refused.length > 0 ? `; refused symlinked ${refused.length === 1 ? "root" : "roots"}: ${refused.join(", ")}` : "";
90
- throw new Error(
91
- `refusing to load a workflow file outside the workflow script roots (checked: ${dirs.join(", ")}${refusedNote}): '${filePath}'.`
92
- );
93
- }
94
- return fs.readFile(real, "utf8");
95
- }
96
- __name(readWorkflowFileSecurely, "readWorkflowFileSecurely");
97
- async function listSavedWorkflows(config) {
98
- const byName = /* @__PURE__ */ new Map();
99
- for (const { dir, source } of [...getSavedWorkflowDirs(config)].reverse()) {
100
- for (const file of await listJsFiles(dir)) {
101
- const name = file.slice(0, -".js".length);
102
- if (!WORKFLOW_NAME_PATTERN.test(name)) continue;
103
- byName.set(name, { name, scriptPath: path.join(dir, file), source });
104
- }
105
- }
106
- return Array.from(byName.values()).sort(
107
- (a, b) => a.name.localeCompare(b.name)
108
- );
109
- }
110
- __name(listSavedWorkflows, "listSavedWorkflows");
111
- async function resolveSavedWorkflowScript(nameOrRef, config) {
112
- if (typeof nameOrRef === "object" && nameOrRef !== null) {
113
- const scriptPath = nameOrRef.scriptPath;
114
- if (typeof scriptPath !== "string" || scriptPath.length === 0) {
115
- throw new Error(
116
- "workflow() expects a workflow name (string) or {scriptPath: string}."
117
- );
118
- }
119
- let script;
120
- try {
121
- script = await readWorkflowFileSecurely(scriptPath, config);
122
- } catch (e) {
123
- throw new Error(
124
- `workflow({scriptPath: '${scriptPath}'}): ${e instanceof Error ? e.message : String(e)}`
125
- );
126
- }
127
- const name2 = path.basename(scriptPath).replace(/\.js$/, "");
128
- return { name: name2, scriptPath, script };
129
- }
130
- if (typeof nameOrRef !== "string") {
131
- throw new Error(
132
- "workflow() expects a workflow name (string) or {scriptPath: string}."
133
- );
134
- }
135
- const name = nameOrRef;
136
- const nameError = validateWorkflowName(name);
137
- if (nameError) {
138
- throw new Error(`workflow('${name}'): ${nameError}`);
139
- }
140
- for (const { dir } of getSavedWorkflowDirs(config)) {
141
- const scriptPath = path.join(dir, `${name}.js`);
142
- try {
143
- const script = await readWorkflowFileSecurely(scriptPath, config);
144
- return { name, scriptPath, script };
145
- } catch {
146
- }
147
- }
148
- const available = (await listSavedWorkflows(config)).map((e) => e.name);
149
- throw new Error(
150
- `workflow('${name}'): no workflow with that name. Available: ${available.length > 0 ? available.join(", ") : "(none)"}.`
151
- );
152
- }
153
- __name(resolveSavedWorkflowScript, "resolveSavedWorkflowScript");
154
- async function saveWorkflowScript(config, opts) {
155
- const { name, scope, script, overwrite = false } = opts;
156
- const nameError = validateWorkflowName(name);
157
- if (nameError) return { status: "invalid-name", error: nameError };
158
- if (!script || script.trim().length === 0) {
159
- return {
160
- status: "empty-script",
161
- error: "This run has no script source to save."
162
- };
163
- }
164
- const dir = scope === "project" ? config.storage.getProjectWorkflowsDir() : Storage.getUserWorkflowsDir();
165
- if (await isSymlinkedRoot(dir)) {
166
- throw new Error(
167
- `refusing to save into a symlinked saved-workflow directory: '${dir}'.`
168
- );
169
- }
170
- const filePath = path.join(dir, `${name}.js`);
171
- if (!overwrite) {
172
- try {
173
- await fs.access(filePath);
174
- return { status: "exists", name, scope, path: filePath };
175
- } catch {
176
- }
177
- }
178
- await fs.mkdir(dir, { recursive: true });
179
- await fs.writeFile(filePath, script, "utf8");
180
- return { status: "saved", name, scope, path: filePath };
181
- }
182
- __name(saveWorkflowScript, "saveWorkflowScript");
183
-
184
17
  // packages/core/src/agents/workflow-snapshot.ts
185
18
  init_esbuild_shims();
186
- import { promises as fs2 } from "node:fs";
187
- var debugLogger2 = createDebugLogger("WORKFLOW_SNAPSHOT");
19
+ import { promises as fs } from "node:fs";
20
+ var debugLogger = createDebugLogger("WORKFLOW_SNAPSHOT");
188
21
  var MAX_RETAINED_SNAPSHOTS = 30;
189
22
  function toSnapshot(task) {
190
23
  if (!isTerminalWorkflowStatus(task.status)) {
@@ -231,19 +64,21 @@ function safeResult(result) {
231
64
  __name(safeResult, "safeResult");
232
65
  async function writeWorkflowSnapshot(config, task) {
233
66
  const storage = config.storage;
234
- if (!storage) return;
67
+ if (!storage) return false;
235
68
  try {
236
69
  const snapshot = toSnapshot(task);
237
70
  const dir = storage.getWorkflowRunsDir();
238
- await fs2.mkdir(dir, { recursive: true });
239
- await fs2.writeFile(
71
+ await fs.mkdir(dir, { recursive: true });
72
+ await fs.writeFile(
240
73
  storage.getWorkflowRunSnapshotPath(task.runId),
241
74
  JSON.stringify(snapshot, null, 2),
242
75
  "utf8"
243
76
  );
244
77
  await pruneSnapshots(dir);
78
+ return true;
245
79
  } catch (e) {
246
- debugLogger2.warn(`writeWorkflowSnapshot failed for ${task.runId}: ${e}`);
80
+ debugLogger.warn(`writeWorkflowSnapshot failed for ${task.runId}: ${e}`);
81
+ return false;
247
82
  }
248
83
  }
249
84
  __name(writeWorkflowSnapshot, "writeWorkflowSnapshot");
@@ -253,28 +88,51 @@ async function listWorkflowSnapshots(config) {
253
88
  const dir = storage.getWorkflowRunsDir();
254
89
  let files;
255
90
  try {
256
- files = (await fs2.readdir(dir)).filter((f) => f.endsWith(".json"));
91
+ files = (await fs.readdir(dir)).filter((f) => f.endsWith(".json"));
257
92
  } catch {
258
93
  return [];
259
94
  }
260
95
  const snapshots = [];
261
96
  for (const file of files) {
262
97
  try {
263
- const raw = await fs2.readFile(`${dir}/${file}`, "utf8");
98
+ const raw = await fs.readFile(`${dir}/${file}`, "utf8");
264
99
  const parsed = JSON.parse(raw);
265
100
  if (!isWorkflowSnapshot(parsed)) {
266
- debugLogger2.warn(`skipping invalid workflow snapshot ${file}`);
101
+ debugLogger.warn(`skipping invalid workflow snapshot ${file}`);
267
102
  continue;
268
103
  }
269
104
  snapshots.push(parsed);
270
105
  } catch (e) {
271
- debugLogger2.warn(`skipping unparseable snapshot ${file}: ${e}`);
106
+ debugLogger.warn(`skipping unparseable snapshot ${file}: ${e}`);
272
107
  }
273
108
  }
274
109
  snapshots.sort((a, b) => (b.startTime ?? 0) - (a.startTime ?? 0));
275
110
  return snapshots;
276
111
  }
277
112
  __name(listWorkflowSnapshots, "listWorkflowSnapshots");
113
+ async function deleteWorkflowSnapshot(config, runId) {
114
+ const storage = config.storage;
115
+ if (!storage || !/^wf_[0-9a-f]+$/.test(runId)) return false;
116
+ try {
117
+ await fs.rm(`${storage.getWorkflowRunsDir()}/${runId}`, {
118
+ recursive: true,
119
+ force: true
120
+ });
121
+ } catch (error) {
122
+ debugLogger.warn(`delete workflow journal failed for ${runId}: ${error}`);
123
+ return false;
124
+ }
125
+ try {
126
+ await fs.unlink(storage.getWorkflowRunSnapshotPath(runId));
127
+ } catch (error) {
128
+ if (error.code !== "ENOENT") {
129
+ debugLogger.warn(`deleteWorkflowSnapshot failed for ${runId}: ${error}`);
130
+ return false;
131
+ }
132
+ }
133
+ return true;
134
+ }
135
+ __name(deleteWorkflowSnapshot, "deleteWorkflowSnapshot");
278
136
  function isRecord(value) {
279
137
  return typeof value === "object" && value !== null && !Array.isArray(value);
280
138
  }
@@ -366,7 +224,7 @@ __name(isWorkflowSnapshot, "isWorkflowSnapshot");
366
224
  async function pruneSnapshots(dir) {
367
225
  let files;
368
226
  try {
369
- files = (await fs2.readdir(dir)).filter((f) => f.endsWith(".json"));
227
+ files = (await fs.readdir(dir)).filter((f) => f.endsWith(".json"));
370
228
  } catch {
371
229
  return;
372
230
  }
@@ -374,7 +232,7 @@ async function pruneSnapshots(dir) {
374
232
  const stats = await Promise.all(
375
233
  files.map(async (f) => {
376
234
  try {
377
- const s = await fs2.stat(`${dir}/${f}`);
235
+ const s = await fs.stat(`${dir}/${f}`);
378
236
  return { f, mtime: s.mtimeMs };
379
237
  } catch {
380
238
  return { f, mtime: 0 };
@@ -388,12 +246,12 @@ async function pruneSnapshots(dir) {
388
246
  const runId = s.f.replace(/\.json$/, "");
389
247
  const isRunDir = /^wf_[0-9a-f]+$/.test(runId);
390
248
  return Promise.all([
391
- fs2.unlink(`${dir}/${s.f}`).catch(
392
- (e) => debugLogger2.warn(`prune unlink failed for ${s.f}: ${e}`)
249
+ fs.unlink(`${dir}/${s.f}`).catch(
250
+ (e) => debugLogger.warn(`prune unlink failed for ${s.f}: ${e}`)
393
251
  ),
394
252
  ...isRunDir ? [
395
- fs2.rm(`${dir}/${runId}`, { recursive: true, force: true }).catch(
396
- (e) => debugLogger2.warn(
253
+ fs.rm(`${dir}/${runId}`, { recursive: true, force: true }).catch(
254
+ (e) => debugLogger.warn(
397
255
  `prune journal dir failed for ${runId}: ${e}`
398
256
  )
399
257
  )
@@ -404,9 +262,179 @@ async function pruneSnapshots(dir) {
404
262
  }
405
263
  __name(pruneSnapshots, "pruneSnapshots");
406
264
 
265
+ // packages/core/src/agents/runtime/workflow-saved.ts
266
+ init_esbuild_shims();
267
+ import { promises as fs2 } from "node:fs";
268
+ import * as path from "node:path";
269
+ var debugLogger2 = createDebugLogger("WORKFLOW_SAVED");
270
+ var WORKFLOW_NAME_PATTERN = /^[a-z][a-z0-9-]{0,40}$/;
271
+ function validateWorkflowName(name) {
272
+ if (!name) return "Workflow name is required.";
273
+ if (!WORKFLOW_NAME_PATTERN.test(name)) {
274
+ return `Invalid workflow name "${name}". Use lower-case letters, digits, and hyphens only (must start with a letter, max 41 chars).`;
275
+ }
276
+ return null;
277
+ }
278
+ __name(validateWorkflowName, "validateWorkflowName");
279
+ function getSavedWorkflowDirs(config) {
280
+ return [
281
+ { dir: config.storage.getProjectWorkflowsDir(), source: "project" },
282
+ { dir: Storage.getUserWorkflowsDir(), source: "user" }
283
+ ];
284
+ }
285
+ __name(getSavedWorkflowDirs, "getSavedWorkflowDirs");
286
+ function getWorkflowScriptRoots(config) {
287
+ return [
288
+ ...getSavedWorkflowDirs(config).map(({ dir }) => dir),
289
+ config.storage.getGeneratedWorkflowsDir()
290
+ ];
291
+ }
292
+ __name(getWorkflowScriptRoots, "getWorkflowScriptRoots");
293
+ async function isSymlinkedRoot(dir) {
294
+ return fs2.lstat(dir).then((st) => st.isSymbolicLink()).catch(() => false);
295
+ }
296
+ __name(isSymlinkedRoot, "isSymlinkedRoot");
297
+ async function listJsFiles(dir) {
298
+ if (await isSymlinkedRoot(dir)) {
299
+ debugLogger2.warn(`refusing symlinked saved-workflow dir: ${dir}`);
300
+ return [];
301
+ }
302
+ try {
303
+ const names = await fs2.readdir(dir);
304
+ const out = [];
305
+ for (const n of names) {
306
+ if (!n.endsWith(".js")) continue;
307
+ const st = await fs2.lstat(path.join(dir, n)).catch(() => null);
308
+ if (!st || st.isSymbolicLink()) continue;
309
+ out.push(n);
310
+ }
311
+ return out;
312
+ } catch (e) {
313
+ const code = e?.code;
314
+ if (code !== "ENOENT") {
315
+ debugLogger2.warn(`listJsFiles failed for ${dir}: ${e}`);
316
+ }
317
+ return [];
318
+ }
319
+ }
320
+ __name(listJsFiles, "listJsFiles");
321
+ async function readWorkflowFileSecurely(filePath, config) {
322
+ const real = await fs2.realpath(filePath);
323
+ const roots = await Promise.all(
324
+ getWorkflowScriptRoots(config).map(async (dir) => {
325
+ if (await isSymlinkedRoot(dir)) return { dir, real: null };
326
+ try {
327
+ return { dir, real: await fs2.realpath(dir) };
328
+ } catch {
329
+ return { dir, real: path.resolve(dir) };
330
+ }
331
+ })
332
+ );
333
+ const dirs = roots.flatMap((r) => r.real === null ? [] : [r.real]);
334
+ const inside = dirs.some((d) => real === d || real.startsWith(d + path.sep));
335
+ if (!inside) {
336
+ const refused = roots.flatMap((r) => r.real === null ? [r.dir] : []);
337
+ const refusedNote = refused.length > 0 ? `; refused symlinked ${refused.length === 1 ? "root" : "roots"}: ${refused.join(", ")}` : "";
338
+ throw new Error(
339
+ `refusing to load a workflow file outside the workflow script roots (checked: ${dirs.join(", ")}${refusedNote}): '${filePath}'.`
340
+ );
341
+ }
342
+ return fs2.readFile(real, "utf8");
343
+ }
344
+ __name(readWorkflowFileSecurely, "readWorkflowFileSecurely");
345
+ async function listSavedWorkflows(config) {
346
+ const byName = /* @__PURE__ */ new Map();
347
+ for (const { dir, source } of [...getSavedWorkflowDirs(config)].reverse()) {
348
+ for (const file of await listJsFiles(dir)) {
349
+ const name = file.slice(0, -".js".length);
350
+ if (!WORKFLOW_NAME_PATTERN.test(name)) continue;
351
+ byName.set(name, { name, scriptPath: path.join(dir, file), source });
352
+ }
353
+ }
354
+ return Array.from(byName.values()).sort(
355
+ (a, b) => a.name.localeCompare(b.name)
356
+ );
357
+ }
358
+ __name(listSavedWorkflows, "listSavedWorkflows");
359
+ async function resolveSavedWorkflowScript(nameOrRef, config) {
360
+ if (typeof nameOrRef === "object" && nameOrRef !== null) {
361
+ const scriptPath = nameOrRef.scriptPath;
362
+ if (typeof scriptPath !== "string" || scriptPath.length === 0) {
363
+ throw new Error(
364
+ "workflow() expects a workflow name (string) or {scriptPath: string}."
365
+ );
366
+ }
367
+ let script;
368
+ try {
369
+ script = await readWorkflowFileSecurely(scriptPath, config);
370
+ } catch (e) {
371
+ throw new Error(
372
+ `workflow({scriptPath: '${scriptPath}'}): ${e instanceof Error ? e.message : String(e)}`
373
+ );
374
+ }
375
+ const name2 = path.basename(scriptPath).replace(/\.js$/, "");
376
+ return { name: name2, scriptPath, script };
377
+ }
378
+ if (typeof nameOrRef !== "string") {
379
+ throw new Error(
380
+ "workflow() expects a workflow name (string) or {scriptPath: string}."
381
+ );
382
+ }
383
+ const name = nameOrRef;
384
+ const nameError = validateWorkflowName(name);
385
+ if (nameError) {
386
+ throw new Error(`workflow('${name}'): ${nameError}`);
387
+ }
388
+ for (const { dir } of getSavedWorkflowDirs(config)) {
389
+ const scriptPath = path.join(dir, `${name}.js`);
390
+ try {
391
+ const script = await readWorkflowFileSecurely(scriptPath, config);
392
+ return { name, scriptPath, script };
393
+ } catch {
394
+ }
395
+ }
396
+ const available = (await listSavedWorkflows(config)).map((e) => e.name);
397
+ throw new Error(
398
+ `workflow('${name}'): no workflow with that name. Available: ${available.length > 0 ? available.join(", ") : "(none)"}.`
399
+ );
400
+ }
401
+ __name(resolveSavedWorkflowScript, "resolveSavedWorkflowScript");
402
+ async function saveWorkflowScript(config, opts) {
403
+ const { name, scope, script, overwrite = false } = opts;
404
+ const nameError = validateWorkflowName(name);
405
+ if (nameError) return { status: "invalid-name", error: nameError };
406
+ if (!script || script.trim().length === 0) {
407
+ return {
408
+ status: "empty-script",
409
+ error: "This run has no script source to save."
410
+ };
411
+ }
412
+ const dir = scope === "project" ? config.storage.getProjectWorkflowsDir() : Storage.getUserWorkflowsDir();
413
+ if (await isSymlinkedRoot(dir)) {
414
+ throw new Error(
415
+ `refusing to save into a symlinked saved-workflow directory: '${dir}'.`
416
+ );
417
+ }
418
+ const filePath = path.join(dir, `${name}.js`);
419
+ if (!overwrite) {
420
+ try {
421
+ await fs2.access(filePath);
422
+ return { status: "exists", name, scope, path: filePath };
423
+ } catch {
424
+ }
425
+ }
426
+ await fs2.mkdir(dir, { recursive: true });
427
+ await fs2.writeFile(filePath, script, "utf8");
428
+ return { status: "saved", name, scope, path: filePath };
429
+ }
430
+ __name(saveWorkflowScript, "saveWorkflowScript");
431
+
407
432
  export {
433
+ MAX_RETAINED_SNAPSHOTS,
434
+ toSnapshot,
408
435
  writeWorkflowSnapshot,
409
436
  listWorkflowSnapshots,
437
+ deleteWorkflowSnapshot,
410
438
  validateWorkflowName,
411
439
  isSymlinkedRoot,
412
440
  listSavedWorkflows,
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-5EJZE3FP.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-4K7KNVWH.js";
8
+ } from "./chunk-VYIUNFEA.js";
9
9
  import {
10
10
  Storage
11
- } from "./chunk-UHQFIS7N.js";
11
+ } from "./chunk-EAHOJF6V.js";
12
12
  import {
13
13
  writeStderrLine
14
14
  } from "./chunk-7FA2II6K.js";
@@ -165,15 +165,15 @@ var MUST_TRANSLATE_KEYS = [
165
165
 
166
166
  // import("./locales/**/*.js") in packages/cli/src/i18n/index.ts
167
167
  var globImport_locales_js = __glob({
168
- "./locales/ca.js": () => import("./ca-7HPYOYSZ.js"),
169
- "./locales/de.js": () => import("./de-X6HLSIFE.js"),
170
- "./locales/en.js": () => import("./en-YLXBXM4Z.js"),
171
- "./locales/fr.js": () => import("./fr-FTZWF462.js"),
172
- "./locales/ja.js": () => import("./ja-2GL5FKYJ.js"),
173
- "./locales/pt.js": () => import("./pt-XN2YWJVM.js"),
174
- "./locales/ru.js": () => import("./ru-OLTMFJEW.js"),
175
- "./locales/zh-TW.js": () => import("./zh-TW-RPTMRTHG.js"),
176
- "./locales/zh.js": () => import("./zh-UNY63FR3.js")
168
+ "./locales/ca.js": () => import("./ca-BNU7YNDE.js"),
169
+ "./locales/de.js": () => import("./de-T4BLOKEC.js"),
170
+ "./locales/en.js": () => import("./en-2RATMNX7.js"),
171
+ "./locales/fr.js": () => import("./fr-BGHGYX6A.js"),
172
+ "./locales/ja.js": () => import("./ja-G3FTD5XE.js"),
173
+ "./locales/pt.js": () => import("./pt-D73IFYT7.js"),
174
+ "./locales/ru.js": () => import("./ru-QMISLKRH.js"),
175
+ "./locales/zh-TW.js": () => import("./zh-TW-5EDMZVGK.js"),
176
+ "./locales/zh.js": () => import("./zh-25DF7OGK.js")
177
177
  });
178
178
 
179
179
  // packages/cli/src/i18n/index.ts
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  parseRule
5
- } from "./chunk-PZ66FRIC.js";
5
+ } from "./chunk-4F7GQGXB.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  isWithinRoot
5
- } from "./chunk-BKWNKLZB.js";
5
+ } from "./chunk-DYTW3QVG.js";
6
6
  import {
7
7
  BaseDeclarativeTool,
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-UTLCH2FK.js";
11
+ } from "./chunk-7JMGTOH7.js";
12
12
  import {
13
13
  isNodeError
14
- } from "./chunk-UHQFIS7N.js";
14
+ } from "./chunk-EAHOJF6V.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -2,16 +2,16 @@
2
2
  "use strict";
3
3
  import {
4
4
  useKeypress
5
- } from "./chunk-SS5SDCD3.js";
5
+ } from "./chunk-FRICLXCZ.js";
6
6
  import {
7
7
  require_react
8
8
  } from "./chunk-5QWWOFGG.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-CLWO3B77.js";
11
+ } from "./chunk-I4NRYS6A.js";
12
12
  import {
13
13
  APPROVAL_MODES
14
- } from "./chunk-V5J4J5TP.js";
14
+ } from "./chunk-JX6XHPTX.js";
15
15
  import {
16
16
  init_esbuild_shims
17
17
  } from "./chunk-5O2XNYP6.js";
@@ -6,7 +6,7 @@ import {
6
6
 
7
7
  // packages/cli/src/serve/live/types.ts
8
8
  init_esbuild_shims();
9
- var LIVE_HOST_PROTOCOL_VERSION = 6;
9
+ var LIVE_HOST_PROTOCOL_VERSION = 7;
10
10
  var LIVE_HOST_BUNDLE_ID = "com.alibaba.qwen-code.live-host";
11
11
  var LIVE_INPUT_AUDIO_EPOCH_BYTES = 8;
12
12
 
@@ -1,11 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ require_lib
5
+ } from "./chunk-ZL4HFSL6.js";
3
6
  import {
4
7
  require_mime_db
5
8
  } from "./chunk-K6KS3LTN.js";
6
- import {
7
- require_lib
8
- } from "./chunk-HMJ2P3SV.js";
9
9
  import {
10
10
  require_content_type
11
11
  } from "./chunk-GOFAQQZA.js";
@@ -30,6 +30,12 @@ var import_websocket_server = __toESM(require_websocket_server(), 1);
30
30
  var wrapper_default = import_websocket.default;
31
31
 
32
32
  export {
33
+ import_stream,
34
+ import_extension,
35
+ import_permessage_deflate,
36
+ import_receiver,
37
+ import_sender,
38
+ import_subprotocol,
33
39
  import_websocket,
34
40
  import_websocket_server,
35
41
  wrapper_default
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-RKUWKYED.js";
7
7
  import {
8
8
  createDebugLogger
9
- } from "./chunk-UHQFIS7N.js";
9
+ } from "./chunk-EAHOJF6V.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -4,7 +4,7 @@ import {
4
4
  require_dist,
5
5
  require_follow_redirects,
6
6
  require_form_data
7
- } from "./chunk-XIQ5HQ2F.js";
7
+ } from "./chunk-OBTWL6ZW.js";
8
8
  import {
9
9
  require_extension,
10
10
  require_permessage_deflate,
@@ -8,7 +8,7 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-UTLCH2FK.js";
11
+ } from "./chunk-7JMGTOH7.js";
12
12
  import {
13
13
  init_esbuild_shims
14
14
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,30 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/acp-bridge/src/index.ts
8
+ init_esbuild_shims();
9
+
10
+ // packages/acp-bridge/src/inMemoryChannel.ts
11
+ init_esbuild_shims();
12
+
13
+ // packages/acp-bridge/src/channel.ts
14
+ init_esbuild_shims();
15
+
16
+ // packages/acp-bridge/src/prompt-ledger.ts
17
+ init_esbuild_shims();
18
+
19
+ // packages/acp-bridge/src/bridgeFileSystem.ts
20
+ init_esbuild_shims();
21
+ /**
22
+ * @license
23
+ * Copyright 2025 Qwen Team
24
+ * SPDX-License-Identifier: Apache-2.0
25
+ */
26
+ /**
27
+ * @license
28
+ * Copyright 2026 Qwen Team
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */