@qwen-code/qwen-code 0.22.2-preview.1 → 0.22.3

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 (437) 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-X42SXBJH.js +110 -0
  19. package/chunks/{StandaloneSessionPicker-5D2L22SF.js → StandaloneSessionPicker-2FJAOLGG.js} +81 -83
  20. package/chunks/{acpAgent-4DCKLA32.js → acpAgent-2ZMIJAFV.js} +1153 -357
  21. package/chunks/{agent-B4AFZL6H.js → agent-X5WX3L2I.js} +44 -46
  22. package/chunks/agent-headless-IZM25LJA.js +85 -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-4SWJY65V.js} +2 -2
  26. package/chunks/bridge-ME6QXZNA.js +119 -0
  27. package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-HQ6KDS7C.js} +6 -6
  28. package/chunks/channel-settings-store-PEOI7XCG.js +120 -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-JLU3FPQR.js → chunk-2HYKTO7V.js} +5 -5
  34. package/chunks/chunk-2LNNVAUV.js +1584 -0
  35. package/chunks/{chunk-FJAITR4L.js → chunk-2OBKDPZZ.js} +2 -2
  36. package/chunks/{chunk-JSY43GMI.js → chunk-2OUD5T67.js} +185 -174
  37. package/chunks/{chunk-LJP2BBMK.js → chunk-2SXSLSQE.js} +4 -4
  38. package/chunks/chunk-2TNL5KPM.js +49 -0
  39. package/chunks/{chunk-XMSMTU6H.js → chunk-2YOHKHYR.js} +4 -4
  40. package/chunks/{chunk-MCKJTBZN.js → chunk-36GSQ3MM.js} +2 -2
  41. package/chunks/chunk-36LGBEM6.js +130 -0
  42. package/chunks/{chunk-ZWKGZB2K.js → chunk-3JXM2CVW.js} +3 -3
  43. package/chunks/{chunk-X3XGCJ32.js → chunk-3SZC4VP4.js} +28 -111
  44. package/chunks/{chunk-ILPXSKGQ.js → chunk-3WK3QDNV.js} +2 -2
  45. package/chunks/{chunk-IKN3IUJP.js → chunk-3XKLXHGK.js} +17 -9
  46. package/chunks/{chunk-ZLTEQYNC.js → chunk-42IDLQWS.js} +26 -20
  47. package/chunks/chunk-4CMJKUND.js +95 -0
  48. package/chunks/{chunk-77TOMRBG.js → chunk-4K7KNVWH.js} +3 -3
  49. package/chunks/{chunk-SQPOJ4ZI.js → chunk-4NDLQAY2.js} +27 -270
  50. package/chunks/{chunk-V3GINY6K.js → chunk-4QHPPXK2.js} +16 -8
  51. package/chunks/{chunk-VBF4KZRQ.js → chunk-4TT3IVGA.js} +1 -1
  52. package/chunks/{chunk-IOGKXPL3.js → chunk-4VPCTGH6.js} +6 -6
  53. package/chunks/chunk-4VQBQLIZ.js +293 -0
  54. package/chunks/{chunk-UCSV2IZW.js → chunk-62GQFYID.js} +3 -3
  55. package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
  56. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  57. package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
  58. package/chunks/{chunk-WZ3QKPMQ.js → chunk-6X7EU5TI.js} +19 -31
  59. package/chunks/{chunk-KQYW2GB5.js → chunk-6ZPDLGHN.js} +6 -6
  60. package/chunks/{chunk-AKQA3WCH.js → chunk-734C6JGI.js} +723 -3399
  61. package/chunks/{chunk-F7M6ZFGU.js → chunk-73RM4POK.js} +8 -8
  62. package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
  63. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  64. package/chunks/chunk-7J6OTNGO.js +424 -0
  65. package/chunks/{chunk-LWLEPXKK.js → chunk-7LOELM2I.js} +19 -2
  66. package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
  67. package/chunks/{chunk-AWFZDYSD.js → chunk-7T52W4SW.js} +1 -1
  68. package/chunks/{chunk-3JKUX4PB.js → chunk-7VMIMAVB.js} +9 -9
  69. package/chunks/{chunk-2MHGD7EE.js → chunk-A3LWD5MK.js} +1 -1
  70. package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
  71. package/chunks/{chunk-TDQBVEPK.js → chunk-AIAOIFY4.js} +10 -8
  72. package/chunks/{chunk-NEZZHGEI.js → chunk-AYFA7MZV.js} +6 -6
  73. package/chunks/{chunk-FVDQ5E67.js → chunk-B466ZSHZ.js} +3 -3
  74. package/chunks/{chunk-6US7BF3G.js → chunk-B5PHIJGI.js} +183 -5
  75. package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
  76. package/chunks/{chunk-WBT3STGU.js → chunk-BKWNKLZB.js} +20 -20
  77. package/chunks/{chunk-T45CL2NT.js → chunk-BOWFGCEU.js} +3 -3
  78. package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
  79. package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
  80. package/chunks/{chunk-ZEADBZLO.js → chunk-C2X7KY45.js} +3 -3
  81. package/chunks/{chunk-PTQF7WRA.js → chunk-C3PEFRKD.js} +6 -6
  82. package/chunks/{chunk-7OBH4AM2.js → chunk-CAJTKR6W.js} +5 -5
  83. package/chunks/{chunk-2FN2HNTI.js → chunk-CFJY4DGX.js} +2 -2
  84. package/chunks/{chunk-SUE2ZMUH.js → chunk-CIZCL2MW.js} +49 -31
  85. package/chunks/{chunk-W2WRNJKX.js → chunk-CLWO3B77.js} +6 -6
  86. package/chunks/{chunk-U45D46O5.js → chunk-CMHFCLBU.js} +1 -1
  87. package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
  88. package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
  89. package/chunks/chunk-DJBQCO2E.js +842 -0
  90. package/chunks/{chunk-BQBUZDDH.js → chunk-DJECZIJX.js} +42 -42
  91. package/chunks/{chunk-GTUZ3R6I.js → chunk-DJEZ55D4.js} +351 -113
  92. package/chunks/{chunk-HPECDZ6X.js → chunk-DJPASAUV.js} +3866 -1077
  93. package/chunks/{chunk-VYWCFWI5.js → chunk-DMLVSW7L.js} +542 -654
  94. package/chunks/{chunk-EB4VDXNI.js → chunk-DYXFD5RO.js} +182 -3
  95. package/chunks/{chunk-ZKAZP2ZG.js → chunk-EB6QRGHM.js} +3 -3
  96. package/chunks/{chunk-UWICO5KN.js → chunk-EFWRMA2I.js} +3 -3
  97. package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
  98. package/chunks/{chunk-ALTQLFEG.js → chunk-EQSBPBZ3.js} +5 -194
  99. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  100. package/chunks/{chunk-4K44OMLI.js → chunk-FROAFEFB.js} +3 -3
  101. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  102. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  103. package/chunks/{chunk-ZJG323IA.js → chunk-G6FECKTJ.js} +7 -5
  104. package/chunks/{chunk-TMGAS5TO.js → chunk-GBJBJ4HX.js} +26 -4
  105. package/chunks/{chunk-UCQOSV6A.js → chunk-GPGU4S2N.js} +3 -3
  106. package/chunks/{chunk-BHTJAO36.js → chunk-GVIVASYK.js} +7 -7
  107. package/chunks/chunk-H72BQNM3.js +645 -0
  108. package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
  109. package/chunks/{chunk-FCSWZAS3.js → chunk-HP5LR5HL.js} +5 -5
  110. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  111. package/chunks/{chunk-OI2DR6QB.js → chunk-I6LYRJPB.js} +3 -3
  112. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  113. package/chunks/{chunk-PAJGKZAA.js → chunk-ISKH4QX3.js} +14 -12
  114. package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
  115. package/chunks/{chunk-FN5C6C7G.js → chunk-JHYH6PYQ.js} +192 -478
  116. package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
  117. package/chunks/{chunk-SKNVVYIJ.js → chunk-K5KXUXWC.js} +3 -3
  118. package/chunks/{chunk-XUX6O2ZT.js → chunk-KID24ZFN.js} +4 -1
  119. package/chunks/{chunk-I6DY753S.js → chunk-KJO2LBUK.js} +944 -18
  120. package/chunks/{chunk-5T4LWWNX.js → chunk-KYWTPLBJ.js} +18 -21
  121. package/chunks/{chunk-CZFQ62RM.js → chunk-LHBUKJG2.js} +4 -4
  122. package/chunks/{chunk-TOF4UZHH.js → chunk-LUEHOUHM.js} +3 -3
  123. package/chunks/{chunk-2YDYDDE2.js → chunk-M3QRM3DE.js} +3 -3
  124. package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
  125. package/chunks/{chunk-ZGWDHSUM.js → chunk-MF7HCQWZ.js} +4 -4
  126. package/chunks/{chunk-66GIFJ63.js → chunk-MK2GIB46.js} +1 -1
  127. package/chunks/{chunk-TFV4RXPU.js → chunk-MO3FC2WT.js} +1 -1
  128. package/chunks/{chunk-TR7G7XFQ.js → chunk-MPNBVAEU.js} +5 -5
  129. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  130. package/chunks/{chunk-3WBMPR3S.js → chunk-MSBO7X2W.js} +1 -1
  131. package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
  132. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  133. package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
  134. package/chunks/{chunk-AP7WZONS.js → chunk-NMOD2FXQ.js} +19 -9
  135. package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
  136. package/chunks/{chunk-5URK47RN.js → chunk-NV55WWD6.js} +11595 -10375
  137. package/chunks/{chunk-HABT2Z7R.js → chunk-OU5APVWO.js} +4 -4
  138. package/chunks/{chunk-QR4AHMGQ.js → chunk-P2G476QN.js} +13 -13
  139. package/chunks/{chunk-5SM2AK65.js → chunk-PADPMMYM.js} +5 -5
  140. package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
  141. package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
  142. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  143. package/chunks/{chunk-XIRDDFRS.js → chunk-PZ66FRIC.js} +2644 -2296
  144. package/chunks/{chunk-H3HZ4AWW.js → chunk-Q2MSPKIJ.js} +1 -1
  145. package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
  146. package/chunks/{chunk-OF2DPXUS.js → chunk-QYMAKPY5.js} +119 -24
  147. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  148. package/chunks/chunk-RKFGE7JH.js +93 -0
  149. package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
  150. package/chunks/chunk-SEONHUS3.js +275 -0
  151. package/chunks/{chunk-DEYPMJPD.js → chunk-SMPR7SPO.js} +1 -1
  152. package/chunks/chunk-SS4MRMKE.js +3525 -0
  153. package/chunks/{chunk-BPMVPWBT.js → chunk-SS5SDCD3.js} +6 -6
  154. package/chunks/{chunk-J3CBIEDS.js → chunk-ST5MDGH3.js} +32 -15
  155. package/chunks/{chunk-J5352S3S.js → chunk-ST5V3ZOC.js} +3 -3
  156. package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
  157. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  158. package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
  159. package/chunks/{chunk-5CMWFBML.js → chunk-TEBDFQBZ.js} +1 -1
  160. package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
  161. package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
  162. package/chunks/{chunk-VOEMVOM4.js → chunk-TVC6HQ2U.js} +2 -2
  163. package/chunks/{chunk-WXDZZFH3.js → chunk-TZBSGJ6C.js} +6 -6
  164. package/chunks/chunk-U54AYGEC.js +337 -0
  165. package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
  166. package/chunks/{chunk-76WGY6LW.js → chunk-URE3QBBB.js} +3 -3
  167. package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
  168. package/chunks/{chunk-7DPKPBOQ.js → chunk-V2NDP3I4.js} +2 -2
  169. package/chunks/{chunk-FJWICLG7.js → chunk-V4264FEG.js} +9 -9
  170. package/chunks/{chunk-XR7OIAQF.js → chunk-V5J4J5TP.js} +2 -2
  171. package/chunks/{chunk-7UJTY5V3.js → chunk-V7EESTJV.js} +1 -1
  172. package/chunks/{chunk-Z6L3C4VF.js → chunk-VBCPNIQD.js} +39 -39
  173. package/chunks/{chunk-ATLGYSYH.js → chunk-VGIFXISB.js} +4 -4
  174. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  175. package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
  176. package/chunks/{chunk-AA7VBRBG.js → chunk-W3JH33JE.js} +8 -8
  177. package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
  178. package/chunks/{chunk-CDUN63IN.js → chunk-WGY3AVGM.js} +3 -3
  179. package/chunks/{chunk-JLGFGPZJ.js → chunk-WNPDGUJO.js} +22 -3
  180. package/chunks/{chunk-O3BUXIPM.js → chunk-WXEA74YB.js} +3 -3
  181. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  182. package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
  183. package/chunks/{chunk-R7G7GKOX.js → chunk-XHF7WQ6B.js} +3 -3
  184. package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
  185. package/chunks/{chunk-3D6PDLNJ.js → chunk-XSG6G3G6.js} +49 -32
  186. package/chunks/{chunk-5JCZ3UKB.js → chunk-Y5S7LBOZ.js} +44 -7
  187. package/chunks/{chunk-OLS3MAXQ.js → chunk-YLSQLSH7.js} +15 -9
  188. package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
  189. package/chunks/{chunk-KPF2K55D.js → chunk-ZEYFMJQA.js} +39 -8
  190. package/chunks/{chunk-OT4YKUUV.js → chunk-ZU4UDIWX.js} +2 -2
  191. package/chunks/chunk-ZWJDJ6RU.js +2597 -0
  192. package/chunks/{chunk-R3T33BG5.js → chunk-ZYMLPEZQ.js} +3 -3
  193. package/chunks/{chunk-DID6IRGC.js → chunk-ZZMSC3RG.js} +56 -39
  194. package/chunks/{chunk-L436XFLJ.js → chunk-ZZUKP7HV.js} +1 -1
  195. package/chunks/config-utils-R6M3TA34.js +113 -0
  196. package/chunks/contextCommand-ZCAP23J6.js +106 -0
  197. package/chunks/{core-runtime-CEJRHCRF.js → core-runtime-AXB6SK5D.js} +59 -61
  198. package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
  199. package/chunks/{create-sub-session-DFZVIG56.js → create-sub-session-4QNE64MR.js} +164 -85
  200. package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
  201. package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
  202. package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
  203. package/chunks/{daemon-NAYK4XXU.js → daemon-3GNHB3M2.js} +523 -8
  204. package/chunks/{daemon-git-worktree-guard-L6ZUFKF7.js → daemon-git-worktree-guard-IVAJJWYK.js} +56 -58
  205. package/chunks/daemon-status-provider-K3SJ5C2U.js +117 -0
  206. package/chunks/daemon-trust-policy-DOR3YG62.js +112 -0
  207. package/chunks/{daemon-trust-policy-monitor-2G3EKQEU.js → daemon-trust-policy-monitor-KGGROSIV.js} +64 -66
  208. package/chunks/deferred-core-runtime-WOYLUQQ7.js +114 -0
  209. package/chunks/{display-image-6KHQNEAE.js → display-image-BE7I6ZB6.js} +5 -5
  210. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  211. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  212. package/chunks/{dist-6H6RZ5H6.js → dist-6BPYWHVD.js} +89 -65
  213. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  214. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  215. package/chunks/{dist-FVJZSIO4.js → dist-LVZCXVPF.js} +72 -20
  216. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  217. package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
  218. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  219. package/chunks/earlyInputCapture-OHBEVO4K.js +107 -0
  220. package/chunks/{edit-ZERGX3RV.js → edit-LEQLAGPZ.js} +45 -47
  221. package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
  222. package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-35QCAAFP.js} +7 -7
  223. package/chunks/{enterPlanMode-W2RP3P5B.js → enterPlanMode-ONQN3WHE.js} +47 -49
  224. package/chunks/{environment-ZBJ23YVR.js → environment-UANTR7A4.js} +60 -62
  225. package/chunks/errors-WAK6KFBC.js +113 -0
  226. package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-XQD6D543.js} +7 -7
  227. package/chunks/exitPlanMode-UEYBG6P5.js +83 -0
  228. package/chunks/{fast-path-4MWBCEUF.js → fast-path-WUL7UZ6H.js} +7 -7
  229. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
  230. package/chunks/{glob-DKTNG32L.js → glob-Y54QUWDY.js} +44 -46
  231. package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-PTD3MBA7.js} +10 -8
  232. package/chunks/{grep-3NLSS32D.js → grep-5GPICQBU.js} +6 -6
  233. package/chunks/handleAutoUpdate-FP3NWNSG.js +109 -0
  234. package/chunks/i18n-INIU5X7A.js +124 -0
  235. package/chunks/{image-gen-63NN2H5N.js → image-gen-J6FDGUZP.js} +8 -10
  236. package/chunks/initializer-TYODV6GE.js +113 -0
  237. package/chunks/installationInfo-AAPKYDSZ.js +107 -0
  238. package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
  239. package/chunks/list-TUODDN6J.js +116 -0
  240. package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
  241. package/chunks/{gemini-X5GQHQYF.js → llm-NSAVK5V3.js} +117 -114
  242. package/chunks/{geminiContentGenerator-UDSWXZXL.js → llm-content-generator-AY2QKXHE.js} +29 -29
  243. package/chunks/loadedSettingsAdapter-KJCLZ3C4.js +110 -0
  244. package/chunks/{loggingContentGenerator-73C7TKDK.js → loggingContentGenerator-DSFQHXIF.js} +328 -37
  245. package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
  246. package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
  247. package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
  248. package/chunks/{managed-npm-update-H2KOLQZU.js → managed-npm-update-TSWENTK5.js} +57 -59
  249. package/chunks/mcp-MWSAPFOL.js +110 -0
  250. package/chunks/{monitor-TGCMNJJH.js → monitor-RW4GWJHB.js} +44 -46
  251. package/chunks/nonInteractiveCli-JXKL343Q.js +185 -0
  252. package/chunks/{notebook-edit-YEUNZYDX.js → notebook-edit-CQNYS5OR.js} +45 -47
  253. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
  254. package/chunks/{openaiContentGenerator-J7LD4VSL.js → openaiContentGenerator-J6QIF7EX.js} +26 -28
  255. package/chunks/pidfile-QOIQZFT2.js +111 -0
  256. package/chunks/process-registry-OAEG6WGC.js +662 -0
  257. package/chunks/{processUtils-ZHFC7CSL.js → processUtils-GPHNANKZ.js} +2 -2
  258. package/chunks/prompt-terminal-ledger-FOMFTYOM.js +105 -0
  259. package/chunks/{qwenContentGenerator-YEWWK3JQ.js → qwenContentGenerator-WWDXPYQI.js} +49 -51
  260. package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-OF5WRBQT.js} +7 -9
  261. package/chunks/{read-file-ZQI3WPVK.js → read-file-FQUQHC6N.js} +13 -13
  262. package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
  263. package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-VW23GS4F.js} +4 -4
  264. package/chunks/{report-findings-VFM5DENC.js → report-findings-AO5VYFLR.js} +9 -5
  265. package/chunks/{request-shutdown-6IW46GD7.js → request-shutdown-BCLA3JV2.js} +7 -7
  266. package/chunks/resumeHistoryUtils-NSGF3UCB.js +118 -0
  267. package/chunks/ripGrep-4CAT6SKV.js +39 -0
  268. package/chunks/{run-qwen-serve-WHWU7NZ6.js → run-qwen-serve-5X6IDZER.js} +371 -357
  269. package/chunks/{runtime-E7BSPWQP.js → runtime-HK27GMPF.js} +69 -71
  270. package/chunks/scheduled-tasks-MN2ZZ5P6.js +127 -0
  271. package/chunks/{scheduler-TJPATFOM.js → scheduler-WD4MHMO5.js} +58 -60
  272. package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-TTU2CHBU.js} +2 -2
  273. package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-UUMVYMAL.js} +11 -5
  274. package/chunks/{send-message-OXZK6USO.js → send-message-AJ4OCUBV.js} +25 -9
  275. package/chunks/serve-2XCHPPGG.js +118 -0
  276. package/chunks/{server-AXCN7QBJ.js → server-GO2N5DH7.js} +6080 -4964
  277. package/chunks/{session-HO4US3AG.js → session-IFNHTUBT.js} +112 -112
  278. package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
  279. package/chunks/{settings-B2PFJJN4.js → settings-L6N54CU6.js} +63 -65
  280. package/chunks/{shell-7XMSANI3.js → shell-4Y5LLW6N.js} +44 -46
  281. package/chunks/{skill-NL3VH562.js → skill-YOWTRAKQ.js} +68 -24
  282. package/chunks/skill-settings-ZL4JY5UE.js +118 -0
  283. package/chunks/spawnChannel-ZST6XJVJ.js +112 -0
  284. package/chunks/standalone-update-THVU3OKY.js +118 -0
  285. package/chunks/{startInteractiveUI-G2XKSCQ7.js → startInteractiveUI-XDFSHBZD.js} +3076 -2475
  286. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  287. package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
  288. package/chunks/{task-create-TY7P6UHG.js → task-create-QN4LYRSE.js} +11 -11
  289. package/chunks/{task-list-BELMPA75.js → task-list-JPLGK45U.js} +5 -5
  290. package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
  291. package/chunks/{task-update-O4IGDPCK.js → task-update-IWEOJFV2.js} +11 -11
  292. package/chunks/{team-create-IYBUOORE.js → team-create-OOPXCDBA.js} +44 -46
  293. package/chunks/{team-delete-YWFXX77L.js → team-delete-RZVVSGCY.js} +5 -5
  294. package/chunks/{team-plan-approval-YKU57LBM.js → team-plan-approval-DSX5EWAT.js} +44 -46
  295. package/chunks/terminal-image-renderer-KS25G33E.js +114 -0
  296. package/chunks/theme-manager-YMZNG45F.js +102 -0
  297. package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
  298. package/chunks/{tool-search-4Q3KASIQ.js → tool-search-J5Q6U7DN.js} +22 -22
  299. package/chunks/total-session-admission-PVN64JVV.js +114 -0
  300. package/chunks/trustedFolders-FATSC4YI.js +122 -0
  301. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  302. package/chunks/{update-relaunch-4DC2KKFS.js → update-relaunch-SIKHLHVR.js} +6 -6
  303. package/chunks/updateCheck-D3YG2WCD.js +118 -0
  304. package/chunks/useAutoAcceptIndicator-ILINOSAS.js +120 -0
  305. package/chunks/{validateNonInterActiveAuth-YAE4YPO3.js → validateNonInterActiveAuth-JUDQP6V4.js} +105 -105
  306. package/chunks/{version-QFP7OGWX.js → version-C63GDDWN.js} +1 -1
  307. package/chunks/{web-fetch-6T23IK6Q.js → web-fetch-FOQZMNSC.js} +16 -18
  308. package/chunks/{web-search-WBWTCZK2.js → web-search-PUJTBFUC.js} +9 -11
  309. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
  310. package/chunks/{workflow-FMAA3D4R.js → workflow-Y5IPINVH.js} +128 -94
  311. package/chunks/workspace-providers-status-IJ4VHFMB.js +114 -0
  312. package/chunks/{workspace-registration-store-CMMX7EPX.js → workspace-registration-store-SMJWI2AI.js} +1 -1
  313. package/chunks/workspace-registry-BTGZIMPK.js +123 -0
  314. package/chunks/workspace-service-SIN67ITC.js +126 -0
  315. package/chunks/workspace-skills-status-F3RKCUIX.js +113 -0
  316. package/chunks/{workspace-trust-reconciler-PJDQUTJL.js → workspace-trust-reconciler-PLIDLJZX.js} +72 -72
  317. package/chunks/write-file-PAIGB33C.js +88 -0
  318. package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
  319. package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
  320. package/chunks/{zoom-image-WVYVFRXF.js → zoom-image-LYQD7BQA.js} +13 -13
  321. package/cli.js +16 -16
  322. package/locales/en.js +2 -0
  323. package/locales/zh-TW.js +2 -0
  324. package/locales/zh.js +2 -0
  325. package/package.json +3 -3
  326. package/web-shell/assets/{abnfDiagram-VCTEODGH-d-8xa8uz.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
  327. package/web-shell/assets/{arc-BhB7CrGK.js → arc-D9Uls5b3.js} +1 -1
  328. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BDCd_IcJ.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
  329. package/web-shell/assets/{blockDiagram-NRAW4CY4-C-AHu6mi.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
  330. package/web-shell/assets/{c4Diagram-UCG6FXSJ-CFjQt0vl.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
  331. package/web-shell/assets/channel-CXjVLaBa.js +1 -0
  332. package/web-shell/assets/{chunk-2Q5K7J3B-DRjwqaDq.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
  333. package/web-shell/assets/{chunk-5VM5RSS4-eHM9noJE.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
  334. package/web-shell/assets/{chunk-F27PBJKO-CcSWUYn1.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
  335. package/web-shell/assets/{chunk-G27WJ6UU-DNr-RF5S.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
  336. package/web-shell/assets/{chunk-JWPE2WC7-rVJHoNF8.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
  337. package/web-shell/assets/{chunk-LCL6LL3I-B2aX0Gzy.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
  338. package/web-shell/assets/{chunk-POPQ4Y6H-DVp07n32.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
  339. package/web-shell/assets/{chunk-SVP7TREG-C6QB_KUr.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
  340. package/web-shell/assets/{chunk-XXDRQBXY-CLVxDNCy.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
  341. package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
  342. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
  343. package/web-shell/assets/{cose-bilkent-JH36ORCC-B_aKX3A3.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
  344. package/web-shell/assets/{cynefin-OW5HDTMX-BBw2pPUa.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
  345. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-WWPiBTwk.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
  346. package/web-shell/assets/{dagre-3AP2YEHR-CPtIdka-.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
  347. package/web-shell/assets/{diagram-S7CK7UJ4-Dj5og1Xi.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
  348. package/web-shell/assets/{diagram-UQ7AKVKN-CC_x70YC.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
  349. package/web-shell/assets/{diagram-VSXAHHWV-rXMfsO4n.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
  350. package/web-shell/assets/{diagram-VX7I27RA-DEmLYQbh.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
  351. package/web-shell/assets/{diagram-Z3DM3KII-B0ys6Vxx.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
  352. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Bq6y6lKH.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
  353. package/web-shell/assets/{erDiagram-SSCWMZ5O-l69JeBZ4.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
  354. package/web-shell/assets/{flowDiagram-A5DVABFB-Cm-EzGY4.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
  355. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BRS9ZOp7.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
  356. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DAMRKgLk.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
  357. package/web-shell/assets/{index-Bncx8E8M.js → index-BK_NKxiJ.js} +1 -1
  358. package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
  359. package/web-shell/assets/index-LDlXZRHA.css +36 -0
  360. package/web-shell/assets/{infoDiagram-RXCK75RN-DasffaZp.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
  361. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CmRUt3C-.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
  362. package/web-shell/assets/{journeyDiagram-EYS64GPL-DzhE_c1Z.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
  363. package/web-shell/assets/{kanban-definition-3QL26DDD-BH5b6nn3.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
  364. package/web-shell/assets/{layout-BxoLK-LY.js → layout-B9n81PC9.js} +1 -1
  365. package/web-shell/assets/{linear-CqDPvVI7.js → linear-Bb6nXZQq.js} +1 -1
  366. package/web-shell/assets/{mermaid.core-DBoN4plo.js → mermaid.core-Cgrm3JVT.js} +6 -6
  367. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DJJtXPEM.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
  368. package/web-shell/assets/{pegDiagram-XKGWAZYB-DmgPXP5l.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
  369. package/web-shell/assets/{pieDiagram-E7YTZNPT-1ezjzcI5.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
  370. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-ChKARz3k.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
  371. package/web-shell/assets/{railroadDiagram-O6MQD6OU-k7mNB_QT.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
  372. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-B0XFsii0.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
  373. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-repJ2Ukk.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
  374. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D0gUSKGu.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
  375. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CE463F74.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
  376. package/web-shell/assets/{stateDiagram-HBIQ2CUA-003zYtJa.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
  377. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
  378. package/web-shell/assets/{swimlanes-XN3QIQJK-DBj8MFpu.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
  379. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
  380. package/web-shell/assets/{timeline-definition-24CTP7MA-D2aCh4a9.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
  381. package/web-shell/assets/{vennDiagram-4TSXK5OY-BHMfWBpl.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
  382. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-RdHAj66j.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
  383. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BgJWOvq0.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
  384. package/web-shell/index.html +3 -3
  385. package/chunks/MaxSizedBox-BFVLZP2E.js +0 -112
  386. package/chunks/agent-headless-UCBCS4V4.js +0 -87
  387. package/chunks/bridge-FRNYLYY7.js +0 -119
  388. package/chunks/channel-settings-store-IV4KDL7N.js +0 -117
  389. package/chunks/chunk-I6VVOZDK.js +0 -202
  390. package/chunks/chunk-JS73NNWF.js +0 -30
  391. package/chunks/chunk-K2OJUPOE.js +0 -78
  392. package/chunks/chunk-P3QQPMQA.js +0 -19
  393. package/chunks/chunk-SDVF6A42.js +0 -945
  394. package/chunks/chunk-VGHZT6JR.js +0 -51
  395. package/chunks/config-utils-PMX4QZ5Y.js +0 -113
  396. package/chunks/contextCommand-NZRLVAFC.js +0 -108
  397. package/chunks/daemon-status-provider-FTTYZEKN.js +0 -118
  398. package/chunks/daemon-trust-policy-WMGFPA3Z.js +0 -114
  399. package/chunks/deferred-core-runtime-BUFEFYNA.js +0 -116
  400. package/chunks/earlyInputCapture-ROPLMXA7.js +0 -109
  401. package/chunks/errors-U5KNAADB.js +0 -115
  402. package/chunks/exitPlanMode-VFJ5R5DD.js +0 -85
  403. package/chunks/handleAutoUpdate-W4BUYFT7.js +0 -111
  404. package/chunks/i18n-KX7FEKJJ.js +0 -126
  405. package/chunks/initializer-SNVVLS7Y.js +0 -115
  406. package/chunks/installationInfo-D4XGQNHJ.js +0 -109
  407. package/chunks/list-WYECMLXZ.js +0 -118
  408. package/chunks/loadedSettingsAdapter-5WZBXBCR.js +0 -112
  409. package/chunks/mcp-CBWAROY3.js +0 -112
  410. package/chunks/nonInteractiveCli-O232UUV7.js +0 -185
  411. package/chunks/pidfile-MSPQ255Y.js +0 -113
  412. package/chunks/process-registry-PMJOA5CO.js +0 -172
  413. package/chunks/prompt-terminal-ledger-YPGMNDXT.js +0 -107
  414. package/chunks/resumeHistoryUtils-35D4KAVT.js +0 -120
  415. package/chunks/ripGrep-46N4FLOS.js +0 -39
  416. package/chunks/serve-WQ54UIYG.js +0 -120
  417. package/chunks/skill-settings-SKMN5YXC.js +0 -120
  418. package/chunks/spawnChannel-NE43EEO3.js +0 -113
  419. package/chunks/standalone-update-XOCWGXAH.js +0 -120
  420. package/chunks/terminal-image-renderer-NREKYTAD.js +0 -116
  421. package/chunks/theme-manager-IJS6OICX.js +0 -104
  422. package/chunks/total-session-admission-L5RPEFZ2.js +0 -114
  423. package/chunks/trustedFolders-OILZCHRD.js +0 -124
  424. package/chunks/updateCheck-AK4COHNK.js +0 -120
  425. package/chunks/useAutoAcceptIndicator-O2N2Q6KG.js +0 -122
  426. package/chunks/workspace-providers-status-OCFEWIPQ.js +0 -116
  427. package/chunks/workspace-registry-WJLZPRTG.js +0 -123
  428. package/chunks/workspace-service-5ZOBMMIB.js +0 -131
  429. package/chunks/workspace-skills-status-B6NJZD4B.js +0 -115
  430. package/chunks/write-file-B2RNX6SU.js +0 -90
  431. package/web-shell/assets/channel-CU-Zyv0r.js +0 -1
  432. package/web-shell/assets/classDiagram-DTDB5LWJ-C0J2_LKs.js +0 -1
  433. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C0J2_LKs.js +0 -1
  434. package/web-shell/assets/index-C-XlQn24.css +0 -5
  435. package/web-shell/assets/index-gdvMN4J1.js +0 -1860
  436. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-2uACDdJN.js +0 -1
  437. 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-DJPASAUV.js";
12
+ import {
13
+ isKittyProtocolEnabled
14
+ } from "./chunk-NYX53SV4.js";
15
+ import {
16
+ contextCommand
17
+ } from "./chunk-6X7EU5TI.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-WGY3AVGM.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-ZYMLPEZQ.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-MPNBVAEU.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-ST5MDGH3.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-VGIFXISB.js";
79
79
  import {
80
80
  isInlineModelOverrideAllowed,
81
81
  parseAcpModelOption
82
- } from "./chunk-HABT2Z7R.js";
82
+ } from "./chunk-OU5APVWO.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-AIAOIFY4.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-V2NDP3I4.js";
108
108
  import {
109
109
  isFolderTrustEnabled,
110
110
  loadTrustedFolders
111
- } from "./chunk-ZGWDHSUM.js";
111
+ } from "./chunk-MF7HCQWZ.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-NV55WWD6.js";
136
139
  import {
137
140
  listSavedWorkflows,
138
141
  listWorkflowSnapshots
139
- } from "./chunk-JSY43GMI.js";
142
+ } from "./chunk-2OUD5T67.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,
@@ -181,7 +184,7 @@ import {
181
184
  resolveSlimmingConfig,
182
185
  runForkedAgent,
183
186
  tryGenerateSessionTitle
184
- } from "./chunk-XIRDDFRS.js";
187
+ } from "./chunk-PZ66FRIC.js";
185
188
  import {
186
189
  external_exports
187
190
  } from "./chunk-CQ35AJ4Z.js";
@@ -189,7 +192,7 @@ import {
189
192
  buildRuntimeSnapshotId,
190
193
  resolveModelId,
191
194
  stripRuntimeSnapshotPrefix
192
- } from "./chunk-AYVIGUUK.js";
195
+ } from "./chunk-JB4JIVTJ.js";
193
196
  import {
194
197
  getAutoSkillCuratorStatus,
195
198
  parse,
@@ -197,31 +200,33 @@ import {
197
200
  restoreArchivedAutoSkill,
198
201
  runAutoSkillCurator,
199
202
  setAutoSkillPinned
200
- } from "./chunk-I6DY753S.js";
203
+ } from "./chunk-KJO2LBUK.js";
201
204
  import {
202
205
  HookEventName,
203
206
  sanitizeUserPromptExpansionAdditionalContext
204
- } from "./chunk-T2CRBIDJ.js";
207
+ } from "./chunk-TTX2JUE6.js";
205
208
  import {
206
209
  canUseRipgrep
207
- } from "./chunk-77TOMRBG.js";
210
+ } from "./chunk-4K7KNVWH.js";
208
211
  import {
209
212
  glob
210
- } from "./chunk-DEYPMJPD.js";
213
+ } from "./chunk-SMPR7SPO.js";
211
214
  import {
212
215
  checkArgumentSafety,
213
216
  checkCommandPermissions,
214
217
  escapeShellArg,
215
218
  getShellConfiguration
216
- } from "./chunk-T6OODF2U.js";
219
+ } from "./chunk-JWALNCLT.js";
217
220
  import {
218
221
  GoalPersistenceUnavailableError,
219
- emptyGoalSnapshot,
222
+ emptyGoalSnapshot
223
+ } from "./chunk-JHYH6PYQ.js";
224
+ import {
220
225
  projectUserTranscriptForDisplay
221
- } from "./chunk-FN5C6C7G.js";
226
+ } from "./chunk-7J6OTNGO.js";
222
227
  import {
223
228
  APPROVAL_MODES
224
- } from "./chunk-XR7OIAQF.js";
229
+ } from "./chunk-V5J4J5TP.js";
225
230
  import {
226
231
  openBrowserSecurely
227
232
  } from "./chunk-NAVJD2PQ.js";
@@ -242,37 +247,37 @@ import {
242
247
  read,
243
248
  recordSkillInvocation,
244
249
  uiTelemetryService
245
- } from "./chunk-OF2DPXUS.js";
250
+ } from "./chunk-QYMAKPY5.js";
246
251
  import {
247
- getCurrentGeminiMdFilename
248
- } from "./chunk-WBT3STGU.js";
252
+ getCurrentMemoryFilename
253
+ } from "./chunk-BKWNKLZB.js";
249
254
  import {
250
255
  getAutoMemoryRoot
251
- } from "./chunk-PVBT5QPD.js";
256
+ } from "./chunk-6PJOTWAN.js";
252
257
  import {
253
258
  runSideQuery
254
- } from "./chunk-IPQA4SR5.js";
259
+ } from "./chunk-BWORX6FA.js";
255
260
  import {
256
261
  AuthType
257
- } from "./chunk-GTUKW3I6.js";
262
+ } from "./chunk-PPKZ7JOE.js";
258
263
  import {
259
264
  normalizeContent,
260
265
  redactUrlCredentials
261
- } from "./chunk-6US7BF3G.js";
266
+ } from "./chunk-B5PHIJGI.js";
262
267
  import {
263
268
  FORK_SUBAGENT_TYPE,
264
269
  stripStartupContext
265
- } from "./chunk-7OBH4AM2.js";
270
+ } from "./chunk-CAJTKR6W.js";
266
271
  import {
267
272
  applySkillAllowedTools,
268
273
  buildSkillLlmContent
269
- } from "./chunk-OT4YKUUV.js";
274
+ } from "./chunk-ZU4UDIWX.js";
270
275
  import {
271
276
  ToolDisplayNamesMigration,
272
277
  ToolNames,
273
278
  canonicalToolName,
274
279
  isShellProgressData
275
- } from "./chunk-KOJ6MHD5.js";
280
+ } from "./chunk-UTLCH2FK.js";
276
281
  import {
277
282
  Storage,
278
283
  createDebugLogger,
@@ -281,12 +286,12 @@ import {
281
286
  isSubpath,
282
287
  resolvePath,
283
288
  updateSymlink
284
- } from "./chunk-2NNTE2ED.js";
289
+ } from "./chunk-UHQFIS7N.js";
285
290
  import {
286
291
  isCpuProfileRecording,
287
292
  startCpuProfile,
288
293
  stopCpuProfile
289
- } from "./chunk-66GIFJ63.js";
294
+ } from "./chunk-MK2GIB46.js";
290
295
  import {
291
296
  init_esbuild_shims
292
297
  } from "./chunk-5O2XNYP6.js";
@@ -1194,7 +1199,7 @@ async function askAdvisor(context, focus, abortSignal) {
1194
1199
  const { config } = context.services;
1195
1200
  if (!config) throw new Error(t("Config not loaded."));
1196
1201
  const cacheSafeParams = buildBtwCacheSafeParams(config);
1197
- if (!cacheSafeParams || config.getGeminiClient().getHistoryForForkWindow().length === 0) {
1202
+ if (!cacheSafeParams || config.getLlmClient().getHistoryForForkWindow().length === 0) {
1198
1203
  throw new Error(t("No conversation context available for /advisor"));
1199
1204
  }
1200
1205
  const advisorModel = context.services.settings.merged.advisorModel?.trim() || void 0;
@@ -1925,7 +1930,7 @@ __name(recordArenaItem, "recordArenaItem");
1925
1930
  function executeArenaCommand(config, ui, input) {
1926
1931
  let chatHistory;
1927
1932
  try {
1928
- const fullHistory = config.getGeminiClient().getChat().getHistoryShallow();
1933
+ const fullHistory = config.getLlmClient().getChat().getHistoryShallow();
1929
1934
  chatHistory = stripStartupContext(fullHistory);
1930
1935
  } catch {
1931
1936
  debugLogger5.debug("Could not retrieve chat history for arena agents");
@@ -2435,7 +2440,7 @@ var approvalModeCommand = {
2435
2440
  };
2436
2441
  }
2437
2442
  }
2438
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-O2N2Q6KG.js") : void 0;
2443
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-ILINOSAS.js") : void 0;
2439
2444
  if (config) {
2440
2445
  try {
2441
2446
  config.setApprovalMode(mode);
@@ -2533,6 +2538,175 @@ var branchCommand = {
2533
2538
  }, "action")
2534
2539
  };
2535
2540
 
2541
+ // packages/cli/src/ui/commands/peers-command.ts
2542
+ init_esbuild_shims();
2543
+ function shortId(msgId) {
2544
+ return msgId.replace(/-/g, "").slice(0, 6);
2545
+ }
2546
+ __name(shortId, "shortId");
2547
+ function displayHandle(entry, held) {
2548
+ const own = canonicalizeMsgId(entry.frame.msgId);
2549
+ let length = Math.min(shortId(entry.frame.msgId).length, own.length);
2550
+ const collides = /* @__PURE__ */ __name((len) => held.some(
2551
+ (other) => other !== entry && canonicalizeMsgId(other.frame.msgId).startsWith(own.slice(0, len))
2552
+ ), "collides");
2553
+ while (length < own.length && collides(length)) {
2554
+ length += 1;
2555
+ }
2556
+ return own.slice(0, length);
2557
+ }
2558
+ __name(displayHandle, "displayHandle");
2559
+ function preview(text, max = 100) {
2560
+ const oneLine = flattenPeerLabel(text).replace(/\s+/g, " ").trim();
2561
+ return oneLine.length > max ? `${oneLine.slice(0, max - 1)}\u2026` : oneLine;
2562
+ }
2563
+ __name(preview, "preview");
2564
+ function formatHeldList(held) {
2565
+ if (held.length === 0) return "No messages from other sessions are waiting.";
2566
+ const lines = held.map((entry) => {
2567
+ const who = flattenPeerLabel(
2568
+ entry.frame.fromName ?? entry.frame.from ?? "unknown session"
2569
+ );
2570
+ const handle = flattenPeerLabel(displayHandle(entry, held));
2571
+ return ` ${handle} ${who}
2572
+ ${preview(entry.frame.message.content)}
2573
+ held because ${describeHoldCause(entry.cause)}`;
2574
+ });
2575
+ return [
2576
+ `${held.length} message${held.length === 1 ? "" : "s"} waiting for your review:`,
2577
+ ...lines,
2578
+ "",
2579
+ "Release with /peers accept <id|all>, or drop with /peers deny <id|all>."
2580
+ ].join("\n");
2581
+ }
2582
+ __name(formatHeldList, "formatHeldList");
2583
+ function resolveHeld(held, token) {
2584
+ const needle = token.toLowerCase();
2585
+ const exact = held.filter(
2586
+ (entry) => canonicalizeMsgId(entry.frame.msgId) === needle
2587
+ );
2588
+ if (exact.length === 1) return { kind: "one", msgId: exact[0].frame.msgId };
2589
+ const matches = held.filter(
2590
+ (entry) => canonicalizeMsgId(entry.frame.msgId).startsWith(needle) || entry.frame.msgId.toLowerCase().startsWith(needle)
2591
+ );
2592
+ if (matches.length === 0) return { kind: "none" };
2593
+ if (matches.length > 1) return { kind: "ambiguous" };
2594
+ return { kind: "one", msgId: matches[0].frame.msgId };
2595
+ }
2596
+ __name(resolveHeld, "resolveHeld");
2597
+ var peersCommand = {
2598
+ name: "peers",
2599
+ kind: "built-in" /* BUILT_IN */,
2600
+ get description() {
2601
+ return t(
2602
+ "Review messages held from other Qwen Code sessions (accept | deny)"
2603
+ );
2604
+ },
2605
+ action: /* @__PURE__ */ __name(async (context, args) => {
2606
+ const peerMessaging = context.services.peerMessaging;
2607
+ if (!peerMessaging) {
2608
+ const enabled = context.services.settings?.merged?.agents?.crossSessionMessaging === true;
2609
+ return {
2610
+ type: "message",
2611
+ messageType: enabled ? "error" : "info",
2612
+ 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.'
2613
+ };
2614
+ }
2615
+ const held = peerMessaging.getHeld();
2616
+ const [verb, ...rest] = args.trim().split(/\s+/).filter(Boolean);
2617
+ if (verb === void 0 || verb === "list") {
2618
+ peerMessaging.recordHeldListing(held);
2619
+ return {
2620
+ type: "message",
2621
+ messageType: "info",
2622
+ content: formatHeldList(held)
2623
+ };
2624
+ }
2625
+ if (verb !== "accept" && verb !== "deny") {
2626
+ return {
2627
+ type: "message",
2628
+ messageType: "error",
2629
+ content: `Unknown subcommand "${verb}". Use /peers, /peers accept <id|all>, or /peers deny <id|all>.`
2630
+ };
2631
+ }
2632
+ const decision = verb === "accept" ? "approve" : "deny";
2633
+ const target = rest[0];
2634
+ if (target === void 0) {
2635
+ return {
2636
+ type: "message",
2637
+ messageType: "error",
2638
+ content: `Which message? Use /peers ${verb} <id|all> \u2014 /peers lists the ids.`
2639
+ };
2640
+ }
2641
+ if (peerMessaging.heldSetChangedSinceListing()) {
2642
+ return {
2643
+ type: "message",
2644
+ messageType: "error",
2645
+ content: "The waiting list changed since you listed it \u2014 run /peers again to review what is waiting now."
2646
+ };
2647
+ }
2648
+ if (held.length === 0) {
2649
+ return {
2650
+ type: "message",
2651
+ messageType: "info",
2652
+ content: "No messages from other sessions are waiting."
2653
+ };
2654
+ }
2655
+ if (target.toLowerCase() === "all") {
2656
+ const ids = held.map((entry) => entry.frame.msgId);
2657
+ let count = 0;
2658
+ let failed = 0;
2659
+ for (const msgId of ids) {
2660
+ const outcome2 = peerMessaging.decide(msgId, decision);
2661
+ if (outcome2 === "done") count += 1;
2662
+ else if (outcome2 === "failed") failed += 1;
2663
+ }
2664
+ peerMessaging.recordHeldListing(peerMessaging.getHeld());
2665
+ return {
2666
+ type: "message",
2667
+ messageType: "info",
2668
+ 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.` : "")
2669
+ };
2670
+ }
2671
+ const resolved = resolveHeld(held, target);
2672
+ if (resolved.kind === "none") {
2673
+ return {
2674
+ type: "message",
2675
+ messageType: "error",
2676
+ content: `No held message matches "${target}". Run /peers to see what is waiting.`
2677
+ };
2678
+ }
2679
+ if (resolved.kind === "ambiguous") {
2680
+ return {
2681
+ type: "message",
2682
+ messageType: "error",
2683
+ content: `"${target}" matches more than one held message. Use more characters of the id.`
2684
+ };
2685
+ }
2686
+ const outcome = peerMessaging.decide(resolved.msgId, decision);
2687
+ peerMessaging.recordHeldListing(peerMessaging.getHeld());
2688
+ if (outcome === "gone") {
2689
+ return {
2690
+ type: "message",
2691
+ messageType: "info",
2692
+ content: "That message is no longer waiting \u2014 it may have expired or already been decided."
2693
+ };
2694
+ }
2695
+ if (outcome === "failed") {
2696
+ return {
2697
+ type: "message",
2698
+ messageType: "error",
2699
+ 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."
2700
+ };
2701
+ }
2702
+ return {
2703
+ type: "message",
2704
+ messageType: "info",
2705
+ content: verb === "accept" ? "Released to this session. It will be picked up on the next turn." : "Dropped. The sending session has been told."
2706
+ };
2707
+ }, "action")
2708
+ };
2709
+
2536
2710
  // packages/cli/src/ui/commands/btwCommand.ts
2537
2711
  init_esbuild_shims();
2538
2712
  function formatBtwError(error) {
@@ -2904,12 +3078,12 @@ var directoryCommand = {
2904
3078
  config.getContextRuleExcludes()
2905
3079
  );
2906
3080
  config.setUserMemory(memoryContent);
2907
- config.setGeminiMdFileCount(fileCount);
3081
+ config.setMemoryFileCount(fileCount);
2908
3082
  config.setContextFilePaths(contextFilePaths);
2909
3083
  config.setConditionalRulesRegistry(
2910
3084
  new ConditionalRulesRegistry(conditionalRules, projectRoot)
2911
3085
  );
2912
- context.ui.setGeminiMdFileCount(fileCount);
3086
+ context.ui.setMemoryFileCount(fileCount);
2913
3087
  messages.push(
2914
3088
  t(
2915
3089
  "Successfully added QWEN.md files from the following directories if there are:\n- {{directories}}",
@@ -2926,7 +3100,7 @@ var directoryCommand = {
2926
3100
  }
2927
3101
  }
2928
3102
  if (added.length > 0) {
2929
- const gemini = config.getGeminiClient();
3103
+ const gemini = config.getLlmClient();
2930
3104
  if (gemini) {
2931
3105
  try {
2932
3106
  await gemini.addDirectoryContext();
@@ -3162,7 +3336,7 @@ var cdCommand = {
3162
3336
  }
3163
3337
  }
3164
3338
  try {
3165
- await config.getGeminiClient()?.addWorkingDirectoryChangedContext(realOldDir, realTargetPath);
3339
+ await config.getLlmClient()?.addWorkingDirectoryChangedContext(realOldDir, realTargetPath);
3166
3340
  } catch (error) {
3167
3341
  warnings.push(
3168
3342
  `Model context refresh failed: ${error instanceof Error ? error.message : String(error)}`
@@ -3350,12 +3524,12 @@ var clearCommand = {
3350
3524
  context.session.startNewSession(newSessionId);
3351
3525
  }
3352
3526
  context.ui.clear();
3353
- const geminiClient = config.getGeminiClient();
3354
- if (geminiClient) {
3527
+ const llmClient = config.getLlmClient();
3528
+ if (llmClient) {
3355
3529
  context.ui.setDebugMessage(
3356
3530
  t("Starting a new session, resetting chat, and clearing terminal.")
3357
3531
  );
3358
- await geminiClient.resetChat();
3532
+ await llmClient.resetChat();
3359
3533
  } else {
3360
3534
  context.ui.setDebugMessage(t("Starting a new session and clearing."));
3361
3535
  }
@@ -3761,8 +3935,8 @@ var compressCommand = {
3761
3935
  }
3762
3936
  };
3763
3937
  const config = context.services.config;
3764
- const geminiClient = config?.getGeminiClient();
3765
- if (!config || !geminiClient) {
3938
+ const llmClient = config?.getLlmClient();
3939
+ if (!config || !llmClient) {
3766
3940
  return {
3767
3941
  type: "message",
3768
3942
  messageType: "error",
@@ -3777,7 +3951,7 @@ var compressCommand = {
3777
3951
  }) : void 0;
3778
3952
  const doCompress = /* @__PURE__ */ __name(async () => {
3779
3953
  const promptId = `compress-${Date.now()}`;
3780
- return await geminiClient.tryCompressChat(
3954
+ return await llmClient.tryCompressChat(
3781
3955
  promptId,
3782
3956
  true,
3783
3957
  abortSignal,
@@ -3955,15 +4129,15 @@ var compressFastCommand = {
3955
4129
  }
3956
4130
  };
3957
4131
  const config = context.services.config;
3958
- const geminiClient = config?.getGeminiClient();
3959
- if (!config || !geminiClient) {
4132
+ const llmClient = config?.getLlmClient();
4133
+ if (!config || !llmClient) {
3960
4134
  return {
3961
4135
  type: "message",
3962
4136
  messageType: "error",
3963
4137
  content: t("Config not loaded.")
3964
4138
  };
3965
4139
  }
3966
- const doCompress = /* @__PURE__ */ __name(async () => await geminiClient.tryCompressChatFast(), "doCompress");
4140
+ const doCompress = /* @__PURE__ */ __name(async () => await llmClient.tryCompressChatFast(), "doCompress");
3967
4141
  if (executionMode === "acp") {
3968
4142
  const messages = /* @__PURE__ */ __name(async function* () {
3969
4143
  try {
@@ -4582,7 +4756,7 @@ var copyCommand = {
4582
4756
  kind: "built-in" /* BUILT_IN */,
4583
4757
  supportedModes: ["interactive"],
4584
4758
  action: /* @__PURE__ */ __name(async (context, args) => {
4585
- const chat = await context.services.config?.getGeminiClient()?.getChat();
4759
+ const chat = await context.services.config?.getLlmClient()?.getChat();
4586
4760
  const history = chat?.getHistoryShallow();
4587
4761
  const aiMessages = history?.filter((item) => item.role === "model") ?? [];
4588
4762
  if (aiMessages.length === 0) {
@@ -4857,7 +5031,7 @@ async function checkApiClient(context) {
4857
5031
  };
4858
5032
  }
4859
5033
  try {
4860
- const client = config.getGeminiClient();
5034
+ const client = config.getLlmClient();
4861
5035
  if (client.isInitialized()) {
4862
5036
  return {
4863
5037
  category: t("Authentication"),
@@ -5808,8 +5982,8 @@ function formatSmapsRollup(smapsRollup) {
5808
5982
  if (rssLine) {
5809
5983
  return rssLine;
5810
5984
  }
5811
- const preview = smapsRollup.slice(0, 80).trim().replace(/\s+/g, " ");
5812
- return `${t("parse error")}: ${preview}`;
5985
+ const preview2 = smapsRollup.slice(0, 80).trim().replace(/\s+/g, " ");
5986
+ return `${t("parse error")}: ${preview2}`;
5813
5987
  }
5814
5988
  __name(formatSmapsRollup, "formatSmapsRollup");
5815
5989
  function formatCoreDiagnostics(diagnostics) {
@@ -5851,7 +6025,7 @@ __name(formatCoreDiagnostics, "formatCoreDiagnostics");
5851
6025
  function collectToolResultRetention(context) {
5852
6026
  try {
5853
6027
  const config = context.services.config;
5854
- const history = config?.getGeminiClient()?.getHistoryShallow();
6028
+ const history = config?.getLlmClient()?.getHistoryShallow();
5855
6029
  if (!history) {
5856
6030
  return null;
5857
6031
  }
@@ -6229,11 +6403,13 @@ var effortCommand = {
6229
6403
  };
6230
6404
  }
6231
6405
  applyReasoningEffort(config, tier);
6232
- settings.setValue(
6233
- getPersistScopeForModelSelection(settings),
6234
- "model.reasoningEffort",
6235
- tier
6236
- );
6406
+ if (context.executionPolicy?.persistModelSelection !== false) {
6407
+ settings.setValue(
6408
+ getPersistScopeForModelSelection(settings),
6409
+ "model.reasoningEffort",
6410
+ tier
6411
+ );
6412
+ }
6237
6413
  return {
6238
6414
  type: "message",
6239
6415
  messageType: "info",
@@ -6666,7 +6842,7 @@ var forkCommand = {
6666
6842
  }
6667
6843
  let hasHistory = false;
6668
6844
  try {
6669
- hasHistory = (config.getGeminiClient().getHistoryShallow() ?? []).length > 0;
6845
+ hasHistory = (config.getLlmClient().getHistoryShallow() ?? []).length > 0;
6670
6846
  } catch (error) {
6671
6847
  debugLogger9.debug("Failed to read history before /fork:", error);
6672
6848
  hasHistory = false;
@@ -6714,7 +6890,7 @@ var forkCommand = {
6714
6890
  };
6715
6891
  }
6716
6892
  try {
6717
- config.getGeminiClient().addHistory({
6893
+ config.getLlmClient().addHistory({
6718
6894
  role: "user",
6719
6895
  parts: [
6720
6896
  {
@@ -7239,7 +7415,7 @@ var expandNowCommand = {
7239
7415
  content: t("History is already expanded in this session.")
7240
7416
  };
7241
7417
  }
7242
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-35D4KAVT.js");
7418
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-NSGF3UCB.js");
7243
7419
  const updated = expandCollapsedHistory(history);
7244
7420
  loadHistory(updated);
7245
7421
  refreshStatic();
@@ -8622,6 +8798,15 @@ var importConfigCommand = {
8622
8798
  ${usage()}`
8623
8799
  };
8624
8800
  }
8801
+ if (parsed.scope === "project" && context.executionPolicy?.allowWorkspaceSettingsWrite === false) {
8802
+ return {
8803
+ type: "message",
8804
+ messageType: "error",
8805
+ content: t(
8806
+ "Project configuration imports are not available in this session."
8807
+ )
8808
+ };
8809
+ }
8625
8810
  try {
8626
8811
  const importSource = resolveImportSourceForScope(
8627
8812
  parsed.source,
@@ -8678,7 +8863,7 @@ var initCommand = {
8678
8863
  };
8679
8864
  }
8680
8865
  const targetDir = context.services.config.getTargetDir();
8681
- const contextFileName = getCurrentGeminiMdFilename();
8866
+ const contextFileName = getCurrentMemoryFilename();
8682
8867
  const contextFilePath = path8.join(targetDir, contextFileName);
8683
8868
  try {
8684
8869
  if (fs7.existsSync(contextFilePath)) {
@@ -8816,6 +9001,15 @@ function validateUiScopeFlags(context, parsed) {
8816
9001
  )
8817
9002
  };
8818
9003
  }
9004
+ if (parsed.scope === "Workspace" /* Workspace */ && context.executionPolicy?.allowWorkspaceSettingsWrite === false) {
9005
+ return {
9006
+ type: "message",
9007
+ messageType: "error",
9008
+ content: t(
9009
+ "Project language settings are not available in this session."
9010
+ )
9011
+ };
9012
+ }
8819
9013
  if (parsed.scope === "Workspace" /* Workspace */ && context.services.settings && !context.services.settings.isTrusted) {
8820
9014
  return {
8821
9015
  type: "message",
@@ -8884,7 +9078,7 @@ async function setOutputLanguage(context, language) {
8884
9078
  if (config) {
8885
9079
  try {
8886
9080
  await config.refreshHierarchicalMemory();
8887
- await config.getGeminiClient().refreshSystemInstruction();
9081
+ await config.getLlmClient().refreshSystemInstruction();
8888
9082
  } catch (error) {
8889
9083
  debugLogger11.warn(
8890
9084
  "Failed to apply output language to running session:",
@@ -9296,7 +9490,7 @@ function persistSetting(settings, path18, value, scopeOverride) {
9296
9490
  settings.setValue(resolveScope(settings, scopeOverride), path18, value);
9297
9491
  }
9298
9492
  __name(persistSetting, "persistSetting");
9299
- async function switchMainModel(config, settings, currentAuthType, modelArg, scopeOverride) {
9493
+ async function switchMainModel(config, settings, currentAuthType, modelArg, scopeOverride, persistSelection = true) {
9300
9494
  const parsed = parseAcpModelOption(modelArg);
9301
9495
  if (parsed.authType) {
9302
9496
  await config.switchModel(
@@ -9304,19 +9498,23 @@ async function switchMainModel(config, settings, currentAuthType, modelArg, scop
9304
9498
  parsed.modelId,
9305
9499
  parsed.authType !== currentAuthType && parsed.authType === "qwen-oauth" /* QWEN_OAUTH */ ? { requireCachedCredentials: true } : void 0
9306
9500
  );
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);
9501
+ if (persistSelection) {
9502
+ persistSetting(
9503
+ settings,
9504
+ "security.auth.selectedType",
9505
+ parsed.authType,
9506
+ scopeOverride
9507
+ );
9508
+ persistSetting(settings, "model.name", parsed.modelId, scopeOverride);
9509
+ persistSetting(settings, "model.baseUrl", "", scopeOverride);
9510
+ }
9315
9511
  return parsed.modelId;
9316
9512
  }
9317
9513
  await config.switchModel(currentAuthType, modelArg, void 0);
9318
- persistSetting(settings, "model.name", modelArg, scopeOverride);
9319
- persistSetting(settings, "model.baseUrl", "", scopeOverride);
9514
+ if (persistSelection) {
9515
+ persistSetting(settings, "model.name", modelArg, scopeOverride);
9516
+ persistSetting(settings, "model.baseUrl", "", scopeOverride);
9517
+ }
9320
9518
  return modelArg;
9321
9519
  }
9322
9520
  __name(switchMainModel, "switchMainModel");
@@ -9540,6 +9738,14 @@ var modelCommand = {
9540
9738
  )
9541
9739
  };
9542
9740
  }
9741
+ const auxiliarySelection = /(?:^|\s)--(?:fast|voice|vision|compaction|image)(?:\s|$)/.test(rawArgs);
9742
+ if (hasProject && context.executionPolicy?.allowWorkspaceSettingsWrite === false || context.executionPolicy?.persistModelSelection === false && (hasProject || hasGlobal || auxiliarySelection)) {
9743
+ return {
9744
+ type: "message",
9745
+ messageType: "error",
9746
+ content: t("This model selection is not available in this session.")
9747
+ };
9748
+ }
9543
9749
  if (scopeOverride === "Workspace" /* Workspace */ && settings && !settings.isTrusted) {
9544
9750
  return {
9545
9751
  type: "message",
@@ -10036,7 +10242,8 @@ ${formatNonVisionModelWarning(modelName2)}`;
10036
10242
  settings,
10037
10243
  authType,
10038
10244
  modelName,
10039
- scopeOverride
10245
+ scopeOverride,
10246
+ context.executionPolicy?.persistModelSelection !== false
10040
10247
  );
10041
10248
  if (context.executionMode === "acp") {
10042
10249
  await recordDaemonSessionModelFromConfig(config);
@@ -10790,7 +10997,7 @@ ${fileList}`
10790
10997
  loadHistory(toolCallData.history);
10791
10998
  }
10792
10999
  if (toolCallData.clientHistory) {
10793
- await config?.getGeminiClient()?.setHistory(toolCallData.clientHistory);
11000
+ await config?.getLlmClient()?.setHistory(toolCallData.clientHistory);
10794
11001
  }
10795
11002
  return {
10796
11003
  type: "tool",
@@ -11823,8 +12030,8 @@ var summaryCommand = {
11823
12030
  content: t("Config not loaded.")
11824
12031
  };
11825
12032
  }
11826
- const geminiClient = config.getGeminiClient();
11827
- if (!geminiClient) {
12033
+ const llmClient = config.getLlmClient();
12034
+ if (!llmClient) {
11828
12035
  return {
11829
12036
  type: "message",
11830
12037
  messageType: "error",
@@ -11850,7 +12057,7 @@ var summaryCommand = {
11850
12057
  };
11851
12058
  }
11852
12059
  const getChatHistory = /* @__PURE__ */ __name(() => {
11853
- const chat = geminiClient.getChat();
12060
+ const chat = llmClient.getChat();
11854
12061
  return chat.getHistoryShallow();
11855
12062
  }, "getChatHistory");
11856
12063
  const validateChatHistory = /* @__PURE__ */ __name((history2) => {
@@ -11863,7 +12070,7 @@ var summaryCommand = {
11863
12070
  role: message2.role,
11864
12071
  parts: message2.parts
11865
12072
  }));
11866
- const rawSystemInstruction = geminiClient.getChat().getGenerationConfig().systemInstruction;
12073
+ const rawSystemInstruction = llmClient.getChat().getGenerationConfig().systemInstruction;
11867
12074
  const chatSystemInstruction = typeof rawSystemInstruction === "string" ? rawSystemInstruction : void 0;
11868
12075
  const result = await runSideQuery(config, {
11869
12076
  purpose: "project-summary",
@@ -12480,13 +12687,17 @@ var toolsCommand = {
12480
12687
  return;
12481
12688
  }
12482
12689
  const tools = toolRegistry.getAllTools();
12483
- const geminiTools = tools.filter((tool) => !("serverName" in tool));
12690
+ const llmTools = tools.filter((tool) => !("serverName" in tool));
12484
12691
  const toolsListItem = {
12485
12692
  type: "tools_list" /* TOOLS_LIST */,
12486
- tools: geminiTools.map((tool) => ({
12693
+ tools: llmTools.map((tool) => ({
12487
12694
  name: tool.name,
12488
12695
  displayName: tool.displayName,
12489
- description: tool.description
12696
+ description: tool.description,
12697
+ // Surface the deferred/eager split so a `tools.eager` allowlist is
12698
+ // visible rather than silently reshaping the model's toolset — the
12699
+ // user-facing half of #10075.
12700
+ deferred: toolRegistry.isDeferredAndHidden(tool.name)
12490
12701
  })),
12491
12702
  showDescriptions: useShowDescriptions
12492
12703
  };
@@ -14518,10 +14729,10 @@ var updateCommand = {
14518
14729
  { performStandaloneUpdate },
14519
14730
  installationInfo
14520
14731
  ] = await Promise.all([
14521
- import("./updateCheck-AK4COHNK.js"),
14522
- import("./processUtils-ZHFC7CSL.js"),
14523
- import("./standalone-update-XOCWGXAH.js"),
14524
- import("./installationInfo-D4XGQNHJ.js")
14732
+ import("./updateCheck-D3YG2WCD.js"),
14733
+ import("./processUtils-GPHNANKZ.js"),
14734
+ import("./standalone-update-THVU3OKY.js"),
14735
+ import("./installationInfo-AAPKYDSZ.js")
14525
14736
  ]);
14526
14737
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
14527
14738
  const settings = context.services.settings;
@@ -14682,6 +14893,7 @@ var BuiltinCommandLoader = class {
14682
14893
  approvalModeCommand,
14683
14894
  authCommand,
14684
14895
  branchCommand,
14896
+ peersCommand,
14685
14897
  btwCommand,
14686
14898
  forkCommand,
14687
14899
  bugCommand,
@@ -15926,7 +16138,7 @@ var SkillCommandLoader = class {
15926
16138
  return visibleSkills.map((skill) => {
15927
16139
  const isExtension = skill.level === "extension";
15928
16140
  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");
16141
+ const sourceLabel = isExtension ? `${t("Extension:")} ${skill.extensionDisplayName ?? skill.extensionName ?? "unknown"}` : skill.level === "project" ? t("Project") : t("User");
15930
16142
  return {
15931
16143
  name: skill.name,
15932
16144
  description: skill.description,
@@ -16008,8 +16220,8 @@ function createNonInteractiveUI() {
16008
16220
  btwAbortControllerRef: { current: null },
16009
16221
  isIdleRef: { current: true },
16010
16222
  toggleVimEnabled: /* @__PURE__ */ __name(async () => false, "toggleVimEnabled"),
16011
- setGeminiMdFileCount: /* @__PURE__ */ __name((_count) => {
16012
- }, "setGeminiMdFileCount"),
16223
+ setMemoryFileCount: /* @__PURE__ */ __name((_count) => {
16224
+ }, "setMemoryFileCount"),
16013
16225
  reloadCommands: /* @__PURE__ */ __name(() => {
16014
16226
  }, "reloadCommands"),
16015
16227
  setSessionName: /* @__PURE__ */ __name(() => {
@@ -16057,6 +16269,12 @@ function getSkillCommandName(command) {
16057
16269
  return command.skillDetail?.name ?? command.name;
16058
16270
  }
16059
16271
  __name(getSkillCommandName, "getSkillCommandName");
16272
+ function isCommandAllowedByPolicy(command, policy) {
16273
+ if (!policy || command.kind !== "built-in" /* BUILT_IN */) return true;
16274
+ if (command.name === "clear" && !policy.allowSessionReset) return false;
16275
+ return !policy.blockedBuiltinCommandNames.includes(command.name);
16276
+ }
16277
+ __name(isCommandAllowedByPolicy, "isCommandAllowedByPolicy");
16060
16278
  function handleCommandResult(result, outputHistoryItems) {
16061
16279
  switch (result.type) {
16062
16280
  case "submit_prompt":
@@ -16176,12 +16394,12 @@ async function fireUserPromptExpansionHook(config, commandName, commandArgs, con
16176
16394
  };
16177
16395
  }
16178
16396
  __name(fireUserPromptExpansionHook, "fireUserPromptExpansionHook");
16179
- async function registerModelInvocableCommands(commandService, config, executionMode, settings) {
16397
+ async function registerModelInvocableCommands(commandService, config, executionMode, settings, executionPolicy) {
16180
16398
  if (!settings) {
16181
16399
  return;
16182
16400
  }
16183
16401
  config.setModelInvocableCommandsProvider(
16184
- () => commandService.getModelInvocableCommands().map((cmd) => ({
16402
+ () => commandService.getModelInvocableCommands().filter((cmd) => isCommandAllowedByPolicy(cmd, executionPolicy)).map((cmd) => ({
16185
16403
  name: cmd.name,
16186
16404
  description: cmd.modelDescription ?? cmd.description
16187
16405
  }))
@@ -16189,7 +16407,9 @@ async function registerModelInvocableCommands(commandService, config, executionM
16189
16407
  config.setModelInvocableCommandsExecutor(
16190
16408
  async (name, args = "") => {
16191
16409
  const commands = commandService.getModelInvocableCommands();
16192
- const cmd = commands.find((c) => c.name === name);
16410
+ const cmd = commands.find(
16411
+ (candidate) => candidate.name === name && isCommandAllowedByPolicy(candidate, executionPolicy)
16412
+ );
16193
16413
  if (!cmd?.action) return null;
16194
16414
  const minimalContext = {
16195
16415
  executionMode,
@@ -16198,7 +16418,8 @@ async function registerModelInvocableCommands(commandService, config, executionM
16198
16418
  name,
16199
16419
  args
16200
16420
  },
16201
- services: { config, settings, logger: null }
16421
+ services: { config, settings, logger: null },
16422
+ ...executionPolicy ? { executionPolicy } : {}
16202
16423
  };
16203
16424
  const result = await cmd.action(minimalContext, args);
16204
16425
  if (!result || result.type !== "submit_prompt") return null;
@@ -16227,7 +16448,7 @@ async function registerModelInvocableCommands(commandService, config, executionM
16227
16448
  await skillManager?.notifyConfigChanged();
16228
16449
  }
16229
16450
  __name(registerModelInvocableCommands, "registerModelInvocableCommands");
16230
- var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController, config, settings, sessionHooks) => {
16451
+ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController, config, settings, sessionHooks, executionPolicy) => {
16231
16452
  const trimmed = rawQuery.trim();
16232
16453
  if (!trimmed.startsWith("/")) {
16233
16454
  return { type: "no_command" };
@@ -16263,10 +16484,13 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16263
16484
  commandService,
16264
16485
  config,
16265
16486
  executionMode,
16266
- settings
16487
+ settings,
16488
+ executionPolicy
16267
16489
  );
16268
16490
  const allCommands = allCommandService.getCommands();
16269
- const filteredCommands = commandService.getCommandsForMode(executionMode).filter((cmd) => !isDisabled(cmd));
16491
+ const filteredCommands = commandService.getCommandsForMode(executionMode).filter(
16492
+ (cmd) => !isDisabled(cmd) && isCommandAllowedByPolicy(cmd, executionPolicy)
16493
+ );
16270
16494
  const { commandToExecute, args } = parseSlashCommand(
16271
16495
  rawQuery,
16272
16496
  filteredCommands
@@ -16282,6 +16506,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16282
16506
  if (!skill.action) continue;
16283
16507
  const skillContext = {
16284
16508
  executionMode,
16509
+ ...executionPolicy ? { executionPolicy } : {},
16285
16510
  invocation: {
16286
16511
  raw: `/${skill.name}`,
16287
16512
  name: skill.name,
@@ -16355,6 +16580,15 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16355
16580
  originalType: "filtered_command"
16356
16581
  };
16357
16582
  }
16583
+ if (!isCommandAllowedByPolicy(knownCommand, executionPolicy)) {
16584
+ return {
16585
+ type: "unsupported",
16586
+ reason: t('The command "/{{command}}" is not available here.', {
16587
+ command: typedToken
16588
+ }),
16589
+ originalType: "unsupported_action"
16590
+ };
16591
+ }
16358
16592
  return {
16359
16593
  type: "unsupported",
16360
16594
  reason: t('The command "/{{command}}" is not supported in this mode.', {
@@ -16388,6 +16622,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16388
16622
  };
16389
16623
  const context = {
16390
16624
  executionMode,
16625
+ ...executionPolicy ? { executionPolicy } : {},
16391
16626
  abortSignal: commandToExecute.name === "advisor" ? abortController.signal : void 0,
16392
16627
  services: {
16393
16628
  config,
@@ -16466,7 +16701,7 @@ var handleSlashCommand = /* @__PURE__ */ __name(async (rawQuery, abortController
16466
16701
  resolvedCommand
16467
16702
  };
16468
16703
  }, "handleSlashCommand");
16469
- var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mode = "acp", settings) => {
16704
+ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mode = "acp", settings, executionPolicy) => {
16470
16705
  try {
16471
16706
  const loaders = [
16472
16707
  new McpPromptLoader(config),
@@ -16486,9 +16721,12 @@ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mo
16486
16721
  commandService,
16487
16722
  config,
16488
16723
  mode,
16489
- settings
16724
+ settings,
16725
+ executionPolicy
16726
+ );
16727
+ return commandService.getCommandsForMode(mode).filter(
16728
+ (command) => isCommandAllowedByPolicy(command, executionPolicy)
16490
16729
  );
16491
- return commandService.getCommandsForMode(mode);
16492
16730
  } catch (error) {
16493
16731
  debugLogger20.error("Error loading available commands:", error);
16494
16732
  return [];