@qwen-code/qwen-code 0.22.0 → 0.22.1

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 (449) hide show
  1. package/bundled/computer-use/SKILL.md +229 -0
  2. package/bundled/computer-use/agents/openai.yaml +4 -0
  3. package/bundled/coordinate/SKILL.md +5 -5
  4. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  5. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  6. package/bundled/qc-helper/docs/configuration/settings.md +40 -40
  7. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  8. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  10. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  11. package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
  12. package/bundled/qc-helper/docs/features/code-review.md +25 -21
  13. package/bundled/qc-helper/docs/features/commands.md +2 -2
  14. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  15. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  16. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  17. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  18. package/bundled/qc-helper/docs/overview.md +1 -1
  19. package/bundled/qc-helper/docs/quickstart.md +1 -1
  20. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  21. package/bundled/review/SKILL.md +119 -417
  22. package/bundled/review/references/aone.md +18 -0
  23. package/bundled/review/references/persistence.md +105 -0
  24. package/bundled/review/references/posting.md +270 -0
  25. package/chunks/MaxSizedBox-UUTUE42J.js +112 -0
  26. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-XF2TVJFK.js} +87 -86
  27. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  28. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-GY53MJIW.js} +2216 -1931
  29. package/chunks/agent-7U6CC5KF.js +97 -0
  30. package/chunks/agent-headless-32O4L2CT.js +87 -0
  31. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-U76GTVB6.js} +128 -58
  32. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XDJCZZCF.js} +2 -2
  33. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-ZXXERLEV.js} +2 -2
  34. package/chunks/bridge-DFX2FFH4.js +119 -0
  35. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  36. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-HXXS3HOZ.js} +4 -4
  37. package/chunks/channel-settings-store-ELLH2M4M.js +117 -0
  38. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-EVDC2P4K.js} +8 -7
  39. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-IJJZHGEI.js} +8 -7
  40. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-YSKB5GVB.js} +12 -7
  41. package/chunks/{chunk-2TRNCJK4.js → chunk-27ONXAFY.js} +1 -1
  42. package/chunks/{chunk-OVH5Y7KS.js → chunk-2CRNTW2B.js} +19 -3
  43. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  44. package/chunks/{chunk-DB2OKNTU.js → chunk-2FN2HNTI.js} +2 -2
  45. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  46. package/chunks/{chunk-QJHPWLZC.js → chunk-2MHGD7EE.js} +1 -1
  47. package/chunks/{chunk-BMCSKS37.js → chunk-2NCVUT3C.js} +6 -6
  48. package/chunks/{chunk-A5F2YNO6.js → chunk-2NNTE2ED.js} +245 -10
  49. package/chunks/{chunk-Z3JMO2CH.js → chunk-2SERYG4T.js} +1 -1
  50. package/chunks/{chunk-4J7OPYNS.js → chunk-2YDYDDE2.js} +6 -6
  51. package/chunks/{chunk-PXOJLJ5W.js → chunk-2YEZNBSD.js} +333 -184
  52. package/chunks/{chunk-UU4WC7DK.js → chunk-2ZV3CZKI.js} +82 -12
  53. package/chunks/{chunk-SE55HQGF.js → chunk-3B5DCAQU.js} +74 -52
  54. package/chunks/{chunk-UIRLQ3N7.js → chunk-3BV7TZNQ.js} +3 -3
  55. package/chunks/{chunk-2Z6LSQMF.js → chunk-3FSBMAYD.js} +1 -1
  56. package/chunks/{chunk-DJEHYM4H.js → chunk-3UZCLCXR.js} +3 -3
  57. package/chunks/{chunk-WWUSHZ7M.js → chunk-43C2II2G.js} +5 -5
  58. package/chunks/{chunk-2GXYDNXP.js → chunk-47SIHHPL.js} +8 -8
  59. package/chunks/{chunk-PHJJ3RVO.js → chunk-4DCP3362.js} +7 -15
  60. package/chunks/chunk-4K7NQDCG.js +104 -0
  61. package/chunks/{chunk-UZPYR3EV.js → chunk-4TPAG3O7.js} +1 -1
  62. package/chunks/{chunk-BEGIBJAZ.js → chunk-5CI4AXDD.js} +4 -4
  63. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  64. package/chunks/{chunk-7HFULI45.js → chunk-5MK32KJV.js} +3 -3
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-IBJ5S45N.js → chunk-5T4LWWNX.js} +2 -2
  67. package/chunks/{chunk-VUMLT7E5.js → chunk-5Y2JCJAH.js} +2 -2
  68. package/chunks/{chunk-YZBDKFRQ.js → chunk-5ZYZPDDF.js} +993 -895
  69. package/chunks/{chunk-2A4C2MEG.js → chunk-62PXFOK4.js} +35 -12
  70. package/chunks/{chunk-IIWGSX4L.js → chunk-6E4WHQJV.js} +1 -1
  71. package/chunks/{chunk-6PCOVQO2.js → chunk-6HTMIKXZ.js} +8 -8
  72. package/chunks/{chunk-RDG44S5I.js → chunk-6KS24S3X.js} +2 -2
  73. package/chunks/{chunk-GAHYKJPV.js → chunk-6US7BF3G.js} +7 -59
  74. package/chunks/{chunk-MHG6NDS6.js → chunk-6YAR6ZU3.js} +2 -2
  75. package/chunks/{chunk-3CLIDIVQ.js → chunk-73WFGVIZ.js} +3 -3
  76. package/chunks/{chunk-ZZUVC6RI.js → chunk-76WGY6LW.js} +3 -3
  77. package/chunks/{chunk-XLDFW44M.js → chunk-77TOMRBG.js} +3 -3
  78. package/chunks/{chunk-PDL6LKB5.js → chunk-7AS7QX72.js} +1 -1
  79. package/chunks/{chunk-ND7NOI4P.js → chunk-7CWEZQ6T.js} +0 -15
  80. package/chunks/{chunk-DWCKACFL.js → chunk-7DPKPBOQ.js} +2 -2
  81. package/chunks/{chunk-45NQKMYB.js → chunk-7JPW6IYH.js} +1 -1
  82. package/chunks/{chunk-HDKCKCYO.js → chunk-7QGEJI7M.js} +1 -1
  83. package/chunks/{chunk-S4C4JJKE.js → chunk-A7X32SCT.js} +5 -5
  84. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  85. package/chunks/{chunk-7DYNJFES.js → chunk-AYVIGUUK.js} +6 -1
  86. package/chunks/{chunk-7DMTAQJ6.js → chunk-BDHLBR46.js} +132 -49
  87. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  88. package/chunks/{chunk-AP3B7LKD.js → chunk-BKDAF7ES.js} +2 -2
  89. package/chunks/{chunk-B6UBOIFE.js → chunk-BQBUZDDH.js} +14 -11
  90. package/chunks/{chunk-VLRBJ24J.js → chunk-BVE5EMIG.js} +2 -2
  91. package/chunks/{chunk-P47E4SJC.js → chunk-BX2BZPFJ.js} +3 -3
  92. package/chunks/{chunk-OARZJFZX.js → chunk-C4WBKZJT.js} +4 -4
  93. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  94. package/chunks/{chunk-URN2JIAQ.js → chunk-CITGRGCM.js} +2 -1
  95. package/chunks/{chunk-WU5E4HMO.js → chunk-CPPYZHBN.js} +1 -1
  96. package/chunks/chunk-DCSAVGDJ.js +20 -0
  97. package/chunks/{chunk-Q54XG7IX.js → chunk-DEYPMJPD.js} +1 -1
  98. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  99. package/chunks/{chunk-I432KXWD.js → chunk-DP7LABIB.js} +1 -1
  100. package/chunks/{chunk-36OF5PRW.js → chunk-E4I5MVBR.js} +7 -3
  101. package/chunks/{chunk-AW27A43Y.js → chunk-E55H6BZ7.js} +93 -1
  102. package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
  103. package/chunks/{chunk-5XUTPXQU.js → chunk-EAV3TENS.js} +6 -9
  104. package/chunks/{chunk-LI4YHTQK.js → chunk-EB4VDXNI.js} +1 -1
  105. package/chunks/{chunk-JOLJTKIG.js → chunk-EC5BONC3.js} +1 -1
  106. package/chunks/{chunk-25NESM4G.js → chunk-EEQYTWGU.js} +29 -5
  107. package/chunks/{chunk-4CWDWDL6.js → chunk-EKP3M4RF.js} +1 -1
  108. package/chunks/{chunk-W4CRPSC5.js → chunk-ELY4QVIB.js} +1 -1
  109. package/chunks/{chunk-BB5IMQCV.js → chunk-EMGAVCBZ.js} +2 -2
  110. package/chunks/chunk-FBX2SDQ4.js +48 -0
  111. package/chunks/{chunk-C72BXMJ5.js → chunk-FJWICLG7.js} +1 -1
  112. package/chunks/{chunk-6FRJEE2S.js → chunk-FK4H3V6S.js} +5 -5
  113. package/chunks/{chunk-LDGWX737.js → chunk-FN5C6C7G.js} +160 -59
  114. package/chunks/{chunk-3ZFJUBTP.js → chunk-FPH6TXD3.js} +1 -1
  115. package/chunks/{chunk-WRT324N6.js → chunk-FVDQ5E67.js} +3 -3
  116. package/chunks/{chunk-VFACN2CE.js → chunk-GNMJNDZE.js} +1 -1
  117. package/chunks/{chunk-FVBVJEBG.js → chunk-GNRVKN76.js} +10 -8
  118. package/chunks/{chunk-PZRUV52H.js → chunk-GTUKW3I6.js} +20 -2
  119. package/chunks/chunk-GYTKQYDB.js +23 -0
  120. package/chunks/{chunk-VMJL7RH6.js → chunk-GZJUCMH4.js} +4 -4
  121. package/chunks/{chunk-MQP3MHWN.js → chunk-HJOWQUE2.js} +21 -15
  122. package/chunks/{chunk-ZS5BHEPD.js → chunk-I32QCIK7.js} +1 -1
  123. package/chunks/{chunk-7IV52LTO.js → chunk-I6VVOZDK.js} +2 -2
  124. package/chunks/{chunk-X7V3N6YH.js → chunk-I6YW3T3W.js} +218 -37
  125. package/chunks/{chunk-2E3V7G6Y.js → chunk-ICWGPK23.js} +55 -50
  126. package/chunks/{chunk-SQS55KR4.js → chunk-IJVDHPKD.js} +2 -2
  127. package/chunks/{chunk-QS4ENGVF.js → chunk-IKN3IUJP.js} +9 -8
  128. package/chunks/{chunk-2UZJWSVD.js → chunk-ILPXSKGQ.js} +2 -2
  129. package/chunks/{chunk-ZRYQMWEP.js → chunk-IPQA4SR5.js} +2 -2
  130. package/chunks/{chunk-XYQHT3AW.js → chunk-IRIX323G.js} +2 -2
  131. package/chunks/{chunk-5HJUPACR.js → chunk-J7MLXFC5.js} +2 -2
  132. package/chunks/{chunk-AZF6SME3.js → chunk-JECO75XD.js} +3 -3
  133. package/chunks/chunk-JLGFGPZJ.js +346 -0
  134. package/chunks/{chunk-WZDM44SB.js → chunk-JUIJ3FXC.js} +7 -7
  135. package/chunks/{chunk-A6NRNRKE.js → chunk-JVPFTDBK.js} +1 -1
  136. package/chunks/{chunk-2J3OJGTL.js → chunk-K2OJUPOE.js} +1 -21
  137. package/chunks/{chunk-GHY5OIYP.js → chunk-K63NK3KL.js} +13 -13
  138. package/chunks/{chunk-7JBHIQS2.js → chunk-KCOXDRQL.js} +7 -13
  139. package/chunks/{chunk-6NFAEG54.js → chunk-KOJ6MHD5.js} +24 -13
  140. package/chunks/{chunk-WS7PAXXR.js → chunk-KWFP3WV6.js} +18 -13
  141. package/chunks/{chunk-A5F63FEW.js → chunk-L436XFLJ.js} +1 -1
  142. package/chunks/{chunk-KIVGVFMM.js → chunk-LI2HEMKO.js} +16 -4
  143. package/chunks/{chunk-GIWB5QLV.js → chunk-LJP2BBMK.js} +4 -4
  144. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-LRKMQPMD.js} +4 -6
  145. package/chunks/{chunk-6UQSU7CQ.js → chunk-MDZO5V2O.js} +58 -107
  146. package/chunks/{chunk-AO4M6NMD.js → chunk-MW5AHWOZ.js} +60 -20
  147. package/chunks/{chunk-FYZMB6DB.js → chunk-MYLXL7F6.js} +11 -11
  148. package/chunks/{chunk-ZLCT4C5A.js → chunk-MZS7GEC7.js} +1 -1
  149. package/chunks/{chunk-VEND4KA4.js → chunk-NER3H7PI.js} +1 -1
  150. package/chunks/{chunk-AVCCKIZ6.js → chunk-NVK4HJYQ.js} +1 -1
  151. package/chunks/{chunk-MPHLIJYL.js → chunk-NY3IJYAV.js} +14 -8
  152. package/chunks/{chunk-XZJKSETB.js → chunk-O3BUXIPM.js} +3 -3
  153. package/chunks/{chunk-4XPSVIED.js → chunk-O5YGAEQS.js} +6 -6
  154. package/chunks/{chunk-NW35NVFN.js → chunk-ODXCSIH5.js} +4 -4
  155. package/chunks/{chunk-5XHAOUWD.js → chunk-OI2DR6QB.js} +3 -3
  156. package/chunks/{chunk-BUGYW6FB.js → chunk-OQ6LTSX3.js} +1 -1
  157. package/chunks/{chunk-J5ZDDUKM.js → chunk-OT26ITEY.js} +4 -4
  158. package/chunks/{chunk-EFB657PR.js → chunk-OX44MOAN.js} +3 -3
  159. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  160. package/chunks/{chunk-4F5WV4RF.js → chunk-PAJGKZAA.js} +281 -10
  161. package/chunks/{chunk-HIK2OF33.js → chunk-PVBT5QPD.js} +1 -1
  162. package/chunks/chunk-QHMLYMMS.js +32 -0
  163. package/chunks/{chunk-U2UYQMM6.js → chunk-R2ZJH3FV.js} +3 -3
  164. package/chunks/{chunk-K52PZNU4.js → chunk-RRKNX553.js} +2 -2
  165. package/chunks/chunk-RXFQM6FQ.js +42 -0
  166. package/chunks/{chunk-SJ4HB27T.js → chunk-SDVF6A42.js} +3 -3
  167. package/chunks/{chunk-TBVSALA3.js → chunk-SKNVVYIJ.js} +3 -3
  168. package/chunks/{chunk-JGUBDRBC.js → chunk-SLEWBQWM.js} +3 -3
  169. package/chunks/{chunk-ZRFUT5VV.js → chunk-SM7ZVKTF.js} +7 -7
  170. package/chunks/{chunk-UUQFJILB.js → chunk-SQPOJ4ZI.js} +15 -3
  171. package/chunks/{chunk-RPJQ3O4M.js → chunk-SRGENTPF.js} +31 -41
  172. package/chunks/{chunk-ISJMN3ML.js → chunk-T2CRBIDJ.js} +1 -1
  173. package/chunks/{chunk-MZKWFWVG.js → chunk-T2HMXHYA.js} +6 -6
  174. package/chunks/{chunk-FEMQ6Y7W.js → chunk-T6OODF2U.js} +47 -126
  175. package/chunks/{chunk-VYC7XFYV.js → chunk-TKO4TLT6.js} +5 -5
  176. package/chunks/{chunk-KVGR4MCF.js → chunk-TOF4UZHH.js} +3 -3
  177. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  178. package/chunks/{chunk-7NBVNAJJ.js → chunk-UCSV2IZW.js} +3 -3
  179. package/chunks/{chunk-FDD2IUEL.js → chunk-UX3IFLJM.js} +229 -21
  180. package/chunks/{chunk-YDJRMQU4.js → chunk-V3GINY6K.js} +3 -3
  181. package/chunks/{chunk-XL5K4SVK.js → chunk-VL4YX3FH.js} +1 -1
  182. package/chunks/{chunk-62JOGZL5.js → chunk-VMDURMFY.js} +199 -87
  183. package/chunks/{chunk-OE52YHCZ.js → chunk-W2WRNJKX.js} +11 -11
  184. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  185. package/chunks/{chunk-IWOWEENB.js → chunk-WBT3STGU.js} +385 -25
  186. package/chunks/{chunk-S3G6YFQC.js → chunk-WEGXPP5E.js} +1 -1
  187. package/chunks/{chunk-RDQ7QB4Y.js → chunk-XJS54K4A.js} +2 -2
  188. package/chunks/{chunk-L4HVF7LM.js → chunk-XNXWEGKB.js} +3 -3
  189. package/chunks/{chunk-T6XLJRQY.js → chunk-XYX474JQ.js} +36509 -5182
  190. package/chunks/{chunk-F6WFNA7U.js → chunk-XZA32HII.js} +3 -6
  191. package/chunks/{chunk-NUGZAFR2.js → chunk-ZEADBZLO.js} +147 -6
  192. package/chunks/chunk-ZELCTN6Y.js +29 -0
  193. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  194. package/chunks/{chunk-IOSEW6KP.js → chunk-ZJG323IA.js} +5 -4
  195. package/chunks/{chunk-VSNPOSDN.js → chunk-ZKAZP2ZG.js} +107 -12
  196. package/chunks/{chunk-YMVFIYHV.js → chunk-ZLTEQYNC.js} +2 -2
  197. package/chunks/{chunk-O5BDEWBC.js → chunk-ZWKGZB2K.js} +3 -3
  198. package/chunks/{chunk-6QSA4JHL.js → chunk-ZXDM7DYV.js} +2772 -814
  199. package/chunks/chunk-ZYNTSXWK.js +32 -0
  200. package/chunks/config-utils-7M6PCTLT.js +113 -0
  201. package/chunks/contextCommand-G4QG3TW6.js +108 -0
  202. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-PKNQ63VL.js} +63 -58
  203. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-PLGPY6TV.js} +60 -58
  204. package/chunks/create-sub-session-RVHSWVAP.js +17 -0
  205. package/chunks/{cron-create-IKA56DAF.js → cron-create-IJGVR5R2.js} +4 -4
  206. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-4N5BI6GL.js} +4 -4
  207. package/chunks/{cron-list-QBFGAMP7.js → cron-list-2CATIPUX.js} +4 -4
  208. package/chunks/{daemon-RZZUPGOJ.js → daemon-NAYK4XXU.js} +51 -24
  209. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-LDBJXH2U.js} +338 -92
  210. package/chunks/daemon-status-provider-F5FEHVVG.js +118 -0
  211. package/chunks/daemon-trust-policy-C6YTU5CQ.js +114 -0
  212. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-IGEJPHQ4.js} +68 -66
  213. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  214. package/chunks/deferred-core-runtime-GHT3GDOR.js +116 -0
  215. package/chunks/{display-image-OEJMJV3S.js → display-image-DR55LL6M.js} +5 -5
  216. package/chunks/dist-4Q7NTUNB.js +2512 -0
  217. package/chunks/{dist-ESS34DHC.js → dist-6H6RZ5H6.js} +2 -2
  218. package/chunks/{dist-LZO24N3E.js → dist-7CKN54NL.js} +1 -1
  219. package/chunks/{dist-5EV2G6MC.js → dist-DJBNNPLN.js} +1 -1
  220. package/chunks/{dist-J6P3C52Z.js → dist-FVJZSIO4.js} +28 -7
  221. package/chunks/{dist-K7IQB53U.js → dist-SATKXKUR.js} +1 -1
  222. package/chunks/{dist-ES6HNUW2.js → dist-TJUDJTCB.js} +246 -17
  223. package/chunks/{dist-VVQBOKDH.js → dist-UQUFZDIY.js} +1 -1
  224. package/chunks/{dist-2OG3PGKO.js → dist-ZBVOXSKF.js} +3 -3
  225. package/chunks/earlyInputCapture-HOSJTLWP.js +109 -0
  226. package/chunks/{edit-A2633SLR.js → edit-KSPVUEAS.js} +48 -48
  227. package/chunks/{en-3RHLPITS.js → en-6MDBWMTG.js} +3 -0
  228. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-UOZ6ZTP7.js} +7 -8
  229. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-DZTABSKN.js} +47 -47
  230. package/chunks/environment-JXOSW25V.js +131 -0
  231. package/chunks/errors-IOXFDE4J.js +115 -0
  232. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-G2QATUCV.js} +7 -8
  233. package/chunks/exitPlanMode-PZG4FXRB.js +85 -0
  234. package/chunks/{fast-path-3AVP3G35.js → fast-path-EBS7NAVL.js} +28 -7
  235. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  236. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  237. package/chunks/{gemini-7PVQWHTH.js → gemini-JELEKOVS.js} +129 -123
  238. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-I2CKP7XI.js} +16 -13
  239. package/chunks/{glob-7YGXE6OV.js → glob-TDVEVPQZ.js} +47 -47
  240. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-CNVXMSZD.js} +72 -28
  241. package/chunks/{grep-6DV6LTON.js → grep-3NLSS32D.js} +6 -6
  242. package/chunks/handleAutoUpdate-AWAGHKOX.js +111 -0
  243. package/chunks/i18n-CYA25C5F.js +126 -0
  244. package/chunks/{image-gen-7CSCJ73T.js → image-gen-63NN2H5N.js} +9 -11
  245. package/chunks/initializer-JD2FLNLO.js +115 -0
  246. package/chunks/installationInfo-N3DCWVWR.js +109 -0
  247. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  248. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-3MGFRYGM.js} +2 -2
  249. package/chunks/list-XDQAUET5.js +118 -0
  250. package/chunks/{list-agents-43XUEXJV.js → list-agents-EXRSHIDJ.js} +2 -2
  251. package/chunks/loadedSettingsAdapter-IK7H5JRK.js +112 -0
  252. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-CZWUAHAI.js} +27 -30
  253. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XBPB2BRO.js} +5 -5
  254. package/chunks/{ls-CGL2UC3H.js → ls-WFONAND2.js} +4 -4
  255. package/chunks/{lsp-5IKUO5DX.js → lsp-DUKPDUXN.js} +2 -2
  256. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-54W23SP5.js} +61 -59
  257. package/chunks/mcp-2E7ZLMEE.js +112 -0
  258. package/chunks/{monitor-PXYSGSUN.js → monitor-A4J5QRGJ.js} +47 -47
  259. package/chunks/nonInteractiveCli-ZNDXB62Y.js +185 -0
  260. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-4ANFZON5.js} +48 -48
  261. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  262. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-JCCJJQZC.js} +29 -30
  263. package/chunks/pidfile-DHV2Y7UD.js +113 -0
  264. package/chunks/{processUtils-YK2TDTTU.js → processUtils-JJAR56SO.js} +2 -2
  265. package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +107 -0
  266. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  267. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-5JM44ZSA.js} +53 -59
  268. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-JIYAWXTW.js} +8 -10
  269. package/chunks/{read-file-2HOD2ATO.js → read-file-N3E5DY7N.js} +13 -14
  270. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-7A7NFSFL.js} +2 -2
  271. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  272. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-CPJ4IJSD.js} +4 -5
  273. package/chunks/report-findings-VFM5DENC.js +33 -0
  274. package/chunks/request-shutdown-AXVOFN5C.js +133 -0
  275. package/chunks/resumeHistoryUtils-YQRITQAG.js +120 -0
  276. package/chunks/ripGrep-NEIHKBKB.js +39 -0
  277. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  278. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-IWGPZADI.js} +622 -79
  279. package/chunks/{runtime-J4SPTJRQ.js → runtime-I76HPFUE.js} +73 -71
  280. package/chunks/{scheduler-VRAEZZ4E.js → scheduler-M6YL4K4I.js} +62 -60
  281. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-XXSKBD2C.js} +5 -5
  282. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-VPNBLV7I.js} +7 -7
  283. package/chunks/{send-message-J4VT46OI.js → send-message-A2GXDX3B.js} +10 -31
  284. package/chunks/serve-XY5S63GN.js +120 -0
  285. package/chunks/{server-74ONDK62.js → server-TWXRRREO.js} +965 -405
  286. package/chunks/{session-BO6VBWJP.js → session-IT5ZXU7A.js} +151 -140
  287. package/chunks/{settings-35QZNFDG.js → settings-IX5HOOCG.js} +71 -69
  288. package/chunks/shell-LZ55AAJB.js +95 -0
  289. package/chunks/{skill-DKEMQSNJ.js → skill-WSZ53D2R.js} +108 -25
  290. package/chunks/skill-settings-5U7FTJIK.js +120 -0
  291. package/chunks/spawnChannel-TMC6VXGN.js +113 -0
  292. package/chunks/standalone-update-CUYGWTR4.js +120 -0
  293. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-O6BI2OSA.js} +381 -293
  294. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-5AJ444QT.js} +3 -3
  295. package/chunks/{task-create-I2H322E4.js → task-create-CDJSOEQD.js} +11 -11
  296. package/chunks/{task-list-3OLIWFTQ.js → task-list-BELMPA75.js} +5 -5
  297. package/chunks/{task-stop-JAUY6MSY.js → task-stop-U3S3KZG2.js} +2 -2
  298. package/chunks/{task-update-B3XO4CPI.js → task-update-77VCFDDZ.js} +11 -11
  299. package/chunks/{team-create-W534PMGX.js → team-create-UF4TMQEH.js} +48 -48
  300. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-YWFXX77L.js} +5 -5
  301. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-U57NSR6C.js} +47 -47
  302. package/chunks/terminal-image-renderer-DRL3BROJ.js +116 -0
  303. package/chunks/theme-manager-HHJPUDRN.js +104 -0
  304. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-435EO2CS.js} +4 -4
  305. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-SV35UV72.js} +18 -19
  306. package/chunks/total-session-admission-TQI7TCTL.js +114 -0
  307. package/chunks/trustedFolders-YKK67IP3.js +124 -0
  308. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-DX7LVA4P.js} +6 -6
  309. package/chunks/updateCheck-6JRTKTUF.js +120 -0
  310. package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +122 -0
  311. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-B26O4YJP.js} +113 -106
  312. package/chunks/{version-QMDRADXM.js → version-K5D7VJ4B.js} +2 -2
  313. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-VFHZLLNZ.js} +25 -242
  314. package/chunks/{web-search-JS3E76O6.js → web-search-AQE5A4J5.js} +11 -11
  315. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  316. package/chunks/webapi-Z5OM224P.js +4118 -0
  317. package/chunks/{workflow-2FCMBTBZ.js → workflow-XL6AEUZ7.js} +635 -94
  318. package/chunks/workspace-providers-status-H6TG34YV.js +116 -0
  319. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-I4U3V5LL.js} +1 -1
  320. package/chunks/workspace-registry-2PWNIYNI.js +123 -0
  321. package/chunks/workspace-service-4FGTUJLA.js +131 -0
  322. package/chunks/workspace-skills-status-7VOLUDT6.js +115 -0
  323. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-GJ466KCE.js} +74 -73
  324. package/chunks/write-file-PWOYCT2K.js +90 -0
  325. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-MV4FWFB6.js} +3 -0
  326. package/chunks/{zh-3JQ75KFU.js → zh-X3WGU6SI.js} +3 -0
  327. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-NYJPC3NI.js} +13 -14
  328. package/cli.js +15 -15
  329. package/locales/ca.js +3 -0
  330. package/locales/de.js +1 -0
  331. package/locales/en.js +3 -0
  332. package/locales/fr.js +1 -0
  333. package/locales/ja.js +1 -0
  334. package/locales/pt.js +1 -0
  335. package/locales/ru.js +1 -0
  336. package/locales/zh-TW.js +3 -0
  337. package/locales/zh.js +3 -0
  338. package/package.json +3 -3
  339. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
  340. package/web-shell/assets/{arc-CXKjm86V.js → arc-CbJO0xnT.js} +1 -1
  341. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
  342. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
  343. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
  344. package/web-shell/assets/channel-B3sGR79J.js +1 -0
  345. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
  346. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
  347. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
  348. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
  349. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
  350. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
  351. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
  352. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
  353. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
  354. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
  355. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
  356. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
  357. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
  358. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
  359. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
  360. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
  361. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
  362. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
  363. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
  364. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
  365. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
  366. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
  367. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
  368. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
  369. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
  370. package/web-shell/assets/{index-tYXRIPz4.js → index-B6JN54Pd.js} +1 -1
  371. package/web-shell/assets/{index-BN_m_uHJ.css → index-C-XlQn24.css} +1 -1
  372. package/web-shell/assets/index-DLjXM0dn.js +1860 -0
  373. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
  374. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
  375. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
  376. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
  377. package/web-shell/assets/{layout-O2uHVkPd.js → layout-Bf83x7D6.js} +1 -1
  378. package/web-shell/assets/{linear-BVqYgjSc.js → linear-Bkc3ES2f.js} +1 -1
  379. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-C6xuovwz.js} +6 -6
  380. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
  381. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
  382. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
  383. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
  384. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
  385. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
  386. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
  387. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
  388. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
  389. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
  390. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
  391. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
  392. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
  393. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
  394. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
  395. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
  396. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
  397. package/web-shell/index.html +19 -4
  398. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  399. package/chunks/agent-BFE3DQM3.js +0 -93
  400. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  401. package/chunks/bridge-EBYO4SYM.js +0 -118
  402. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  403. package/chunks/chunk-AXMWHKXA.js +0 -42
  404. package/chunks/chunk-IO257NUD.js +0 -623
  405. package/chunks/chunk-YHC2EYYG.js +0 -125
  406. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  407. package/chunks/config-utils-WZ43VOBS.js +0 -25
  408. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  409. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  410. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  411. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  412. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  413. package/chunks/environment-WUPHLPKZ.js +0 -127
  414. package/chunks/errors-WPMPVIAT.js +0 -113
  415. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  416. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  417. package/chunks/i18n-C562S6KN.js +0 -124
  418. package/chunks/initializer-7YPGOFP4.js +0 -113
  419. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  420. package/chunks/list-KTSK275C.js +0 -116
  421. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  422. package/chunks/mcp-6ONTVPAY.js +0 -110
  423. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  424. package/chunks/pidfile-IO7ALSZF.js +0 -111
  425. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  426. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  427. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  428. package/chunks/serve-KEAWV4TI.js +0 -118
  429. package/chunks/shell-H6K63WG3.js +0 -95
  430. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  431. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  432. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  433. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  434. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  435. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  436. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  437. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  438. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  439. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  440. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  441. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  442. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  443. package/chunks/write-file-EJHU2Z3E.js +0 -90
  444. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  445. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  446. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  447. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  448. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  449. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -1,5 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ contextCommand
5
+ } from "./chunk-KCOXDRQL.js";
3
6
  import {
4
7
  ExtensionRefreshState,
5
8
  clearSkillArgs,
@@ -8,7 +11,7 @@ import {
8
11
  staleArgsWarning,
9
12
  validateAuthMethod,
10
13
  writeSkillArgs
11
- } from "./chunk-6QSA4JHL.js";
14
+ } from "./chunk-ZXDM7DYV.js";
12
15
  import {
13
16
  calculateCost,
14
17
  computeSessionStats,
@@ -17,7 +20,12 @@ import {
17
20
  findInlineMathExpressions,
18
21
  getSystemInfoFields,
19
22
  levelLabel
20
- } from "./chunk-J5ZDDUKM.js";
23
+ } from "./chunk-OT26ITEY.js";
24
+ import {
25
+ VSCODE_SHIFT_ENTER_SEQUENCE,
26
+ isWaylandSession,
27
+ writeOsc52
28
+ } from "./chunk-2FN2HNTI.js";
21
29
  import {
22
30
  formatDuration,
23
31
  formatTokenCount
@@ -25,23 +33,15 @@ import {
25
33
  import {
26
34
  isKittyProtocolEnabled
27
35
  } from "./chunk-NYX53SV4.js";
28
- import {
29
- VSCODE_SHIFT_ENTER_SEQUENCE,
30
- isWaylandSession,
31
- writeOsc52
32
- } from "./chunk-DB2OKNTU.js";
33
- import {
34
- contextCommand
35
- } from "./chunk-7JBHIQS2.js";
36
36
  import {
37
37
  rollbackStandaloneUpdate
38
- } from "./chunk-VYC7XFYV.js";
38
+ } from "./chunk-TKO4TLT6.js";
39
39
  import {
40
40
  themeManager
41
- } from "./chunk-S3G6YFQC.js";
41
+ } from "./chunk-WEGXPP5E.js";
42
42
  import {
43
43
  getErrorMessage as getErrorMessage2
44
- } from "./chunk-OARZJFZX.js";
44
+ } from "./chunk-C4WBKZJT.js";
45
45
  import {
46
46
  GITHUB_WORKFLOW_PATHS,
47
47
  INSIGHT_CSS,
@@ -54,7 +54,7 @@ import {
54
54
  toJson,
55
55
  toJsonl,
56
56
  toMarkdown
57
- } from "./chunk-MQP3MHWN.js";
57
+ } from "./chunk-HJOWQUE2.js";
58
58
  import {
59
59
  stripUnsafeCharacters,
60
60
  toCodePoints,
@@ -62,7 +62,7 @@ import {
62
62
  } from "./chunk-E7REAOTN.js";
63
63
  import {
64
64
  isValidSessionId
65
- } from "./chunk-TQOF5KBL.js";
65
+ } from "./chunk-ZEZKIS2K.js";
66
66
  import {
67
67
  formatUnsupportedVoiceModelMessage,
68
68
  getVoiceSettingsScope,
@@ -70,16 +70,16 @@ import {
70
70
  isVoiceEnabled,
71
71
  readVoiceMode,
72
72
  readVoiceModel
73
- } from "./chunk-QJHPWLZC.js";
73
+ } from "./chunk-2MHGD7EE.js";
74
74
  import {
75
75
  getExtendedSystemInfo,
76
76
  getGitVersion,
77
77
  getNpmVersion
78
- } from "./chunk-PHJJ3RVO.js";
78
+ } from "./chunk-4DCP3362.js";
79
79
  import {
80
80
  isInlineModelOverrideAllowed,
81
81
  parseAcpModelOption
82
- } from "./chunk-FVBVJEBG.js";
82
+ } from "./chunk-GNRVKN76.js";
83
83
  import {
84
84
  OUTPUT_LANGUAGE_AUTO,
85
85
  getAllSettingKeys,
@@ -91,12 +91,12 @@ import {
91
91
  resolveOutputLanguageOrPreserveAuto,
92
92
  validateSettingValue,
93
93
  writeOutputLanguageAndRegisterPath
94
- } from "./chunk-6UQSU7CQ.js";
94
+ } from "./chunk-MDZO5V2O.js";
95
95
  import {
96
96
  getCurrentLanguage,
97
97
  setLanguageAsync,
98
98
  t
99
- } from "./chunk-OE52YHCZ.js";
99
+ } from "./chunk-W2WRNJKX.js";
100
100
  import {
101
101
  SUPPORTED_LANGUAGES,
102
102
  getSupportedLanguageIds,
@@ -104,11 +104,11 @@ import {
104
104
  } from "./chunk-5EJZE3FP.js";
105
105
  import {
106
106
  getInstallationInfo
107
- } from "./chunk-DWCKACFL.js";
107
+ } from "./chunk-7DPKPBOQ.js";
108
108
  import {
109
109
  isFolderTrustEnabled,
110
110
  loadTrustedFolders
111
- } from "./chunk-L4HVF7LM.js";
111
+ } from "./chunk-XNXWEGKB.js";
112
112
  import {
113
113
  require_strip_json_comments
114
114
  } from "./chunk-NPQ5ZKRP.js";
@@ -129,21 +129,17 @@ import {
129
129
  generateSessionRecap,
130
130
  getIdeInstaller,
131
131
  getMCPServerPrompts,
132
+ isWsl,
132
133
  parseLearnVideoInput,
133
134
  readPathFromWorkspace
134
- } from "./chunk-62JOGZL5.js";
135
+ } from "./chunk-VMDURMFY.js";
135
136
  import {
136
137
  listSavedWorkflows,
137
138
  listWorkflowSnapshots
138
- } from "./chunk-5HJUPACR.js";
139
- import {
140
- REASONING_EFFORT_TIERS,
141
- applyReasoningEffort,
142
- normalizeReasoningEffort
143
- } from "./chunk-KM73TBQ4.js";
139
+ } from "./chunk-J7MLXFC5.js";
144
140
  import {
145
141
  resolveOpenAILogDir
146
- } from "./chunk-EFB657PR.js";
142
+ } from "./chunk-OX44MOAN.js";
147
143
  import {
148
144
  ArenaManager,
149
145
  ConditionalRulesRegistry,
@@ -169,6 +165,7 @@ import {
169
165
  ideContextStore,
170
166
  isActiveWorkflowStatus,
171
167
  isExtensionCommittedWithWarningsError,
168
+ isImageGenerationCapable,
172
169
  isSignalTermination,
173
170
  isSuccessStatus,
174
171
  isTerminalStatus,
@@ -184,13 +181,15 @@ import {
184
181
  resolveSlimmingConfig,
185
182
  runForkedAgent,
186
183
  tryGenerateSessionTitle
187
- } from "./chunk-T6XLJRQY.js";
184
+ } from "./chunk-XYX474JQ.js";
188
185
  import {
189
186
  external_exports
190
187
  } from "./chunk-CQ35AJ4Z.js";
191
188
  import {
192
- resolveModelId
193
- } from "./chunk-7DYNJFES.js";
189
+ buildRuntimeSnapshotId,
190
+ resolveModelId,
191
+ stripRuntimeSnapshotPrefix
192
+ } from "./chunk-AYVIGUUK.js";
194
193
  import {
195
194
  getAutoSkillCuratorStatus,
196
195
  parse,
@@ -198,34 +197,39 @@ import {
198
197
  restoreArchivedAutoSkill,
199
198
  runAutoSkillCurator,
200
199
  setAutoSkillPinned
201
- } from "./chunk-VUMLT7E5.js";
200
+ } from "./chunk-5Y2JCJAH.js";
202
201
  import {
203
202
  HookEventName,
204
203
  sanitizeUserPromptExpansionAdditionalContext
205
- } from "./chunk-ISJMN3ML.js";
204
+ } from "./chunk-T2CRBIDJ.js";
206
205
  import {
207
206
  canUseRipgrep
208
- } from "./chunk-XLDFW44M.js";
207
+ } from "./chunk-77TOMRBG.js";
209
208
  import {
210
209
  glob
211
- } from "./chunk-Q54XG7IX.js";
210
+ } from "./chunk-DEYPMJPD.js";
212
211
  import {
213
212
  checkArgumentSafety,
214
213
  checkCommandPermissions,
215
214
  escapeShellArg,
216
215
  getShellConfiguration
217
- } from "./chunk-FEMQ6Y7W.js";
216
+ } from "./chunk-T6OODF2U.js";
218
217
  import {
219
218
  GoalPersistenceUnavailableError,
220
219
  emptyGoalSnapshot,
221
220
  projectUserTranscriptForDisplay
222
- } from "./chunk-LDGWX737.js";
221
+ } from "./chunk-FN5C6C7G.js";
223
222
  import {
224
223
  APPROVAL_MODES
225
- } from "./chunk-VLRBJ24J.js";
224
+ } from "./chunk-BVE5EMIG.js";
226
225
  import {
227
226
  openBrowserSecurely
228
227
  } from "./chunk-NAVJD2PQ.js";
228
+ import {
229
+ REASONING_EFFORT_TIERS,
230
+ applyReasoningEffort,
231
+ normalizeReasoningEffort
232
+ } from "./chunk-2LD5U7Q3.js";
229
233
  import {
230
234
  COMBINED_PASS_TOLERANCE_FACTOR,
231
235
  IdeConnectionEvent,
@@ -238,34 +242,37 @@ import {
238
242
  read,
239
243
  recordSkillInvocation,
240
244
  uiTelemetryService
241
- } from "./chunk-FDD2IUEL.js";
245
+ } from "./chunk-UX3IFLJM.js";
242
246
  import {
243
247
  getCurrentGeminiMdFilename
244
- } from "./chunk-IWOWEENB.js";
248
+ } from "./chunk-WBT3STGU.js";
245
249
  import {
246
250
  getAutoMemoryRoot
247
- } from "./chunk-HIK2OF33.js";
251
+ } from "./chunk-PVBT5QPD.js";
248
252
  import {
249
253
  runSideQuery
250
- } from "./chunk-ZRYQMWEP.js";
254
+ } from "./chunk-IPQA4SR5.js";
255
+ import {
256
+ AuthType
257
+ } from "./chunk-GTUKW3I6.js";
251
258
  import {
252
259
  normalizeContent,
253
260
  redactUrlCredentials
254
- } from "./chunk-GAHYKJPV.js";
261
+ } from "./chunk-6US7BF3G.js";
255
262
  import {
256
263
  FORK_SUBAGENT_TYPE,
257
264
  stripStartupContext
258
- } from "./chunk-WZDM44SB.js";
265
+ } from "./chunk-JUIJ3FXC.js";
259
266
  import {
260
267
  applySkillAllowedTools,
261
268
  buildSkillLlmContent
262
- } from "./chunk-K623ENWT.js";
269
+ } from "./chunk-E6FGMDFQ.js";
263
270
  import {
264
271
  ToolDisplayNamesMigration,
265
272
  ToolNames,
266
273
  canonicalToolName,
267
274
  isShellProgressData
268
- } from "./chunk-6NFAEG54.js";
275
+ } from "./chunk-KOJ6MHD5.js";
269
276
  import {
270
277
  Storage,
271
278
  createDebugLogger,
@@ -274,12 +281,12 @@ import {
274
281
  isSubpath,
275
282
  resolvePath,
276
283
  updateSymlink
277
- } from "./chunk-A5F2YNO6.js";
284
+ } from "./chunk-2NNTE2ED.js";
278
285
  import {
279
286
  isCpuProfileRecording,
280
287
  startCpuProfile,
281
288
  stopCpuProfile
282
- } from "./chunk-VEND4KA4.js";
289
+ } from "./chunk-NER3H7PI.js";
283
290
  import {
284
291
  init_esbuild_shims
285
292
  } from "./chunk-5O2XNYP6.js";
@@ -292,7 +299,7 @@ import {
292
299
  init_esbuild_shims();
293
300
  import { spawn } from "node:child_process";
294
301
 
295
- // packages/cli/src/utils/commands.ts
302
+ // packages/cli/src/ui/commands/commands.ts
296
303
  init_esbuild_shims();
297
304
  var MAX_STACKED_SKILLS = 5;
298
305
  var isStackedSkillCompletableCommand = /* @__PURE__ */ __name((command) => command.kind === "skill" /* SKILL */ && command.userInvocable !== false && !command.hidden, "isStackedSkillCompletableCommand");
@@ -641,12 +648,163 @@ function findSlashCommandTokens(text, commands) {
641
648
  }
642
649
  __name(findSlashCommandTokens, "findSlashCommandTokens");
643
650
 
651
+ // packages/cli/src/acp-integration/session-model-persistence.ts
652
+ init_esbuild_shims();
653
+ var debugLogger2 = createDebugLogger("SESSION_MODEL");
654
+ var AUTH_TYPES = new Set(Object.values(AuthType));
655
+ function isAuthType(value) {
656
+ return AUTH_TYPES.has(value);
657
+ }
658
+ __name(isAuthType, "isAuthType");
659
+ function registryHonoredBaseUrl(config, authType, modelId, baseUrl) {
660
+ if (typeof baseUrl !== "string" || !baseUrl) {
661
+ return void 0;
662
+ }
663
+ return config.getResolvedModelConfig?.(authType, modelId, baseUrl) ? baseUrl : void 0;
664
+ }
665
+ __name(registryHonoredBaseUrl, "registryHonoredBaseUrl");
666
+ async function recordDaemonSessionModel(config, payload) {
667
+ const recording = config.getChatRecordingService?.();
668
+ if (!recording?.recordSessionModel) return;
669
+ try {
670
+ await recording.recordSessionModel(payload);
671
+ } catch (error) {
672
+ debugLogger2.debug("recordSessionModel failed", error);
673
+ }
674
+ }
675
+ __name(recordDaemonSessionModel, "recordDaemonSessionModel");
676
+ async function recordDaemonSessionModelFromConfig(config) {
677
+ const modelId = config.getModel()?.trim();
678
+ const authType = config.getAuthType();
679
+ if (!modelId || !authType) return;
680
+ const snapshot = config.getActiveRuntimeModelSnapshot?.();
681
+ const registryBaseUrl = snapshot ? void 0 : config.getCurrentModelRegistryBaseUrl?.();
682
+ await recordDaemonSessionModel(config, {
683
+ modelId,
684
+ authType,
685
+ ...typeof registryBaseUrl === "string" ? { baseUrl: registryBaseUrl } : {},
686
+ ...snapshot ? { isRuntime: true } : {}
687
+ });
688
+ }
689
+ __name(recordDaemonSessionModelFromConfig, "recordDaemonSessionModelFromConfig");
690
+ function hasMatchingRuntimeSnapshot(config, authType, modelId) {
691
+ const snapshot = config.getActiveRuntimeModelSnapshot?.();
692
+ return snapshot?.authType === authType && snapshot.modelId === modelId;
693
+ }
694
+ __name(hasMatchingRuntimeSnapshot, "hasMatchingRuntimeSnapshot");
695
+ function liveAuthType(config) {
696
+ return config.getAuthType() ?? config.getModelsConfig?.()?.getCurrentAuthType?.();
697
+ }
698
+ __name(liveAuthType, "liveAuthType");
699
+ function runtimeSnapshotIdentity(snapshot) {
700
+ if (!snapshot) return void 0;
701
+ if (typeof snapshot.id === "string" && snapshot.id) {
702
+ return snapshot.id;
703
+ }
704
+ if (snapshot.authType && snapshot.modelId) {
705
+ return buildRuntimeSnapshotId(snapshot.authType, snapshot.modelId);
706
+ }
707
+ return void 0;
708
+ }
709
+ __name(runtimeSnapshotIdentity, "runtimeSnapshotIdentity");
710
+ function recordedRouteMatches(recorded, currentRegistryBaseUrl) {
711
+ if (!recorded || recorded.isRuntime) return true;
712
+ const targetBaseUrl = recorded.baseUrl;
713
+ if (targetBaseUrl === void 0) {
714
+ return currentRegistryBaseUrl === null || currentRegistryBaseUrl === void 0;
715
+ }
716
+ if (targetBaseUrl === "") {
717
+ return currentRegistryBaseUrl === null || currentRegistryBaseUrl === void 0 || currentRegistryBaseUrl === "";
718
+ }
719
+ return currentRegistryBaseUrl === targetBaseUrl;
720
+ }
721
+ __name(recordedRouteMatches, "recordedRouteMatches");
722
+ async function applyRestoredSessionModel(config, projection) {
723
+ const recorded = projection?.runtime.recording.sessionModel;
724
+ const fallbackModel = projection?.runtime.recording.lastAssistantModel;
725
+ const recordedAuth = recorded?.authType?.trim();
726
+ const authType = (recordedAuth && isAuthType(recordedAuth) ? recordedAuth : liveAuthType(config))?.trim();
727
+ const modelId = recorded?.modelId || fallbackModel;
728
+ if (!modelId?.trim() || !authType || !isAuthType(authType)) return;
729
+ const currentModel = stripRuntimeSnapshotPrefix(config.getModel() ?? "");
730
+ const currentAuth = liveAuthType(config);
731
+ const targetModel = stripRuntimeSnapshotPrefix(modelId.trim());
732
+ const targetBaseUrl = recorded?.isRuntime ? void 0 : registryHonoredBaseUrl(config, authType, targetModel, recorded?.baseUrl);
733
+ const recordedRoute = recorded ? {
734
+ ...recorded,
735
+ ...targetBaseUrl ? { baseUrl: targetBaseUrl } : { baseUrl: void 0 }
736
+ } : void 0;
737
+ const currentRegistryBaseUrl = config.getCurrentModelRegistryBaseUrl?.();
738
+ const baseUrlMatches = recordedRouteMatches(
739
+ recordedRoute,
740
+ currentRegistryBaseUrl
741
+ );
742
+ const currentRuntimeMatches = hasMatchingRuntimeSnapshot(
743
+ config,
744
+ authType,
745
+ targetModel
746
+ );
747
+ if (currentModel === targetModel && currentAuth === authType && baseUrlMatches && !(recorded && !recorded.isRuntime && currentRuntimeMatches)) {
748
+ return;
749
+ }
750
+ const useRuntimeSnapshot = Boolean(recorded?.isRuntime) && hasMatchingRuntimeSnapshot(config, authType, targetModel);
751
+ const switchModelId = useRuntimeSnapshot ? buildRuntimeSnapshotId(authType, targetModel) : targetModel;
752
+ const requireCachedCredentials = authType === "qwen-oauth" /* QWEN_OAUTH */ && currentAuth !== authType;
753
+ const switchOptions = targetBaseUrl || requireCachedCredentials ? {
754
+ ...targetBaseUrl ? { baseUrl: targetBaseUrl } : {},
755
+ ...requireCachedCredentials ? { requireCachedCredentials: true } : {}
756
+ } : void 0;
757
+ try {
758
+ await config.switchModel(authType, switchModelId, switchOptions);
759
+ } catch (error) {
760
+ debugLogger2.warn(
761
+ `restore session model failed (${targetModel}/${authType}): ${error instanceof Error ? error.message : String(error)}`
762
+ );
763
+ }
764
+ }
765
+ __name(applyRestoredSessionModel, "applyRestoredSessionModel");
766
+ async function restoreSessionModelThenAuthenticate(config, projection, authenticate) {
767
+ const originalAuth = liveAuthType(config);
768
+ const originalModel = config.getModel();
769
+ const originalBaseUrl = config.getCurrentModelRegistryBaseUrl?.();
770
+ const originalRuntimeSnapshot = config.getActiveRuntimeModelSnapshot?.();
771
+ await applyRestoredSessionModel(config, projection);
772
+ try {
773
+ await authenticate();
774
+ } catch (error) {
775
+ if (liveAuthType(config) === originalAuth && config.getModel() === originalModel && (config.getCurrentModelRegistryBaseUrl?.() ?? void 0) === (originalBaseUrl ?? void 0) && runtimeSnapshotIdentity(config.getActiveRuntimeModelSnapshot?.()) === runtimeSnapshotIdentity(originalRuntimeSnapshot)) {
776
+ throw error;
777
+ }
778
+ debugLogger2.warn(
779
+ "restored session model made authentication fail; retrying with settings model"
780
+ );
781
+ if (!originalAuth || !originalModel) {
782
+ throw error;
783
+ }
784
+ const rollbackModelId = originalRuntimeSnapshot?.authType === originalAuth && originalRuntimeSnapshot.modelId === stripRuntimeSnapshotPrefix(originalModel) ? buildRuntimeSnapshotId(
785
+ originalAuth,
786
+ stripRuntimeSnapshotPrefix(originalModel)
787
+ ) : originalModel;
788
+ try {
789
+ await config.switchModel(
790
+ originalAuth,
791
+ rollbackModelId,
792
+ typeof originalBaseUrl === "string" ? { baseUrl: originalBaseUrl } : void 0
793
+ );
794
+ } catch {
795
+ throw error;
796
+ }
797
+ await authenticate();
798
+ }
799
+ }
800
+ __name(restoreSessionModelThenAuthenticate, "restoreSessionModelThenAuthenticate");
801
+
644
802
  // packages/cli/src/nonInteractiveCliCommands.ts
645
803
  init_esbuild_shims();
646
804
 
647
805
  // packages/cli/src/services/CommandService.ts
648
806
  init_esbuild_shims();
649
- var debugLogger2 = createDebugLogger("CLI_COMMANDS");
807
+ var debugLogger3 = createDebugLogger("CLI_COMMANDS");
650
808
  var CommandService = class _CommandService {
651
809
  /**
652
810
  * Private constructor to enforce the use of the async factory.
@@ -690,7 +848,7 @@ var CommandService = class _CommandService {
690
848
  if (result.status === "fulfilled") {
691
849
  allCommands.push(...result.value);
692
850
  } else {
693
- debugLogger2.debug("A command loader failed:", result.reason);
851
+ debugLogger3.debug("A command loader failed:", result.reason);
694
852
  }
695
853
  }
696
854
  const commandMap = /* @__PURE__ */ new Map();
@@ -777,7 +935,7 @@ init_esbuild_shims();
777
935
  init_esbuild_shims();
778
936
  import fs from "node:fs/promises";
779
937
  import path from "node:path";
780
- var debugLogger3 = createDebugLogger("SESSION_PATHS");
938
+ var debugLogger4 = createDebugLogger("SESSION_PATHS");
781
939
  var OPENAI_LOG_SCAN_LIMIT = 100;
782
940
  async function collectSessionPathInfo(context) {
783
941
  const config = context.services.config;
@@ -849,7 +1007,7 @@ async function findLatestOpenAILogForSession(logDir, sessionId) {
849
1007
  if (error instanceof SyntaxError || error.code === "ENOENT") {
850
1008
  continue;
851
1009
  }
852
- debugLogger3.warn("Error reading OpenAI log file", file, error);
1010
+ debugLogger4.warn("Error reading OpenAI log file", file, error);
853
1011
  }
854
1012
  }
855
1013
  return void 0;
@@ -868,7 +1026,7 @@ async function listLogFiles(dir, predicate) {
868
1026
  return files;
869
1027
  } catch (error) {
870
1028
  if (error.code !== "ENOENT") {
871
- debugLogger3.warn("Unable to list OpenAI log directory", dir, error);
1029
+ debugLogger4.warn("Unable to list OpenAI log directory", dir, error);
872
1030
  }
873
1031
  return [];
874
1032
  }
@@ -1683,7 +1841,7 @@ function parseArenaArgs(args) {
1683
1841
  return { models, task };
1684
1842
  }
1685
1843
  __name(parseArenaArgs, "parseArenaArgs");
1686
- var debugLogger4 = createDebugLogger("ARENA_COMMAND");
1844
+ var debugLogger5 = createDebugLogger("ARENA_COMMAND");
1687
1845
  function buildArenaExecutionInput(parsed, config) {
1688
1846
  if (!parsed.task) {
1689
1847
  return {
@@ -1760,7 +1918,7 @@ function recordArenaItem(config, item) {
1760
1918
  outputHistoryItems: [{ ...item }]
1761
1919
  });
1762
1920
  } catch {
1763
- debugLogger4.error("Failed to record arena history item");
1921
+ debugLogger5.error("Failed to record arena history item");
1764
1922
  }
1765
1923
  }
1766
1924
  __name(recordArenaItem, "recordArenaItem");
@@ -1770,7 +1928,7 @@ function executeArenaCommand(config, ui, input) {
1770
1928
  const fullHistory = config.getGeminiClient().getChat().getHistoryShallow();
1771
1929
  chatHistory = stripStartupContext(fullHistory);
1772
1930
  } catch {
1773
- debugLogger4.debug("Could not retrieve chat history for arena agents");
1931
+ debugLogger5.debug("Could not retrieve chat history for arena agents");
1774
1932
  }
1775
1933
  const manager = new ArenaManager(config);
1776
1934
  const emitter = manager.getEventEmitter();
@@ -1800,7 +1958,7 @@ function executeArenaCommand(config, ui, input) {
1800
1958
  }, "handleSessionStart");
1801
1959
  const handleAgentStart = /* @__PURE__ */ __name((event) => {
1802
1960
  agentLabels.set(event.agentId, event.model.modelId);
1803
- debugLogger4.debug(
1961
+ debugLogger5.debug(
1804
1962
  `Arena agent started: ${event.model.modelId} (${event.agentId})`
1805
1963
  );
1806
1964
  }, "handleAgentStart");
@@ -1917,12 +2075,12 @@ function executeArenaCommand(config, ui, input) {
1917
2075
  chatHistory
1918
2076
  }).then(
1919
2077
  () => {
1920
- debugLogger4.debug("Arena agents settled");
2078
+ debugLogger5.debug("Arena agents settled");
1921
2079
  },
1922
2080
  (error) => {
1923
2081
  const message2 = error instanceof Error ? error.message : String(error);
1924
2082
  addAndRecordArenaMessage("error" /* ERROR */, `${message2}`);
1925
- debugLogger4.error("Arena session failed:", error);
2083
+ debugLogger5.error("Arena session failed:", error);
1926
2084
  config.setArenaManager(null);
1927
2085
  for (const detach of detachListeners) {
1928
2086
  detach();
@@ -2277,7 +2435,7 @@ var approvalModeCommand = {
2277
2435
  };
2278
2436
  }
2279
2437
  }
2280
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-ZNMIGBTN.js") : void 0;
2438
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-MYXYSKSL.js") : void 0;
2281
2439
  if (config) {
2282
2440
  try {
2283
2441
  config.setApprovalMode(mode);
@@ -3132,7 +3290,7 @@ __name(buildBackgroundWorkBlockedMessage, "buildBackgroundWorkBlockedMessage");
3132
3290
 
3133
3291
  // packages/cli/src/ui/commands/clearCommand.ts
3134
3292
  import process2 from "node:process";
3135
- var debugLogger5 = createDebugLogger("CLEAR_COMMAND");
3293
+ var debugLogger6 = createDebugLogger("CLEAR_COMMAND");
3136
3294
  var clearCommand = {
3137
3295
  name: "clear",
3138
3296
  altNames: ["reset", "new"],
@@ -3144,8 +3302,8 @@ var clearCommand = {
3144
3302
  action: /* @__PURE__ */ __name(async (context, _args) => {
3145
3303
  const { config } = context.services;
3146
3304
  const memBefore = process2.memoryUsage();
3147
- if (debugLogger5.isEnabled()) {
3148
- debugLogger5.debug(
3305
+ if (debugLogger6.isEnabled()) {
3306
+ debugLogger6.debug(
3149
3307
  `[CLEAR_START] Starting clear command, heapUsed=${(memBefore.heapUsed / 1024 / 1024).toFixed(1)}MB, rss=${(memBefore.rss / 1024 / 1024).toFixed(1)}MB`
3150
3308
  );
3151
3309
  }
@@ -3206,10 +3364,10 @@ var clearCommand = {
3206
3364
  context.ui.clear();
3207
3365
  }
3208
3366
  const memAfter = process2.memoryUsage();
3209
- if (debugLogger5.isEnabled()) {
3367
+ if (debugLogger6.isEnabled()) {
3210
3368
  const heapDiff = (memAfter.heapUsed - memBefore.heapUsed) / 1024 / 1024;
3211
3369
  const rssDiff = (memAfter.rss - memBefore.rss) / 1024 / 1024;
3212
- debugLogger5.debug(
3370
+ debugLogger6.debug(
3213
3371
  `[CLEAR_END] Clear command completed, heapUsed=${(memAfter.heapUsed / 1024 / 1024).toFixed(1)}MB, rss=${(memAfter.rss / 1024 / 1024).toFixed(1)}MB, heapDiff=${heapDiff.toFixed(1)}MB, rssDiff=${rssDiff.toFixed(1)}MB`
3214
3372
  );
3215
3373
  }
@@ -3570,6 +3728,7 @@ var deleteCommand = {
3570
3728
  // packages/cli/src/ui/commands/compressCommand.ts
3571
3729
  init_esbuild_shims();
3572
3730
  var MAX_COMPRESS_INSTRUCTIONS_CHARS = 2e3;
3731
+ var formatTokenCount2 = /* @__PURE__ */ __name((count, isEstimated) => isEstimated ? `~${count}` : String(count), "formatTokenCount");
3573
3732
  var compressCommand = {
3574
3733
  name: "compress",
3575
3734
  altNames: ["summarize"],
@@ -3648,7 +3807,7 @@ var compressCommand = {
3648
3807
  }
3649
3808
  yield {
3650
3809
  messageType: "info",
3651
- content: `Context compressed (${compressed.originalTokenCount} -> ${compressed.newTokenCount}).` + (compressed.warning ? `
3810
+ content: `Context compressed (${formatTokenCount2(compressed.originalTokenCount, compressed.originalTokenCountIsEstimated)} -> ${formatTokenCount2(compressed.newTokenCount, compressed.newTokenCountIsEstimated)}).` + (compressed.warning ? `
3652
3811
  \u26A0\uFE0F ${compressed.warning}` : "")
3653
3812
  };
3654
3813
  } catch (e) {
@@ -3702,7 +3861,9 @@ var compressCommand = {
3702
3861
  originalTokenCount: compressed.originalTokenCount,
3703
3862
  newTokenCount: compressed.newTokenCount,
3704
3863
  compressionStatus: compressed.compressionStatus,
3705
- compressionKind: "summarize"
3864
+ compressionKind: "summarize",
3865
+ originalTokenCountIsEstimated: compressed.originalTokenCountIsEstimated,
3866
+ newTokenCountIsEstimated: compressed.newTokenCountIsEstimated
3706
3867
  }
3707
3868
  },
3708
3869
  Date.now()
@@ -3718,7 +3879,7 @@ var compressCommand = {
3718
3879
  return {
3719
3880
  type: "message",
3720
3881
  messageType: "info",
3721
- content: `${truncationNotice ? `${truncationNotice} ` : ""}Context compressed (${compressed.originalTokenCount} -> ${compressed.newTokenCount}).` + (compressed.warning ? `
3882
+ content: `${truncationNotice ? `${truncationNotice} ` : ""}Context compressed (${formatTokenCount2(compressed.originalTokenCount, compressed.originalTokenCountIsEstimated)} -> ${formatTokenCount2(compressed.newTokenCount, compressed.newTokenCountIsEstimated)}).` + (compressed.warning ? `
3722
3883
  \u26A0\uFE0F ${compressed.warning}` : "")
3723
3884
  };
3724
3885
  } catch (e) {
@@ -3754,6 +3915,7 @@ var compressCommand = {
3754
3915
 
3755
3916
  // packages/cli/src/ui/commands/compressFastCommand.ts
3756
3917
  init_esbuild_shims();
3918
+ var formatTokenCount3 = /* @__PURE__ */ __name((count, isEstimated) => isEstimated ? `~${count}` : String(count), "formatTokenCount");
3757
3919
  var compressFastCommand = {
3758
3920
  name: "compress-fast",
3759
3921
  get description() {
@@ -3819,7 +3981,7 @@ var compressFastCommand = {
3819
3981
  }
3820
3982
  yield {
3821
3983
  messageType: "info",
3822
- content: `Context compressed (${compressed.originalTokenCount} -> ${compressed.newTokenCount}).`
3984
+ content: `Context compressed (${formatTokenCount3(compressed.originalTokenCount, compressed.originalTokenCountIsEstimated)} -> ${formatTokenCount3(compressed.newTokenCount, compressed.newTokenCountIsEstimated)}).`
3823
3985
  };
3824
3986
  } catch (e) {
3825
3987
  yield {
@@ -3863,7 +4025,9 @@ var compressFastCommand = {
3863
4025
  originalTokenCount: compressed.originalTokenCount,
3864
4026
  newTokenCount: compressed.newTokenCount,
3865
4027
  compressionStatus: compressed.compressionStatus,
3866
- compressionKind: "fast"
4028
+ compressionKind: "fast",
4029
+ originalTokenCountIsEstimated: compressed.originalTokenCountIsEstimated,
4030
+ newTokenCountIsEstimated: compressed.newTokenCountIsEstimated
3867
4031
  }
3868
4032
  },
3869
4033
  Date.now()
@@ -3873,7 +4037,7 @@ var compressFastCommand = {
3873
4037
  return {
3874
4038
  type: "message",
3875
4039
  messageType: "info",
3876
- content: `Context compressed (${compressed.originalTokenCount} -> ${compressed.newTokenCount}).`
4040
+ content: `Context compressed (${formatTokenCount3(compressed.originalTokenCount, compressed.originalTokenCountIsEstimated)} -> ${formatTokenCount3(compressed.newTokenCount, compressed.newTokenCountIsEstimated)}).`
3877
4041
  };
3878
4042
  } catch (e) {
3879
4043
  if (executionMode === "interactive") {
@@ -4572,7 +4736,7 @@ var docsCommand = {
4572
4736
  // packages/cli/src/ui/commands/doctorCommand.ts
4573
4737
  init_esbuild_shims();
4574
4738
 
4575
- // packages/cli/src/utils/doctorChecks.ts
4739
+ // packages/cli/src/ui/commands/doctorChecks.ts
4576
4740
  init_esbuild_shims();
4577
4741
  import process4 from "node:process";
4578
4742
  import os from "node:os";
@@ -5320,7 +5484,7 @@ function formatMemoryDiagnostics(diagnostics) {
5320
5484
  __name(formatMemoryDiagnostics, "formatMemoryDiagnostics");
5321
5485
 
5322
5486
  // packages/cli/src/ui/commands/doctorCommand.ts
5323
- var debugLogger6 = createDebugLogger("DOCTOR_MEMORY");
5487
+ var debugLogger7 = createDebugLogger("DOCTOR_MEMORY");
5324
5488
  var MEMORY_SUBCOMMAND = "memory";
5325
5489
  var CPU_PROFILE_SUBCOMMAND = "cpu-profile";
5326
5490
  var ROLLBACK_SUBCOMMAND = "rollback";
@@ -5734,7 +5898,7 @@ function collectToolResultRetention(context) {
5734
5898
  presentInCompressionInput: stats.oversizedResultCount > 0
5735
5899
  };
5736
5900
  } catch (error) {
5737
- debugLogger6.warn(
5901
+ debugLogger7.warn(
5738
5902
  `Tool result retention diagnostics unavailable: ${formatErrorMessage2(error)}`
5739
5903
  );
5740
5904
  return null;
@@ -6083,7 +6247,7 @@ init_esbuild_shims();
6083
6247
  import * as fs5 from "node:fs/promises";
6084
6248
  import path5 from "node:path";
6085
6249
  var EXPORT_DIR_OUT_OF_CWD = "Export directory must be within the project working directory.";
6086
- var debugLogger7 = createDebugLogger("EXPORT_COMMAND");
6250
+ var debugLogger8 = createDebugLogger("EXPORT_COMMAND");
6087
6251
  function formatExportTargetContext(target) {
6088
6252
  return `target: "${target.outputDir}", cwd: "${target.resolvedCwd}"`;
6089
6253
  }
@@ -6112,7 +6276,7 @@ function resolveExportTarget(cwd, args, extension) {
6112
6276
  }
6113
6277
  __name(resolveExportTarget, "resolveExportTarget");
6114
6278
  async function validateExportTargetWithinCwd(target) {
6115
- debugLogger7.debug(
6279
+ debugLogger8.debug(
6116
6280
  "Validating export target realpath:",
6117
6281
  formatExportTargetContext(target)
6118
6282
  );
@@ -6125,7 +6289,7 @@ async function validateExportTargetWithinCwd(target) {
6125
6289
  ]);
6126
6290
  } catch (error) {
6127
6291
  if (error.code === "ENOENT") {
6128
- debugLogger7.debug(
6292
+ debugLogger8.debug(
6129
6293
  "Export target realpath validation failed: missing path",
6130
6294
  formatExportTargetContext(target)
6131
6295
  );
@@ -6140,7 +6304,7 @@ async function validateExportTargetWithinCwd(target) {
6140
6304
  throw error;
6141
6305
  }
6142
6306
  if (!isSubpath(realCwd, realOutputDir)) {
6143
- debugLogger7.debug("Export target realpath escaped cwd:", {
6307
+ debugLogger8.debug("Export target realpath escaped cwd:", {
6144
6308
  realCwd,
6145
6309
  realOutputDir,
6146
6310
  target
@@ -6158,21 +6322,21 @@ async function validateExportTargetWithinCwd(target) {
6158
6322
  __name(validateExportTargetWithinCwd, "validateExportTargetWithinCwd");
6159
6323
  async function realpathNearestExisting(outputDir, resolvedCwd) {
6160
6324
  let currentPath = outputDir;
6161
- debugLogger7.debug("Resolving nearest existing export parent:", {
6325
+ debugLogger8.debug("Resolving nearest existing export parent:", {
6162
6326
  outputDir,
6163
6327
  resolvedCwd
6164
6328
  });
6165
6329
  while (isSubpath(resolvedCwd, currentPath)) {
6166
6330
  try {
6167
6331
  const realCurrentPath = await fs5.realpath(currentPath);
6168
- debugLogger7.debug("Resolved nearest existing export parent:", {
6332
+ debugLogger8.debug("Resolved nearest existing export parent:", {
6169
6333
  currentPath,
6170
6334
  realCurrentPath
6171
6335
  });
6172
6336
  return realCurrentPath;
6173
6337
  } catch (error) {
6174
6338
  if (error.code !== "ENOENT") {
6175
- debugLogger7.debug("Failed to resolve existing export parent:", error);
6339
+ debugLogger8.debug("Failed to resolve existing export parent:", error);
6176
6340
  throw error;
6177
6341
  }
6178
6342
  const parentPath = path5.dirname(currentPath);
@@ -6186,7 +6350,7 @@ async function realpathNearestExisting(outputDir, resolvedCwd) {
6186
6350
  }
6187
6351
  __name(realpathNearestExisting, "realpathNearestExisting");
6188
6352
  async function validateExistingExportParentWithinCwd(target) {
6189
- debugLogger7.debug(
6353
+ debugLogger8.debug(
6190
6354
  "Validating existing export parent realpath:",
6191
6355
  formatExportTargetContext(target)
6192
6356
  );
@@ -6204,7 +6368,7 @@ async function validateExistingExportParentWithinCwd(target) {
6204
6368
  target.resolvedCwd
6205
6369
  );
6206
6370
  if (!isSubpath(realCwd, realExistingParent)) {
6207
- debugLogger7.debug("Existing export parent escaped cwd:", {
6371
+ debugLogger8.debug("Existing export parent escaped cwd:", {
6208
6372
  realCwd,
6209
6373
  realExistingParent,
6210
6374
  target
@@ -6240,7 +6404,7 @@ async function exportSessionAction(context, args, exportFormat) {
6240
6404
  }
6241
6405
  const target = resolveExportTarget(cwd, args, exportFormat.extension);
6242
6406
  const targetFilepath = target.filepath;
6243
- debugLogger7.debug("Resolved export target:", {
6407
+ debugLogger8.debug("Resolved export target:", {
6244
6408
  format: exportFormat.displayName,
6245
6409
  cwd,
6246
6410
  outputDirArg: args.trim(),
@@ -6249,7 +6413,7 @@ async function exportSessionAction(context, args, exportFormat) {
6249
6413
  filepath: target.filepath
6250
6414
  });
6251
6415
  if (!target.isInsideCwd) {
6252
- debugLogger7.debug(
6416
+ debugLogger8.debug(
6253
6417
  "Export target rejected before realpath validation:",
6254
6418
  formatExportTargetContext(target)
6255
6419
  );
@@ -6266,17 +6430,17 @@ async function exportSessionAction(context, args, exportFormat) {
6266
6430
  if (initialValidationError) {
6267
6431
  return initialValidationError;
6268
6432
  }
6269
- debugLogger7.debug("Export target validation passed:", {
6433
+ debugLogger8.debug("Export target validation passed:", {
6270
6434
  format: exportFormat.displayName,
6271
6435
  outputDir: target.outputDir,
6272
6436
  outputDirKind: target.outputDirKind
6273
6437
  });
6274
6438
  const sessionService = new SessionService(cwd);
6275
6439
  const sessionId = config.getSessionId();
6276
- debugLogger7.debug("Loading session for export:", { sessionId, cwd });
6440
+ debugLogger8.debug("Loading session for export:", { sessionId, cwd });
6277
6441
  const sessionData = await sessionService.loadSession(sessionId);
6278
6442
  if (!sessionData) {
6279
- debugLogger7.debug("No active session found for export:", {
6443
+ debugLogger8.debug("No active session found for export:", {
6280
6444
  sessionId,
6281
6445
  cwd
6282
6446
  });
@@ -6296,12 +6460,12 @@ async function exportSessionAction(context, args, exportFormat) {
6296
6460
  const content = exportFormat.format(normalizedData);
6297
6461
  if (target.outputDirKind === "custom") {
6298
6462
  try {
6299
- debugLogger7.debug("Creating export directory:", {
6463
+ debugLogger8.debug("Creating export directory:", {
6300
6464
  outputDir: target.outputDir
6301
6465
  });
6302
6466
  await fs5.mkdir(target.outputDir, { recursive: true, mode: 448 });
6303
6467
  } catch (error) {
6304
- debugLogger7.debug("Failed to create export directory:", error);
6468
+ debugLogger8.debug("Failed to create export directory:", error);
6305
6469
  return {
6306
6470
  type: "message",
6307
6471
  messageType: "error",
@@ -6315,7 +6479,7 @@ async function exportSessionAction(context, args, exportFormat) {
6315
6479
  return writeValidationError;
6316
6480
  }
6317
6481
  } catch (error) {
6318
- debugLogger7.debug("Export path validation failed before write:", error);
6482
+ debugLogger8.debug("Export path validation failed before write:", error);
6319
6483
  return {
6320
6484
  type: "message",
6321
6485
  messageType: "error",
@@ -6323,7 +6487,7 @@ async function exportSessionAction(context, args, exportFormat) {
6323
6487
  };
6324
6488
  }
6325
6489
  try {
6326
- debugLogger7.debug("Writing export file:", {
6490
+ debugLogger8.debug("Writing export file:", {
6327
6491
  format: exportFormat.displayName,
6328
6492
  filepath: target.filepath
6329
6493
  });
@@ -6332,17 +6496,17 @@ async function exportSessionAction(context, args, exportFormat) {
6332
6496
  mode: 384
6333
6497
  });
6334
6498
  await fs5.chmod(target.filepath, 384).catch((error) => {
6335
- debugLogger7.debug("Failed to tighten export file permissions:", error);
6499
+ debugLogger8.debug("Failed to tighten export file permissions:", error);
6336
6500
  });
6337
6501
  } catch (error) {
6338
- debugLogger7.debug("Failed to write export file:", error);
6502
+ debugLogger8.debug("Failed to write export file:", error);
6339
6503
  return {
6340
6504
  type: "message",
6341
6505
  messageType: "error",
6342
6506
  content: `Failed to export session: ${error instanceof Error ? error.message : String(error)} (${exportFormat.displayName} target: "${targetFilepath}")`
6343
6507
  };
6344
6508
  }
6345
- debugLogger7.debug("Session export completed:", {
6509
+ debugLogger8.debug("Session export completed:", {
6346
6510
  format: exportFormat.displayName,
6347
6511
  filepath: target.filepath
6348
6512
  });
@@ -6352,7 +6516,7 @@ async function exportSessionAction(context, args, exportFormat) {
6352
6516
  content: `Session exported to ${exportFormat.displayName}: ${target.displayPath}`
6353
6517
  };
6354
6518
  } catch (error) {
6355
- debugLogger7.debug("Session export failed:", {
6519
+ debugLogger8.debug("Session export failed:", {
6356
6520
  format: exportFormat.displayName,
6357
6521
  target,
6358
6522
  error
@@ -6448,7 +6612,7 @@ var exportCommand = {
6448
6612
 
6449
6613
  // packages/cli/src/ui/commands/forkCommand.ts
6450
6614
  init_esbuild_shims();
6451
- var debugLogger8 = createDebugLogger("FORK_COMMAND");
6615
+ var debugLogger9 = createDebugLogger("FORK_COMMAND");
6452
6616
  function deriveForkDescription(directive) {
6453
6617
  const oneLine = directive.replace(/\s+/g, " ").trim();
6454
6618
  return oneLine.length > 60 ? `${oneLine.slice(0, 57)}\u2026` : oneLine;
@@ -6504,7 +6668,7 @@ var forkCommand = {
6504
6668
  try {
6505
6669
  hasHistory = (config.getGeminiClient().getHistoryShallow() ?? []).length > 0;
6506
6670
  } catch (error) {
6507
- debugLogger8.debug("Failed to read history before /fork:", error);
6671
+ debugLogger9.debug("Failed to read history before /fork:", error);
6508
6672
  hasHistory = false;
6509
6673
  }
6510
6674
  if (!hasHistory) {
@@ -6564,7 +6728,7 @@ var forkCommand = {
6564
6728
  ]
6565
6729
  });
6566
6730
  } catch (error) {
6567
- debugLogger8.debug("Failed to record fork event in history:", error);
6731
+ debugLogger9.debug("Failed to record fork event in history:", error);
6568
6732
  }
6569
6733
  return {
6570
6734
  type: "message",
@@ -6578,7 +6742,7 @@ var forkCommand = {
6578
6742
 
6579
6743
  // packages/cli/src/ui/commands/extensionsCommand.ts
6580
6744
  init_esbuild_shims();
6581
- var debugLogger9 = createDebugLogger("EXTENSIONS_COMMAND");
6745
+ var debugLogger10 = createDebugLogger("EXTENSIONS_COMMAND");
6582
6746
  var EXTENSION_EXPLORE_URL = {
6583
6747
  Gemini: "https://geminicli.com/extensions/",
6584
6748
  ClaudeCode: "https://claudemarketplaces.com/"
@@ -6741,7 +6905,7 @@ async function installAction(context, args) {
6741
6905
  }
6742
6906
  const extensionManager = context.services.config?.getExtensionManager();
6743
6907
  if (!(extensionManager instanceof ExtensionManager)) {
6744
- debugLogger9.error(
6908
+ debugLogger10.error(
6745
6909
  `Cannot ${context.invocation?.name} extensions in this environment`
6746
6910
  );
6747
6911
  return;
@@ -7075,7 +7239,7 @@ var expandNowCommand = {
7075
7239
  content: t("History is already expanded in this session.")
7076
7240
  };
7077
7241
  }
7078
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-DDSBAQJS.js");
7242
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-YQRITQAG.js");
7079
7243
  const updated = expandCollapsedHistory(history);
7080
7244
  loadHistory(updated);
7081
7245
  refreshStatic();
@@ -8609,7 +8773,7 @@ Write the complete content to the \`${contextFileName}\` file. The output must b
8609
8773
 
8610
8774
  // packages/cli/src/ui/commands/languageCommand.ts
8611
8775
  init_esbuild_shims();
8612
- var debugLogger10 = createDebugLogger("LANGUAGE_COMMAND");
8776
+ var debugLogger11 = createDebugLogger("LANGUAGE_COMMAND");
8613
8777
  function getCurrentOutputLanguage(context) {
8614
8778
  const settingValue = context?.services?.settings?.merged?.general?.outputLanguage || OUTPUT_LANGUAGE_AUTO;
8615
8779
  const resolved = resolveOutputLanguageOrPreserveAuto(settingValue);
@@ -8677,7 +8841,7 @@ async function setUiLanguage(context, lang, scope = "User" /* User */) {
8677
8841
  throwOnWriteFailure: true
8678
8842
  });
8679
8843
  } catch (error) {
8680
- debugLogger10.warn("Failed to save language setting:", error);
8844
+ debugLogger11.warn("Failed to save language setting:", error);
8681
8845
  return {
8682
8846
  type: "message",
8683
8847
  messageType: "error",
@@ -8713,7 +8877,7 @@ async function setOutputLanguage(context, language) {
8713
8877
  settingValue
8714
8878
  );
8715
8879
  } catch (error) {
8716
- debugLogger10.warn("Failed to save output language setting:", error);
8880
+ debugLogger11.warn("Failed to save output language setting:", error);
8717
8881
  }
8718
8882
  }
8719
8883
  const config = context.services.config;
@@ -8722,7 +8886,7 @@ async function setOutputLanguage(context, language) {
8722
8886
  await config.refreshHierarchicalMemory();
8723
8887
  await config.getGeminiClient().refreshSystemInstruction();
8724
8888
  } catch (error) {
8725
- debugLogger10.warn(
8889
+ debugLogger11.warn(
8726
8890
  "Failed to apply output language to running session:",
8727
8891
  error
8728
8892
  );
@@ -9077,7 +9241,7 @@ var MAIN_MODEL_CONFIGURATION_HINT = "Configure models in settings.modelProviders
9077
9241
  var FAST_MODEL_CONFIGURATION_HINT = "Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model --fast without a model to choose from configured models.";
9078
9242
  var VISION_MODEL_CONFIGURATION_HINT = "Configure an image-capable model in settings.modelProviders and ensure the required environment variables are set. Run /model --vision <model-id> to set it, or leave it unset to auto-pick a same-provider vision model.";
9079
9243
  var COMPACTION_MODEL_CONFIGURATION_HINT = "Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model --compaction without a model to choose from configured models.";
9080
- var IMAGE_MODEL_CONFIGURATION_HINT = "Configure a model with imageOnly: true, baseUrl, and envKey in settings.modelProviders. Run /model --image <model-id> to select it.";
9244
+ var IMAGE_MODEL_CONFIGURATION_HINT = "Configure a model with supportsImageGeneration: true (or legacy imageOnly: true), baseUrl, and envKey in settings.modelProviders. Run /model --image <model-id> to select it.";
9081
9245
  var MODEL_PICKER_FLAGS = [
9082
9246
  "fast",
9083
9247
  "voice",
@@ -9266,7 +9430,7 @@ function getAvailableModelIds(context, mode = "main") {
9266
9430
  const models = mode === "image" ? config.getAllConfiguredModels() : config.getAvailableModels();
9267
9431
  const availableModels = models.filter((m) => {
9268
9432
  if (mode === "image")
9269
- return m.imageOnly === true && !m.fastOnly && !m.voiceOnly;
9433
+ return isImageGenerationCapable(m) && !m.fastOnly && !m.voiceOnly;
9270
9434
  if (mode === "vision") return !m.fastOnly && !m.voiceOnly && !m.imageOnly;
9271
9435
  if (mode === "fast") return !m.voiceOnly && !m.imageOnly && !m.visionOnly;
9272
9436
  if (mode === "voice") return !m.fastOnly && !m.imageOnly && !m.visionOnly;
@@ -9737,7 +9901,7 @@ ${formatNonVisionModelWarning(modelName2)}`;
9737
9901
  };
9738
9902
  }
9739
9903
  const availableModels = (selector.authType ? config.getAvailableModelsForAuthType(selector.authType) : config.getAllConfiguredModels()).filter(
9740
- (model) => model.imageOnly === true && !model.fastOnly && !model.voiceOnly
9904
+ (model) => isImageGenerationCapable(model) && !model.fastOnly && !model.voiceOnly
9741
9905
  );
9742
9906
  const matchingModels = availableModels.filter(
9743
9907
  (model) => model.id === selector.modelId
@@ -9874,6 +10038,9 @@ ${formatNonVisionModelWarning(modelName2)}`;
9874
10038
  modelName,
9875
10039
  scopeOverride
9876
10040
  );
10041
+ if (context.executionMode === "acp") {
10042
+ await recordDaemonSessionModelFromConfig(config);
10043
+ }
9877
10044
  return {
9878
10045
  type: "message",
9879
10046
  messageType: "info",
@@ -10141,7 +10308,7 @@ init_esbuild_shims();
10141
10308
 
10142
10309
  // packages/cli/src/config/extension-runtime-reload.ts
10143
10310
  init_esbuild_shims();
10144
- var debugLogger11 = createDebugLogger("EXTENSION_RUNTIME_RELOAD");
10311
+ var debugLogger12 = createDebugLogger("EXTENSION_RUNTIME_RELOAD");
10145
10312
  async function reloadPluginsRuntime(options) {
10146
10313
  if (options.config.isSafeMode()) {
10147
10314
  throw new Error("Extension reload is disabled in safe mode.");
@@ -10161,7 +10328,7 @@ async function refreshExtensionContentRuntime(options) {
10161
10328
  await manager.refreshCache();
10162
10329
  } catch (error) {
10163
10330
  errors.push(error);
10164
- debugLogger11.warn(
10331
+ debugLogger12.warn(
10165
10332
  "refreshExtensionContentRuntime: refreshCache failed:",
10166
10333
  error
10167
10334
  );
@@ -10174,7 +10341,7 @@ async function refreshExtensionContentRuntime(options) {
10174
10341
  for (const result of settled) {
10175
10342
  if (result.status === "rejected") {
10176
10343
  errors.push(result.reason);
10177
- debugLogger11.warn(
10344
+ debugLogger12.warn(
10178
10345
  "refreshExtensionContentRuntime: a refresh leg failed:",
10179
10346
  result.reason
10180
10347
  );
@@ -11983,7 +12150,7 @@ import * as os4 from "node:os";
11983
12150
  import * as path13 from "node:path";
11984
12151
  import { exec } from "node:child_process";
11985
12152
  import { promisify } from "node:util";
11986
- var debugLogger12 = createDebugLogger("TERMINAL_SETUP");
12153
+ var debugLogger13 = createDebugLogger("TERMINAL_SETUP");
11987
12154
  var execAsync = promisify(exec);
11988
12155
  function stripJsonComments2(content) {
11989
12156
  return content.replace(/^\s*\/\/.*$/gm, "");
@@ -12016,7 +12183,7 @@ async function detectTerminal() {
12016
12183
  if (parentName.includes("trae") || parentName.includes("Trae"))
12017
12184
  return "trae";
12018
12185
  } catch (error) {
12019
- debugLogger12.debug("Parent process detection failed:", error);
12186
+ debugLogger13.debug("Parent process detection failed:", error);
12020
12187
  }
12021
12188
  }
12022
12189
  return null;
@@ -12028,7 +12195,7 @@ async function backupFile(filePath) {
12028
12195
  const backupPath = `${filePath}.backup.${timestamp}`;
12029
12196
  await fs10.copyFile(filePath, backupPath);
12030
12197
  } catch (error) {
12031
- debugLogger12.warn(`Failed to create backup of ${filePath}:`, error);
12198
+ debugLogger13.warn(`Failed to create backup of ${filePath}:`, error);
12032
12199
  }
12033
12200
  }
12034
12201
  __name(backupFile, "backupFile");
@@ -12360,10 +12527,6 @@ var SUPPORTED_PLATFORMS = [
12360
12527
  "linux",
12361
12528
  "win32"
12362
12529
  ];
12363
- function isWsl(env) {
12364
- return Boolean(env["WSL_DISTRO_NAME"] || env["WSL_INTEROP"]);
12365
- }
12366
- __name(isWsl, "isWsl");
12367
12530
  function getVoiceUnavailableReason(environment = {
12368
12531
  platform: process6.platform,
12369
12532
  env: process6.env
@@ -14355,10 +14518,10 @@ var updateCommand = {
14355
14518
  { performStandaloneUpdate },
14356
14519
  installationInfo
14357
14520
  ] = await Promise.all([
14358
- import("./updateCheck-EOVLHD4T.js"),
14359
- import("./processUtils-YK2TDTTU.js"),
14360
- import("./standalone-update-LSCGOEFP.js"),
14361
- import("./installationInfo-ARU5Q2H7.js")
14521
+ import("./updateCheck-6JRTKTUF.js"),
14522
+ import("./processUtils-JJAR56SO.js"),
14523
+ import("./standalone-update-CUYGWTR4.js"),
14524
+ import("./installationInfo-N3DCWVWR.js")
14362
14525
  ]);
14363
14526
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
14364
14527
  const settings = context.services.settings;
@@ -14510,10 +14673,10 @@ var BuiltinCommandLoader = class {
14510
14673
  agentsCommand,
14511
14674
  tasksCommand,
14512
14675
  // Gated behind isWorkflowsEnabled — feature flag honors
14513
- // QWEN_CODE_ENABLE_WORKFLOWS (opt-in) and QWEN_CODE_DISABLE_WORKFLOWS
14514
- // (kill switch). When the flag is off the command vanishes entirely
14515
- // from typeahead and help, matching the established convention for
14516
- // experimental builtins.
14676
+ // tools.workflowsEnabled, QWEN_CODE_ENABLE_WORKFLOWS (opt-in), and
14677
+ // QWEN_CODE_DISABLE_WORKFLOWS (kill switch). When the flag is off the
14678
+ // command vanishes entirely from typeahead and help, matching the
14679
+ // established convention for experimental builtins.
14517
14680
  this.config?.isWorkflowsEnabled() ? workflowsCommand : null,
14518
14681
  arenaCommand,
14519
14682
  approvalModeCommand,
@@ -14591,7 +14754,7 @@ var BuiltinCommandLoader = class {
14591
14754
  // packages/cli/src/services/BundledSkillLoader.ts
14592
14755
  init_esbuild_shims();
14593
14756
  import { dirname as dirname2 } from "node:path";
14594
- var debugLogger13 = createDebugLogger("BUNDLED_SKILL_LOADER");
14757
+ var debugLogger14 = createDebugLogger("BUNDLED_SKILL_LOADER");
14595
14758
  var BundledSkillLoader = class {
14596
14759
  constructor(config) {
14597
14760
  this.config = config;
@@ -14601,12 +14764,12 @@ var BundledSkillLoader = class {
14601
14764
  }
14602
14765
  async loadCommands(_signal) {
14603
14766
  if (this.config?.getBareMode?.()) {
14604
- debugLogger13.debug("Bare mode enabled, skipping bundled skills");
14767
+ debugLogger14.debug("Bare mode enabled, skipping bundled skills");
14605
14768
  return [];
14606
14769
  }
14607
14770
  const skillManager = this.config?.getSkillManager();
14608
14771
  if (!skillManager) {
14609
- debugLogger13.debug("SkillManager not available, skipping bundled skills");
14772
+ debugLogger14.debug("SkillManager not available, skipping bundled skills");
14610
14773
  return [];
14611
14774
  }
14612
14775
  try {
@@ -14614,7 +14777,7 @@ var BundledSkillLoader = class {
14614
14777
  const cronEnabled = this.config?.isCronEnabled() ?? false;
14615
14778
  const cronVisible = allSkills.filter((skill) => {
14616
14779
  if (!cronEnabled && skill.allowedTools?.some((t2) => t2.startsWith("cron_"))) {
14617
- debugLogger13.debug(
14780
+ debugLogger14.debug(
14618
14781
  `Hiding skill "${skill.name}" because cron is not enabled`
14619
14782
  );
14620
14783
  return false;
@@ -14625,7 +14788,7 @@ var BundledSkillLoader = class {
14625
14788
  const skills = cronVisible.filter(
14626
14789
  (skill) => !disabled.has(skill.name.toLowerCase())
14627
14790
  );
14628
- debugLogger13.debug(
14791
+ debugLogger14.debug(
14629
14792
  `Loaded ${skills.length} bundled skill(s) as slash commands; ${cronVisible.length - skills.length} hidden by skills.disabled`
14630
14793
  );
14631
14794
  return skills.map((skill) => ({
@@ -14687,7 +14850,7 @@ ${body}`;
14687
14850
  }, "action")
14688
14851
  }));
14689
14852
  } catch (error) {
14690
- debugLogger13.error("Failed to load bundled skills:", error);
14853
+ debugLogger14.error("Failed to load bundled skills:", error);
14691
14854
  return [];
14692
14855
  }
14693
14856
  }
@@ -14967,7 +15130,7 @@ var ShellProcessor = class {
14967
15130
 
14968
15131
  // packages/cli/src/services/prompt-processors/atFileProcessor.ts
14969
15132
  init_esbuild_shims();
14970
- var debugLogger14 = createDebugLogger("AT_FILE_PROCESSOR");
15133
+ var debugLogger15 = createDebugLogger("AT_FILE_PROCESSOR");
14971
15134
  var AtFileProcessor = class {
14972
15135
  constructor(commandName) {
14973
15136
  this.commandName = commandName;
@@ -15013,7 +15176,7 @@ var AtFileProcessor = class {
15013
15176
  } catch (error) {
15014
15177
  const message2 = error instanceof Error ? error.message : String(error);
15015
15178
  const uiMessage = `Failed to inject content for '@{${pathStr}}': ${message2}`;
15016
- debugLogger14.error(
15179
+ debugLogger15.error(
15017
15180
  `[AtFileProcessor] ${uiMessage}. Leaving placeholder in prompt.`
15018
15181
  );
15019
15182
  context.ui.addItem(
@@ -15038,7 +15201,7 @@ var AtFileProcessor = class {
15038
15201
  };
15039
15202
 
15040
15203
  // packages/cli/src/services/command-factory.ts
15041
- var debugLogger15 = createDebugLogger("COMMAND_FACTORY");
15204
+ var debugLogger16 = createDebugLogger("COMMAND_FACTORY");
15042
15205
  function createSlashCommandFromDefinition(filePath, baseDir, definition, extensionName, fileExtension) {
15043
15206
  const relativePathWithExt = path16.relative(baseDir, filePath);
15044
15207
  const relativePath = relativePathWithExt.substring(
@@ -15082,7 +15245,7 @@ function createSlashCommandFromDefinition(filePath, baseDir, definition, extensi
15082
15245
  whenToUse: definition.whenToUse,
15083
15246
  action: /* @__PURE__ */ __name(async (context, _args) => {
15084
15247
  if (!context.invocation) {
15085
- debugLogger15.error(
15248
+ debugLogger16.error(
15086
15249
  `[FileCommandLoader] Critical error: Command '${baseCommandName}' was executed without invocation context.`
15087
15250
  );
15088
15251
  return {
@@ -15120,7 +15283,7 @@ function createSlashCommandFromDefinition(filePath, baseDir, definition, extensi
15120
15283
  __name(createSlashCommandFromDefinition, "createSlashCommandFromDefinition");
15121
15284
 
15122
15285
  // packages/cli/src/services/FileCommandLoader.ts
15123
- var debugLogger16 = createDebugLogger("FILE_COMMAND_LOADER");
15286
+ var debugLogger17 = createDebugLogger("FILE_COMMAND_LOADER");
15124
15287
  var TomlCommandDefSchema = external_exports.object({
15125
15288
  prompt: external_exports.string({
15126
15289
  required_error: "The 'prompt' field is required.",
@@ -15154,7 +15317,7 @@ var FileCommandLoader = class {
15154
15317
  */
15155
15318
  async loadCommands(signal) {
15156
15319
  if (this.config?.getBareMode?.()) {
15157
- debugLogger16.debug("Bare mode enabled, skipping auto-discovered commands");
15320
+ debugLogger17.debug("Bare mode enabled, skipping auto-discovered commands");
15158
15321
  return [];
15159
15322
  }
15160
15323
  const allCommands = [];
@@ -15198,7 +15361,7 @@ var FileCommandLoader = class {
15198
15361
  const isEnoent = error.code === "ENOENT";
15199
15362
  const isAbortError = error instanceof Error && error.name === "AbortError";
15200
15363
  if (!isEnoent && !isAbortError) {
15201
- debugLogger16.error(
15364
+ debugLogger17.error(
15202
15365
  `[FileCommandLoader] Error loading commands from ${dirInfo.path}:`,
15203
15366
  error
15204
15367
  );
@@ -15257,7 +15420,7 @@ var FileCommandLoader = class {
15257
15420
  }
15258
15421
  }
15259
15422
  } catch (error) {
15260
- debugLogger16.warn(
15423
+ debugLogger17.warn(
15261
15424
  `Failed to read extension config for ${ext.name}:`,
15262
15425
  error
15263
15426
  );
@@ -15283,7 +15446,7 @@ var FileCommandLoader = class {
15283
15446
  try {
15284
15447
  fileContent = await fs13.readFile(filePath, "utf-8");
15285
15448
  } catch (error) {
15286
- debugLogger16.error(
15449
+ debugLogger17.error(
15287
15450
  `[FileCommandLoader] Failed to read file ${filePath}:`,
15288
15451
  error instanceof Error ? error.message : String(error)
15289
15452
  );
@@ -15293,7 +15456,7 @@ var FileCommandLoader = class {
15293
15456
  try {
15294
15457
  parsed = import_toml.default.parse(fileContent);
15295
15458
  } catch (error) {
15296
- debugLogger16.error(
15459
+ debugLogger17.error(
15297
15460
  `[FileCommandLoader] Failed to parse TOML file ${filePath}:`,
15298
15461
  error instanceof Error ? error.message : String(error)
15299
15462
  );
@@ -15301,7 +15464,7 @@ var FileCommandLoader = class {
15301
15464
  }
15302
15465
  const validationResult = TomlCommandDefSchema.safeParse(parsed);
15303
15466
  if (!validationResult.success) {
15304
- debugLogger16.error(
15467
+ debugLogger17.error(
15305
15468
  `[FileCommandLoader] Skipping invalid command file: ${filePath}. Validation errors:`,
15306
15469
  validationResult.error.flatten()
15307
15470
  );
@@ -15328,7 +15491,7 @@ var FileCommandLoader = class {
15328
15491
  try {
15329
15492
  fileContent = await fs13.readFile(filePath, "utf-8");
15330
15493
  } catch (error) {
15331
- debugLogger16.error(
15494
+ debugLogger17.error(
15332
15495
  `[FileCommandLoader] Failed to read file ${filePath}:`,
15333
15496
  error instanceof Error ? error.message : String(error)
15334
15497
  );
@@ -15338,7 +15501,7 @@ var FileCommandLoader = class {
15338
15501
  try {
15339
15502
  parsed = parseMarkdownCommand(fileContent);
15340
15503
  } catch (error) {
15341
- debugLogger16.error(
15504
+ debugLogger17.error(
15342
15505
  `[FileCommandLoader] Failed to parse Markdown file ${filePath}:`,
15343
15506
  error instanceof Error ? error.message : String(error)
15344
15507
  );
@@ -15346,7 +15509,7 @@ var FileCommandLoader = class {
15346
15509
  }
15347
15510
  const validationResult = MarkdownCommandDefSchema.safeParse(parsed);
15348
15511
  if (!validationResult.success) {
15349
- debugLogger16.error(
15512
+ debugLogger17.error(
15350
15513
  `[FileCommandLoader] Skipping invalid command file: ${filePath}. Validation errors:`,
15351
15514
  validationResult.error.flatten()
15352
15515
  );
@@ -15372,7 +15535,7 @@ var FileCommandLoader = class {
15372
15535
 
15373
15536
  // packages/cli/src/services/saved-workflow-loader.ts
15374
15537
  init_esbuild_shims();
15375
- var debugLogger17 = createDebugLogger("SavedWorkflowLoader");
15538
+ var debugLogger18 = createDebugLogger("SavedWorkflowLoader");
15376
15539
  var SavedWorkflowLoader = class {
15377
15540
  constructor(config) {
15378
15541
  this.config = config;
@@ -15391,7 +15554,7 @@ var SavedWorkflowLoader = class {
15391
15554
  try {
15392
15555
  entries = await listSavedWorkflows(this.config);
15393
15556
  } catch (e) {
15394
- debugLogger17.debug(`listSavedWorkflows failed: ${e}`);
15557
+ debugLogger18.debug(`listSavedWorkflows failed: ${e}`);
15395
15558
  return [];
15396
15559
  }
15397
15560
  if (signal.aborted) return [];
@@ -15707,7 +15870,7 @@ var McpPromptLoader = class {
15707
15870
  // packages/cli/src/services/SkillCommandLoader.ts
15708
15871
  init_esbuild_shims();
15709
15872
  import { dirname as dirname3 } from "node:path";
15710
- var debugLogger18 = createDebugLogger("SKILL_COMMAND_LOADER");
15873
+ var debugLogger19 = createDebugLogger("SKILL_COMMAND_LOADER");
15711
15874
  async function recordAutoSkillCommandUsage(config, command) {
15712
15875
  const detail = command.skillDetail;
15713
15876
  if (!config || detail?.level !== "project" || !detail.filePath) {
@@ -15720,7 +15883,7 @@ async function recordAutoSkillCommandUsage(config, command) {
15720
15883
  filePath: detail.filePath
15721
15884
  });
15722
15885
  } catch (error) {
15723
- debugLogger18.warn(
15886
+ debugLogger19.warn(
15724
15887
  `Failed to record auto-skill command usage: ${error instanceof Error ? error.message : String(error)}`
15725
15888
  );
15726
15889
  }
@@ -15735,12 +15898,12 @@ var SkillCommandLoader = class {
15735
15898
  }
15736
15899
  async loadCommands(_signal) {
15737
15900
  if (this.config?.getBareMode?.()) {
15738
- debugLogger18.debug("Bare mode enabled, skipping skill commands");
15901
+ debugLogger19.debug("Bare mode enabled, skipping skill commands");
15739
15902
  return [];
15740
15903
  }
15741
15904
  const skillManager = this.config?.getSkillManager();
15742
15905
  if (!skillManager) {
15743
- debugLogger18.debug("SkillManager not available, skipping skill commands");
15906
+ debugLogger19.debug("SkillManager not available, skipping skill commands");
15744
15907
  return [];
15745
15908
  }
15746
15909
  try {
@@ -15757,7 +15920,7 @@ var SkillCommandLoader = class {
15757
15920
  const nonUserInvocableCount = visibleSkills.filter(
15758
15921
  (skill) => skill.userInvocable === false
15759
15922
  ).length;
15760
- debugLogger18.debug(
15923
+ debugLogger19.debug(
15761
15924
  `Loaded ${userSkills.length} user + ${projectSkills.length} project + ${extensionSkills.length} extension skill(s) as slash commands; ${allSkills.length - visibleSkills.length} hidden by skills.disabled; ${nonUserInvocableCount} marked non-user-invocable`
15762
15925
  );
15763
15926
  return visibleSkills.map((skill) => {
@@ -15814,7 +15977,7 @@ var SkillCommandLoader = class {
15814
15977
  };
15815
15978
  });
15816
15979
  } catch (error) {
15817
- debugLogger18.error("Failed to load skill commands:", error);
15980
+ debugLogger19.error("Failed to load skill commands:", error);
15818
15981
  return [];
15819
15982
  }
15820
15983
  }
@@ -15889,7 +16052,7 @@ function formatUserPromptExpansionBlockedMessage(reason) {
15889
16052
  __name(formatUserPromptExpansionBlockedMessage, "formatUserPromptExpansionBlockedMessage");
15890
16053
 
15891
16054
  // packages/cli/src/nonInteractiveCliCommands.ts
15892
- var debugLogger19 = createDebugLogger("NON_INTERACTIVE_COMMANDS");
16055
+ var debugLogger20 = createDebugLogger("NON_INTERACTIVE_COMMANDS");
15893
16056
  function getSkillCommandName(command) {
15894
16057
  return command.skillDetail?.name ?? command.name;
15895
16058
  }
@@ -16327,29 +16490,14 @@ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mo
16327
16490
  );
16328
16491
  return commandService.getCommandsForMode(mode);
16329
16492
  } catch (error) {
16330
- debugLogger19.error("Error loading available commands:", error);
16493
+ debugLogger20.error("Error loading available commands:", error);
16331
16494
  return [];
16332
16495
  }
16333
16496
  }, "getAvailableCommands");
16334
16497
 
16335
- // packages/cli/src/utils/nonInteractiveHelpers.ts
16498
+ // packages/cli/src/nonInteractive/nonInteractiveHelpers.ts
16336
16499
  init_esbuild_shims();
16337
- var debugLogger20 = createDebugLogger("NON_INTERACTIVE");
16338
- function normalizePartList(parts) {
16339
- if (!parts) {
16340
- return [];
16341
- }
16342
- if (typeof parts === "string") {
16343
- return [{ text: parts }];
16344
- }
16345
- if (Array.isArray(parts)) {
16346
- return parts.map(
16347
- (part) => typeof part === "string" ? { text: part } : part
16348
- );
16349
- }
16350
- return [parts];
16351
- }
16352
- __name(normalizePartList, "normalizePartList");
16500
+ var debugLogger21 = createDebugLogger("NON_INTERACTIVE");
16353
16501
  function extractPartsFromUserMessage(message2) {
16354
16502
  if (!message2) {
16355
16503
  return null;
@@ -16432,7 +16580,7 @@ async function loadSlashCommandNames(config) {
16432
16580
  );
16433
16581
  return commands.map((cmd) => cmd.name).sort();
16434
16582
  } catch (error) {
16435
- debugLogger20.error(
16583
+ debugLogger21.error(
16436
16584
  "[buildSystemMessage] Failed to load slash commands:",
16437
16585
  error
16438
16586
  );
@@ -16457,7 +16605,7 @@ async function buildSystemMessage(config, sessionId, permissionMode) {
16457
16605
  const subagents = await subagentManager.listSubagents();
16458
16606
  agentNames = subagents.map((subagent) => subagent.name);
16459
16607
  } catch (error) {
16460
- debugLogger20.error("[buildSystemMessage] Failed to load subagents:", error);
16608
+ debugLogger21.error("[buildSystemMessage] Failed to load subagents:", error);
16461
16609
  }
16462
16610
  const systemMessage = {
16463
16611
  type: "system",
@@ -16652,6 +16800,8 @@ export {
16652
16800
  createEmptyHookEventInfo,
16653
16801
  addConfigToMatcherGroup,
16654
16802
  getAllConfigs,
16803
+ recordDaemonSessionModel,
16804
+ restoreSessionModelThenAuthenticate,
16655
16805
  isPickerOnlyModelInvocation,
16656
16806
  refreshExtensionContentRuntime,
16657
16807
  dayKey,
@@ -16668,7 +16818,6 @@ export {
16668
16818
  formatUserPromptExpansionBlockedMessage,
16669
16819
  handleSlashCommand,
16670
16820
  getAvailableCommands,
16671
- normalizePartList,
16672
16821
  extractPartsFromUserMessage,
16673
16822
  computeUsageFromMetrics,
16674
16823
  buildInitialSystemReminders,
@@ -16685,22 +16834,22 @@ export {
16685
16834
  */
16686
16835
  /**
16687
16836
  * @license
16688
- * Copyright 2025 Qwen Code
16837
+ * Copyright 2025 Qwen Team
16689
16838
  * SPDX-License-Identifier: Apache-2.0
16690
16839
  */
16691
16840
  /**
16692
16841
  * @license
16693
- * Copyright 2026 Qwen Team
16842
+ * Copyright 2025 Qwen Code
16694
16843
  * SPDX-License-Identifier: Apache-2.0
16695
16844
  */
16696
16845
  /**
16697
16846
  * @license
16698
- * Copyright 2025 Qwen
16847
+ * Copyright 2026 Qwen Team
16699
16848
  * SPDX-License-Identifier: Apache-2.0
16700
16849
  */
16701
16850
  /**
16702
16851
  * @license
16703
- * Copyright 2025 Qwen Team
16852
+ * Copyright 2025 Qwen
16704
16853
  * SPDX-License-Identifier: Apache-2.0
16705
16854
  */
16706
16855
  /**