@qwen-code/qwen-code 0.22.2-preview.1 → 0.22.3-nightly.20260829.e5cb60ad48

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 (443) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/goal-draft/SKILL.md +109 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +37 -36
  4. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  5. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
  7. package/bundled/qc-helper/docs/features/code-review.md +3 -3
  8. package/bundled/qc-helper/docs/features/commands.md +2 -1
  9. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  10. package/bundled/qc-helper/docs/features/goals.md +58 -0
  11. package/bundled/qc-helper/docs/features/headless.md +13 -11
  12. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  13. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  14. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  15. package/bundled/review/SKILL.md +81 -31
  16. package/bundled/review/references/persistence.md +7 -3
  17. package/bundled/review/references/posting.md +10 -4
  18. package/chunks/MaxSizedBox-JK4LFKJ3.js +111 -0
  19. package/chunks/{StandaloneSessionPicker-5D2L22SF.js → StandaloneSessionPicker-UA2MQCCS.js} +83 -84
  20. package/chunks/{acpAgent-4DCKLA32.js → acpAgent-ZKIVHQKW.js} +1159 -360
  21. package/chunks/{agent-B4AFZL6H.js → agent-Z3Q5C3RX.js} +46 -47
  22. package/chunks/agent-headless-BIVZ3KYZ.js +86 -0
  23. package/chunks/{anthropicContentGenerator-U76GTVB6.js → anthropicContentGenerator-YVTB6QX7.js} +46 -50
  24. package/chunks/{artifact-tool-XDJCZZCF.js → artifact-tool-XSMPHZBT.js} +11 -3
  25. package/chunks/{askUserQuestion-ZXXERLEV.js → askUserQuestion-66I3U2QX.js} +31 -7
  26. package/chunks/bridge-KDQTHAR7.js +120 -0
  27. package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-HQ6KDS7C.js} +6 -6
  28. package/chunks/channel-settings-store-X4WWBVYW.js +121 -0
  29. package/chunks/{channel-worker-group-EVDC2P4K.js → channel-worker-group-6NA6BBZV.js} +8 -7
  30. package/chunks/{channel-worker-manager-IJJZHGEI.js → channel-worker-manager-NEZ2J6RK.js} +10 -8
  31. package/chunks/{channel-worker-supervisor-YSKB5GVB.js → channel-worker-supervisor-FKU7DIHJ.js} +6 -5
  32. package/chunks/{chunk-7QGEJI7M.js → chunk-23RFD54N.js} +1 -1
  33. package/chunks/{chunk-7DPKPBOQ.js → chunk-2AEHQRY2.js} +2 -2
  34. package/chunks/{chunk-LJP2BBMK.js → chunk-2SXSLSQE.js} +4 -4
  35. package/chunks/chunk-2TNL5KPM.js +49 -0
  36. package/chunks/chunk-36LGBEM6.js +130 -0
  37. package/chunks/{chunk-QR4AHMGQ.js → chunk-3CAI35FS.js} +13 -13
  38. package/chunks/{chunk-ZWKGZB2K.js → chunk-3JXM2CVW.js} +3 -3
  39. package/chunks/{chunk-CZFQ62RM.js → chunk-3WJLDA3X.js} +4 -4
  40. package/chunks/{chunk-ILPXSKGQ.js → chunk-3WK3QDNV.js} +2 -2
  41. package/chunks/{chunk-IKN3IUJP.js → chunk-3XKLXHGK.js} +17 -9
  42. package/chunks/{chunk-ZLTEQYNC.js → chunk-42IDLQWS.js} +26 -20
  43. package/chunks/{chunk-7UJTY5V3.js → chunk-44LKG3IY.js} +1 -1
  44. package/chunks/chunk-4CMJKUND.js +95 -0
  45. package/chunks/{chunk-77TOMRBG.js → chunk-4K7KNVWH.js} +3 -3
  46. package/chunks/{chunk-SQPOJ4ZI.js → chunk-4NDLQAY2.js} +27 -270
  47. package/chunks/{chunk-V3GINY6K.js → chunk-4QHPPXK2.js} +16 -8
  48. package/chunks/chunk-4VQBQLIZ.js +293 -0
  49. package/chunks/{chunk-FJAITR4L.js → chunk-5CALJAH7.js} +2 -2
  50. package/chunks/{chunk-TDQBVEPK.js → chunk-5SBVOOA2.js} +10 -8
  51. package/chunks/{chunk-R7G7GKOX.js → chunk-5ZJL3AIV.js} +3 -3
  52. package/chunks/{chunk-UCSV2IZW.js → chunk-62GQFYID.js} +3 -3
  53. package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
  54. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  55. package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
  56. package/chunks/{chunk-5CMWFBML.js → chunk-6XOIV7MI.js} +1 -1
  57. package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
  58. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  59. package/chunks/chunk-7GUOXWPY.js +2597 -0
  60. package/chunks/chunk-7J6OTNGO.js +424 -0
  61. package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
  62. package/chunks/{chunk-2MHGD7EE.js → chunk-A3LWD5MK.js} +1 -1
  63. package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
  64. package/chunks/{chunk-F7M6ZFGU.js → chunk-AMLXTTJJ.js} +8 -8
  65. package/chunks/{chunk-AA7VBRBG.js → chunk-ARF6IJHM.js} +8 -8
  66. package/chunks/{chunk-NEZZHGEI.js → chunk-AYFA7MZV.js} +6 -6
  67. package/chunks/{chunk-XMSMTU6H.js → chunk-B42A5ZHA.js} +4 -4
  68. package/chunks/{chunk-FVDQ5E67.js → chunk-B466ZSHZ.js} +3 -3
  69. package/chunks/{chunk-6US7BF3G.js → chunk-B5PHIJGI.js} +183 -5
  70. package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
  71. package/chunks/{chunk-5URK47RN.js → chunk-BFYGL2XL.js} +11629 -10405
  72. package/chunks/{chunk-66GIFJ63.js → chunk-BIJEBAAQ.js} +1 -1
  73. package/chunks/{chunk-WBT3STGU.js → chunk-BKWNKLZB.js} +20 -20
  74. package/chunks/{chunk-T45CL2NT.js → chunk-BOWFGCEU.js} +3 -3
  75. package/chunks/{chunk-GTUZ3R6I.js → chunk-BP5PTNCU.js} +357 -117
  76. package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
  77. package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
  78. package/chunks/{chunk-ZEADBZLO.js → chunk-C2X7KY45.js} +3 -3
  79. package/chunks/{chunk-7OBH4AM2.js → chunk-CAJTKR6W.js} +5 -5
  80. package/chunks/{chunk-2FN2HNTI.js → chunk-CFJY4DGX.js} +2 -2
  81. package/chunks/{chunk-W2WRNJKX.js → chunk-CLWO3B77.js} +6 -6
  82. package/chunks/{chunk-U45D46O5.js → chunk-CMHFCLBU.js} +1 -1
  83. package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
  84. package/chunks/{chunk-TR7G7XFQ.js → chunk-CVUBULIX.js} +5 -5
  85. package/chunks/{chunk-MCKJTBZN.js → chunk-CWQZUDB7.js} +2 -2
  86. package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
  87. package/chunks/chunk-DJBQCO2E.js +842 -0
  88. package/chunks/{chunk-BQBUZDDH.js → chunk-DJECZIJX.js} +42 -42
  89. package/chunks/{chunk-VYWCFWI5.js → chunk-DMLVSW7L.js} +542 -654
  90. package/chunks/{chunk-EB4VDXNI.js → chunk-DYXFD5RO.js} +182 -3
  91. package/chunks/{chunk-ZKAZP2ZG.js → chunk-EB6QRGHM.js} +3 -3
  92. package/chunks/{chunk-XIRDDFRS.js → chunk-ECE3UYVO.js} +5266 -6055
  93. package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
  94. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  95. package/chunks/{chunk-3JKUX4PB.js → chunk-F5RB4S23.js} +9 -9
  96. package/chunks/{chunk-VBF4KZRQ.js → chunk-FIKYKQOO.js} +1 -1
  97. package/chunks/{chunk-DID6IRGC.js → chunk-FKET6VOO.js} +56 -39
  98. package/chunks/{chunk-4K44OMLI.js → chunk-FROAFEFB.js} +3 -3
  99. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  100. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  101. package/chunks/{chunk-ZJG323IA.js → chunk-G6FECKTJ.js} +7 -5
  102. package/chunks/{chunk-H3HZ4AWW.js → chunk-GIHXH2KO.js} +1 -1
  103. package/chunks/{chunk-ZGWDHSUM.js → chunk-H4LCV44K.js} +4 -4
  104. package/chunks/{chunk-OLS3MAXQ.js → chunk-H5WQZTAW.js} +15 -9
  105. package/chunks/chunk-H72BQNM3.js +645 -0
  106. package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
  107. package/chunks/{chunk-ATLGYSYH.js → chunk-HHQJANFM.js} +4 -4
  108. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  109. package/chunks/{chunk-OI2DR6QB.js → chunk-I6LYRJPB.js} +3 -3
  110. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  111. package/chunks/{chunk-2YDYDDE2.js → chunk-IJMEPQ5N.js} +3 -3
  112. package/chunks/{chunk-PAJGKZAA.js → chunk-ISKH4QX3.js} +14 -12
  113. package/chunks/{chunk-VOEMVOM4.js → chunk-IZDKYNKN.js} +2 -2
  114. package/chunks/{chunk-FCSWZAS3.js → chunk-J7SS77YW.js} +5 -5
  115. package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
  116. package/chunks/chunk-JCMS65DJ.js +1584 -0
  117. package/chunks/{chunk-BHTJAO36.js → chunk-JHDPOPQG.js} +7 -7
  118. package/chunks/{chunk-FN5C6C7G.js → chunk-JHYH6PYQ.js} +192 -478
  119. package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
  120. package/chunks/{chunk-KQYW2GB5.js → chunk-JWDMKJG5.js} +6 -6
  121. package/chunks/{chunk-SKNVVYIJ.js → chunk-K5KXUXWC.js} +3 -3
  122. package/chunks/{chunk-TFV4RXPU.js → chunk-K6CTN5TU.js} +1 -1
  123. package/chunks/{chunk-X3XGCJ32.js → chunk-KEIMKAM4.js} +28 -111
  124. package/chunks/{chunk-XUX6O2ZT.js → chunk-KID24ZFN.js} +4 -1
  125. package/chunks/{chunk-I6DY753S.js → chunk-KJO2LBUK.js} +944 -18
  126. package/chunks/{chunk-5T4LWWNX.js → chunk-KYWTPLBJ.js} +18 -21
  127. package/chunks/chunk-LGO7DEXL.js +1186 -0
  128. package/chunks/{chunk-TOF4UZHH.js → chunk-LUEHOUHM.js} +3 -3
  129. package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
  130. package/chunks/{chunk-JLU3FPQR.js → chunk-MAQ2W4IF.js} +5 -5
  131. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  132. package/chunks/{chunk-AKQA3WCH.js → chunk-MVDPFLWM.js} +723 -3399
  133. package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
  134. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  135. package/chunks/{chunk-WXDZZFH3.js → chunk-NEBSNUMX.js} +6 -6
  136. package/chunks/{chunk-J3CBIEDS.js → chunk-NENQE7VH.js} +32 -15
  137. package/chunks/{chunk-TMGAS5TO.js → chunk-NHDNYMBU.js} +26 -4
  138. package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
  139. package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
  140. package/chunks/{chunk-CDUN63IN.js → chunk-OJEMXKA4.js} +3 -3
  141. package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
  142. package/chunks/{chunk-R3T33BG5.js → chunk-PI6HYGBE.js} +3 -3
  143. package/chunks/{chunk-5SM2AK65.js → chunk-PO6YCWIQ.js} +5 -5
  144. package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
  145. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  146. package/chunks/{chunk-ALTQLFEG.js → chunk-PQZBDDNG.js} +5 -194
  147. package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
  148. package/chunks/{chunk-DEYPMJPD.js → chunk-QJNDUTOL.js} +45 -239
  149. package/chunks/{chunk-OF2DPXUS.js → chunk-QYMAKPY5.js} +119 -24
  150. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  151. package/chunks/chunk-RKFGE7JH.js +93 -0
  152. package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
  153. package/chunks/{chunk-KPF2K55D.js → chunk-RZKOA4JE.js} +39 -8
  154. package/chunks/{chunk-AWFZDYSD.js → chunk-SEDFP3ZI.js} +1 -1
  155. package/chunks/chunk-SEONHUS3.js +275 -0
  156. package/chunks/chunk-SS4MRMKE.js +3525 -0
  157. package/chunks/{chunk-BPMVPWBT.js → chunk-SS5SDCD3.js} +6 -6
  158. package/chunks/{chunk-J5352S3S.js → chunk-ST5V3ZOC.js} +3 -3
  159. package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
  160. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  161. package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
  162. package/chunks/{chunk-HPECDZ6X.js → chunk-TGJ2PKCW.js} +4341 -1408
  163. package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
  164. package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
  165. package/chunks/{chunk-AP7WZONS.js → chunk-TU6WVK67.js} +19 -9
  166. package/chunks/chunk-U54AYGEC.js +337 -0
  167. package/chunks/{chunk-3WBMPR3S.js → chunk-UAOTD2BN.js} +1 -1
  168. package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
  169. package/chunks/{chunk-SUE2ZMUH.js → chunk-UI4DXRZW.js} +49 -31
  170. package/chunks/{chunk-76WGY6LW.js → chunk-URE3QBBB.js} +3 -3
  171. package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
  172. package/chunks/chunk-UVY67MSH.js +205 -0
  173. package/chunks/{chunk-FJWICLG7.js → chunk-V4264FEG.js} +9 -9
  174. package/chunks/{chunk-XR7OIAQF.js → chunk-V5J4J5TP.js} +2 -2
  175. package/chunks/{chunk-Z6L3C4VF.js → chunk-VBCPNIQD.js} +39 -39
  176. package/chunks/{chunk-HABT2Z7R.js → chunk-VKCJPNGU.js} +4 -4
  177. package/chunks/{chunk-UCQOSV6A.js → chunk-VKIGT4OG.js} +3 -3
  178. package/chunks/{chunk-JSY43GMI.js → chunk-VNMZLAVG.js} +185 -174
  179. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  180. package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
  181. package/chunks/{chunk-PTQF7WRA.js → chunk-W3CY4QIO.js} +6 -6
  182. package/chunks/{chunk-LWLEPXKK.js → chunk-W4XG7IZ4.js} +19 -2
  183. package/chunks/{chunk-IOGKXPL3.js → chunk-W7HH77GN.js} +6 -6
  184. package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
  185. package/chunks/{chunk-3D6PDLNJ.js → chunk-WD3WSEW3.js} +49 -32
  186. package/chunks/chunk-WLEYH7CD.js +332 -0
  187. package/chunks/{chunk-JLGFGPZJ.js → chunk-WNPDGUJO.js} +22 -3
  188. package/chunks/{chunk-O3BUXIPM.js → chunk-WXEA74YB.js} +3 -3
  189. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  190. package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
  191. package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
  192. package/chunks/{chunk-5JCZ3UKB.js → chunk-Y5S7LBOZ.js} +44 -7
  193. package/chunks/{chunk-WZ3QKPMQ.js → chunk-YN44TEOZ.js} +19 -31
  194. package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
  195. package/chunks/{chunk-UWICO5KN.js → chunk-Z44FUM77.js} +3 -3
  196. package/chunks/{chunk-OT4YKUUV.js → chunk-ZU4UDIWX.js} +2 -2
  197. package/chunks/{chunk-L436XFLJ.js → chunk-ZZUKP7HV.js} +1 -1
  198. package/chunks/config-utils-NOCNFTQP.js +114 -0
  199. package/chunks/contextCommand-DH2NOQBI.js +107 -0
  200. package/chunks/{core-runtime-CEJRHCRF.js → core-runtime-OLW4OXMV.js} +61 -62
  201. package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
  202. package/chunks/{create-sub-session-DFZVIG56.js → create-sub-session-ZCGPQTIE.js} +166 -86
  203. package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
  204. package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
  205. package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
  206. package/chunks/{daemon-NAYK4XXU.js → daemon-3GNHB3M2.js} +523 -8
  207. package/chunks/{daemon-git-worktree-guard-L6ZUFKF7.js → daemon-git-worktree-guard-SHIU7MPJ.js} +58 -59
  208. package/chunks/daemon-status-provider-WECDBDF7.js +118 -0
  209. package/chunks/daemon-trust-policy-MX4OYXF3.js +113 -0
  210. package/chunks/{daemon-trust-policy-monitor-2G3EKQEU.js → daemon-trust-policy-monitor-73WXIKNL.js} +66 -67
  211. package/chunks/deferred-core-runtime-BKS7O3D6.js +115 -0
  212. package/chunks/{display-image-6KHQNEAE.js → display-image-BE7I6ZB6.js} +5 -5
  213. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  214. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  215. package/chunks/{dist-6H6RZ5H6.js → dist-6BPYWHVD.js} +89 -65
  216. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  217. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  218. package/chunks/{dist-FVJZSIO4.js → dist-LVZCXVPF.js} +72 -20
  219. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  220. package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
  221. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  222. package/chunks/earlyInputCapture-5NNZSVL7.js +108 -0
  223. package/chunks/{edit-ZERGX3RV.js → edit-IGHPT4I2.js} +47 -48
  224. package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
  225. package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-35QCAAFP.js} +7 -7
  226. package/chunks/{enterPlanMode-W2RP3P5B.js → enterPlanMode-LVTPJSAA.js} +51 -52
  227. package/chunks/environment-HC2PPYDO.js +130 -0
  228. package/chunks/errors-VCWSG25A.js +114 -0
  229. package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-XQD6D543.js} +7 -7
  230. package/chunks/exitPlanMode-RHI2K2O7.js +84 -0
  231. package/chunks/{fast-path-4MWBCEUF.js → fast-path-IQNCJOPE.js} +7 -7
  232. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
  233. package/chunks/{glob-DKTNG32L.js → glob-EANAXPNR.js} +46 -47
  234. package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-PTD3MBA7.js} +10 -8
  235. package/chunks/{grep-3NLSS32D.js → grep-3REG7TO6.js} +9 -7
  236. package/chunks/handleAutoUpdate-PVVFLDQ4.js +110 -0
  237. package/chunks/i18n-VOKX5QIF.js +125 -0
  238. package/chunks/{image-gen-63NN2H5N.js → image-gen-J6FDGUZP.js} +8 -10
  239. package/chunks/initializer-SZVVTGZL.js +114 -0
  240. package/chunks/installationInfo-R22453J5.js +108 -0
  241. package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
  242. package/chunks/list-LK5M5W2N.js +117 -0
  243. package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
  244. package/chunks/{gemini-X5GQHQYF.js → llm-6RQJUVIS.js} +120 -115
  245. package/chunks/{geminiContentGenerator-UDSWXZXL.js → llm-content-generator-Q7JJDSJR.js} +29 -29
  246. package/chunks/loadedSettingsAdapter-KF2ZPSPG.js +111 -0
  247. package/chunks/{loggingContentGenerator-73C7TKDK.js → loggingContentGenerator-SBCIJG2J.js} +330 -37
  248. package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
  249. package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
  250. package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
  251. package/chunks/{managed-npm-update-H2KOLQZU.js → managed-npm-update-UG324XFY.js} +59 -60
  252. package/chunks/mcp-PUSCFGS5.js +111 -0
  253. package/chunks/{monitor-TGCMNJJH.js → monitor-RJW5AP64.js} +46 -47
  254. package/chunks/nonInteractiveCli-OIXN4WSR.js +187 -0
  255. package/chunks/{notebook-edit-YEUNZYDX.js → notebook-edit-5MWEIMS2.js} +47 -48
  256. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
  257. package/chunks/{openaiContentGenerator-J7LD4VSL.js → openaiContentGenerator-AGTNYSCJ.js} +26 -28
  258. package/chunks/pidfile-LTA6NT3P.js +112 -0
  259. package/chunks/process-registry-OAEG6WGC.js +662 -0
  260. package/chunks/{processUtils-ZHFC7CSL.js → processUtils-GY3Q66CJ.js} +2 -2
  261. package/chunks/prompt-terminal-ledger-3QS6TCMF.js +106 -0
  262. package/chunks/{qwenContentGenerator-YEWWK3JQ.js → qwenContentGenerator-NU6PCDA7.js} +51 -52
  263. package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-OF5WRBQT.js} +7 -9
  264. package/chunks/{read-file-ZQI3WPVK.js → read-file-DTQL5V62.js} +13 -13
  265. package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
  266. package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-VW23GS4F.js} +4 -4
  267. package/chunks/{report-findings-VFM5DENC.js → report-findings-AO5VYFLR.js} +9 -5
  268. package/chunks/{request-shutdown-6IW46GD7.js → request-shutdown-BCLA3JV2.js} +7 -7
  269. package/chunks/resumeHistoryUtils-PZ4BER55.js +119 -0
  270. package/chunks/ripGrep-A2FGBZGY.js +39 -0
  271. package/chunks/{run-qwen-serve-WHWU7NZ6.js → run-qwen-serve-AESOSKFC.js} +371 -357
  272. package/chunks/{runtime-E7BSPWQP.js → runtime-YQHSEKG4.js} +71 -72
  273. package/chunks/scheduled-tasks-XG6KK6NY.js +128 -0
  274. package/chunks/{scheduler-TJPATFOM.js → scheduler-I4WKXWRZ.js} +60 -61
  275. package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-TTU2CHBU.js} +2 -2
  276. package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-UUMVYMAL.js} +11 -5
  277. package/chunks/{send-message-OXZK6USO.js → send-message-AJ4OCUBV.js} +25 -9
  278. package/chunks/serve-MQDTVC7X.js +119 -0
  279. package/chunks/{server-AXCN7QBJ.js → server-L5ETIKEW.js} +6083 -4965
  280. package/chunks/{session-HO4US3AG.js → session-LKKXRUJM.js} +116 -114
  281. package/chunks/session-pr-refresh-5OWA6MC2.js +365 -0
  282. package/chunks/{settings-B2PFJJN4.js → settings-S6KG7JST.js} +65 -66
  283. package/chunks/shell-JEQE5AHC.js +94 -0
  284. package/chunks/{skill-NL3VH562.js → skill-QEGMZXKI.js} +68 -24
  285. package/chunks/skill-settings-EVY7QF4H.js +119 -0
  286. package/chunks/spawnChannel-AQP72WPN.js +113 -0
  287. package/chunks/standalone-update-JUJA4BKV.js +119 -0
  288. package/chunks/{startInteractiveUI-G2XKSCQ7.js → startInteractiveUI-5ZMSJZ3J.js} +3081 -2477
  289. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  290. package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
  291. package/chunks/{task-create-TY7P6UHG.js → task-create-QN4LYRSE.js} +11 -11
  292. package/chunks/{task-list-BELMPA75.js → task-list-JPLGK45U.js} +5 -5
  293. package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
  294. package/chunks/{task-update-O4IGDPCK.js → task-update-IWEOJFV2.js} +11 -11
  295. package/chunks/{team-create-IYBUOORE.js → team-create-ZEGP7KVD.js} +46 -47
  296. package/chunks/{team-delete-YWFXX77L.js → team-delete-RZVVSGCY.js} +5 -5
  297. package/chunks/{team-plan-approval-YKU57LBM.js → team-plan-approval-SXWT2WZN.js} +46 -47
  298. package/chunks/terminal-image-renderer-42B6N55E.js +115 -0
  299. package/chunks/theme-manager-DDYUBC25.js +103 -0
  300. package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
  301. package/chunks/{tool-search-4Q3KASIQ.js → tool-search-GDDBA4X4.js} +22 -22
  302. package/chunks/total-session-admission-6MYP4GBA.js +115 -0
  303. package/chunks/trustedFolders-LPEIY3GE.js +123 -0
  304. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  305. package/chunks/{update-relaunch-4DC2KKFS.js → update-relaunch-BOIIZNT3.js} +6 -6
  306. package/chunks/updateCheck-KSVHYJYE.js +119 -0
  307. package/chunks/useAutoAcceptIndicator-43D2A4ZN.js +121 -0
  308. package/chunks/{validateNonInterActiveAuth-YAE4YPO3.js → validateNonInterActiveAuth-WSD4SOIM.js} +108 -106
  309. package/chunks/{version-QFP7OGWX.js → version-B4CM7RNG.js} +1 -1
  310. package/chunks/{web-fetch-6T23IK6Q.js → web-fetch-MOHILUZL.js} +16 -18
  311. package/chunks/{web-search-WBWTCZK2.js → web-search-G4HIMY2V.js} +9 -11
  312. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
  313. package/chunks/{workflow-FMAA3D4R.js → workflow-H3PCYU5F.js} +130 -95
  314. package/chunks/workspace-providers-status-AAX7VWMT.js +115 -0
  315. package/chunks/{workspace-registration-store-CMMX7EPX.js → workspace-registration-store-YTHZ6SL4.js} +1 -1
  316. package/chunks/workspace-registry-URHGBL4U.js +124 -0
  317. package/chunks/workspace-service-XJMSLRCU.js +127 -0
  318. package/chunks/workspace-skills-status-JGEDANNT.js +114 -0
  319. package/chunks/{workspace-trust-reconciler-PJDQUTJL.js → workspace-trust-reconciler-ZHI5TDYB.js} +74 -73
  320. package/chunks/write-file-5O4S63L6.js +89 -0
  321. package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
  322. package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
  323. package/chunks/{zoom-image-WVYVFRXF.js → zoom-image-N2IBUVXE.js} +13 -13
  324. package/cli.js +130 -93
  325. package/locales/en.js +2 -0
  326. package/locales/zh-TW.js +2 -0
  327. package/locales/zh.js +2 -0
  328. package/package.json +3 -3
  329. package/web-shell/assets/{abnfDiagram-VCTEODGH-d-8xa8uz.js → abnfDiagram-VCTEODGH-OJQpqC9m.js} +1 -1
  330. package/web-shell/assets/{arc-BhB7CrGK.js → arc-BxH0YR17.js} +1 -1
  331. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BDCd_IcJ.js → architectureDiagram-5GKGNRK7-CxyWiGfF.js} +1 -1
  332. package/web-shell/assets/{blockDiagram-NRAW4CY4-C-AHu6mi.js → blockDiagram-NRAW4CY4-DukXbJQ7.js} +1 -1
  333. package/web-shell/assets/{c4Diagram-UCG6FXSJ-CFjQt0vl.js → c4Diagram-UCG6FXSJ-DvS1T6pK.js} +1 -1
  334. package/web-shell/assets/channel-Dbbg7P-u.js +1 -0
  335. package/web-shell/assets/{chunk-2Q5K7J3B-DRjwqaDq.js → chunk-2Q5K7J3B-qvqfJ7VZ.js} +1 -1
  336. package/web-shell/assets/{chunk-5VM5RSS4-eHM9noJE.js → chunk-5VM5RSS4-BJ3kJYte.js} +1 -1
  337. package/web-shell/assets/{chunk-F27PBJKO-CcSWUYn1.js → chunk-F27PBJKO-BYPVESil.js} +1 -1
  338. package/web-shell/assets/{chunk-G27WJ6UU-DNr-RF5S.js → chunk-G27WJ6UU-B4UYFElk.js} +1 -1
  339. package/web-shell/assets/{chunk-JWPE2WC7-rVJHoNF8.js → chunk-JWPE2WC7-8zGKVNUU.js} +1 -1
  340. package/web-shell/assets/{chunk-LCL6LL3I-B2aX0Gzy.js → chunk-LCL6LL3I-CbaHONpI.js} +1 -1
  341. package/web-shell/assets/{chunk-POPQ4Y6H-DVp07n32.js → chunk-POPQ4Y6H-f8kAjzlF.js} +1 -1
  342. package/web-shell/assets/{chunk-SVP7TREG-C6QB_KUr.js → chunk-SVP7TREG-Dm8ahq7K.js} +1 -1
  343. package/web-shell/assets/{chunk-XXDRQBXY-CLVxDNCy.js → chunk-XXDRQBXY-yrcLzv8z.js} +1 -1
  344. package/web-shell/assets/classDiagram-DTDB5LWJ-cDYs8iT0.js +1 -0
  345. package/web-shell/assets/classDiagram-v2-JRS7N3AN-cDYs8iT0.js +1 -0
  346. package/web-shell/assets/{cose-bilkent-JH36ORCC-B_aKX3A3.js → cose-bilkent-JH36ORCC-DN1C22IH.js} +1 -1
  347. package/web-shell/assets/{cynefin-OW5HDTMX-BBw2pPUa.js → cynefin-OW5HDTMX-B2oF7XD_.js} +1 -1
  348. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-WWPiBTwk.js → cynefinDiagram-5FMLGOSQ-DGgIKpiM.js} +1 -1
  349. package/web-shell/assets/{dagre-3AP2YEHR-CPtIdka-.js → dagre-3AP2YEHR-BHKawzoP.js} +1 -1
  350. package/web-shell/assets/{diagram-S7CK7UJ4-Dj5og1Xi.js → diagram-S7CK7UJ4-6UgKqreR.js} +1 -1
  351. package/web-shell/assets/{diagram-UQ7AKVKN-CC_x70YC.js → diagram-UQ7AKVKN-BXJbPJ6F.js} +1 -1
  352. package/web-shell/assets/{diagram-VSXAHHWV-rXMfsO4n.js → diagram-VSXAHHWV-DVnYFPkS.js} +1 -1
  353. package/web-shell/assets/{diagram-VX7I27RA-DEmLYQbh.js → diagram-VX7I27RA-CjBoC0Rq.js} +1 -1
  354. package/web-shell/assets/{diagram-Z3DM3KII-B0ys6Vxx.js → diagram-Z3DM3KII-KZdUceQT.js} +1 -1
  355. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Bq6y6lKH.js → ebnfDiagram-PWID7BFC-5UekGScM.js} +1 -1
  356. package/web-shell/assets/{erDiagram-SSCWMZ5O-l69JeBZ4.js → erDiagram-SSCWMZ5O-TRWexoj1.js} +1 -1
  357. package/web-shell/assets/{flowDiagram-A5DVABFB-Cm-EzGY4.js → flowDiagram-A5DVABFB-Di5bhBVo.js} +1 -1
  358. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BRS9ZOp7.js → ganttDiagram-EL5Y4UJY-DpJUJ8Dp.js} +1 -1
  359. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DAMRKgLk.js → gitGraphDiagram-WWUBYQGX-b08xIx2C.js} +1 -1
  360. package/web-shell/assets/index-BvDpDHTN.css +36 -0
  361. package/web-shell/assets/index-Cg60lhnI.js +1913 -0
  362. package/web-shell/assets/{index-Bncx8E8M.js → index-n6dFH09O.js} +1 -1
  363. package/web-shell/assets/{infoDiagram-RXCK75RN-DasffaZp.js → infoDiagram-RXCK75RN-Cz14FAt7.js} +1 -1
  364. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CmRUt3C-.js → ishikawaDiagram-5VMMS53U-7nxp2bIU.js} +1 -1
  365. package/web-shell/assets/{journeyDiagram-EYS64GPL-DzhE_c1Z.js → journeyDiagram-EYS64GPL-CjL47fk0.js} +1 -1
  366. package/web-shell/assets/{kanban-definition-3QL26DDD-BH5b6nn3.js → kanban-definition-3QL26DDD-CWFl-mHs.js} +1 -1
  367. package/web-shell/assets/{layout-BxoLK-LY.js → layout-BUP1BcwB.js} +1 -1
  368. package/web-shell/assets/{linear-CqDPvVI7.js → linear-CqbwqSbW.js} +1 -1
  369. package/web-shell/assets/{mermaid.core-DBoN4plo.js → mermaid.core-C_50HLol.js} +6 -6
  370. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DJJtXPEM.js → mindmap-definition-FBJOCRG2-DbyD_AoU.js} +1 -1
  371. package/web-shell/assets/{pegDiagram-XKGWAZYB-DmgPXP5l.js → pegDiagram-XKGWAZYB-VozWyqyY.js} +1 -1
  372. package/web-shell/assets/{pieDiagram-E7YTZNPT-1ezjzcI5.js → pieDiagram-E7YTZNPT-O7EKamBL.js} +1 -1
  373. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-ChKARz3k.js → quadrantDiagram-AXDQQJYC-DOmPZxHg.js} +1 -1
  374. package/web-shell/assets/{railroadDiagram-O6MQD6OU-k7mNB_QT.js → railroadDiagram-O6MQD6OU-ElyfC2zE.js} +1 -1
  375. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-B0XFsii0.js → requirementDiagram-EFPCY7ZU-DbnqPbzR.js} +1 -1
  376. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-repJ2Ukk.js → sankeyDiagram-P5KCCOFB-yPWliSHr.js} +1 -1
  377. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D0gUSKGu.js → sequenceDiagram-WJ2MYXX4-BImQFomC.js} +1 -1
  378. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CE463F74.js → sizeCapture-X5ZJPWSS-DEvqeEHo.js} +1 -1
  379. package/web-shell/assets/{stateDiagram-HBIQ2CUA-003zYtJa.js → stateDiagram-HBIQ2CUA-BbLtiF9u.js} +1 -1
  380. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DGtlzdpx.js +1 -0
  381. package/web-shell/assets/{swimlanes-XN3QIQJK-DBj8MFpu.js → swimlanes-XN3QIQJK-RFewDF6v.js} +1 -1
  382. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-CITCVFdx.js +8 -0
  383. package/web-shell/assets/{timeline-definition-24CTP7MA-D2aCh4a9.js → timeline-definition-24CTP7MA-DF4L3-UR.js} +1 -1
  384. package/web-shell/assets/{vennDiagram-4TSXK5OY-BHMfWBpl.js → vennDiagram-4TSXK5OY-BtlSJXaA.js} +1 -1
  385. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-RdHAj66j.js → wardleyDiagram-VM6X3IG4-C8ogG8Fh.js} +1 -1
  386. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BgJWOvq0.js → xychartDiagram-S5SC5T6Z-C5QVfsGQ.js} +1 -1
  387. package/web-shell/index.html +3 -3
  388. package/chunks/MaxSizedBox-BFVLZP2E.js +0 -112
  389. package/chunks/agent-headless-UCBCS4V4.js +0 -87
  390. package/chunks/bridge-FRNYLYY7.js +0 -119
  391. package/chunks/channel-settings-store-IV4KDL7N.js +0 -117
  392. package/chunks/chunk-I6VVOZDK.js +0 -202
  393. package/chunks/chunk-JS73NNWF.js +0 -30
  394. package/chunks/chunk-K2OJUPOE.js +0 -78
  395. package/chunks/chunk-P3QQPMQA.js +0 -19
  396. package/chunks/chunk-SDVF6A42.js +0 -945
  397. package/chunks/chunk-T26EAKDL.js +0 -13
  398. package/chunks/chunk-VGHZT6JR.js +0 -51
  399. package/chunks/config-utils-PMX4QZ5Y.js +0 -113
  400. package/chunks/contextCommand-NZRLVAFC.js +0 -108
  401. package/chunks/daemon-status-provider-FTTYZEKN.js +0 -118
  402. package/chunks/daemon-trust-policy-WMGFPA3Z.js +0 -114
  403. package/chunks/deferred-core-runtime-BUFEFYNA.js +0 -116
  404. package/chunks/earlyInputCapture-ROPLMXA7.js +0 -109
  405. package/chunks/environment-ZBJ23YVR.js +0 -131
  406. package/chunks/errors-U5KNAADB.js +0 -115
  407. package/chunks/exitPlanMode-VFJ5R5DD.js +0 -85
  408. package/chunks/handleAutoUpdate-W4BUYFT7.js +0 -111
  409. package/chunks/i18n-KX7FEKJJ.js +0 -126
  410. package/chunks/initializer-SNVVLS7Y.js +0 -115
  411. package/chunks/installationInfo-D4XGQNHJ.js +0 -109
  412. package/chunks/list-WYECMLXZ.js +0 -118
  413. package/chunks/loadedSettingsAdapter-5WZBXBCR.js +0 -112
  414. package/chunks/mcp-CBWAROY3.js +0 -112
  415. package/chunks/nonInteractiveCli-O232UUV7.js +0 -185
  416. package/chunks/pidfile-MSPQ255Y.js +0 -113
  417. package/chunks/process-registry-PMJOA5CO.js +0 -172
  418. package/chunks/prompt-terminal-ledger-YPGMNDXT.js +0 -107
  419. package/chunks/resumeHistoryUtils-35D4KAVT.js +0 -120
  420. package/chunks/ripGrep-46N4FLOS.js +0 -39
  421. package/chunks/serve-WQ54UIYG.js +0 -120
  422. package/chunks/shell-7XMSANI3.js +0 -95
  423. package/chunks/skill-settings-SKMN5YXC.js +0 -120
  424. package/chunks/spawnChannel-NE43EEO3.js +0 -113
  425. package/chunks/standalone-update-XOCWGXAH.js +0 -120
  426. package/chunks/terminal-image-renderer-NREKYTAD.js +0 -116
  427. package/chunks/theme-manager-IJS6OICX.js +0 -104
  428. package/chunks/total-session-admission-L5RPEFZ2.js +0 -114
  429. package/chunks/trustedFolders-OILZCHRD.js +0 -124
  430. package/chunks/updateCheck-AK4COHNK.js +0 -120
  431. package/chunks/useAutoAcceptIndicator-O2N2Q6KG.js +0 -122
  432. package/chunks/workspace-providers-status-OCFEWIPQ.js +0 -116
  433. package/chunks/workspace-registry-WJLZPRTG.js +0 -123
  434. package/chunks/workspace-service-5ZOBMMIB.js +0 -131
  435. package/chunks/workspace-skills-status-B6NJZD4B.js +0 -115
  436. package/chunks/write-file-B2RNX6SU.js +0 -90
  437. package/web-shell/assets/channel-CU-Zyv0r.js +0 -1
  438. package/web-shell/assets/classDiagram-DTDB5LWJ-C0J2_LKs.js +0 -1
  439. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C0J2_LKs.js +0 -1
  440. package/web-shell/assets/index-C-XlQn24.css +0 -5
  441. package/web-shell/assets/index-gdvMN4J1.js +0 -1860
  442. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-2uACDdJN.js +0 -1
  443. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C4JJkavU.js +0 -8
@@ -1,8 +1,5 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- contextCommand
5
- } from "./chunk-WZ3QKPMQ.js";
6
3
  import {
7
4
  ExtensionRefreshState,
8
5
  clearSkillArgs,
@@ -11,7 +8,13 @@ import {
11
8
  staleArgsWarning,
12
9
  validateAuthMethod,
13
10
  writeSkillArgs
14
- } from "./chunk-HPECDZ6X.js";
11
+ } from "./chunk-TGJ2PKCW.js";
12
+ import {
13
+ isKittyProtocolEnabled
14
+ } from "./chunk-NYX53SV4.js";
15
+ import {
16
+ contextCommand
17
+ } from "./chunk-YN44TEOZ.js";
15
18
  import {
16
19
  calculateCost,
17
20
  computeSessionStats,
@@ -20,28 +23,25 @@ import {
20
23
  findInlineMathExpressions,
21
24
  getSystemInfoFields,
22
25
  levelLabel
23
- } from "./chunk-CDUN63IN.js";
26
+ } from "./chunk-OJEMXKA4.js";
24
27
  import {
25
28
  VSCODE_SHIFT_ENTER_SEQUENCE,
26
29
  isWaylandSession,
27
30
  writeOsc52
28
- } from "./chunk-2FN2HNTI.js";
31
+ } from "./chunk-CFJY4DGX.js";
29
32
  import {
30
33
  formatDuration,
31
34
  formatTokenCount
32
35
  } from "./chunk-3SH53ANB.js";
33
- import {
34
- isKittyProtocolEnabled
35
- } from "./chunk-NYX53SV4.js";
36
36
  import {
37
37
  rollbackStandaloneUpdate
38
- } from "./chunk-R3T33BG5.js";
38
+ } from "./chunk-PI6HYGBE.js";
39
39
  import {
40
40
  themeManager
41
- } from "./chunk-WEGXPP5E.js";
41
+ } from "./chunk-QFCDF5PL.js";
42
42
  import {
43
43
  getErrorMessage as getErrorMessage2
44
- } from "./chunk-TR7G7XFQ.js";
44
+ } from "./chunk-CVUBULIX.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-J3CBIEDS.js";
57
+ } from "./chunk-NENQE7VH.js";
58
58
  import {
59
59
  stripUnsafeCharacters,
60
60
  toCodePoints,
@@ -70,16 +70,16 @@ import {
70
70
  isVoiceEnabled,
71
71
  readVoiceMode,
72
72
  readVoiceModel
73
- } from "./chunk-2MHGD7EE.js";
73
+ } from "./chunk-A3LWD5MK.js";
74
74
  import {
75
75
  getExtendedSystemInfo,
76
76
  getGitVersion,
77
77
  getNpmVersion
78
- } from "./chunk-ATLGYSYH.js";
78
+ } from "./chunk-HHQJANFM.js";
79
79
  import {
80
80
  isInlineModelOverrideAllowed,
81
81
  parseAcpModelOption
82
- } from "./chunk-HABT2Z7R.js";
82
+ } from "./chunk-VKCJPNGU.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-TDQBVEPK.js";
94
+ } from "./chunk-5SBVOOA2.js";
95
95
  import {
96
96
  getCurrentLanguage,
97
97
  setLanguageAsync,
98
98
  t
99
- } from "./chunk-W2WRNJKX.js";
99
+ } from "./chunk-CLWO3B77.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-7DPKPBOQ.js";
107
+ } from "./chunk-2AEHQRY2.js";
108
108
  import {
109
109
  isFolderTrustEnabled,
110
110
  loadTrustedFolders
111
- } from "./chunk-ZGWDHSUM.js";
111
+ } from "./chunk-H4LCV44K.js";
112
112
  import {
113
113
  require_strip_json_comments
114
114
  } from "./chunk-NPQ5ZKRP.js";
@@ -122,24 +122,27 @@ import {
122
122
  buildLearnSkillPrompt,
123
123
  buildLearnVideoSkillRequest,
124
124
  buildManagedRememberPrompt,
125
+ canonicalizeMsgId,
126
+ describeHoldCause,
125
127
  encodeInsightErrorMessage,
126
128
  encodeInsightProgressMessage,
127
129
  encodeInsightReadyMessage,
128
130
  findProviderByCredentials,
131
+ flattenPeerLabel,
129
132
  generateSessionRecap,
130
133
  getIdeInstaller,
131
134
  getMCPServerPrompts,
132
135
  isWsl,
133
136
  parseLearnVideoInput,
134
137
  readPathFromWorkspace
135
- } from "./chunk-5URK47RN.js";
138
+ } from "./chunk-BFYGL2XL.js";
136
139
  import {
137
140
  listSavedWorkflows,
138
141
  listWorkflowSnapshots
139
- } from "./chunk-JSY43GMI.js";
142
+ } from "./chunk-VNMZLAVG.js";
140
143
  import {
141
144
  resolveOpenAILogDir
142
- } from "./chunk-J5352S3S.js";
145
+ } from "./chunk-ST5V3ZOC.js";
143
146
  import {
144
147
  ArenaManager,
145
148
  ConditionalRulesRegistry,
@@ -155,12 +158,8 @@ import {
155
158
  collectMemoryDiagnostics,
156
159
  flatMapTextParts,
157
160
  formatMemoryUsage,
158
- getArenaSystemReminder,
159
161
  getExtensionDescription,
160
162
  getExtensionDisplayName,
161
- getInsightPrompt,
162
- getPlanModeSystemReminder,
163
- getProjectSummaryPrompt,
164
163
  hookEventSupportsMatcher,
165
164
  ideContextStore,
166
165
  isActiveWorkflowStatus,
@@ -181,7 +180,7 @@ import {
181
180
  resolveSlimmingConfig,
182
181
  runForkedAgent,
183
182
  tryGenerateSessionTitle
184
- } from "./chunk-XIRDDFRS.js";
183
+ } from "./chunk-ECE3UYVO.js";
185
184
  import {
186
185
  external_exports
187
186
  } from "./chunk-CQ35AJ4Z.js";
@@ -189,7 +188,13 @@ import {
189
188
  buildRuntimeSnapshotId,
190
189
  resolveModelId,
191
190
  stripRuntimeSnapshotPrefix
192
- } from "./chunk-AYVIGUUK.js";
191
+ } from "./chunk-JB4JIVTJ.js";
192
+ import {
193
+ getArenaSystemReminder,
194
+ getInsightPrompt,
195
+ getPlanModeSystemReminder,
196
+ getProjectSummaryPrompt
197
+ } from "./chunk-LGO7DEXL.js";
193
198
  import {
194
199
  getAutoSkillCuratorStatus,
195
200
  parse,
@@ -197,31 +202,33 @@ import {
197
202
  restoreArchivedAutoSkill,
198
203
  runAutoSkillCurator,
199
204
  setAutoSkillPinned
200
- } from "./chunk-I6DY753S.js";
205
+ } from "./chunk-KJO2LBUK.js";
201
206
  import {
202
207
  HookEventName,
203
208
  sanitizeUserPromptExpansionAdditionalContext
204
- } from "./chunk-T2CRBIDJ.js";
209
+ } from "./chunk-TTX2JUE6.js";
205
210
  import {
206
211
  canUseRipgrep
207
- } from "./chunk-77TOMRBG.js";
212
+ } from "./chunk-4K7KNVWH.js";
208
213
  import {
209
214
  glob
210
- } from "./chunk-DEYPMJPD.js";
215
+ } from "./chunk-QJNDUTOL.js";
211
216
  import {
212
217
  checkArgumentSafety,
213
218
  checkCommandPermissions,
214
219
  escapeShellArg,
215
220
  getShellConfiguration
216
- } from "./chunk-T6OODF2U.js";
221
+ } from "./chunk-JWALNCLT.js";
217
222
  import {
218
223
  GoalPersistenceUnavailableError,
219
- emptyGoalSnapshot,
224
+ emptyGoalSnapshot
225
+ } from "./chunk-JHYH6PYQ.js";
226
+ import {
220
227
  projectUserTranscriptForDisplay
221
- } from "./chunk-FN5C6C7G.js";
228
+ } from "./chunk-7J6OTNGO.js";
222
229
  import {
223
230
  APPROVAL_MODES
224
- } from "./chunk-XR7OIAQF.js";
231
+ } from "./chunk-V5J4J5TP.js";
225
232
  import {
226
233
  openBrowserSecurely
227
234
  } from "./chunk-NAVJD2PQ.js";
@@ -242,37 +249,37 @@ import {
242
249
  read,
243
250
  recordSkillInvocation,
244
251
  uiTelemetryService
245
- } from "./chunk-OF2DPXUS.js";
252
+ } from "./chunk-QYMAKPY5.js";
246
253
  import {
247
- getCurrentGeminiMdFilename
248
- } from "./chunk-WBT3STGU.js";
254
+ getCurrentMemoryFilename
255
+ } from "./chunk-BKWNKLZB.js";
249
256
  import {
250
257
  getAutoMemoryRoot
251
- } from "./chunk-PVBT5QPD.js";
258
+ } from "./chunk-6PJOTWAN.js";
252
259
  import {
253
260
  runSideQuery
254
- } from "./chunk-IPQA4SR5.js";
261
+ } from "./chunk-BWORX6FA.js";
255
262
  import {
256
263
  AuthType
257
- } from "./chunk-GTUKW3I6.js";
264
+ } from "./chunk-PPKZ7JOE.js";
258
265
  import {
259
266
  normalizeContent,
260
267
  redactUrlCredentials
261
- } from "./chunk-6US7BF3G.js";
268
+ } from "./chunk-B5PHIJGI.js";
262
269
  import {
263
270
  FORK_SUBAGENT_TYPE,
264
271
  stripStartupContext
265
- } from "./chunk-7OBH4AM2.js";
272
+ } from "./chunk-CAJTKR6W.js";
266
273
  import {
267
274
  applySkillAllowedTools,
268
275
  buildSkillLlmContent
269
- } from "./chunk-OT4YKUUV.js";
276
+ } from "./chunk-ZU4UDIWX.js";
270
277
  import {
271
278
  ToolDisplayNamesMigration,
272
279
  ToolNames,
273
280
  canonicalToolName,
274
281
  isShellProgressData
275
- } from "./chunk-KOJ6MHD5.js";
282
+ } from "./chunk-UTLCH2FK.js";
276
283
  import {
277
284
  Storage,
278
285
  createDebugLogger,
@@ -281,12 +288,12 @@ import {
281
288
  isSubpath,
282
289
  resolvePath,
283
290
  updateSymlink
284
- } from "./chunk-2NNTE2ED.js";
291
+ } from "./chunk-UHQFIS7N.js";
285
292
  import {
286
293
  isCpuProfileRecording,
287
294
  startCpuProfile,
288
295
  stopCpuProfile
289
- } from "./chunk-66GIFJ63.js";
296
+ } from "./chunk-BIJEBAAQ.js";
290
297
  import {
291
298
  init_esbuild_shims
292
299
  } from "./chunk-5O2XNYP6.js";
@@ -1194,7 +1201,7 @@ async function askAdvisor(context, focus, abortSignal) {
1194
1201
  const { config } = context.services;
1195
1202
  if (!config) throw new Error(t("Config not loaded."));
1196
1203
  const cacheSafeParams = buildBtwCacheSafeParams(config);
1197
- if (!cacheSafeParams || config.getGeminiClient().getHistoryForForkWindow().length === 0) {
1204
+ if (!cacheSafeParams || config.getLlmClient().getHistoryForForkWindow().length === 0) {
1198
1205
  throw new Error(t("No conversation context available for /advisor"));
1199
1206
  }
1200
1207
  const advisorModel = context.services.settings.merged.advisorModel?.trim() || void 0;
@@ -1925,7 +1932,7 @@ __name(recordArenaItem, "recordArenaItem");
1925
1932
  function executeArenaCommand(config, ui, input) {
1926
1933
  let chatHistory;
1927
1934
  try {
1928
- const fullHistory = config.getGeminiClient().getChat().getHistoryShallow();
1935
+ const fullHistory = config.getLlmClient().getChat().getHistoryShallow();
1929
1936
  chatHistory = stripStartupContext(fullHistory);
1930
1937
  } catch {
1931
1938
  debugLogger5.debug("Could not retrieve chat history for arena agents");
@@ -2435,7 +2442,7 @@ var approvalModeCommand = {
2435
2442
  };
2436
2443
  }
2437
2444
  }
2438
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-O2N2Q6KG.js") : void 0;
2445
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-43D2A4ZN.js") : void 0;
2439
2446
  if (config) {
2440
2447
  try {
2441
2448
  config.setApprovalMode(mode);
@@ -2533,6 +2540,175 @@ var branchCommand = {
2533
2540
  }, "action")
2534
2541
  };
2535
2542
 
2543
+ // packages/cli/src/ui/commands/peers-command.ts
2544
+ init_esbuild_shims();
2545
+ function shortId(msgId) {
2546
+ return msgId.replace(/-/g, "").slice(0, 6);
2547
+ }
2548
+ __name(shortId, "shortId");
2549
+ function displayHandle(entry, held) {
2550
+ const own = canonicalizeMsgId(entry.frame.msgId);
2551
+ let length = Math.min(shortId(entry.frame.msgId).length, own.length);
2552
+ const collides = /* @__PURE__ */ __name((len) => held.some(
2553
+ (other) => other !== entry && canonicalizeMsgId(other.frame.msgId).startsWith(own.slice(0, len))
2554
+ ), "collides");
2555
+ while (length < own.length && collides(length)) {
2556
+ length += 1;
2557
+ }
2558
+ return own.slice(0, length);
2559
+ }
2560
+ __name(displayHandle, "displayHandle");
2561
+ function preview(text, max = 100) {
2562
+ const oneLine = flattenPeerLabel(text).replace(/\s+/g, " ").trim();
2563
+ return oneLine.length > max ? `${oneLine.slice(0, max - 1)}\u2026` : oneLine;
2564
+ }
2565
+ __name(preview, "preview");
2566
+ function formatHeldList(held) {
2567
+ if (held.length === 0) return "No messages from other sessions are waiting.";
2568
+ const lines = held.map((entry) => {
2569
+ const who = flattenPeerLabel(
2570
+ entry.frame.fromName ?? entry.frame.from ?? "unknown session"
2571
+ );
2572
+ const handle = flattenPeerLabel(displayHandle(entry, held));
2573
+ return ` ${handle} ${who}
2574
+ ${preview(entry.frame.message.content)}
2575
+ held because ${describeHoldCause(entry.cause)}`;
2576
+ });
2577
+ return [
2578
+ `${held.length} message${held.length === 1 ? "" : "s"} waiting for your review:`,
2579
+ ...lines,
2580
+ "",
2581
+ "Release with /peers accept <id|all>, or drop with /peers deny <id|all>."
2582
+ ].join("\n");
2583
+ }
2584
+ __name(formatHeldList, "formatHeldList");
2585
+ function resolveHeld(held, token) {
2586
+ const needle = token.toLowerCase();
2587
+ const exact = held.filter(
2588
+ (entry) => canonicalizeMsgId(entry.frame.msgId) === needle
2589
+ );
2590
+ if (exact.length === 1) return { kind: "one", msgId: exact[0].frame.msgId };
2591
+ const matches = held.filter(
2592
+ (entry) => canonicalizeMsgId(entry.frame.msgId).startsWith(needle) || entry.frame.msgId.toLowerCase().startsWith(needle)
2593
+ );
2594
+ if (matches.length === 0) return { kind: "none" };
2595
+ if (matches.length > 1) return { kind: "ambiguous" };
2596
+ return { kind: "one", msgId: matches[0].frame.msgId };
2597
+ }
2598
+ __name(resolveHeld, "resolveHeld");
2599
+ var peersCommand = {
2600
+ name: "peers",
2601
+ kind: "built-in" /* BUILT_IN */,
2602
+ get description() {
2603
+ return t(
2604
+ "Review messages held from other Qwen Code sessions (accept | deny)"
2605
+ );
2606
+ },
2607
+ action: /* @__PURE__ */ __name(async (context, args) => {
2608
+ const peerMessaging = context.services.peerMessaging;
2609
+ if (!peerMessaging) {
2610
+ const enabled = context.services.settings?.merged?.agents?.crossSessionMessaging === true;
2611
+ return {
2612
+ type: "message",
2613
+ messageType: enabled ? "error" : "info",
2614
+ content: enabled ? "Cross-session messaging is on, but this session has no inbox: it either failed to register in the session registry or failed to bind its socket. Re-run with DEBUG=1 to see the bind error." : 'Cross-session messaging is off. Enable it with "agents.crossSessionMessaging": true in settings.json, then restart.'
2615
+ };
2616
+ }
2617
+ const held = peerMessaging.getHeld();
2618
+ const [verb, ...rest] = args.trim().split(/\s+/).filter(Boolean);
2619
+ if (verb === void 0 || verb === "list") {
2620
+ peerMessaging.recordHeldListing(held);
2621
+ return {
2622
+ type: "message",
2623
+ messageType: "info",
2624
+ content: formatHeldList(held)
2625
+ };
2626
+ }
2627
+ if (verb !== "accept" && verb !== "deny") {
2628
+ return {
2629
+ type: "message",
2630
+ messageType: "error",
2631
+ content: `Unknown subcommand "${verb}". Use /peers, /peers accept <id|all>, or /peers deny <id|all>.`
2632
+ };
2633
+ }
2634
+ const decision = verb === "accept" ? "approve" : "deny";
2635
+ const target = rest[0];
2636
+ if (target === void 0) {
2637
+ return {
2638
+ type: "message",
2639
+ messageType: "error",
2640
+ content: `Which message? Use /peers ${verb} <id|all> \u2014 /peers lists the ids.`
2641
+ };
2642
+ }
2643
+ if (peerMessaging.heldSetChangedSinceListing()) {
2644
+ return {
2645
+ type: "message",
2646
+ messageType: "error",
2647
+ content: "The waiting list changed since you listed it \u2014 run /peers again to review what is waiting now."
2648
+ };
2649
+ }
2650
+ if (held.length === 0) {
2651
+ return {
2652
+ type: "message",
2653
+ messageType: "info",
2654
+ content: "No messages from other sessions are waiting."
2655
+ };
2656
+ }
2657
+ if (target.toLowerCase() === "all") {
2658
+ const ids = held.map((entry) => entry.frame.msgId);
2659
+ let count = 0;
2660
+ let failed = 0;
2661
+ for (const msgId of ids) {
2662
+ const outcome2 = peerMessaging.decide(msgId, decision);
2663
+ if (outcome2 === "done") count += 1;
2664
+ else if (outcome2 === "failed") failed += 1;
2665
+ }
2666
+ peerMessaging.recordHeldListing(peerMessaging.getHeld());
2667
+ return {
2668
+ type: "message",
2669
+ messageType: "info",
2670
+ content: `${verb === "accept" ? "Released" : "Dropped"} ${count} message${count === 1 ? "" : "s"}.` + (failed > 0 ? ` ${failed} could not be delivered and ${failed === 1 ? "is" : "are"} still waiting \u2014 try again once the session catches up.` : "")
2671
+ };
2672
+ }
2673
+ const resolved = resolveHeld(held, target);
2674
+ if (resolved.kind === "none") {
2675
+ return {
2676
+ type: "message",
2677
+ messageType: "error",
2678
+ content: `No held message matches "${target}". Run /peers to see what is waiting.`
2679
+ };
2680
+ }
2681
+ if (resolved.kind === "ambiguous") {
2682
+ return {
2683
+ type: "message",
2684
+ messageType: "error",
2685
+ content: `"${target}" matches more than one held message. Use more characters of the id.`
2686
+ };
2687
+ }
2688
+ const outcome = peerMessaging.decide(resolved.msgId, decision);
2689
+ peerMessaging.recordHeldListing(peerMessaging.getHeld());
2690
+ if (outcome === "gone") {
2691
+ return {
2692
+ type: "message",
2693
+ messageType: "info",
2694
+ content: "That message is no longer waiting \u2014 it may have expired or already been decided."
2695
+ };
2696
+ }
2697
+ if (outcome === "failed") {
2698
+ return {
2699
+ type: "message",
2700
+ messageType: "error",
2701
+ content: "The session could not take the message just now \u2014 its input queue is full. It is still waiting; try again in a moment."
2702
+ };
2703
+ }
2704
+ return {
2705
+ type: "message",
2706
+ messageType: "info",
2707
+ content: verb === "accept" ? "Released to this session. It will be picked up on the next turn." : "Dropped. The sending session has been told."
2708
+ };
2709
+ }, "action")
2710
+ };
2711
+
2536
2712
  // packages/cli/src/ui/commands/btwCommand.ts
2537
2713
  init_esbuild_shims();
2538
2714
  function formatBtwError(error) {
@@ -2904,12 +3080,12 @@ var directoryCommand = {
2904
3080
  config.getContextRuleExcludes()
2905
3081
  );
2906
3082
  config.setUserMemory(memoryContent);
2907
- config.setGeminiMdFileCount(fileCount);
3083
+ config.setMemoryFileCount(fileCount);
2908
3084
  config.setContextFilePaths(contextFilePaths);
2909
3085
  config.setConditionalRulesRegistry(
2910
3086
  new ConditionalRulesRegistry(conditionalRules, projectRoot)
2911
3087
  );
2912
- context.ui.setGeminiMdFileCount(fileCount);
3088
+ context.ui.setMemoryFileCount(fileCount);
2913
3089
  messages.push(
2914
3090
  t(
2915
3091
  "Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}",
@@ -2926,7 +3102,7 @@ var directoryCommand = {
2926
3102
  }
2927
3103
  }
2928
3104
  if (added.length > 0) {
2929
- const gemini = config.getGeminiClient();
3105
+ const gemini = config.getLlmClient();
2930
3106
  if (gemini) {
2931
3107
  try {
2932
3108
  await gemini.addDirectoryContext();
@@ -3162,7 +3338,7 @@ var cdCommand = {
3162
3338
  }
3163
3339
  }
3164
3340
  try {
3165
- await config.getGeminiClient()?.addWorkingDirectoryChangedContext(realOldDir, realTargetPath);
3341
+ await config.getLlmClient()?.addWorkingDirectoryChangedContext(realOldDir, realTargetPath);
3166
3342
  } catch (error) {
3167
3343
  warnings.push(
3168
3344
  `Model context refresh failed: ${error instanceof Error ? error.message : String(error)}`
@@ -3350,12 +3526,12 @@ var clearCommand = {
3350
3526
  context.session.startNewSession(newSessionId);
3351
3527
  }
3352
3528
  context.ui.clear();
3353
- const geminiClient = config.getGeminiClient();
3354
- if (geminiClient) {
3529
+ const llmClient = config.getLlmClient();
3530
+ if (llmClient) {
3355
3531
  context.ui.setDebugMessage(
3356
3532
  t("Starting a new session, resetting chat, and clearing terminal.")
3357
3533
  );
3358
- await geminiClient.resetChat();
3534
+ await llmClient.resetChat();
3359
3535
  } else {
3360
3536
  context.ui.setDebugMessage(t("Starting a new session and clearing."));
3361
3537
  }
@@ -3761,8 +3937,8 @@ var compressCommand = {
3761
3937
  }
3762
3938
  };
3763
3939
  const config = context.services.config;
3764
- const geminiClient = config?.getGeminiClient();
3765
- if (!config || !geminiClient) {
3940
+ const llmClient = config?.getLlmClient();
3941
+ if (!config || !llmClient) {
3766
3942
  return {
3767
3943
  type: "message",
3768
3944
  messageType: "error",
@@ -3777,7 +3953,7 @@ var compressCommand = {
3777
3953
  }) : void 0;
3778
3954
  const doCompress = /* @__PURE__ */ __name(async () => {
3779
3955
  const promptId = `compress-${Date.now()}`;
3780
- return await geminiClient.tryCompressChat(
3956
+ return await llmClient.tryCompressChat(
3781
3957
  promptId,
3782
3958
  true,
3783
3959
  abortSignal,
@@ -3955,15 +4131,15 @@ var compressFastCommand = {
3955
4131
  }
3956
4132
  };
3957
4133
  const config = context.services.config;
3958
- const geminiClient = config?.getGeminiClient();
3959
- if (!config || !geminiClient) {
4134
+ const llmClient = config?.getLlmClient();
4135
+ if (!config || !llmClient) {
3960
4136
  return {
3961
4137
  type: "message",
3962
4138
  messageType: "error",
3963
4139
  content: t("Config not loaded.")
3964
4140
  };
3965
4141
  }
3966
- const doCompress = /* @__PURE__ */ __name(async () => await geminiClient.tryCompressChatFast(), "doCompress");
4142
+ const doCompress = /* @__PURE__ */ __name(async () => await llmClient.tryCompressChatFast(), "doCompress");
3967
4143
  if (executionMode === "acp") {
3968
4144
  const messages = /* @__PURE__ */ __name(async function* () {
3969
4145
  try {
@@ -4582,7 +4758,7 @@ var copyCommand = {
4582
4758
  kind: "built-in" /* BUILT_IN */,
4583
4759
  supportedModes: ["interactive"],
4584
4760
  action: /* @__PURE__ */ __name(async (context, args) => {
4585
- const chat = await context.services.config?.getGeminiClient()?.getChat();
4761
+ const chat = await context.services.config?.getLlmClient()?.getChat();
4586
4762
  const history = chat?.getHistoryShallow();
4587
4763
  const aiMessages = history?.filter((item) => item.role === "model") ?? [];
4588
4764
  if (aiMessages.length === 0) {
@@ -4857,7 +5033,7 @@ async function checkApiClient(context) {
4857
5033
  };
4858
5034
  }
4859
5035
  try {
4860
- const client = config.getGeminiClient();
5036
+ const client = config.getLlmClient();
4861
5037
  if (client.isInitialized()) {
4862
5038
  return {
4863
5039
  category: t("Authentication"),
@@ -5808,8 +5984,8 @@ function formatSmapsRollup(smapsRollup) {
5808
5984
  if (rssLine) {
5809
5985
  return rssLine;
5810
5986
  }
5811
- const preview = smapsRollup.slice(0, 80).trim().replace(/\s+/g, " ");
5812
- return `${t("parse error")}: ${preview}`;
5987
+ const preview2 = smapsRollup.slice(0, 80).trim().replace(/\s+/g, " ");
5988
+ return `${t("parse error")}: ${preview2}`;
5813
5989
  }
5814
5990
  __name(formatSmapsRollup, "formatSmapsRollup");
5815
5991
  function formatCoreDiagnostics(diagnostics) {
@@ -5851,7 +6027,7 @@ __name(formatCoreDiagnostics, "formatCoreDiagnostics");
5851
6027
  function collectToolResultRetention(context) {
5852
6028
  try {
5853
6029
  const config = context.services.config;
5854
- const history = config?.getGeminiClient()?.getHistoryShallow();
6030
+ const history = config?.getLlmClient()?.getHistoryShallow();
5855
6031
  if (!history) {
5856
6032
  return null;
5857
6033
  }
@@ -6229,11 +6405,13 @@ var effortCommand = {
6229
6405
  };
6230
6406
  }
6231
6407
  applyReasoningEffort(config, tier);
6232
- settings.setValue(
6233
- getPersistScopeForModelSelection(settings),
6234
- "model.reasoningEffort",
6235
- tier
6236
- );
6408
+ if (context.executionPolicy?.persistModelSelection !== false) {
6409
+ settings.setValue(
6410
+ getPersistScopeForModelSelection(settings),
6411
+ "model.reasoningEffort",
6412
+ tier
6413
+ );
6414
+ }
6237
6415
  return {
6238
6416
  type: "message",
6239
6417
  messageType: "info",
@@ -6666,7 +6844,7 @@ var forkCommand = {
6666
6844
  }
6667
6845
  let hasHistory = false;
6668
6846
  try {
6669
- hasHistory = (config.getGeminiClient().getHistoryShallow() ?? []).length > 0;
6847
+ hasHistory = (config.getLlmClient().getHistoryShallow() ?? []).length > 0;
6670
6848
  } catch (error) {
6671
6849
  debugLogger9.debug("Failed to read history before /fork:", error);
6672
6850
  hasHistory = false;
@@ -6714,7 +6892,7 @@ var forkCommand = {
6714
6892
  };
6715
6893
  }
6716
6894
  try {
6717
- config.getGeminiClient().addHistory({
6895
+ config.getLlmClient().addHistory({
6718
6896
  role: "user",
6719
6897
  parts: [
6720
6898
  {
@@ -7239,7 +7417,7 @@ var expandNowCommand = {
7239
7417
  content: t("History is already expanded in this session.")
7240
7418
  };
7241
7419
  }
7242
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-35D4KAVT.js");
7420
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-PZ4BER55.js");
7243
7421
  const updated = expandCollapsedHistory(history);
7244
7422
  loadHistory(updated);
7245
7423
  refreshStatic();
@@ -8622,6 +8800,15 @@ var importConfigCommand = {
8622
8800
  ${usage()}`
8623
8801
  };
8624
8802
  }
8803
+ if (parsed.scope === "project" && context.executionPolicy?.allowWorkspaceSettingsWrite === false) {
8804
+ return {
8805
+ type: "message",
8806
+ messageType: "error",
8807
+ content: t(
8808
+ "Project configuration imports are not available in this session."
8809
+ )
8810
+ };
8811
+ }
8625
8812
  try {
8626
8813
  const importSource = resolveImportSourceForScope(
8627
8814
  parsed.source,
@@ -8678,7 +8865,7 @@ var initCommand = {
8678
8865
  };
8679
8866
  }
8680
8867
  const targetDir = context.services.config.getTargetDir();
8681
- const contextFileName = getCurrentGeminiMdFilename();
8868
+ const contextFileName = getCurrentMemoryFilename();
8682
8869
  const contextFilePath = path8.join(targetDir, contextFileName);
8683
8870
  try {
8684
8871
  if (fs7.existsSync(contextFilePath)) {
@@ -8816,6 +9003,15 @@ function validateUiScopeFlags(context, parsed) {
8816
9003
  )
8817
9004
  };
8818
9005
  }
9006
+ if (parsed.scope === "Workspace" /* Workspace */ && context.executionPolicy?.allowWorkspaceSettingsWrite === false) {
9007
+ return {
9008
+ type: "message",
9009
+ messageType: "error",
9010
+ content: t(
9011
+ "Project language settings are not available in this session."
9012
+ )
9013
+ };
9014
+ }
8819
9015
  if (parsed.scope === "Workspace" /* Workspace */ && context.services.settings && !context.services.settings.isTrusted) {
8820
9016
  return {
8821
9017
  type: "message",
@@ -8884,7 +9080,7 @@ async function setOutputLanguage(context, language) {
8884
9080
  if (config) {
8885
9081
  try {
8886
9082
  await config.refreshHierarchicalMemory();
8887
- await config.getGeminiClient().refreshSystemInstruction();
9083
+ await config.getLlmClient().refreshSystemInstruction();
8888
9084
  } catch (error) {
8889
9085
  debugLogger11.warn(
8890
9086
  "Failed to apply output language to running session:",
@@ -9296,7 +9492,7 @@ function persistSetting(settings, path18, value, scopeOverride) {
9296
9492
  settings.setValue(resolveScope(settings, scopeOverride), path18, value);
9297
9493
  }
9298
9494
  __name(persistSetting, "persistSetting");
9299
- async function switchMainModel(config, settings, currentAuthType, modelArg, scopeOverride) {
9495
+ async function switchMainModel(config, settings, currentAuthType, modelArg, scopeOverride, persistSelection = true) {
9300
9496
  const parsed = parseAcpModelOption(modelArg);
9301
9497
  if (parsed.authType) {
9302
9498
  await config.switchModel(
@@ -9304,19 +9500,23 @@ async function switchMainModel(config, settings, currentAuthType, modelArg, scop
9304
9500
  parsed.modelId,
9305
9501
  parsed.authType !== currentAuthType && parsed.authType === "qwen-oauth" /* QWEN_OAUTH */ ? { requireCachedCredentials: true } : void 0
9306
9502
  );
9307
- persistSetting(
9308
- settings,
9309
- "security.auth.selectedType",
9310
- parsed.authType,
9311
- scopeOverride
9312
- );
9313
- persistSetting(settings, "model.name", parsed.modelId, scopeOverride);
9314
- persistSetting(settings, "model.baseUrl", "", scopeOverride);
9503
+ if (persistSelection) {
9504
+ persistSetting(
9505
+ settings,
9506
+ "security.auth.selectedType",
9507
+ parsed.authType,
9508
+ scopeOverride
9509
+ );
9510
+ persistSetting(settings, "model.name", parsed.modelId, scopeOverride);
9511
+ persistSetting(settings, "model.baseUrl", "", scopeOverride);
9512
+ }
9315
9513
  return parsed.modelId;
9316
9514
  }
9317
9515
  await config.switchModel(currentAuthType, modelArg, void 0);
9318
- persistSetting(settings, "model.name", modelArg, scopeOverride);
9319
- persistSetting(settings, "model.baseUrl", "", scopeOverride);
9516
+ if (persistSelection) {
9517
+ persistSetting(settings, "model.name", modelArg, scopeOverride);
9518
+ persistSetting(settings, "model.baseUrl", "", scopeOverride);
9519
+ }
9320
9520
  return modelArg;
9321
9521
  }
9322
9522
  __name(switchMainModel, "switchMainModel");
@@ -9540,6 +9740,14 @@ var modelCommand = {
9540
9740
  )
9541
9741
  };
9542
9742
  }
9743
+ const auxiliarySelection = /(?:^|\s)--(?:fast|voice|vision|compaction|image)(?:\s|$)/.test(rawArgs);
9744
+ if (hasProject && context.executionPolicy?.allowWorkspaceSettingsWrite === false || context.executionPolicy?.persistModelSelection === false && (hasProject || hasGlobal || auxiliarySelection)) {
9745
+ return {
9746
+ type: "message",
9747
+ messageType: "error",
9748
+ content: t("This model selection is not available in this session.")
9749
+ };
9750
+ }
9543
9751
  if (scopeOverride === "Workspace" /* Workspace */ && settings && !settings.isTrusted) {
9544
9752
  return {
9545
9753
  type: "message",
@@ -10036,7 +10244,8 @@ ${formatNonVisionModelWarning(modelName2)}`;
10036
10244
  settings,
10037
10245
  authType,
10038
10246
  modelName,
10039
- scopeOverride
10247
+ scopeOverride,
10248
+ context.executionPolicy?.persistModelSelection !== false
10040
10249
  );
10041
10250
  if (context.executionMode === "acp") {
10042
10251
  await recordDaemonSessionModelFromConfig(config);
@@ -10790,7 +10999,7 @@ ${fileList}`
10790
10999
  loadHistory(toolCallData.history);
10791
11000
  }
10792
11001
  if (toolCallData.clientHistory) {
10793
- await config?.getGeminiClient()?.setHistory(toolCallData.clientHistory);
11002
+ await config?.getLlmClient()?.setHistory(toolCallData.clientHistory);
10794
11003
  }
10795
11004
  return {
10796
11005
  type: "tool",
@@ -11823,8 +12032,8 @@ var summaryCommand = {
11823
12032
  content: t("Config not loaded.")
11824
12033
  };
11825
12034
  }
11826
- const geminiClient = config.getGeminiClient();
11827
- if (!geminiClient) {
12035
+ const llmClient = config.getLlmClient();
12036
+ if (!llmClient) {
11828
12037
  return {
11829
12038
  type: "message",
11830
12039
  messageType: "error",
@@ -11850,7 +12059,7 @@ var summaryCommand = {
11850
12059
  };
11851
12060
  }
11852
12061
  const getChatHistory = /* @__PURE__ */ __name(() => {
11853
- const chat = geminiClient.getChat();
12062
+ const chat = llmClient.getChat();
11854
12063
  return chat.getHistoryShallow();
11855
12064
  }, "getChatHistory");
11856
12065
  const validateChatHistory = /* @__PURE__ */ __name((history2) => {
@@ -11863,7 +12072,7 @@ var summaryCommand = {
11863
12072
  role: message2.role,
11864
12073
  parts: message2.parts
11865
12074
  }));
11866
- const rawSystemInstruction = geminiClient.getChat().getGenerationConfig().systemInstruction;
12075
+ const rawSystemInstruction = llmClient.getChat().getGenerationConfig().systemInstruction;
11867
12076
  const chatSystemInstruction = typeof rawSystemInstruction === "string" ? rawSystemInstruction : void 0;
11868
12077
  const result = await runSideQuery(config, {
11869
12078
  purpose: "project-summary",
@@ -12480,13 +12689,17 @@ var toolsCommand = {
12480
12689
  return;
12481
12690
  }
12482
12691
  const tools = toolRegistry.getAllTools();
12483
- const geminiTools = tools.filter((tool) => !("serverName" in tool));
12692
+ const llmTools = tools.filter((tool) => !("serverName" in tool));
12484
12693
  const toolsListItem = {
12485
12694
  type: "tools_list" /* TOOLS_LIST */,
12486
- tools: geminiTools.map((tool) => ({
12695
+ tools: llmTools.map((tool) => ({
12487
12696
  name: tool.name,
12488
12697
  displayName: tool.displayName,
12489
- description: tool.description
12698
+ description: tool.description,
12699
+ // Surface the deferred/eager split so a `tools.eager` allowlist is
12700
+ // visible rather than silently reshaping the model's toolset — the
12701
+ // user-facing half of #10075.
12702
+ deferred: toolRegistry.isDeferredAndHidden(tool.name)
12490
12703
  })),
12491
12704
  showDescriptions: useShowDescriptions
12492
12705
  };
@@ -14518,10 +14731,10 @@ var updateCommand = {
14518
14731
  { performStandaloneUpdate },
14519
14732
  installationInfo
14520
14733
  ] = await Promise.all([
14521
- import("./updateCheck-AK4COHNK.js"),
14522
- import("./processUtils-ZHFC7CSL.js"),
14523
- import("./standalone-update-XOCWGXAH.js"),
14524
- import("./installationInfo-D4XGQNHJ.js")
14734
+ import("./updateCheck-KSVHYJYE.js"),
14735
+ import("./processUtils-GY3Q66CJ.js"),
14736
+ import("./standalone-update-JUJA4BKV.js"),
14737
+ import("./installationInfo-R22453J5.js")
14525
14738
  ]);
14526
14739
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
14527
14740
  const settings = context.services.settings;
@@ -14682,6 +14895,7 @@ var BuiltinCommandLoader = class {
14682
14895
  approvalModeCommand,
14683
14896
  authCommand,
14684
14897
  branchCommand,
14898
+ peersCommand,
14685
14899
  btwCommand,
14686
14900
  forkCommand,
14687
14901
  bugCommand,
@@ -15926,7 +16140,7 @@ var SkillCommandLoader = class {
15926
16140
  return visibleSkills.map((skill) => {
15927
16141
  const isExtension = skill.level === "extension";
15928
16142
  const modelInvocable = skill.disableModelInvocation ? false : isExtension ? !!(skill.description || skill.whenToUse) : true;
15929
- const sourceLabel = isExtension ? `${t("Extension:")} ${skill.extensionName ?? "unknown"}` : skill.level === "project" ? t("Project") : t("User");
16143
+ const sourceLabel = isExtension ? `${t("Extension:")} ${skill.extensionDisplayName ?? skill.extensionName ?? "unknown"}` : skill.level === "project" ? t("Project") : t("User");
15930
16144
  return {
15931
16145
  name: skill.name,
15932
16146
  description: skill.description,
@@ -16008,8 +16222,8 @@ function createNonInteractiveUI() {
16008
16222
  btwAbortControllerRef: { current: null },
16009
16223
  isIdleRef: { current: true },
16010
16224
  toggleVimEnabled: /* @__PURE__ */ __name(async () => false, "toggleVimEnabled"),
16011
- setGeminiMdFileCount: /* @__PURE__ */ __name((_count) => {
16012
- }, "setGeminiMdFileCount"),
16225
+ setMemoryFileCount: /* @__PURE__ */ __name((_count) => {
16226
+ }, "setMemoryFileCount"),
16013
16227
  reloadCommands: /* @__PURE__ */ __name(() => {
16014
16228
  }, "reloadCommands"),
16015
16229
  setSessionName: /* @__PURE__ */ __name(() => {
@@ -16057,6 +16271,12 @@ function getSkillCommandName(command) {
16057
16271
  return command.skillDetail?.name ?? command.name;
16058
16272
  }
16059
16273
  __name(getSkillCommandName, "getSkillCommandName");
16274
+ function isCommandAllowedByPolicy(command, policy) {
16275
+ if (!policy || command.kind !== "built-in" /* BUILT_IN */) return true;
16276
+ if (command.name === "clear" && !policy.allowSessionReset) return false;
16277
+ return !policy.blockedBuiltinCommandNames.includes(command.name);
16278
+ }
16279
+ __name(isCommandAllowedByPolicy, "isCommandAllowedByPolicy");
16060
16280
  function handleCommandResult(result, outputHistoryItems) {
16061
16281
  switch (result.type) {
16062
16282
  case "submit_prompt":
@@ -16176,12 +16396,12 @@ async function fireUserPromptExpansionHook(config, commandName, commandArgs, con
16176
16396
  };
16177
16397
  }
16178
16398
  __name(fireUserPromptExpansionHook, "fireUserPromptExpansionHook");
16179
- async function registerModelInvocableCommands(commandService, config, executionMode, settings) {
16399
+ async function registerModelInvocableCommands(commandService, config, executionMode, settings, executionPolicy) {
16180
16400
  if (!settings) {
16181
16401
  return;
16182
16402
  }
16183
16403
  config.setModelInvocableCommandsProvider(
16184
- () => commandService.getModelInvocableCommands().map((cmd) => ({
16404
+ () => commandService.getModelInvocableCommands().filter((cmd) => isCommandAllowedByPolicy(cmd, executionPolicy)).map((cmd) => ({
16185
16405
  name: cmd.name,
16186
16406
  description: cmd.modelDescription ?? cmd.description
16187
16407
  }))
@@ -16189,7 +16409,9 @@ async function registerModelInvocableCommands(commandService, config, executionM
16189
16409
  config.setModelInvocableCommandsExecutor(
16190
16410
  async (name, args = "") => {
16191
16411
  const commands = commandService.getModelInvocableCommands();
16192
- const cmd = commands.find((c) => c.name === name);
16412
+ const cmd = commands.find(
16413
+ (candidate) => candidate.name === name && isCommandAllowedByPolicy(candidate, executionPolicy)
16414
+ );
16193
16415
  if (!cmd?.action) return null;
16194
16416
  const minimalContext = {
16195
16417
  executionMode,
@@ -16198,7 +16420,8 @@ async function registerModelInvocableCommands(commandService, config, executionM
16198
16420
  name,
16199
16421
  args
16200
16422
  },
16201
- services: { config, settings, logger: null }
16423
+ services: { config, settings, logger: null },
16424
+ ...executionPolicy ? { executionPolicy } : {}
16202
16425
  };
16203
16426
  const result = await cmd.action(minimalContext, args);
16204
16427
  if (!result || result.type !== "submit_prompt") return null;
@@ -16227,7 +16450,7 @@ async function registerModelInvocableCommands(commandService, config, executionM
16227
16450
  await skillManager?.notifyConfigChanged();
16228
16451
  }
16229
16452
  __name(registerModelInvocableCommands, "registerModelInvocableCommands");
16230
- var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController, config, settings, sessionHooks) => {
16453
+ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController, config, settings, sessionHooks, executionPolicy) => {
16231
16454
  const trimmed = rawQuery.trim();
16232
16455
  if (!trimmed.startsWith("/")) {
16233
16456
  return { type: "no_command" };
@@ -16263,10 +16486,13 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16263
16486
  commandService,
16264
16487
  config,
16265
16488
  executionMode,
16266
- settings
16489
+ settings,
16490
+ executionPolicy
16267
16491
  );
16268
16492
  const allCommands = allCommandService.getCommands();
16269
- const filteredCommands = commandService.getCommandsForMode(executionMode).filter((cmd) => !isDisabled(cmd));
16493
+ const filteredCommands = commandService.getCommandsForMode(executionMode).filter(
16494
+ (cmd) => !isDisabled(cmd) && isCommandAllowedByPolicy(cmd, executionPolicy)
16495
+ );
16270
16496
  const { commandToExecute, args } = parseSlashCommand(
16271
16497
  rawQuery,
16272
16498
  filteredCommands
@@ -16282,6 +16508,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16282
16508
  if (!skill.action) continue;
16283
16509
  const skillContext = {
16284
16510
  executionMode,
16511
+ ...executionPolicy ? { executionPolicy } : {},
16285
16512
  invocation: {
16286
16513
  raw: `/${skill.name}`,
16287
16514
  name: skill.name,
@@ -16355,6 +16582,15 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16355
16582
  originalType: "filtered_command"
16356
16583
  };
16357
16584
  }
16585
+ if (!isCommandAllowedByPolicy(knownCommand, executionPolicy)) {
16586
+ return {
16587
+ type: "unsupported",
16588
+ reason: t('The command "/{{command}}" is not available here.', {
16589
+ command: typedToken
16590
+ }),
16591
+ originalType: "unsupported_action"
16592
+ };
16593
+ }
16358
16594
  return {
16359
16595
  type: "unsupported",
16360
16596
  reason: t('The command "/{{command}}" is not supported in this mode.', {
@@ -16388,6 +16624,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16388
16624
  };
16389
16625
  const context = {
16390
16626
  executionMode,
16627
+ ...executionPolicy ? { executionPolicy } : {},
16391
16628
  abortSignal: commandToExecute.name === "advisor" ? abortController.signal : void 0,
16392
16629
  services: {
16393
16630
  config,
@@ -16466,7 +16703,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16466
16703
  resolvedCommand
16467
16704
  };
16468
16705
  }, "handleSlashCommand");
16469
- var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mode = "acp", settings) => {
16706
+ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mode = "acp", settings, executionPolicy) => {
16470
16707
  try {
16471
16708
  const loaders = [
16472
16709
  new McpPromptLoader(config),
@@ -16486,9 +16723,12 @@ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mo
16486
16723
  commandService,
16487
16724
  config,
16488
16725
  mode,
16489
- settings
16726
+ settings,
16727
+ executionPolicy
16728
+ );
16729
+ return commandService.getCommandsForMode(mode).filter(
16730
+ (command) => isCommandAllowedByPolicy(command, executionPolicy)
16490
16731
  );
16491
- return commandService.getCommandsForMode(mode);
16492
16732
  } catch (error) {
16493
16733
  debugLogger20.error("Error loading available commands:", error);
16494
16734
  return [];