@qwen-code/qwen-code 0.22.0-nightly.20260825.22bb5e8b9f → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/bundled/coordinate/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +6 -6
  4. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  5. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
  7. package/bundled/qc-helper/docs/features/code-review.md +1 -1
  8. package/bundled/qc-helper/docs/qwen-serve.md +2 -0
  9. package/bundled/review/SKILL.md +47 -12
  10. package/bundled/review/references/persistence.md +6 -6
  11. package/bundled/review/references/posting.md +2 -2
  12. package/chunks/MaxSizedBox-UUTUE42J.js +112 -0
  13. package/chunks/{StandaloneSessionPicker-NEWUAPCT.js → StandaloneSessionPicker-XF2TVJFK.js} +78 -77
  14. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  15. package/chunks/{acpAgent-A5CIQGW6.js → acpAgent-GY53MJIW.js} +254 -158
  16. package/chunks/{agent-TQ6CYOIL.js → agent-7U6CC5KF.js} +41 -41
  17. package/chunks/agent-headless-32O4L2CT.js +87 -0
  18. package/chunks/{anthropicContentGenerator-FSBGS426.js → anthropicContentGenerator-U76GTVB6.js} +7 -7
  19. package/chunks/{artifact-tool-UQTNZDUF.js → artifact-tool-XDJCZZCF.js} +2 -2
  20. package/chunks/{askUserQuestion-BSZALR7M.js → askUserQuestion-ZXXERLEV.js} +2 -2
  21. package/chunks/{bridge-MBOVCHXN.js → bridge-DFX2FFH4.js} +57 -56
  22. package/chunks/{ca-DZBZOMLU.js → ca-7HPYOYSZ.js} +1 -0
  23. package/chunks/{channel-management-service-XGGL6PLF.js → channel-management-service-HXXS3HOZ.js} +4 -4
  24. package/chunks/channel-settings-store-ELLH2M4M.js +117 -0
  25. package/chunks/{channel-worker-group-GIXIF4VT.js → channel-worker-group-EVDC2P4K.js} +5 -5
  26. package/chunks/{channel-worker-manager-ZBSYXJEB.js → channel-worker-manager-IJJZHGEI.js} +5 -5
  27. package/chunks/{channel-worker-supervisor-NI6JEY4Q.js → channel-worker-supervisor-YSKB5GVB.js} +9 -5
  28. package/chunks/{chunk-CPZQJP6J.js → chunk-27ONXAFY.js} +1 -1
  29. package/chunks/{chunk-FXNLH7E6.js → chunk-2CRNTW2B.js} +18 -2
  30. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  31. package/chunks/{chunk-YX4II73B.js → chunk-2FN2HNTI.js} +2 -2
  32. package/chunks/{chunk-7KGJGYGA.js → chunk-2MHGD7EE.js} +1 -1
  33. package/chunks/{chunk-H5K5MRU7.js → chunk-2NCVUT3C.js} +4 -4
  34. package/chunks/{chunk-VLEGGCEA.js → chunk-2NNTE2ED.js} +171 -1
  35. package/chunks/{chunk-LNKZTLTH.js → chunk-2SERYG4T.js} +1 -1
  36. package/chunks/{chunk-UEHH33VE.js → chunk-2YDYDDE2.js} +6 -6
  37. package/chunks/{chunk-U7GJPTEY.js → chunk-2YEZNBSD.js} +66 -60
  38. package/chunks/{chunk-L6PFEZUM.js → chunk-2ZV3CZKI.js} +82 -12
  39. package/chunks/{chunk-36XTQW3N.js → chunk-3B5DCAQU.js} +28 -11
  40. package/chunks/{chunk-DE24WTEJ.js → chunk-3BV7TZNQ.js} +3 -3
  41. package/chunks/{chunk-IKPQM6I5.js → chunk-3FSBMAYD.js} +1 -1
  42. package/chunks/{chunk-J54EA46E.js → chunk-3UZCLCXR.js} +3 -3
  43. package/chunks/{chunk-ZROP2DTX.js → chunk-43C2II2G.js} +5 -5
  44. package/chunks/{chunk-2ZH5XAOO.js → chunk-47SIHHPL.js} +8 -8
  45. package/chunks/{chunk-EEBIINBT.js → chunk-4DCP3362.js} +6 -14
  46. package/chunks/{chunk-DF6DJZIX.js → chunk-4TPAG3O7.js} +1 -1
  47. package/chunks/{chunk-6L5EXDDN.js → chunk-5CI4AXDD.js} +4 -4
  48. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  49. package/chunks/{chunk-YPJVAQ7V.js → chunk-5MK32KJV.js} +3 -3
  50. package/chunks/{chunk-XXA72PGJ.js → chunk-5T4LWWNX.js} +2 -2
  51. package/chunks/{chunk-NA6AZRDQ.js → chunk-5Y2JCJAH.js} +2 -2
  52. package/chunks/{chunk-3ROKI6MD.js → chunk-5ZYZPDDF.js} +978 -886
  53. package/chunks/{chunk-U4SJGOBF.js → chunk-62PXFOK4.js} +4 -4
  54. package/chunks/{chunk-SKXXO64C.js → chunk-6E4WHQJV.js} +1 -1
  55. package/chunks/{chunk-6Y7XMJFF.js → chunk-6HTMIKXZ.js} +6 -6
  56. package/chunks/{chunk-MGEXTDBI.js → chunk-6KS24S3X.js} +2 -2
  57. package/chunks/{chunk-ZJWFRMCY.js → chunk-6US7BF3G.js} +2 -2
  58. package/chunks/{chunk-RSOG6JND.js → chunk-6YAR6ZU3.js} +2 -2
  59. package/chunks/{chunk-Z3GFRVAY.js → chunk-73WFGVIZ.js} +3 -3
  60. package/chunks/{chunk-IX3CWNG7.js → chunk-76WGY6LW.js} +3 -3
  61. package/chunks/{chunk-CGWPQ6IM.js → chunk-77TOMRBG.js} +3 -3
  62. package/chunks/{chunk-JVTU5JYO.js → chunk-7AS7QX72.js} +1 -1
  63. package/chunks/{chunk-RLIS2VLZ.js → chunk-7DPKPBOQ.js} +2 -2
  64. package/chunks/{chunk-XQNWTA4Y.js → chunk-7JPW6IYH.js} +1 -1
  65. package/chunks/{chunk-UEY5WCRB.js → chunk-7QGEJI7M.js} +1 -1
  66. package/chunks/{chunk-GWUZOBCQ.js → chunk-A7X32SCT.js} +5 -5
  67. package/chunks/{chunk-R7Q5V3A5.js → chunk-AYVIGUUK.js} +1 -1
  68. package/chunks/{chunk-AIT6BMBI.js → chunk-BDHLBR46.js} +17 -3
  69. package/chunks/{chunk-3G6MRLTM.js → chunk-BKDAF7ES.js} +2 -2
  70. package/chunks/{chunk-5AHCPETA.js → chunk-BQBUZDDH.js} +3 -3
  71. package/chunks/{chunk-3KV5KXKU.js → chunk-BVE5EMIG.js} +2 -2
  72. package/chunks/{chunk-NDVTSFWZ.js → chunk-BX2BZPFJ.js} +3 -3
  73. package/chunks/{chunk-7UVAWPYG.js → chunk-C4WBKZJT.js} +4 -4
  74. package/chunks/{chunk-HYBEI2LH.js → chunk-CITGRGCM.js} +2 -1
  75. package/chunks/{chunk-TEQKBONY.js → chunk-CPPYZHBN.js} +1 -1
  76. package/chunks/chunk-DCSAVGDJ.js +20 -0
  77. package/chunks/{chunk-RSWDOHXS.js → chunk-DEYPMJPD.js} +1 -1
  78. package/chunks/{chunk-OWE7TE3F.js → chunk-DP7LABIB.js} +1 -1
  79. package/chunks/{chunk-LQF4PWEU.js → chunk-E4I5MVBR.js} +1 -1
  80. package/chunks/{chunk-NFDTDV37.js → chunk-E55H6BZ7.js} +4 -0
  81. package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
  82. package/chunks/{chunk-QWTNAHCM.js → chunk-EAV3TENS.js} +3 -3
  83. package/chunks/{chunk-27HAGBZG.js → chunk-EB4VDXNI.js} +1 -1
  84. package/chunks/{chunk-RDPKOVXL.js → chunk-EC5BONC3.js} +1 -1
  85. package/chunks/{chunk-JHZIPJWY.js → chunk-EEQYTWGU.js} +5 -5
  86. package/chunks/{chunk-MFSV57XN.js → chunk-EKP3M4RF.js} +1 -1
  87. package/chunks/{chunk-R544UY5E.js → chunk-ELY4QVIB.js} +1 -1
  88. package/chunks/{chunk-PFCVB5ZI.js → chunk-EMGAVCBZ.js} +2 -2
  89. package/chunks/{chunk-JGDTCEBH.js → chunk-FJWICLG7.js} +1 -1
  90. package/chunks/{chunk-OXMS5HCS.js → chunk-FK4H3V6S.js} +5 -5
  91. package/chunks/{chunk-WANR3VVK.js → chunk-FN5C6C7G.js} +125 -60
  92. package/chunks/{chunk-5PVLDRGJ.js → chunk-FPH6TXD3.js} +1 -1
  93. package/chunks/{chunk-OY3ZSNQC.js → chunk-FVDQ5E67.js} +3 -3
  94. package/chunks/{chunk-J752LLEJ.js → chunk-GNMJNDZE.js} +1 -1
  95. package/chunks/{chunk-MSCVPOZR.js → chunk-GNRVKN76.js} +4 -4
  96. package/chunks/{chunk-FNZ42WN7.js → chunk-GTUKW3I6.js} +1 -1
  97. package/chunks/{chunk-NSPS67BG.js → chunk-GZJUCMH4.js} +1 -1
  98. package/chunks/{chunk-SNWAXNJ4.js → chunk-HJOWQUE2.js} +14 -11
  99. package/chunks/{chunk-3K5ORUVO.js → chunk-I32QCIK7.js} +1 -1
  100. package/chunks/{chunk-BOQRZ443.js → chunk-I6VVOZDK.js} +2 -2
  101. package/chunks/{chunk-KUPVZ4EO.js → chunk-I6YW3T3W.js} +207 -26
  102. package/chunks/{chunk-O6CS7VRT.js → chunk-ICWGPK23.js} +7 -7
  103. package/chunks/{chunk-EFT2T2LA.js → chunk-IJVDHPKD.js} +2 -2
  104. package/chunks/{chunk-SEMN7BNM.js → chunk-IKN3IUJP.js} +9 -8
  105. package/chunks/{chunk-O5ONGZGZ.js → chunk-ILPXSKGQ.js} +2 -2
  106. package/chunks/{chunk-QQQSUCC4.js → chunk-IPQA4SR5.js} +1 -1
  107. package/chunks/{chunk-SXBRB7ZP.js → chunk-IRIX323G.js} +2 -2
  108. package/chunks/{chunk-EJ5XRNOK.js → chunk-J7MLXFC5.js} +2 -2
  109. package/chunks/{chunk-KDGY3ST4.js → chunk-JECO75XD.js} +2 -2
  110. package/chunks/chunk-JLGFGPZJ.js +346 -0
  111. package/chunks/{chunk-COT2IXPM.js → chunk-JUIJ3FXC.js} +5 -5
  112. package/chunks/{chunk-IFWUT4GY.js → chunk-JVPFTDBK.js} +1 -1
  113. package/chunks/{chunk-455ZIBFX.js → chunk-K63NK3KL.js} +13 -13
  114. package/chunks/{chunk-MBLNXX3G.js → chunk-KCOXDRQL.js} +5 -5
  115. package/chunks/{chunk-3LUGIYS3.js → chunk-KOJ6MHD5.js} +3 -1
  116. package/chunks/{chunk-W4JA6Z44.js → chunk-KWFP3WV6.js} +9 -7
  117. package/chunks/{chunk-QKSMM4HF.js → chunk-L436XFLJ.js} +1 -1
  118. package/chunks/{chunk-M4TV7AJX.js → chunk-LI2HEMKO.js} +4 -4
  119. package/chunks/{chunk-FLTGTSLG.js → chunk-LJP2BBMK.js} +4 -4
  120. package/chunks/{chunk-HTIG2U5C.js → chunk-LRKMQPMD.js} +1 -1
  121. package/chunks/{chunk-YS4H3OFV.js → chunk-MDZO5V2O.js} +6 -6
  122. package/chunks/{chunk-2HYQZYPT.js → chunk-MW5AHWOZ.js} +7 -7
  123. package/chunks/{chunk-SJDR2S55.js → chunk-MYLXL7F6.js} +11 -11
  124. package/chunks/{chunk-PIZZIIEA.js → chunk-MZS7GEC7.js} +1 -1
  125. package/chunks/{chunk-H3JIT2M6.js → chunk-NER3H7PI.js} +1 -1
  126. package/chunks/{chunk-XYUJPDPB.js → chunk-NVK4HJYQ.js} +1 -1
  127. package/chunks/{chunk-GQQHY6TL.js → chunk-NY3IJYAV.js} +7 -7
  128. package/chunks/{chunk-3E53DKST.js → chunk-O3BUXIPM.js} +3 -3
  129. package/chunks/{chunk-QOUFO7TV.js → chunk-O5YGAEQS.js} +6 -6
  130. package/chunks/{chunk-OINGLDAX.js → chunk-ODXCSIH5.js} +4 -4
  131. package/chunks/{chunk-FMDWTE5I.js → chunk-OI2DR6QB.js} +2 -2
  132. package/chunks/{chunk-ENZMDVCM.js → chunk-OQ6LTSX3.js} +1 -1
  133. package/chunks/{chunk-KUDADN3R.js → chunk-OT26ITEY.js} +3 -3
  134. package/chunks/{chunk-FZUVUBYH.js → chunk-OX44MOAN.js} +3 -3
  135. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  136. package/chunks/{chunk-D2IGZJA7.js → chunk-PAJGKZAA.js} +272 -3
  137. package/chunks/{chunk-MTKBZIXU.js → chunk-PVBT5QPD.js} +1 -1
  138. package/chunks/{chunk-HDH5IDJH.js → chunk-R2ZJH3FV.js} +3 -3
  139. package/chunks/{chunk-SJLW5XGQ.js → chunk-RRKNX553.js} +1 -1
  140. package/chunks/{chunk-JS55F2GJ.js → chunk-SDVF6A42.js} +3 -3
  141. package/chunks/{chunk-DZPWZPGJ.js → chunk-SKNVVYIJ.js} +3 -3
  142. package/chunks/{chunk-SIC4S3RX.js → chunk-SLEWBQWM.js} +2 -2
  143. package/chunks/{chunk-P7DVAZKV.js → chunk-SM7ZVKTF.js} +7 -7
  144. package/chunks/{chunk-3N7EFOOM.js → chunk-SQPOJ4ZI.js} +11 -1
  145. package/chunks/{chunk-YOM3CJOP.js → chunk-SRGENTPF.js} +19 -19
  146. package/chunks/{chunk-ZB7VDPZB.js → chunk-T2CRBIDJ.js} +1 -1
  147. package/chunks/{chunk-F37T2S4O.js → chunk-T2HMXHYA.js} +6 -6
  148. package/chunks/{chunk-5X33EPHJ.js → chunk-T6OODF2U.js} +1 -1
  149. package/chunks/{chunk-7GECZMES.js → chunk-TKO4TLT6.js} +3 -3
  150. package/chunks/{chunk-PQ4RTSTH.js → chunk-TOF4UZHH.js} +3 -3
  151. package/chunks/{chunk-LD76HNCC.js → chunk-UCSV2IZW.js} +3 -3
  152. package/chunks/{chunk-EUZE3GSL.js → chunk-UX3IFLJM.js} +93 -9
  153. package/chunks/{chunk-AHQBSQYT.js → chunk-V3GINY6K.js} +3 -3
  154. package/chunks/{chunk-DD5XZICM.js → chunk-VL4YX3FH.js} +1 -1
  155. package/chunks/{chunk-DLYJ3RN7.js → chunk-VMDURMFY.js} +58 -32
  156. package/chunks/{chunk-E6BJFSLJ.js → chunk-W2WRNJKX.js} +6 -6
  157. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  158. package/chunks/{chunk-QKGJIP2H.js → chunk-WBT3STGU.js} +1 -1
  159. package/chunks/{chunk-X3PRXXUH.js → chunk-WEGXPP5E.js} +1 -1
  160. package/chunks/{chunk-V6R3IEHF.js → chunk-XJS54K4A.js} +2 -2
  161. package/chunks/{chunk-NDJ3436G.js → chunk-XNXWEGKB.js} +3 -3
  162. package/chunks/{chunk-UFWRXRQ5.js → chunk-XYX474JQ.js} +1312 -290
  163. package/chunks/{chunk-UY2JOZK7.js → chunk-ZEADBZLO.js} +3 -3
  164. package/chunks/{chunk-SNJOBGQV.js → chunk-ZJG323IA.js} +4 -3
  165. package/chunks/{chunk-CZIF7I53.js → chunk-ZKAZP2ZG.js} +2 -2
  166. package/chunks/{chunk-DV3KOUUU.js → chunk-ZLTEQYNC.js} +2 -2
  167. package/chunks/{chunk-RLR7K4JJ.js → chunk-ZWKGZB2K.js} +3 -3
  168. package/chunks/{chunk-EJ2GPZDU.js → chunk-ZXDM7DYV.js} +1049 -383
  169. package/chunks/config-utils-7M6PCTLT.js +113 -0
  170. package/chunks/contextCommand-G4QG3TW6.js +108 -0
  171. package/chunks/{core-runtime-SZFD2YQA.js → core-runtime-PKNQ63VL.js} +53 -52
  172. package/chunks/{create-sub-session-OXESCUS7.js → create-sub-session-PLGPY6TV.js} +53 -52
  173. package/chunks/{create-sub-session-5ZLCAS2P.js → create-sub-session-RVHSWVAP.js} +3 -3
  174. package/chunks/{cron-create-P4CPPO25.js → cron-create-IJGVR5R2.js} +4 -4
  175. package/chunks/{cron-delete-FPD75GL4.js → cron-delete-4N5BI6GL.js} +4 -4
  176. package/chunks/{cron-list-QPML4MWL.js → cron-list-2CATIPUX.js} +4 -4
  177. package/chunks/{daemon-HY4AVTUM.js → daemon-NAYK4XXU.js} +34 -12
  178. package/chunks/{daemon-git-worktree-guard-EAVTZ6CE.js → daemon-git-worktree-guard-LDBJXH2U.js} +331 -86
  179. package/chunks/daemon-status-provider-F5FEHVVG.js +118 -0
  180. package/chunks/daemon-trust-policy-C6YTU5CQ.js +114 -0
  181. package/chunks/{daemon-trust-policy-monitor-ITF54474.js → daemon-trust-policy-monitor-IGEJPHQ4.js} +59 -58
  182. package/chunks/{deferred-core-runtime-WQ4NQA3N.js → deferred-core-runtime-GHT3GDOR.js} +53 -52
  183. package/chunks/{display-image-HOBBUJS5.js → display-image-DR55LL6M.js} +5 -5
  184. package/chunks/dist-4Q7NTUNB.js +2512 -0
  185. package/chunks/{dist-RW4QZD3K.js → dist-6H6RZ5H6.js} +2 -2
  186. package/chunks/{dist-ZUWCGMJ4.js → dist-7CKN54NL.js} +1 -1
  187. package/chunks/{dist-ZQJEKFZH.js → dist-DJBNNPLN.js} +1 -1
  188. package/chunks/{dist-5BX3J3AL.js → dist-FVJZSIO4.js} +28 -7
  189. package/chunks/{dist-OB6D7E7T.js → dist-SATKXKUR.js} +1 -1
  190. package/chunks/{dist-MEANA2OS.js → dist-TJUDJTCB.js} +1 -1
  191. package/chunks/{dist-4LRFQF7R.js → dist-UQUFZDIY.js} +1 -1
  192. package/chunks/{dist-7HGG7XLA.js → dist-ZBVOXSKF.js} +1 -1
  193. package/chunks/earlyInputCapture-HOSJTLWP.js +109 -0
  194. package/chunks/{edit-4MZYBPF5.js → edit-KSPVUEAS.js} +42 -42
  195. package/chunks/{en-X66KZS7T.js → en-6MDBWMTG.js} +1 -0
  196. package/chunks/{enter-worktree-WNR4JUPU.js → enter-worktree-UOZ6ZTP7.js} +7 -7
  197. package/chunks/{enterPlanMode-2EL6YAM5.js → enterPlanMode-DZTABSKN.js} +41 -41
  198. package/chunks/{environment-4QYNT2L3.js → environment-JXOSW25V.js} +57 -54
  199. package/chunks/{errors-N66MMOYD.js → errors-IOXFDE4J.js} +55 -54
  200. package/chunks/{exit-worktree-BUHUM6YC.js → exit-worktree-G2QATUCV.js} +7 -7
  201. package/chunks/{exitPlanMode-F73VQJBO.js → exitPlanMode-PZG4FXRB.js} +41 -41
  202. package/chunks/{fast-path-3L4YK6SO.js → fast-path-EBS7NAVL.js} +2 -2
  203. package/chunks/{gemini-4PINQJWX.js → gemini-JELEKOVS.js} +107 -103
  204. package/chunks/{geminiContentGenerator-7T7IU2V5.js → geminiContentGenerator-I2CKP7XI.js} +8 -8
  205. package/chunks/{glob-TWUYSRRG.js → glob-TDVEVPQZ.js} +41 -41
  206. package/chunks/{goal-tools-FTDQHRRX.js → goal-tools-CNVXMSZD.js} +70 -27
  207. package/chunks/{grep-QUQ3J6SR.js → grep-3NLSS32D.js} +6 -6
  208. package/chunks/handleAutoUpdate-AWAGHKOX.js +111 -0
  209. package/chunks/{i18n-Q6K7AX7Y.js → i18n-CYA25C5F.js} +54 -53
  210. package/chunks/{image-gen-RYOBEDNB.js → image-gen-63NN2H5N.js} +9 -9
  211. package/chunks/initializer-JD2FLNLO.js +115 -0
  212. package/chunks/installationInfo-N3DCWVWR.js +109 -0
  213. package/chunks/{keychain-token-storage-LQTBIXSX.js → keychain-token-storage-3MGFRYGM.js} +2 -2
  214. package/chunks/list-XDQAUET5.js +118 -0
  215. package/chunks/{list-agents-522ILPAR.js → list-agents-EXRSHIDJ.js} +2 -2
  216. package/chunks/loadedSettingsAdapter-IK7H5JRK.js +112 -0
  217. package/chunks/{loggingContentGenerator-RTDUJF6Y.js → loggingContentGenerator-CZWUAHAI.js} +20 -20
  218. package/chunks/{loop-wakeup-VSA4TBIC.js → loop-wakeup-XBPB2BRO.js} +5 -5
  219. package/chunks/{ls-FUCLEBTL.js → ls-WFONAND2.js} +4 -4
  220. package/chunks/{lsp-FYP6TW4R.js → lsp-DUKPDUXN.js} +2 -2
  221. package/chunks/{managed-npm-update-NUDVKV7F.js → managed-npm-update-54W23SP5.js} +54 -53
  222. package/chunks/mcp-2E7ZLMEE.js +112 -0
  223. package/chunks/{monitor-AU2SG5OL.js → monitor-A4J5QRGJ.js} +41 -41
  224. package/chunks/nonInteractiveCli-ZNDXB62Y.js +185 -0
  225. package/chunks/{notebook-edit-TGU7XHIO.js → notebook-edit-4ANFZON5.js} +42 -42
  226. package/chunks/{openaiContentGenerator-QPFWSUPT.js → openaiContentGenerator-JCCJJQZC.js} +24 -24
  227. package/chunks/pidfile-DHV2Y7UD.js +113 -0
  228. package/chunks/{processUtils-ZSHN6VGJ.js → processUtils-JJAR56SO.js} +2 -2
  229. package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +107 -0
  230. package/chunks/{qwenContentGenerator-MEXKZX5O.js → qwenContentGenerator-5JM44ZSA.js} +46 -46
  231. package/chunks/{qwenOAuth2-QHHUP4KQ.js → qwenOAuth2-JIYAWXTW.js} +8 -8
  232. package/chunks/{read-file-T7ESVJAQ.js → read-file-N3E5DY7N.js} +12 -12
  233. package/chunks/{read-mcp-resource-5QGBDZ43.js → read-mcp-resource-7A7NFSFL.js} +2 -2
  234. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  235. package/chunks/{record-artifact-K6BYYWXY.js → record-artifact-CPJ4IJSD.js} +4 -4
  236. package/chunks/report-findings-VFM5DENC.js +33 -0
  237. package/chunks/{request-shutdown-EUXDG4IH.js → request-shutdown-AXVOFN5C.js} +7 -7
  238. package/chunks/{resumeHistoryUtils-JFEAZEWW.js → resumeHistoryUtils-YQRITQAG.js} +60 -59
  239. package/chunks/{ripGrep-KOP6AHIX.js → ripGrep-NEIHKBKB.js} +17 -17
  240. package/chunks/{run-qwen-serve-IAVPTDB7.js → run-qwen-serve-IWGPZADI.js} +577 -67
  241. package/chunks/{runtime-ZICTJKT5.js → runtime-I76HPFUE.js} +64 -63
  242. package/chunks/{scheduler-YNVAANNX.js → scheduler-M6YL4K4I.js} +55 -54
  243. package/chunks/{sdk-exporters-http-GCVM7E4X.js → sdk-exporters-http-XXSKBD2C.js} +2 -2
  244. package/chunks/{sdk-impl-E3KA6NMY.js → sdk-impl-VPNBLV7I.js} +4 -4
  245. package/chunks/{send-message-EJUCEIKN.js → send-message-A2GXDX3B.js} +7 -7
  246. package/chunks/{serve-NF25WYMU.js → serve-XY5S63GN.js} +59 -58
  247. package/chunks/{server-7LKYWHCE.js → server-TWXRRREO.js} +605 -334
  248. package/chunks/{session-5FBBDYPI.js → session-IT5ZXU7A.js} +104 -99
  249. package/chunks/{settings-F7IXLQQW.js → settings-IX5HOOCG.js} +58 -57
  250. package/chunks/{shell-IJYC4BVX.js → shell-LZ55AAJB.js} +41 -41
  251. package/chunks/{skill-RTZU743G.js → skill-WSZ53D2R.js} +107 -23
  252. package/chunks/{skill-settings-ZOHS4J2E.js → skill-settings-5U7FTJIK.js} +58 -57
  253. package/chunks/{spawnChannel-JLKWUMTV.js → spawnChannel-TMC6VXGN.js} +55 -54
  254. package/chunks/{standalone-update-W44DUURE.js → standalone-update-CUYGWTR4.js} +55 -54
  255. package/chunks/{startInteractiveUI-7HPDSR7W.js → startInteractiveUI-O6BI2OSA.js} +219 -170
  256. package/chunks/{syntheticOutput-3ITPRJOB.js → syntheticOutput-5AJ444QT.js} +3 -3
  257. package/chunks/{task-create-USIZE733.js → task-create-CDJSOEQD.js} +11 -11
  258. package/chunks/{task-list-AWAJUPIP.js → task-list-BELMPA75.js} +5 -5
  259. package/chunks/{task-stop-I2CQSMDX.js → task-stop-U3S3KZG2.js} +2 -2
  260. package/chunks/{task-update-TFF2KJGL.js → task-update-77VCFDDZ.js} +11 -11
  261. package/chunks/{team-create-IU2A6HD3.js → team-create-UF4TMQEH.js} +41 -41
  262. package/chunks/{team-delete-E4C4AMPF.js → team-delete-YWFXX77L.js} +5 -5
  263. package/chunks/{team-plan-approval-BWI43D37.js → team-plan-approval-U57NSR6C.js} +41 -41
  264. package/chunks/{terminal-image-renderer-GQAMHJF2.js → terminal-image-renderer-DRL3BROJ.js} +55 -54
  265. package/chunks/theme-manager-HHJPUDRN.js +104 -0
  266. package/chunks/{todoWrite-ZUS3HGEF.js → todoWrite-435EO2CS.js} +4 -4
  267. package/chunks/{tool-search-TQNHT22X.js → tool-search-SV35UV72.js} +17 -17
  268. package/chunks/{total-session-admission-JMM73HNK.js → total-session-admission-TQI7TCTL.js} +57 -56
  269. package/chunks/{trustedFolders-BKQ2UXIB.js → trustedFolders-YKK67IP3.js} +54 -53
  270. package/chunks/{update-relaunch-WI7IWWCM.js → update-relaunch-DX7LVA4P.js} +5 -5
  271. package/chunks/{updateCheck-K6WUHPPT.js → updateCheck-6JRTKTUF.js} +58 -57
  272. package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +122 -0
  273. package/chunks/{validateNonInterActiveAuth-RXCZM7MM.js → validateNonInterActiveAuth-B26O4YJP.js} +100 -95
  274. package/chunks/{version-IRAYALVC.js → version-K5D7VJ4B.js} +2 -2
  275. package/chunks/{web-fetch-FUG5KGKQ.js → web-fetch-VFHZLLNZ.js} +16 -16
  276. package/chunks/{web-search-SO3LHSHP.js → web-search-AQE5A4J5.js} +9 -9
  277. package/chunks/{workflow-XJRA3GRI.js → workflow-XL6AEUZ7.js} +150 -52
  278. package/chunks/workspace-providers-status-H6TG34YV.js +116 -0
  279. package/chunks/{workspace-registration-store-LCB4GHNP.js → workspace-registration-store-I4U3V5LL.js} +1 -1
  280. package/chunks/{workspace-registry-QWPFWGEF.js → workspace-registry-2PWNIYNI.js} +57 -56
  281. package/chunks/{workspace-service-MPGLZJF6.js → workspace-service-4FGTUJLA.js} +65 -64
  282. package/chunks/workspace-skills-status-7VOLUDT6.js +115 -0
  283. package/chunks/{workspace-trust-reconciler-4QDDGBQZ.js → workspace-trust-reconciler-GJ466KCE.js} +65 -64
  284. package/chunks/write-file-PWOYCT2K.js +90 -0
  285. package/chunks/{zh-TW-FZ3ETVR2.js → zh-TW-MV4FWFB6.js} +1 -0
  286. package/chunks/{zh-K3OJZ5LI.js → zh-X3WGU6SI.js} +1 -0
  287. package/chunks/{zoom-image-TCBO2YL5.js → zoom-image-NYJPC3NI.js} +12 -12
  288. package/cli.js +13 -13
  289. package/locales/ca.js +1 -0
  290. package/locales/en.js +1 -0
  291. package/locales/zh-TW.js +1 -0
  292. package/locales/zh.js +1 -0
  293. package/package.json +3 -3
  294. package/web-shell/assets/{abnfDiagram-VCTEODGH-hQsSuKY7.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
  295. package/web-shell/assets/{arc-CpKLq3XD.js → arc-CbJO0xnT.js} +1 -1
  296. package/web-shell/assets/{architectureDiagram-5GKGNRK7-Bplk1J-m.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
  297. package/web-shell/assets/{blockDiagram-NRAW4CY4-B-cca4ej.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
  298. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ8cn00E.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
  299. package/web-shell/assets/channel-B3sGR79J.js +1 -0
  300. package/web-shell/assets/{chunk-2Q5K7J3B-DEQ2uYU0.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
  301. package/web-shell/assets/{chunk-5VM5RSS4-DqH8Lz-4.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
  302. package/web-shell/assets/{chunk-F27PBJKO-Dru7qMTB.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
  303. package/web-shell/assets/{chunk-G27WJ6UU-DN8KcdzT.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
  304. package/web-shell/assets/{chunk-JWPE2WC7-DMS-EquZ.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
  305. package/web-shell/assets/{chunk-LCL6LL3I-ubbLaEwq.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
  306. package/web-shell/assets/{chunk-POPQ4Y6H-DdIZqnYy.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
  307. package/web-shell/assets/{chunk-SVP7TREG-DkgYFSnb.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
  308. package/web-shell/assets/{chunk-XXDRQBXY-CaesHiYG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
  309. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
  310. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
  311. package/web-shell/assets/{cose-bilkent-JH36ORCC-bqnC4Oq-.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
  312. package/web-shell/assets/{cynefin-OW5HDTMX-mDRBhRzB.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
  313. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-B4Tod_Ik.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
  314. package/web-shell/assets/{dagre-3AP2YEHR-DU9f-iCw.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
  315. package/web-shell/assets/{diagram-S7CK7UJ4-BsYVeB7c.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
  316. package/web-shell/assets/{diagram-UQ7AKVKN-frM5Sn9C.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
  317. package/web-shell/assets/{diagram-VSXAHHWV-C1Z7uZdv.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
  318. package/web-shell/assets/{diagram-VX7I27RA-CIY4x0M9.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
  319. package/web-shell/assets/{diagram-Z3DM3KII-hTl4GIbg.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
  320. package/web-shell/assets/{ebnfDiagram-PWID7BFC-4loIGTHZ.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
  321. package/web-shell/assets/{erDiagram-SSCWMZ5O-B9Up14ul.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
  322. package/web-shell/assets/{flowDiagram-A5DVABFB-CIPfQBl9.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
  323. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DaZk3lrl.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
  324. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-D-knAHoQ.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
  325. package/web-shell/assets/{index-Di8dYJlQ.js → index-B6JN54Pd.js} +1 -1
  326. package/web-shell/assets/{index-RNKRtdDf.css → index-C-XlQn24.css} +1 -1
  327. package/web-shell/assets/{index-pkWucfFU.js → index-DLjXM0dn.js} +367 -367
  328. package/web-shell/assets/{infoDiagram-RXCK75RN-7AJndIyq.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
  329. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DjIU3IKv.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
  330. package/web-shell/assets/{journeyDiagram-EYS64GPL-D3cf3462.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
  331. package/web-shell/assets/{kanban-definition-3QL26DDD-CmuPjlRe.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
  332. package/web-shell/assets/{layout-C2Ci1XAx.js → layout-Bf83x7D6.js} +1 -1
  333. package/web-shell/assets/{linear-CqOKGHue.js → linear-Bkc3ES2f.js} +1 -1
  334. package/web-shell/assets/{mermaid.core-Bnt57s5_.js → mermaid.core-C6xuovwz.js} +6 -6
  335. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BSSJVfj3.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
  336. package/web-shell/assets/{pegDiagram-XKGWAZYB-DNLHwge4.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
  337. package/web-shell/assets/{pieDiagram-E7YTZNPT-CYRSio_9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
  338. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CzSwKETq.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
  339. package/web-shell/assets/{railroadDiagram-O6MQD6OU-Dzbg_Jis.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
  340. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CY3Apuzl.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
  341. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-432Hiv50.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
  342. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CucAf-fk.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
  343. package/web-shell/assets/{sizeCapture-X5ZJPWSS-RBc9fiXv.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
  344. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BwsgjK6k.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
  345. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
  346. package/web-shell/assets/{swimlanes-XN3QIQJK-DMMYIqPz.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
  347. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
  348. package/web-shell/assets/{timeline-definition-24CTP7MA-BbmmEMJb.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
  349. package/web-shell/assets/{vennDiagram-4TSXK5OY-DlfQjNzM.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
  350. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-86EXFbP6.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
  351. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-794nZBSV.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
  352. package/web-shell/index.html +2 -2
  353. package/chunks/MaxSizedBox-RQWAKXYC.js +0 -111
  354. package/chunks/agent-headless-YBSOXERA.js +0 -87
  355. package/chunks/channel-settings-store-DD6W3EJQ.js +0 -116
  356. package/chunks/config-utils-WXWWMH2D.js +0 -112
  357. package/chunks/contextCommand-UKPGPBW5.js +0 -107
  358. package/chunks/daemon-status-provider-D2HNWRDK.js +0 -116
  359. package/chunks/daemon-trust-policy-F4JM5CKX.js +0 -113
  360. package/chunks/earlyInputCapture-54M7AWAF.js +0 -108
  361. package/chunks/handleAutoUpdate-T36AMYVP.js +0 -110
  362. package/chunks/initializer-6USYPDX7.js +0 -114
  363. package/chunks/installationInfo-46TRIE5M.js +0 -108
  364. package/chunks/list-BCX6JAYS.js +0 -117
  365. package/chunks/loadedSettingsAdapter-7OBB7B6J.js +0 -111
  366. package/chunks/mcp-FCS6V74Y.js +0 -111
  367. package/chunks/nonInteractiveCli-CQUUSJ3N.js +0 -180
  368. package/chunks/pidfile-SIEQM3X5.js +0 -112
  369. package/chunks/prompt-terminal-ledger-YIAGDBHG.js +0 -106
  370. package/chunks/theme-manager-73W4SEDX.js +0 -103
  371. package/chunks/useAutoAcceptIndicator-SMCU7IYQ.js +0 -121
  372. package/chunks/workspace-providers-status-ZYXLTCJ5.js +0 -115
  373. package/chunks/workspace-skills-status-ZVFYCT5C.js +0 -114
  374. package/chunks/write-file-2KVXXVWB.js +0 -90
  375. package/web-shell/assets/channel-DggMZLoL.js +0 -1
  376. package/web-shell/assets/classDiagram-DTDB5LWJ-DPMQMV0q.js +0 -1
  377. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DPMQMV0q.js +0 -1
  378. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C_HLER48.js +0 -1
  379. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-KP0j5nd5.js +0 -8
@@ -14,7 +14,7 @@ import {
14
14
  normalizePartList,
15
15
  parseExtensionRef,
16
16
  parseMcpServerRef
17
- } from "./chunk-JHZIPJWY.js";
17
+ } from "./chunk-EEQYTWGU.js";
18
18
  import {
19
19
  getAvailableCommands,
20
20
  getSlashCommandFirstToken,
@@ -23,10 +23,14 @@ import {
23
23
  isSlashCommand,
24
24
  recordDaemonSessionModel,
25
25
  restoreSessionModelThenAuthenticate
26
- } from "./chunk-U7GJPTEY.js";
26
+ } from "./chunk-2YEZNBSD.js";
27
+ import {
28
+ collectContextData,
29
+ formatContextUsageText
30
+ } from "./chunk-KCOXDRQL.js";
27
31
  import {
28
32
  recomputeMcpGating
29
- } from "./chunk-ZROP2DTX.js";
33
+ } from "./chunk-43C2II2G.js";
30
34
  import {
31
35
  SessionIdConflictError,
32
36
  appEvents,
@@ -34,44 +38,41 @@ import {
34
38
  cleanupReviewWorktreeLeases,
35
39
  loadCliConfig,
36
40
  normalizeDisabledToolList
37
- } from "./chunk-EJ2GPZDU.js";
41
+ } from "./chunk-ZXDM7DYV.js";
38
42
  import {
39
43
  getCommandSubcommandNames
40
- } from "./chunk-SKXXO64C.js";
44
+ } from "./chunk-6E4WHQJV.js";
41
45
  import {
42
46
  getEffectiveSupportedModes
43
- } from "./chunk-KUDADN3R.js";
47
+ } from "./chunk-OT26ITEY.js";
48
+ import "./chunk-2FN2HNTI.js";
49
+ import "./chunk-4WGODMVR.js";
44
50
  import "./chunk-3SH53ANB.js";
45
51
  import "./chunk-NYX53SV4.js";
46
- import "./chunk-YX4II73B.js";
47
- import {
48
- collectContextData,
49
- formatContextUsageText
50
- } from "./chunk-MBLNXX3G.js";
51
- import "./chunk-4WGODMVR.js";
52
52
  import {
53
53
  isGoalStatusKind
54
54
  } from "./chunk-EKTCKZV5.js";
55
- import "./chunk-X3PRXXUH.js";
55
+ import "./chunk-TKO4TLT6.js";
56
+ import "./chunk-WEGXPP5E.js";
56
57
  import {
57
58
  startNonInteractiveOpenAILogHousekeeping
58
- } from "./chunk-H5K5MRU7.js";
59
+ } from "./chunk-2NCVUT3C.js";
59
60
  import "./chunk-KW7NOTN6.js";
60
- import "./chunk-6L5EXDDN.js";
61
- import "./chunk-7UVAWPYG.js";
62
- import "./chunk-7GECZMES.js";
63
- import "./chunk-YAF2MQZ6.js";
64
- import {
65
- computeCpuPercent
66
- } from "./chunk-LBOVL47Y.js";
67
- import "./chunk-U4SJGOBF.js";
68
- import "./chunk-6H67XLET.js";
69
61
  import {
70
62
  beginAcpBootstrapConfigProfiling,
71
63
  buildAndFreezeAcpStartupProfile,
72
64
  endAcpBootstrapConfigProfiling,
73
65
  markAcpStartup
74
- } from "./chunk-7KOFLDEP.js";
66
+ } from "./chunk-5JTIYALA.js";
67
+ import "./chunk-5CI4AXDD.js";
68
+ import "./chunk-C4WBKZJT.js";
69
+ import "./chunk-NVK4HJYQ.js";
70
+ import "./chunk-YAF2MQZ6.js";
71
+ import {
72
+ computeCpuPercent
73
+ } from "./chunk-LBOVL47Y.js";
74
+ import "./chunk-62PXFOK4.js";
75
+ import "./chunk-6H67XLET.js";
75
76
  import {
76
77
  GENERATION_MAX_PROMPT_BYTES,
77
78
  GENERATION_TIMEOUT_MS,
@@ -94,7 +95,7 @@ import {
94
95
  shouldSuppressRememberErrorDetails,
95
96
  workspaceMemoryFailureCode,
96
97
  workspaceMemoryFailureDiagnostics
97
- } from "./chunk-W4JA6Z44.js";
98
+ } from "./chunk-KWFP3WV6.js";
98
99
  import {
99
100
  BaseEmitter,
100
101
  HistoryReplayer,
@@ -105,10 +106,10 @@ import {
105
106
  hasFullSessionContext,
106
107
  observeAcpToolResultProjection,
107
108
  observeAcpToolResultWire
108
- } from "./chunk-SNWAXNJ4.js";
109
- import "./chunk-DF6DJZIX.js";
109
+ } from "./chunk-HJOWQUE2.js";
110
+ import "./chunk-4TPAG3O7.js";
110
111
  import "./chunk-E7REAOTN.js";
111
- import "./chunk-QKSMM4HF.js";
112
+ import "./chunk-L436XFLJ.js";
112
113
  import "./chunk-2MIN6GRR.js";
113
114
  import "./chunk-QHTIBUWB.js";
114
115
  import "./chunk-TXASDT2M.js";
@@ -121,6 +122,32 @@ import {
121
122
  } from "./chunk-ZEZKIS2K.js";
122
123
  import "./chunk-RXFQM6FQ.js";
123
124
  import "./chunk-UXEO7E3V.js";
125
+ import {
126
+ PERMISSION_RULE_TYPES,
127
+ PermissionRulesValidationError,
128
+ buildPermissionSettings,
129
+ normalizePermissionRules,
130
+ readPermissionRuleSet
131
+ } from "./chunk-I32QCIK7.js";
132
+ import {
133
+ MAX_AUDIO_BYTES,
134
+ sanitizeVoiceErrorMessage,
135
+ transcribeVoiceAudio
136
+ } from "./chunk-76WGY6LW.js";
137
+ import {
138
+ readVoiceModel
139
+ } from "./chunk-2MHGD7EE.js";
140
+ import "./chunk-2SERYG4T.js";
141
+ import "./chunk-JS73NNWF.js";
142
+ import "./chunk-4DCP3362.js";
143
+ import "./chunk-DCSAVGDJ.js";
144
+ import {
145
+ SESSION_SOURCE_META_KEY,
146
+ parseSessionSource
147
+ } from "./chunk-I6YW3T3W.js";
148
+ import "./chunk-7U5G6JXI.js";
149
+ import "./chunk-WCCLLK7X.js";
150
+ import "./chunk-OCPBI7J5.js";
124
151
  import {
125
152
  REASONING_EFFORT_DEFAULT,
126
153
  REASONING_EFFORT_NAMES,
@@ -137,47 +164,26 @@ import {
137
164
  parseAcpModelOption,
138
165
  resolveAcpModelOption,
139
166
  sanitizeProviderBaseUrl
140
- } from "./chunk-MSCVPOZR.js";
167
+ } from "./chunk-GNRVKN76.js";
141
168
  import {
142
169
  mapSkillConfigToStatus
143
170
  } from "./chunk-BGXZBI5B.js";
144
- import {
145
- PERMISSION_RULE_TYPES,
146
- PermissionRulesValidationError,
147
- buildPermissionSettings,
148
- normalizePermissionRules,
149
- readPermissionRuleSet
150
- } from "./chunk-3K5ORUVO.js";
151
- import {
152
- MAX_AUDIO_BYTES,
153
- sanitizeVoiceErrorMessage,
154
- transcribeVoiceAudio
155
- } from "./chunk-IX3CWNG7.js";
156
- import {
157
- readVoiceModel
158
- } from "./chunk-7KGJGYGA.js";
159
- import "./chunk-LNKZTLTH.js";
160
171
  import {
161
172
  resolveSkillSettings
162
173
  } from "./chunk-Z4X5MTRT.js";
163
- import "./chunk-P7DVAZKV.js";
164
- import "./chunk-GWUZOBCQ.js";
174
+ import "./chunk-SM7ZVKTF.js";
175
+ import "./chunk-A7X32SCT.js";
165
176
  import "./chunk-57OAHC2Y.js";
177
+ import "./chunk-EAV3TENS.js";
178
+ import "./chunk-7JPW6IYH.js";
179
+ import "./chunk-IKN3IUJP.js";
180
+ import "./chunk-V6WHFGST.js";
166
181
  import {
167
182
  createLoadedSettingsAdapter
168
- } from "./chunk-JVTU5JYO.js";
169
- import "./chunk-JS73NNWF.js";
170
- import "./chunk-EEBIINBT.js";
171
- import {
172
- SESSION_SOURCE_META_KEY,
173
- parseSessionSource
174
- } from "./chunk-KUPVZ4EO.js";
175
- import "./chunk-7U5G6JXI.js";
176
- import "./chunk-WCCLLK7X.js";
177
- import "./chunk-OCPBI7J5.js";
183
+ } from "./chunk-7AS7QX72.js";
178
184
  import {
179
185
  ndJsonStream
180
- } from "./chunk-NSPS67BG.js";
186
+ } from "./chunk-GZJUCMH4.js";
181
187
  import {
182
188
  ACP_PREFLIGHT_KINDS,
183
189
  IDLE_HOOK_EVENTS,
@@ -185,11 +191,8 @@ import {
185
191
  SERVE_STATUS_EXT_METHODS,
186
192
  STATUS_SCHEMA_VERSION,
187
193
  mapDomainErrorToErrorKind
188
- } from "./chunk-HYBEI2LH.js";
189
- import "./chunk-QWTNAHCM.js";
190
- import "./chunk-XQNWTA4Y.js";
191
- import "./chunk-SEMN7BNM.js";
192
- import "./chunk-V6WHFGST.js";
194
+ } from "./chunk-CITGRGCM.js";
195
+ import "./chunk-MZS7GEC7.js";
193
196
  import {
194
197
  ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
195
198
  ACTIVE_WORK_HEARTBEAT_META_KEY,
@@ -197,6 +200,8 @@ import {
197
200
  ACTIVE_WORK_HOLD_CATEGORIES,
198
201
  ACTIVE_WORK_LEGACY_HOLD_CATEGORIES,
199
202
  ACTIVE_WORK_NOTIFICATION_METHOD,
203
+ CHANNEL_LIVENESS_META_KEY,
204
+ CHANNEL_LIVENESS_VERSION,
200
205
  CHANNEL_STARTUP_PROFILE_META_KEY,
201
206
  CHANNEL_STARTUP_PROFILE_VERSION,
202
207
  CLIENT_MCP_OVER_WS_CONFIG_FLAG,
@@ -223,7 +228,7 @@ import {
223
228
  WORKTREE_MCP_DEFER_META_KEY,
224
229
  clampActiveWorkIntervalMs,
225
230
  isValidTrustedModelPrompt
226
- } from "./chunk-LURJYO2T.js";
231
+ } from "./chunk-OZ6KS6KW.js";
227
232
  import {
228
233
  NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE,
229
234
  isNotCurrentlyGeneratingCancelError
@@ -231,7 +236,7 @@ import {
231
236
  import "./chunk-6PLDPT2C.js";
232
237
  import "./chunk-FYJ7W2PI.js";
233
238
  import "./chunk-7CWEZQ6T.js";
234
- import "./chunk-IFWUT4GY.js";
239
+ import "./chunk-JVPFTDBK.js";
235
240
  import "./chunk-GYTKQYDB.js";
236
241
  import "./chunk-ALMR3E6Q.js";
237
242
  import "./chunk-UDG5EZJI.js";
@@ -245,12 +250,11 @@ import {
245
250
  SHELL_EXECUTING_TOOL_NAMES,
246
251
  isValidExternalToolGuardDenialReason
247
252
  } from "./chunk-3VUENPWF.js";
248
- import "./chunk-R544UY5E.js";
249
- import "./chunk-PIZZIIEA.js";
253
+ import "./chunk-ELY4QVIB.js";
250
254
  import {
251
255
  ACP_EVENT_LOOP_STALL_RESTART_MS,
252
256
  CHANNEL_PROMPT_META_KEY
253
- } from "./chunk-NFDTDV37.js";
257
+ } from "./chunk-E55H6BZ7.js";
254
258
  import {
255
259
  AgentSideConnection,
256
260
  PROTOCOL_VERSION,
@@ -259,7 +263,7 @@ import {
259
263
  import {
260
264
  assembleMcpServers,
261
265
  loadMcpApprovals
262
- } from "./chunk-2HYQZYPT.js";
266
+ } from "./chunk-MW5AHWOZ.js";
263
267
  import {
264
268
  getOutputLanguageFilePath,
265
269
  getPersistScopeForModelSelection,
@@ -268,9 +272,9 @@ import {
268
272
  resolveOutputLanguageOrPreserveAuto,
269
273
  updateOutputLanguageFile,
270
274
  writeOutputLanguageAndRegisterPath
271
- } from "./chunk-YS4H3OFV.js";
275
+ } from "./chunk-MDZO5V2O.js";
272
276
  import "./chunk-RKUWKYED.js";
273
- import "./chunk-AIT6BMBI.js";
277
+ import "./chunk-BDHLBR46.js";
274
278
  import "./chunk-GOXKNSDZ.js";
275
279
  import {
276
280
  getSystemDefaultsPath,
@@ -279,7 +283,7 @@ import {
279
283
  import {
280
284
  getCurrentLanguage,
281
285
  setLanguageAsync
282
- } from "./chunk-E6BJFSLJ.js";
286
+ } from "./chunk-W2WRNJKX.js";
283
287
  import {
284
288
  SUPPORTED_LANGUAGES
285
289
  } from "./chunk-5EJZE3FP.js";
@@ -287,17 +291,19 @@ import {
287
291
  findEnvFiles,
288
292
  preResolveHomeEnvOverrides,
289
293
  reloadEnvironment
290
- } from "./chunk-FXNLH7E6.js";
294
+ } from "./chunk-2CRNTW2B.js";
291
295
  import {
292
296
  ENV_ACP_REPEATED_TOOL_FAILURE_GUARD,
293
297
  QWEN_CODE_SERVE_ENV
294
298
  } from "./chunk-5PA6UEYA.js";
295
- import "./chunk-RLIS2VLZ.js";
299
+ import "./chunk-7DPKPBOQ.js";
300
+ import "./chunk-6KS24S3X.js";
301
+ import "./chunk-W3N5XAZ6.js";
296
302
  import {
297
303
  isFolderTrustEnabled,
298
304
  isWorkspaceTrusted,
299
305
  loadTrustedFolders
300
- } from "./chunk-NDJ3436G.js";
306
+ } from "./chunk-XNXWEGKB.js";
301
307
  import "./chunk-NPQ5ZKRP.js";
302
308
  import "./chunk-MR3PXB6E.js";
303
309
  import {
@@ -327,29 +333,30 @@ import {
327
333
  resolveBaseUrl,
328
334
  runManagedRememberByAgent,
329
335
  subagentGenerator
330
- } from "./chunk-DLYJ3RN7.js";
331
- import "./chunk-EJ5XRNOK.js";
336
+ } from "./chunk-VMDURMFY.js";
337
+ import "./chunk-J7MLXFC5.js";
332
338
  import "./chunk-XFSFZCM5.js";
333
- import "./chunk-MGEXTDBI.js";
334
- import "./chunk-YLFLHKDL.js";
339
+ import "./chunk-2EAZ43JQ.js";
340
+ import "./chunk-NF5J2WFA.js";
335
341
  import {
336
342
  CreateSubSessionTool
337
- } from "./chunk-HTIG2U5C.js";
343
+ } from "./chunk-LRKMQPMD.js";
338
344
  import "./chunk-LJZSMWOH.js";
339
- import "./chunk-2ZH5XAOO.js";
340
- import "./chunk-DZPWZPGJ.js";
345
+ import "./chunk-47SIHHPL.js";
346
+ import "./chunk-JLGFGPZJ.js";
347
+ import "./chunk-SKNVVYIJ.js";
341
348
  import {
342
349
  restoreWorktreeContext
343
- } from "./chunk-LD76HNCC.js";
344
- import "./chunk-F37T2S4O.js";
345
- import "./chunk-IKPQM6I5.js";
346
- import "./chunk-V6R3IEHF.js";
350
+ } from "./chunk-UCSV2IZW.js";
351
+ import "./chunk-T2HMXHYA.js";
352
+ import "./chunk-3FSBMAYD.js";
353
+ import "./chunk-XJS54K4A.js";
347
354
  import "./chunk-ZPJWUGCS.js";
348
355
  import {
349
356
  clearCachedCredentialFile,
350
357
  qwenOAuth2Events
351
- } from "./chunk-RLR7K4JJ.js";
352
- import "./chunk-FZUVUBYH.js";
358
+ } from "./chunk-ZWKGZB2K.js";
359
+ import "./chunk-OX44MOAN.js";
353
360
  import {
354
361
  APPROVAL_MODE_INFO,
355
362
  BranchPointInvalidError,
@@ -440,6 +447,7 @@ import {
440
447
  matchesAnyServerPattern,
441
448
  mcpServerRequiresOAuth,
442
449
  needsConfirmation,
450
+ normalizeDerivedBranchTitle,
443
451
  normalizeEventPayload,
444
452
  normalizeSnapshotPayload,
445
453
  normalizeTurnResultError,
@@ -465,43 +473,43 @@ import {
465
473
  updateSetting,
466
474
  validatePlanModeShellApproval,
467
475
  validatePlanModeShellContext
468
- } from "./chunk-UFWRXRQ5.js";
476
+ } from "./chunk-XYX474JQ.js";
469
477
  import "./chunk-GOFAQQZA.js";
470
478
  import "./chunk-5M6IDOMF.js";
471
479
  import "./chunk-TWPJO254.js";
472
480
  import {
473
481
  external_exports
474
482
  } from "./chunk-CQ35AJ4Z.js";
475
- import "./chunk-J54EA46E.js";
476
- import "./chunk-PQ4RTSTH.js";
477
- import "./chunk-3E53DKST.js";
478
- import "./chunk-DV3KOUUU.js";
483
+ import "./chunk-3UZCLCXR.js";
484
+ import "./chunk-TOF4UZHH.js";
485
+ import "./chunk-O3BUXIPM.js";
486
+ import "./chunk-ZLTEQYNC.js";
479
487
  import {
480
488
  parsePositiveIntegerEnv
481
489
  } from "./chunk-6PVPNMXU.js";
482
490
  import {
483
491
  RUNTIME_SNAPSHOT_PREFIX
484
- } from "./chunk-R7Q5V3A5.js";
492
+ } from "./chunk-AYVIGUUK.js";
485
493
  import "./chunk-IRH27ZC2.js";
486
494
  import "./chunk-QHWCP53L.js";
487
- import "./chunk-KDGY3ST4.js";
495
+ import "./chunk-JECO75XD.js";
488
496
  import {
489
497
  promptIdContext,
490
498
  todoWorkChainContext
491
499
  } from "./chunk-O6GEWCJA.js";
492
500
  import "./chunk-T26EAKDL.js";
493
- import "./chunk-FLTGTSLG.js";
501
+ import "./chunk-LJP2BBMK.js";
494
502
  import "./chunk-CPBF7KYF.js";
495
- import "./chunk-NA6AZRDQ.js";
503
+ import "./chunk-5Y2JCJAH.js";
496
504
  import {
497
505
  HookEventName,
498
506
  createHookOutput
499
- } from "./chunk-ZB7VDPZB.js";
500
- import "./chunk-CGWPQ6IM.js";
501
- import "./chunk-RSWDOHXS.js";
502
- import "./chunk-5X33EPHJ.js";
503
- import "./chunk-CPZQJP6J.js";
504
- import "./chunk-UY2JOZK7.js";
507
+ } from "./chunk-T2CRBIDJ.js";
508
+ import "./chunk-77TOMRBG.js";
509
+ import "./chunk-DEYPMJPD.js";
510
+ import "./chunk-T6OODF2U.js";
511
+ import "./chunk-27ONXAFY.js";
512
+ import "./chunk-ZEADBZLO.js";
505
513
  import {
506
514
  GoalConflictError,
507
515
  GoalInvalidTransitionError,
@@ -512,14 +520,14 @@ import {
512
520
  parseGoalSnapshotV2,
513
521
  parseGoalStateCause,
514
522
  wrapUserPromptSubmitContext
515
- } from "./chunk-WANR3VVK.js";
523
+ } from "./chunk-FN5C6C7G.js";
516
524
  import {
517
525
  APPROVAL_MODES
518
- } from "./chunk-3KV5KXKU.js";
526
+ } from "./chunk-BVE5EMIG.js";
519
527
  import "./chunk-MLXTMF7H.js";
520
528
  import "./chunk-NAVJD2PQ.js";
521
- import "./chunk-OY3ZSNQC.js";
522
- import "./chunk-AHQBSQYT.js";
529
+ import "./chunk-FVDQ5E67.js";
530
+ import "./chunk-V3GINY6K.js";
523
531
  import "./chunk-QHMLYMMS.js";
524
532
  import {
525
533
  AgentOutputMessageCapture,
@@ -528,32 +536,32 @@ import {
528
536
  addToolCallResultAttributes,
529
537
  registerAcpEventLoopLagGauge,
530
538
  startEventLoopLagMonitor
531
- } from "./chunk-JS55F2GJ.js";
539
+ } from "./chunk-SDVF6A42.js";
532
540
  import "./chunk-P3QQPMQA.js";
533
541
  import {
534
542
  addDaemonRequestAttribute,
535
543
  extractDaemonTraceContext,
536
544
  withDaemonSpan
537
- } from "./chunk-O5ONGZGZ.js";
545
+ } from "./chunk-ILPXSKGQ.js";
538
546
  import "./chunk-VNOVK4I7.js";
539
547
  import "./chunk-SAH4BD2J.js";
540
- import "./chunk-CZIF7I53.js";
548
+ import "./chunk-ZKAZP2ZG.js";
541
549
  import {
542
550
  runWithRuntimeContentGenerator
543
- } from "./chunk-OWE7TE3F.js";
551
+ } from "./chunk-DP7LABIB.js";
544
552
  import "./chunk-S6LOFUVP.js";
545
553
  import {
546
554
  REASONING_EFFORT_TIERS,
547
555
  applyReasoningEffort
548
556
  } from "./chunk-2LD5U7Q3.js";
549
557
  import "./chunk-DJ2GSRLV.js";
550
- import "./chunk-BOQRZ443.js";
558
+ import "./chunk-I6VVOZDK.js";
551
559
  import "./chunk-K2OJUPOE.js";
552
560
  import {
553
561
  getToolCallPreparations
554
562
  } from "./chunk-CFKIH3D3.js";
555
- import "./chunk-27HAGBZG.js";
556
- import "./chunk-JGDTCEBH.js";
563
+ import "./chunk-EB4VDXNI.js";
564
+ import "./chunk-FJWICLG7.js";
557
565
  import {
558
566
  ConversationFinishedEvent,
559
567
  DiscoveredMCPTool,
@@ -584,35 +592,35 @@ import {
584
592
  shouldRunVisionBridge,
585
593
  splitImageParts,
586
594
  uiTelemetryService
587
- } from "./chunk-EUZE3GSL.js";
595
+ } from "./chunk-UX3IFLJM.js";
588
596
  import "./chunk-YRLW2MSX.js";
589
597
  import "./chunk-VGC4I5JJ.js";
590
598
  import {
591
599
  getAllGeminiMdFilenames,
592
600
  getSpecificMimeType
593
- } from "./chunk-QKGJIP2H.js";
601
+ } from "./chunk-WBT3STGU.js";
594
602
  import {
595
603
  getAutoMemoryRoot,
596
604
  getUserAutoMemoryRoot
597
- } from "./chunk-MTKBZIXU.js";
605
+ } from "./chunk-PVBT5QPD.js";
598
606
  import {
599
607
  runSideQuery
600
- } from "./chunk-QQQSUCC4.js";
608
+ } from "./chunk-IPQA4SR5.js";
601
609
  import "./chunk-WZAD4ZNJ.js";
602
610
  import {
603
611
  DEFAULT_TOKEN_LIMIT,
604
612
  tokenLimit
605
613
  } from "./chunk-FPGTNKCP.js";
606
- import "./chunk-SIC4S3RX.js";
614
+ import "./chunk-SLEWBQWM.js";
607
615
  import {
608
616
  hasVertexProjectConfigured,
609
617
  preloadContentGenerator
610
- } from "./chunk-O6CS7VRT.js";
618
+ } from "./chunk-ICWGPK23.js";
611
619
  import "./chunk-XZA32HII.js";
612
- import "./chunk-UEY5WCRB.js";
620
+ import "./chunk-7QGEJI7M.js";
613
621
  import {
614
622
  AuthType
615
- } from "./chunk-FNZ42WN7.js";
623
+ } from "./chunk-GTUKW3I6.js";
616
624
  import "./chunk-HHJLM3WQ.js";
617
625
  import {
618
626
  endToolExecutionSpan,
@@ -624,17 +632,17 @@ import {
624
632
  startToolExecutionSpan,
625
633
  startToolSpan,
626
634
  withInteractionSpan
627
- } from "./chunk-ZJWFRMCY.js";
635
+ } from "./chunk-6US7BF3G.js";
628
636
  import "./chunk-74TONY4F.js";
629
- import "./chunk-DD5XZICM.js";
637
+ import "./chunk-VL4YX3FH.js";
630
638
  import {
631
639
  FORK_SUBAGENT_TYPE,
632
640
  getStartupContextLength,
633
641
  isSystemReminderContent
634
- } from "./chunk-COT2IXPM.js";
635
- import "./chunk-K623ENWT.js";
642
+ } from "./chunk-JUIJ3FXC.js";
643
+ import "./chunk-E6FGMDFQ.js";
636
644
  import "./chunk-AQ37AY7B.js";
637
- import "./chunk-SJLW5XGQ.js";
645
+ import "./chunk-RRKNX553.js";
638
646
  import {
639
647
  BaseDeclarativeTool,
640
648
  BaseToolInvocation,
@@ -642,7 +650,7 @@ import {
642
650
  ToolNames,
643
651
  canonicalToolName,
644
652
  isShellProgressData
645
- } from "./chunk-3LUGIYS3.js";
653
+ } from "./chunk-KOJ6MHD5.js";
646
654
  import {
647
655
  Storage,
648
656
  createDebugLogger,
@@ -650,11 +658,11 @@ import {
650
658
  getErrorStatus,
651
659
  isSubpath,
652
660
  sessionIdContext
653
- } from "./chunk-VLEGGCEA.js";
654
- import "./chunk-H3JIT2M6.js";
661
+ } from "./chunk-2NNTE2ED.js";
662
+ import "./chunk-NER3H7PI.js";
655
663
  import {
656
664
  runExitCleanup
657
- } from "./chunk-MFSV57XN.js";
665
+ } from "./chunk-EKP3M4RF.js";
658
666
  import {
659
667
  writeStderrLine,
660
668
  writeStderrLineSafe
@@ -1774,6 +1782,26 @@ var MessageEmitter = class extends BaseEmitter {
1774
1782
  })
1775
1783
  );
1776
1784
  }
1785
+ async emitVisionBridgeNotice(text, result) {
1786
+ await this.sendUpdate(
1787
+ createTranscriptMessageUpdate({
1788
+ role: "assistant",
1789
+ text,
1790
+ extra: {
1791
+ source: "vision_bridge_notice",
1792
+ qwenDiscreteMessage: true,
1793
+ visionBridgeNotice: {
1794
+ status: result.status,
1795
+ convertedCount: result.convertedCount,
1796
+ omittedCount: result.omittedCount,
1797
+ ...result.modelId ? { modelName: result.modelId.replace(/^[^:]+:/, "") } : {},
1798
+ ...result.modelEndpoint ? { modelEndpoint: result.modelEndpoint } : {},
1799
+ egressOccurred: result.egressOccurred === true
1800
+ }
1801
+ }
1802
+ })
1803
+ );
1804
+ }
1777
1805
  async emitSlashCommandOutput(text, timestamp) {
1778
1806
  const epochMs = BaseEmitter.toEpochMs(timestamp);
1779
1807
  await this.sendUpdate({
@@ -2471,16 +2499,23 @@ var LlmRewriter = class {
2471
2499
  this.contextTurns = rewriteConfig.contextTurns === "all" ? Infinity : rewriteConfig.contextTurns ?? 1;
2472
2500
  if (rewriteConfig.promptFile) {
2473
2501
  const filePath = resolve3(rewriteConfig.promptFile);
2474
- if (existsSync(filePath)) {
2475
- this.prompt = readFileSync(filePath, "utf-8").trim();
2476
- debugLogger4.info(
2477
- `Loaded rewrite prompt from file: ${filePath} (${this.prompt.length} chars)`
2478
- );
2479
- } else {
2502
+ if (!existsSync(filePath)) {
2480
2503
  debugLogger4.warn(
2481
2504
  `Rewrite prompt file not found: ${filePath}, using default`
2482
2505
  );
2483
2506
  this.prompt = DEFAULT_REWRITE_PROMPT;
2507
+ } else {
2508
+ try {
2509
+ this.prompt = readFileSync(filePath, "utf-8").trim();
2510
+ debugLogger4.info(
2511
+ `Loaded rewrite prompt from file: ${filePath} (${this.prompt.length} chars)`
2512
+ );
2513
+ } catch (error) {
2514
+ debugLogger4.warn(
2515
+ `Rewrite prompt file could not be read: ${filePath} (${error instanceof Error ? error.message : String(error)}), using default`
2516
+ );
2517
+ this.prompt = DEFAULT_REWRITE_PROMPT;
2518
+ }
2484
2519
  }
2485
2520
  } else {
2486
2521
  this.prompt = rewriteConfig.prompt || DEFAULT_REWRITE_PROMPT;
@@ -2607,7 +2642,8 @@ var MessageRewriteMiddleware = class {
2607
2642
  const content = updateRecord["content"];
2608
2643
  const text = content?.["text"] ?? "";
2609
2644
  await this.sendUpdate(update);
2610
- if (updateType === "agent_message_chunk" && updateRecord["_meta"]?.["source"] === "slash_command") {
2645
+ const source = updateRecord["_meta"]?.["source"];
2646
+ if (updateType === "agent_message_chunk" && (source === "slash_command" || source === "vision_bridge_notice")) {
2611
2647
  return;
2612
2648
  }
2613
2649
  let didAccumulate = false;
@@ -7528,7 +7564,8 @@ ${this.pendingRecoveredAgentsNotice}
7528
7564
  const reasonClause = compressed.triggerReason === "image_overflow" ? `accumulated enough tool screenshots to trigger compaction for ${this.config.getModel()}` : `approached the input token limit for ${this.config.getModel()}`;
7529
7565
  const warningSuffix = compressed.warning ? `
7530
7566
  \u26A0\uFE0F ${compressed.warning}` : "";
7531
- compressionDiagnostic = `IMPORTANT: This conversation ${reasonClause}. A compressed context will be sent for future messages (compressed from: ${compressed.originalTokenCount ?? "unknown"} to ${compressed.newTokenCount ?? "unknown"} tokens).` + warningSuffix;
7567
+ const formatCount = /* @__PURE__ */ __name((count, isEstimated) => count === void 0 ? "unknown" : isEstimated ? `~${count}` : String(count), "formatCount");
7568
+ compressionDiagnostic = `IMPORTANT: This conversation ${reasonClause}. A compressed context will be sent for future messages (compressed from: ${formatCount(compressed.originalTokenCount, compressed.originalTokenCountIsEstimated)} to ${formatCount(compressed.newTokenCount, compressed.newTokenCountIsEstimated)} tokens).` + warningSuffix;
7532
7569
  }
7533
7570
  } catch (compressionError) {
7534
7571
  if (abortSignal.aborted) {
@@ -11770,8 +11807,9 @@ ${contextPart.text}`
11770
11807
  );
11771
11808
  if (bridgeResult.status !== "skipped" || bridgeResult.egressOccurred) {
11772
11809
  try {
11773
- await this.messageEmitter.emitAgentMessage(
11774
- formatVisionBridgeNotice(bridgeResult)
11810
+ await this.messageEmitter.emitVisionBridgeNotice(
11811
+ formatVisionBridgeNotice(bridgeResult),
11812
+ bridgeResult
11775
11813
  );
11776
11814
  } catch (error) {
11777
11815
  debugLogger6.debug(
@@ -13687,15 +13725,12 @@ function getLoadReplayPageSize(params) {
13687
13725
  return value;
13688
13726
  }
13689
13727
  __name(getLoadReplayPageSize, "getLoadReplayPageSize");
13690
- function deriveForkBaseName(name, recording, sessionId) {
13691
- if (typeof name === "string" && name.trim().length > 0) {
13692
- return name.trim();
13693
- }
13694
- const existingTitle = recording?.getCurrentCustomTitle();
13695
- const stripped = existingTitle?.replace(/\s*\(Branch(?:\s+\d+)?\)\s*$/, "").trim();
13696
- return stripped && stripped.length > 0 ? stripped : sessionId.slice(0, 8);
13728
+ function normalizeRequestedBranchName(value) {
13729
+ if (typeof value !== "string") return void 0;
13730
+ const normalized = value.trim();
13731
+ return normalized || void 0;
13697
13732
  }
13698
- __name(deriveForkBaseName, "deriveForkBaseName");
13733
+ __name(normalizeRequestedBranchName, "normalizeRequestedBranchName");
13699
13734
  function createHiddenWorkspaceMemoryConfig(config) {
13700
13735
  return new Proxy(config, {
13701
13736
  get(target, prop) {
@@ -15104,8 +15139,10 @@ function parseAcpSessionListCursor(value) {
15104
15139
  }
15105
15140
  __name(parseAcpSessionListCursor, "parseAcpSessionListCursor");
15106
15141
  function isOwnerOnlyDirectory(stats) {
15107
- if (process.platform === "win32") return false;
15108
15142
  if (stats.isSymbolicLink() || !stats.isDirectory()) return false;
15143
+ if (process.platform === "win32") {
15144
+ return true;
15145
+ }
15109
15146
  if (typeof process.getuid === "function" && stats.uid !== process.getuid()) {
15110
15147
  return false;
15111
15148
  }
@@ -15915,6 +15952,27 @@ var QwenAgent = class {
15915
15952
  runWithPinnedRuntimeBaseDir(settings, cwd, operation) {
15916
15953
  return runWithAcpRuntimeOutputDir(settings, cwd, operation);
15917
15954
  }
15955
+ /**
15956
+ * Whether an ungated restore replay (qwen/session/loadUpdates) may
15957
+ * finalize dangling tool calls. A session with an active turn — a client
15958
+ * prompt or an autonomous goal/cron/notification turn — may still owe the
15959
+ * trailing call's result, so the replay keeps it pending and lets the
15960
+ * live stream deliver it (#9704). Samples the turn state before the
15961
+ * transcript read and again at replay time so a turn that starts or
15962
+ * settles inside the read window is seen. Not for the live loadSession
15963
+ * path: that restore runs under the close gate, which drains active
15964
+ * turns, blocks new ones, and reports closing=true — so isTurnIdle()
15965
+ * there is structurally false and would keep genuinely abandoned calls
15966
+ * pending forever.
15967
+ */
15968
+ finalizeDanglingForRestore(session, turnIdleBeforeRead) {
15969
+ const idleAtReplay = session?.isTurnIdle() ?? true;
15970
+ const finalize = turnIdleBeforeRead && idleAtReplay;
15971
+ debugLogger9.debug(
15972
+ `[ACP] restore replay finalizeDangling=${finalize} (idleBeforeRead=${turnIdleBeforeRead}, idleAtReplay=${idleAtReplay}) session=${session?.getId() ?? "(non-live)"}`
15973
+ );
15974
+ return finalize;
15975
+ }
15918
15976
  async assertLiveSessionScope(config, settings, cwd) {
15919
15977
  if (path6.resolve(config.storage.getProjectRoot()) !== path6.resolve(cwd)) {
15920
15978
  throw RequestError.invalidParams(
@@ -15985,7 +16043,7 @@ var QwenAgent = class {
15985
16043
  }
15986
16044
  this.clientCapabilities = args.clientCapabilities;
15987
16045
  const authMethods = buildAuthMethods();
15988
- const version = "0.22.0-nightly.20260825.22bb5e8b9f";
16046
+ const version = "0.22.1";
15989
16047
  const response = {
15990
16048
  protocolVersion: PROTOCOL_VERSION,
15991
16049
  agentInfo: {
@@ -16033,6 +16091,8 @@ var QwenAgent = class {
16033
16091
  const activeWorkCategories = activeWorkRequested ? Array.isArray(requestedActiveWorkCategories) ? ACTIVE_WORK_HOLD_CATEGORIES.filter(
16034
16092
  (category) => requestedActiveWorkCategories.includes(category)
16035
16093
  ) : ACTIVE_WORK_LEGACY_HOLD_CATEGORIES : void 0;
16094
+ const requestedChannelLiveness = args._meta?.[CHANNEL_LIVENESS_META_KEY];
16095
+ const channelLivenessRequested = requestedChannelLiveness !== null && typeof requestedChannelLiveness === "object" && !Array.isArray(requestedChannelLiveness) && requestedChannelLiveness["v"] === CHANNEL_LIVENESS_VERSION;
16036
16096
  if (activeWorkIntervalMs !== void 0) {
16037
16097
  this.activeWorkReporter?.dispose();
16038
16098
  this.activeWorkReporter = new ActiveWorkReporter(
@@ -16053,6 +16113,11 @@ var QwenAgent = class {
16053
16113
  intervalMs: activeWorkIntervalMs,
16054
16114
  categories: [...activeWorkCategories ?? []]
16055
16115
  }
16116
+ } : {},
16117
+ ...channelLivenessRequested ? {
16118
+ [CHANNEL_LIVENESS_META_KEY]: {
16119
+ v: CHANNEL_LIVENESS_VERSION
16120
+ }
16056
16121
  } : {}
16057
16122
  };
16058
16123
  return Object.keys(responseMeta).length > 0 ? { ...response, _meta: responseMeta } : response;
@@ -16233,6 +16298,13 @@ var QwenAgent = class {
16233
16298
  replayState: replayPage.replay,
16234
16299
  goalBootstrap: replayGoalBootstrap(projection),
16235
16300
  suppressRestoreAskUserQuestion,
16301
+ // The restore gate already drained active turns and blocks
16302
+ // new ones (and a drain timeout rejects before replay), so
16303
+ // a trailing unmatched call here is genuinely abandoned —
16304
+ // finalize it. The turn-activity guard cannot be sampled
16305
+ // under the gate: isTurnIdle() is structurally false while
16306
+ // the close gate is held (#9704).
16307
+ finalizeDangling: true,
16236
16308
  ...restoreOptions.replay.kind === "recent" ? {
16237
16309
  limits: {
16238
16310
  maxBytes: LOAD_REPLAY_MAX_BYTES,
@@ -18597,6 +18669,16 @@ var QwenAgent = class {
18597
18669
  const cwd = requestedCwd || process.cwd();
18598
18670
  const SESSION_ID_RE = /^[0-9a-fA-F-]{32,36}$/;
18599
18671
  switch (method) {
18672
+ case SERVE_STATUS_EXT_METHODS.channelPing: {
18673
+ const nonce = params["nonce"];
18674
+ if (params["v"] !== CHANNEL_LIVENESS_VERSION || typeof nonce !== "number" || !Number.isSafeInteger(nonce) || nonce < 0) {
18675
+ throw RequestError.invalidParams(
18676
+ void 0,
18677
+ "Invalid channel liveness ping"
18678
+ );
18679
+ }
18680
+ return { v: CHANNEL_LIVENESS_VERSION, nonce };
18681
+ }
18600
18682
  case PROMPT_CANCEL_METHOD: {
18601
18683
  const sessionId = params["sessionId"];
18602
18684
  if (typeof sessionId !== "string" || sessionId.length === 0) {
@@ -21373,6 +21455,7 @@ ${outputText}
21373
21455
  );
21374
21456
  }
21375
21457
  const liveSession = this.sessions.get(sessionId);
21458
+ const turnIdleBeforeRead = liveSession?.isTurnIdle() ?? true;
21376
21459
  let replayConfig = this.config;
21377
21460
  let sessionData;
21378
21461
  if (liveSession) {
@@ -21409,7 +21492,14 @@ ${outputText}
21409
21492
  logger: debugLogger9,
21410
21493
  // Read-only history dump never re-hangs the question. Skip
21411
21494
  // finalize only on load/resume that will actually restore.
21412
- suppressRestoreAskUserQuestion: true
21495
+ suppressRestoreAskUserQuestion: true,
21496
+ // Ungated read: unlike the live loadSession restore (whose gate
21497
+ // drains turns), a turn may still be running here, so guard on
21498
+ // turn activity instead of finalizing unconditionally (#9704).
21499
+ finalizeDangling: this.finalizeDanglingForRestore(
21500
+ liveSession,
21501
+ turnIdleBeforeRead
21502
+ )
21413
21503
  });
21414
21504
  return {
21415
21505
  updates: replay.updates,
@@ -21503,11 +21593,12 @@ ${outputText}
21503
21593
  const sourceConfig2 = sourceSession.getConfig();
21504
21594
  const recording2 = sourceConfig2.getChatRecordingService();
21505
21595
  const sessionService2 = sourceConfig2.getSessionService();
21506
- const baseName = deriveForkBaseName(
21507
- name,
21508
- recording2,
21509
- sessionId
21510
- );
21596
+ const requestedName2 = normalizeRequestedBranchName(name);
21597
+ const sourceCustomTitle = requestedName2 === void 0 ? recording2?.getCurrentCustomTitle() : void 0;
21598
+ const persistedDisplayName = requestedName2 === void 0 && sourceCustomTitle === void 0 ? await sessionService2.getSessionDisplayName(sessionId) : void 0;
21599
+ const sourceDisplayName = sourceCustomTitle ?? persistedDisplayName;
21600
+ const derivedBaseName = sourceCustomTitle ? normalizeDerivedBranchTitle(sourceCustomTitle) : sourceDisplayName;
21601
+ const baseName = requestedName2 ?? (derivedBaseName?.trim() || void 0) ?? sessionId.slice(0, 8);
21511
21602
  const title2 = await computeUniqueBranchTitle(
21512
21603
  baseName,
21513
21604
  sessionService2
@@ -21542,7 +21633,12 @@ ${outputText}
21542
21633
  const recording = sourceConfig.getChatRecordingService();
21543
21634
  if (recording) await recording.flush();
21544
21635
  const sessionService = sourceConfig.getSessionService();
21545
- const title = deriveForkBaseName(name, recording, sessionId);
21636
+ const requestedName = normalizeRequestedBranchName(name);
21637
+ let title = requestedName;
21638
+ if (title === void 0) {
21639
+ const sourceCustomTitle = recording?.getCurrentCustomTitle();
21640
+ title = sourceCustomTitle ? normalizeDerivedBranchTitle(sourceCustomTitle) ?? sessionId.slice(0, 8) : sessionId.slice(0, 8);
21641
+ }
21546
21642
  const newSessionId = randomUUID2();
21547
21643
  const fork = /* @__PURE__ */ __name(() => sessionService.forkSession(sessionId, newSessionId, {
21548
21644
  source: {