@qwen-code/qwen-code 0.22.0 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (449) hide show
  1. package/bundled/computer-use/SKILL.md +229 -0
  2. package/bundled/computer-use/agents/openai.yaml +4 -0
  3. package/bundled/coordinate/SKILL.md +5 -5
  4. package/bundled/qc-helper/docs/configuration/auth.md +7 -7
  5. package/bundled/qc-helper/docs/configuration/model-providers.md +70 -9
  6. package/bundled/qc-helper/docs/configuration/settings.md +40 -40
  7. package/bundled/qc-helper/docs/extension/introduction.md +3 -1
  8. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -0
  10. package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
  11. package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
  12. package/bundled/qc-helper/docs/features/code-review.md +25 -21
  13. package/bundled/qc-helper/docs/features/commands.md +2 -2
  14. package/bundled/qc-helper/docs/features/computer-use.md +57 -51
  15. package/bundled/qc-helper/docs/features/mcp.md +35 -12
  16. package/bundled/qc-helper/docs/features/sub-agents.md +1 -1
  17. package/bundled/qc-helper/docs/features/worktree.md +1 -1
  18. package/bundled/qc-helper/docs/overview.md +1 -1
  19. package/bundled/qc-helper/docs/quickstart.md +1 -1
  20. package/bundled/qc-helper/docs/qwen-serve.md +29 -6
  21. package/bundled/review/SKILL.md +119 -417
  22. package/bundled/review/references/aone.md +18 -0
  23. package/bundled/review/references/persistence.md +105 -0
  24. package/bundled/review/references/posting.md +270 -0
  25. package/chunks/MaxSizedBox-UUTUE42J.js +112 -0
  26. package/chunks/{StandaloneSessionPicker-KTHPCSR6.js → StandaloneSessionPicker-XF2TVJFK.js} +87 -86
  27. package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
  28. package/chunks/{acpAgent-CRY3JZ5O.js → acpAgent-GY53MJIW.js} +2216 -1931
  29. package/chunks/agent-7U6CC5KF.js +97 -0
  30. package/chunks/agent-headless-32O4L2CT.js +87 -0
  31. package/chunks/{anthropicContentGenerator-Y2OX6LS4.js → anthropicContentGenerator-U76GTVB6.js} +128 -58
  32. package/chunks/{artifact-tool-SBXMTVCB.js → artifact-tool-XDJCZZCF.js} +2 -2
  33. package/chunks/{askUserQuestion-KEQJRFD6.js → askUserQuestion-ZXXERLEV.js} +2 -2
  34. package/chunks/bridge-DFX2FFH4.js +119 -0
  35. package/chunks/{ca-D3F4S6NG.js → ca-7HPYOYSZ.js} +3 -0
  36. package/chunks/{channel-management-service-IRTT7RNE.js → channel-management-service-HXXS3HOZ.js} +4 -4
  37. package/chunks/channel-settings-store-ELLH2M4M.js +117 -0
  38. package/chunks/{channel-worker-group-BJNMR2MP.js → channel-worker-group-EVDC2P4K.js} +8 -7
  39. package/chunks/{channel-worker-manager-EMA7CQDJ.js → channel-worker-manager-IJJZHGEI.js} +8 -7
  40. package/chunks/{channel-worker-supervisor-F6I6WSWW.js → channel-worker-supervisor-YSKB5GVB.js} +12 -7
  41. package/chunks/{chunk-2TRNCJK4.js → chunk-27ONXAFY.js} +1 -1
  42. package/chunks/{chunk-OVH5Y7KS.js → chunk-2CRNTW2B.js} +19 -3
  43. package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
  44. package/chunks/{chunk-DB2OKNTU.js → chunk-2FN2HNTI.js} +2 -2
  45. package/chunks/{chunk-KM73TBQ4.js → chunk-2LD5U7Q3.js} +31 -0
  46. package/chunks/{chunk-QJHPWLZC.js → chunk-2MHGD7EE.js} +1 -1
  47. package/chunks/{chunk-BMCSKS37.js → chunk-2NCVUT3C.js} +6 -6
  48. package/chunks/{chunk-A5F2YNO6.js → chunk-2NNTE2ED.js} +245 -10
  49. package/chunks/{chunk-Z3JMO2CH.js → chunk-2SERYG4T.js} +1 -1
  50. package/chunks/{chunk-4J7OPYNS.js → chunk-2YDYDDE2.js} +6 -6
  51. package/chunks/{chunk-PXOJLJ5W.js → chunk-2YEZNBSD.js} +333 -184
  52. package/chunks/{chunk-UU4WC7DK.js → chunk-2ZV3CZKI.js} +82 -12
  53. package/chunks/{chunk-SE55HQGF.js → chunk-3B5DCAQU.js} +74 -52
  54. package/chunks/{chunk-UIRLQ3N7.js → chunk-3BV7TZNQ.js} +3 -3
  55. package/chunks/{chunk-2Z6LSQMF.js → chunk-3FSBMAYD.js} +1 -1
  56. package/chunks/{chunk-DJEHYM4H.js → chunk-3UZCLCXR.js} +3 -3
  57. package/chunks/{chunk-WWUSHZ7M.js → chunk-43C2II2G.js} +5 -5
  58. package/chunks/{chunk-2GXYDNXP.js → chunk-47SIHHPL.js} +8 -8
  59. package/chunks/{chunk-PHJJ3RVO.js → chunk-4DCP3362.js} +7 -15
  60. package/chunks/chunk-4K7NQDCG.js +104 -0
  61. package/chunks/{chunk-UZPYR3EV.js → chunk-4TPAG3O7.js} +1 -1
  62. package/chunks/{chunk-BEGIBJAZ.js → chunk-5CI4AXDD.js} +4 -4
  63. package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
  64. package/chunks/{chunk-7HFULI45.js → chunk-5MK32KJV.js} +3 -3
  65. package/chunks/{chunk-CXJHQVEK.js → chunk-5PA6UEYA.js} +4 -0
  66. package/chunks/{chunk-IBJ5S45N.js → chunk-5T4LWWNX.js} +2 -2
  67. package/chunks/{chunk-VUMLT7E5.js → chunk-5Y2JCJAH.js} +2 -2
  68. package/chunks/{chunk-YZBDKFRQ.js → chunk-5ZYZPDDF.js} +993 -895
  69. package/chunks/{chunk-2A4C2MEG.js → chunk-62PXFOK4.js} +35 -12
  70. package/chunks/{chunk-IIWGSX4L.js → chunk-6E4WHQJV.js} +1 -1
  71. package/chunks/{chunk-6PCOVQO2.js → chunk-6HTMIKXZ.js} +8 -8
  72. package/chunks/{chunk-RDG44S5I.js → chunk-6KS24S3X.js} +2 -2
  73. package/chunks/{chunk-GAHYKJPV.js → chunk-6US7BF3G.js} +7 -59
  74. package/chunks/{chunk-MHG6NDS6.js → chunk-6YAR6ZU3.js} +2 -2
  75. package/chunks/{chunk-3CLIDIVQ.js → chunk-73WFGVIZ.js} +3 -3
  76. package/chunks/{chunk-ZZUVC6RI.js → chunk-76WGY6LW.js} +3 -3
  77. package/chunks/{chunk-XLDFW44M.js → chunk-77TOMRBG.js} +3 -3
  78. package/chunks/{chunk-PDL6LKB5.js → chunk-7AS7QX72.js} +1 -1
  79. package/chunks/{chunk-ND7NOI4P.js → chunk-7CWEZQ6T.js} +0 -15
  80. package/chunks/{chunk-DWCKACFL.js → chunk-7DPKPBOQ.js} +2 -2
  81. package/chunks/{chunk-45NQKMYB.js → chunk-7JPW6IYH.js} +1 -1
  82. package/chunks/{chunk-HDKCKCYO.js → chunk-7QGEJI7M.js} +1 -1
  83. package/chunks/{chunk-S4C4JJKE.js → chunk-A7X32SCT.js} +5 -5
  84. package/chunks/{chunk-O5Z7EB6Y.js → chunk-AYHQZBJ4.js} +170 -207
  85. package/chunks/{chunk-7DYNJFES.js → chunk-AYVIGUUK.js} +6 -1
  86. package/chunks/{chunk-7DMTAQJ6.js → chunk-BDHLBR46.js} +132 -49
  87. package/chunks/{chunk-43T5WDQ7.js → chunk-BFSFJR3D.js} +1 -1
  88. package/chunks/{chunk-AP3B7LKD.js → chunk-BKDAF7ES.js} +2 -2
  89. package/chunks/{chunk-B6UBOIFE.js → chunk-BQBUZDDH.js} +14 -11
  90. package/chunks/{chunk-VLRBJ24J.js → chunk-BVE5EMIG.js} +2 -2
  91. package/chunks/{chunk-P47E4SJC.js → chunk-BX2BZPFJ.js} +3 -3
  92. package/chunks/{chunk-OARZJFZX.js → chunk-C4WBKZJT.js} +4 -4
  93. package/chunks/{chunk-QKBYFU2Q.js → chunk-CFKIH3D3.js} +21 -1
  94. package/chunks/{chunk-URN2JIAQ.js → chunk-CITGRGCM.js} +2 -1
  95. package/chunks/{chunk-WU5E4HMO.js → chunk-CPPYZHBN.js} +1 -1
  96. package/chunks/chunk-DCSAVGDJ.js +20 -0
  97. package/chunks/{chunk-Q54XG7IX.js → chunk-DEYPMJPD.js} +1 -1
  98. package/chunks/{chunk-KSPRQSB4.js → chunk-DIMEPKCW.js} +52 -12
  99. package/chunks/{chunk-I432KXWD.js → chunk-DP7LABIB.js} +1 -1
  100. package/chunks/{chunk-36OF5PRW.js → chunk-E4I5MVBR.js} +7 -3
  101. package/chunks/{chunk-AW27A43Y.js → chunk-E55H6BZ7.js} +93 -1
  102. package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
  103. package/chunks/{chunk-5XUTPXQU.js → chunk-EAV3TENS.js} +6 -9
  104. package/chunks/{chunk-LI4YHTQK.js → chunk-EB4VDXNI.js} +1 -1
  105. package/chunks/{chunk-JOLJTKIG.js → chunk-EC5BONC3.js} +1 -1
  106. package/chunks/{chunk-25NESM4G.js → chunk-EEQYTWGU.js} +29 -5
  107. package/chunks/{chunk-4CWDWDL6.js → chunk-EKP3M4RF.js} +1 -1
  108. package/chunks/{chunk-W4CRPSC5.js → chunk-ELY4QVIB.js} +1 -1
  109. package/chunks/{chunk-BB5IMQCV.js → chunk-EMGAVCBZ.js} +2 -2
  110. package/chunks/chunk-FBX2SDQ4.js +48 -0
  111. package/chunks/{chunk-C72BXMJ5.js → chunk-FJWICLG7.js} +1 -1
  112. package/chunks/{chunk-6FRJEE2S.js → chunk-FK4H3V6S.js} +5 -5
  113. package/chunks/{chunk-LDGWX737.js → chunk-FN5C6C7G.js} +160 -59
  114. package/chunks/{chunk-3ZFJUBTP.js → chunk-FPH6TXD3.js} +1 -1
  115. package/chunks/{chunk-WRT324N6.js → chunk-FVDQ5E67.js} +3 -3
  116. package/chunks/{chunk-VFACN2CE.js → chunk-GNMJNDZE.js} +1 -1
  117. package/chunks/{chunk-FVBVJEBG.js → chunk-GNRVKN76.js} +10 -8
  118. package/chunks/{chunk-PZRUV52H.js → chunk-GTUKW3I6.js} +20 -2
  119. package/chunks/chunk-GYTKQYDB.js +23 -0
  120. package/chunks/{chunk-VMJL7RH6.js → chunk-GZJUCMH4.js} +4 -4
  121. package/chunks/{chunk-MQP3MHWN.js → chunk-HJOWQUE2.js} +21 -15
  122. package/chunks/{chunk-ZS5BHEPD.js → chunk-I32QCIK7.js} +1 -1
  123. package/chunks/{chunk-7IV52LTO.js → chunk-I6VVOZDK.js} +2 -2
  124. package/chunks/{chunk-X7V3N6YH.js → chunk-I6YW3T3W.js} +218 -37
  125. package/chunks/{chunk-2E3V7G6Y.js → chunk-ICWGPK23.js} +55 -50
  126. package/chunks/{chunk-SQS55KR4.js → chunk-IJVDHPKD.js} +2 -2
  127. package/chunks/{chunk-QS4ENGVF.js → chunk-IKN3IUJP.js} +9 -8
  128. package/chunks/{chunk-2UZJWSVD.js → chunk-ILPXSKGQ.js} +2 -2
  129. package/chunks/{chunk-ZRYQMWEP.js → chunk-IPQA4SR5.js} +2 -2
  130. package/chunks/{chunk-XYQHT3AW.js → chunk-IRIX323G.js} +2 -2
  131. package/chunks/{chunk-5HJUPACR.js → chunk-J7MLXFC5.js} +2 -2
  132. package/chunks/{chunk-AZF6SME3.js → chunk-JECO75XD.js} +3 -3
  133. package/chunks/chunk-JLGFGPZJ.js +346 -0
  134. package/chunks/{chunk-WZDM44SB.js → chunk-JUIJ3FXC.js} +7 -7
  135. package/chunks/{chunk-A6NRNRKE.js → chunk-JVPFTDBK.js} +1 -1
  136. package/chunks/{chunk-2J3OJGTL.js → chunk-K2OJUPOE.js} +1 -21
  137. package/chunks/{chunk-GHY5OIYP.js → chunk-K63NK3KL.js} +13 -13
  138. package/chunks/{chunk-7JBHIQS2.js → chunk-KCOXDRQL.js} +7 -13
  139. package/chunks/{chunk-6NFAEG54.js → chunk-KOJ6MHD5.js} +24 -13
  140. package/chunks/{chunk-WS7PAXXR.js → chunk-KWFP3WV6.js} +18 -13
  141. package/chunks/{chunk-A5F63FEW.js → chunk-L436XFLJ.js} +1 -1
  142. package/chunks/{chunk-KIVGVFMM.js → chunk-LI2HEMKO.js} +16 -4
  143. package/chunks/{chunk-GIWB5QLV.js → chunk-LJP2BBMK.js} +4 -4
  144. package/chunks/{create-sub-session-XBCVGNFU.js → chunk-LRKMQPMD.js} +4 -6
  145. package/chunks/{chunk-6UQSU7CQ.js → chunk-MDZO5V2O.js} +58 -107
  146. package/chunks/{chunk-AO4M6NMD.js → chunk-MW5AHWOZ.js} +60 -20
  147. package/chunks/{chunk-FYZMB6DB.js → chunk-MYLXL7F6.js} +11 -11
  148. package/chunks/{chunk-ZLCT4C5A.js → chunk-MZS7GEC7.js} +1 -1
  149. package/chunks/{chunk-VEND4KA4.js → chunk-NER3H7PI.js} +1 -1
  150. package/chunks/{chunk-AVCCKIZ6.js → chunk-NVK4HJYQ.js} +1 -1
  151. package/chunks/{chunk-MPHLIJYL.js → chunk-NY3IJYAV.js} +14 -8
  152. package/chunks/{chunk-XZJKSETB.js → chunk-O3BUXIPM.js} +3 -3
  153. package/chunks/{chunk-4XPSVIED.js → chunk-O5YGAEQS.js} +6 -6
  154. package/chunks/{chunk-NW35NVFN.js → chunk-ODXCSIH5.js} +4 -4
  155. package/chunks/{chunk-5XHAOUWD.js → chunk-OI2DR6QB.js} +3 -3
  156. package/chunks/{chunk-BUGYW6FB.js → chunk-OQ6LTSX3.js} +1 -1
  157. package/chunks/{chunk-J5ZDDUKM.js → chunk-OT26ITEY.js} +4 -4
  158. package/chunks/{chunk-EFB657PR.js → chunk-OX44MOAN.js} +3 -3
  159. package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
  160. package/chunks/{chunk-4F5WV4RF.js → chunk-PAJGKZAA.js} +281 -10
  161. package/chunks/{chunk-HIK2OF33.js → chunk-PVBT5QPD.js} +1 -1
  162. package/chunks/chunk-QHMLYMMS.js +32 -0
  163. package/chunks/{chunk-U2UYQMM6.js → chunk-R2ZJH3FV.js} +3 -3
  164. package/chunks/{chunk-K52PZNU4.js → chunk-RRKNX553.js} +2 -2
  165. package/chunks/chunk-RXFQM6FQ.js +42 -0
  166. package/chunks/{chunk-SJ4HB27T.js → chunk-SDVF6A42.js} +3 -3
  167. package/chunks/{chunk-TBVSALA3.js → chunk-SKNVVYIJ.js} +3 -3
  168. package/chunks/{chunk-JGUBDRBC.js → chunk-SLEWBQWM.js} +3 -3
  169. package/chunks/{chunk-ZRFUT5VV.js → chunk-SM7ZVKTF.js} +7 -7
  170. package/chunks/{chunk-UUQFJILB.js → chunk-SQPOJ4ZI.js} +15 -3
  171. package/chunks/{chunk-RPJQ3O4M.js → chunk-SRGENTPF.js} +31 -41
  172. package/chunks/{chunk-ISJMN3ML.js → chunk-T2CRBIDJ.js} +1 -1
  173. package/chunks/{chunk-MZKWFWVG.js → chunk-T2HMXHYA.js} +6 -6
  174. package/chunks/{chunk-FEMQ6Y7W.js → chunk-T6OODF2U.js} +47 -126
  175. package/chunks/{chunk-VYC7XFYV.js → chunk-TKO4TLT6.js} +5 -5
  176. package/chunks/{chunk-KVGR4MCF.js → chunk-TOF4UZHH.js} +3 -3
  177. package/chunks/{chunk-LD5VIJ7S.js → chunk-TWSKM647.js} +1 -1
  178. package/chunks/{chunk-7NBVNAJJ.js → chunk-UCSV2IZW.js} +3 -3
  179. package/chunks/{chunk-FDD2IUEL.js → chunk-UX3IFLJM.js} +229 -21
  180. package/chunks/{chunk-YDJRMQU4.js → chunk-V3GINY6K.js} +3 -3
  181. package/chunks/{chunk-XL5K4SVK.js → chunk-VL4YX3FH.js} +1 -1
  182. package/chunks/{chunk-62JOGZL5.js → chunk-VMDURMFY.js} +199 -87
  183. package/chunks/{chunk-OE52YHCZ.js → chunk-W2WRNJKX.js} +11 -11
  184. package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
  185. package/chunks/{chunk-IWOWEENB.js → chunk-WBT3STGU.js} +385 -25
  186. package/chunks/{chunk-S3G6YFQC.js → chunk-WEGXPP5E.js} +1 -1
  187. package/chunks/{chunk-RDQ7QB4Y.js → chunk-XJS54K4A.js} +2 -2
  188. package/chunks/{chunk-L4HVF7LM.js → chunk-XNXWEGKB.js} +3 -3
  189. package/chunks/{chunk-T6XLJRQY.js → chunk-XYX474JQ.js} +36509 -5182
  190. package/chunks/{chunk-F6WFNA7U.js → chunk-XZA32HII.js} +3 -6
  191. package/chunks/{chunk-NUGZAFR2.js → chunk-ZEADBZLO.js} +147 -6
  192. package/chunks/chunk-ZELCTN6Y.js +29 -0
  193. package/chunks/{chunk-TQOF5KBL.js → chunk-ZEZKIS2K.js} +0 -31
  194. package/chunks/{chunk-IOSEW6KP.js → chunk-ZJG323IA.js} +5 -4
  195. package/chunks/{chunk-VSNPOSDN.js → chunk-ZKAZP2ZG.js} +107 -12
  196. package/chunks/{chunk-YMVFIYHV.js → chunk-ZLTEQYNC.js} +2 -2
  197. package/chunks/{chunk-O5BDEWBC.js → chunk-ZWKGZB2K.js} +3 -3
  198. package/chunks/{chunk-6QSA4JHL.js → chunk-ZXDM7DYV.js} +2772 -814
  199. package/chunks/chunk-ZYNTSXWK.js +32 -0
  200. package/chunks/config-utils-7M6PCTLT.js +113 -0
  201. package/chunks/contextCommand-G4QG3TW6.js +108 -0
  202. package/chunks/{core-runtime-CES6JSVV.js → core-runtime-PKNQ63VL.js} +63 -58
  203. package/chunks/{create-sub-session-UJTPMVOG.js → create-sub-session-PLGPY6TV.js} +60 -58
  204. package/chunks/create-sub-session-RVHSWVAP.js +17 -0
  205. package/chunks/{cron-create-IKA56DAF.js → cron-create-IJGVR5R2.js} +4 -4
  206. package/chunks/{cron-delete-K5Q62EGH.js → cron-delete-4N5BI6GL.js} +4 -4
  207. package/chunks/{cron-list-QBFGAMP7.js → cron-list-2CATIPUX.js} +4 -4
  208. package/chunks/{daemon-RZZUPGOJ.js → daemon-NAYK4XXU.js} +51 -24
  209. package/chunks/{daemon-git-worktree-guard-3QY2BQYB.js → daemon-git-worktree-guard-LDBJXH2U.js} +338 -92
  210. package/chunks/daemon-status-provider-F5FEHVVG.js +118 -0
  211. package/chunks/daemon-trust-policy-C6YTU5CQ.js +114 -0
  212. package/chunks/{daemon-trust-policy-monitor-TK4K7M63.js → daemon-trust-policy-monitor-IGEJPHQ4.js} +68 -66
  213. package/chunks/{de-RYUHH2C6.js → de-X6HLSIFE.js} +1 -0
  214. package/chunks/deferred-core-runtime-GHT3GDOR.js +116 -0
  215. package/chunks/{display-image-OEJMJV3S.js → display-image-DR55LL6M.js} +5 -5
  216. package/chunks/dist-4Q7NTUNB.js +2512 -0
  217. package/chunks/{dist-ESS34DHC.js → dist-6H6RZ5H6.js} +2 -2
  218. package/chunks/{dist-LZO24N3E.js → dist-7CKN54NL.js} +1 -1
  219. package/chunks/{dist-5EV2G6MC.js → dist-DJBNNPLN.js} +1 -1
  220. package/chunks/{dist-J6P3C52Z.js → dist-FVJZSIO4.js} +28 -7
  221. package/chunks/{dist-K7IQB53U.js → dist-SATKXKUR.js} +1 -1
  222. package/chunks/{dist-ES6HNUW2.js → dist-TJUDJTCB.js} +246 -17
  223. package/chunks/{dist-VVQBOKDH.js → dist-UQUFZDIY.js} +1 -1
  224. package/chunks/{dist-2OG3PGKO.js → dist-ZBVOXSKF.js} +3 -3
  225. package/chunks/earlyInputCapture-HOSJTLWP.js +109 -0
  226. package/chunks/{edit-A2633SLR.js → edit-KSPVUEAS.js} +48 -48
  227. package/chunks/{en-3RHLPITS.js → en-6MDBWMTG.js} +3 -0
  228. package/chunks/{enter-worktree-OIAHE2TB.js → enter-worktree-UOZ6ZTP7.js} +7 -8
  229. package/chunks/{enterPlanMode-SUGIKLR7.js → enterPlanMode-DZTABSKN.js} +47 -47
  230. package/chunks/environment-JXOSW25V.js +131 -0
  231. package/chunks/errors-IOXFDE4J.js +115 -0
  232. package/chunks/{exit-worktree-3UT3SSWT.js → exit-worktree-G2QATUCV.js} +7 -8
  233. package/chunks/exitPlanMode-PZG4FXRB.js +85 -0
  234. package/chunks/{fast-path-3AVP3G35.js → fast-path-EBS7NAVL.js} +28 -7
  235. package/chunks/{fast-path-settings-WHX3J3ZI.js → fast-path-settings-XMFBYFUH.js} +2 -2
  236. package/chunks/{fr-4PL5GHG4.js → fr-FTZWF462.js} +1 -0
  237. package/chunks/{gemini-7PVQWHTH.js → gemini-JELEKOVS.js} +129 -123
  238. package/chunks/{geminiContentGenerator-B2FOJJDJ.js → geminiContentGenerator-I2CKP7XI.js} +16 -13
  239. package/chunks/{glob-7YGXE6OV.js → glob-TDVEVPQZ.js} +47 -47
  240. package/chunks/{goal-tools-TLJCE7YZ.js → goal-tools-CNVXMSZD.js} +72 -28
  241. package/chunks/{grep-6DV6LTON.js → grep-3NLSS32D.js} +6 -6
  242. package/chunks/handleAutoUpdate-AWAGHKOX.js +111 -0
  243. package/chunks/i18n-CYA25C5F.js +126 -0
  244. package/chunks/{image-gen-7CSCJ73T.js → image-gen-63NN2H5N.js} +9 -11
  245. package/chunks/initializer-JD2FLNLO.js +115 -0
  246. package/chunks/installationInfo-N3DCWVWR.js +109 -0
  247. package/chunks/{ja-HZ7X7PQO.js → ja-2GL5FKYJ.js} +1 -0
  248. package/chunks/{keychain-token-storage-MTFTAESK.js → keychain-token-storage-3MGFRYGM.js} +2 -2
  249. package/chunks/list-XDQAUET5.js +118 -0
  250. package/chunks/{list-agents-43XUEXJV.js → list-agents-EXRSHIDJ.js} +2 -2
  251. package/chunks/loadedSettingsAdapter-IK7H5JRK.js +112 -0
  252. package/chunks/{loggingContentGenerator-RNE66CKK.js → loggingContentGenerator-CZWUAHAI.js} +27 -30
  253. package/chunks/{loop-wakeup-E54KDUXC.js → loop-wakeup-XBPB2BRO.js} +5 -5
  254. package/chunks/{ls-CGL2UC3H.js → ls-WFONAND2.js} +4 -4
  255. package/chunks/{lsp-5IKUO5DX.js → lsp-DUKPDUXN.js} +2 -2
  256. package/chunks/{managed-npm-update-Y3SC3GLJ.js → managed-npm-update-54W23SP5.js} +61 -59
  257. package/chunks/mcp-2E7ZLMEE.js +112 -0
  258. package/chunks/{monitor-PXYSGSUN.js → monitor-A4J5QRGJ.js} +47 -47
  259. package/chunks/nonInteractiveCli-ZNDXB62Y.js +185 -0
  260. package/chunks/{notebook-edit-ISIBJVBR.js → notebook-edit-4ANFZON5.js} +48 -48
  261. package/chunks/open-with-auth-4UI3KHUR.js +55 -0
  262. package/chunks/{openaiContentGenerator-6TBOPEGT.js → openaiContentGenerator-JCCJJQZC.js} +29 -30
  263. package/chunks/pidfile-DHV2Y7UD.js +113 -0
  264. package/chunks/{processUtils-YK2TDTTU.js → processUtils-JJAR56SO.js} +2 -2
  265. package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +107 -0
  266. package/chunks/{pt-QT5N2Q6Q.js → pt-XN2YWJVM.js} +1 -0
  267. package/chunks/{qwenContentGenerator-CLDMA2Y4.js → qwenContentGenerator-5JM44ZSA.js} +53 -59
  268. package/chunks/{qwenOAuth2-DLDR6UC5.js → qwenOAuth2-JIYAWXTW.js} +8 -10
  269. package/chunks/{read-file-2HOD2ATO.js → read-file-N3E5DY7N.js} +13 -14
  270. package/chunks/{read-mcp-resource-XYES2B42.js → read-mcp-resource-7A7NFSFL.js} +2 -2
  271. package/chunks/read-package-up-6T6ICKR7.js +13 -0
  272. package/chunks/{record-artifact-W3IBTGL7.js → record-artifact-CPJ4IJSD.js} +4 -5
  273. package/chunks/report-findings-VFM5DENC.js +33 -0
  274. package/chunks/request-shutdown-AXVOFN5C.js +133 -0
  275. package/chunks/resumeHistoryUtils-YQRITQAG.js +120 -0
  276. package/chunks/ripGrep-NEIHKBKB.js +39 -0
  277. package/chunks/{ru-STMG5BPD.js → ru-OLTMFJEW.js} +1 -0
  278. package/chunks/{run-qwen-serve-XJHOW2NY.js → run-qwen-serve-IWGPZADI.js} +622 -79
  279. package/chunks/{runtime-J4SPTJRQ.js → runtime-I76HPFUE.js} +73 -71
  280. package/chunks/{scheduler-VRAEZZ4E.js → scheduler-M6YL4K4I.js} +62 -60
  281. package/chunks/{sdk-exporters-http-RSIOP3G2.js → sdk-exporters-http-XXSKBD2C.js} +5 -5
  282. package/chunks/{sdk-impl-CB3KARSK.js → sdk-impl-VPNBLV7I.js} +7 -7
  283. package/chunks/{send-message-J4VT46OI.js → send-message-A2GXDX3B.js} +10 -31
  284. package/chunks/serve-XY5S63GN.js +120 -0
  285. package/chunks/{server-74ONDK62.js → server-TWXRRREO.js} +965 -405
  286. package/chunks/{session-BO6VBWJP.js → session-IT5ZXU7A.js} +151 -140
  287. package/chunks/{settings-35QZNFDG.js → settings-IX5HOOCG.js} +71 -69
  288. package/chunks/shell-LZ55AAJB.js +95 -0
  289. package/chunks/{skill-DKEMQSNJ.js → skill-WSZ53D2R.js} +108 -25
  290. package/chunks/skill-settings-5U7FTJIK.js +120 -0
  291. package/chunks/spawnChannel-TMC6VXGN.js +113 -0
  292. package/chunks/standalone-update-CUYGWTR4.js +120 -0
  293. package/chunks/{startInteractiveUI-J2QSGWPU.js → startInteractiveUI-O6BI2OSA.js} +381 -293
  294. package/chunks/{syntheticOutput-JAXMIMZP.js → syntheticOutput-5AJ444QT.js} +3 -3
  295. package/chunks/{task-create-I2H322E4.js → task-create-CDJSOEQD.js} +11 -11
  296. package/chunks/{task-list-3OLIWFTQ.js → task-list-BELMPA75.js} +5 -5
  297. package/chunks/{task-stop-JAUY6MSY.js → task-stop-U3S3KZG2.js} +2 -2
  298. package/chunks/{task-update-B3XO4CPI.js → task-update-77VCFDDZ.js} +11 -11
  299. package/chunks/{team-create-W534PMGX.js → team-create-UF4TMQEH.js} +48 -48
  300. package/chunks/{team-delete-Q7GE7RRI.js → team-delete-YWFXX77L.js} +5 -5
  301. package/chunks/{team-plan-approval-WNV6P6NG.js → team-plan-approval-U57NSR6C.js} +47 -47
  302. package/chunks/terminal-image-renderer-DRL3BROJ.js +116 -0
  303. package/chunks/theme-manager-HHJPUDRN.js +104 -0
  304. package/chunks/{todoWrite-FJJTY2TI.js → todoWrite-435EO2CS.js} +4 -4
  305. package/chunks/{tool-search-Y4KL3LRE.js → tool-search-SV35UV72.js} +18 -19
  306. package/chunks/total-session-admission-TQI7TCTL.js +114 -0
  307. package/chunks/trustedFolders-YKK67IP3.js +124 -0
  308. package/chunks/{update-relaunch-OHVFN6KF.js → update-relaunch-DX7LVA4P.js} +6 -6
  309. package/chunks/updateCheck-6JRTKTUF.js +120 -0
  310. package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +122 -0
  311. package/chunks/{validateNonInterActiveAuth-WJXH426F.js → validateNonInterActiveAuth-B26O4YJP.js} +113 -106
  312. package/chunks/{version-QMDRADXM.js → version-K5D7VJ4B.js} +2 -2
  313. package/chunks/{web-fetch-ROS6P4LP.js → web-fetch-VFHZLLNZ.js} +25 -242
  314. package/chunks/{web-search-JS3E76O6.js → web-search-AQE5A4J5.js} +11 -11
  315. package/chunks/{web-shell-static-3NUTRHAH.js → web-shell-static-A6QMUNNV.js} +11 -4
  316. package/chunks/webapi-Z5OM224P.js +4118 -0
  317. package/chunks/{workflow-2FCMBTBZ.js → workflow-XL6AEUZ7.js} +635 -94
  318. package/chunks/workspace-providers-status-H6TG34YV.js +116 -0
  319. package/chunks/{workspace-registration-store-SU4EJKSD.js → workspace-registration-store-I4U3V5LL.js} +1 -1
  320. package/chunks/workspace-registry-2PWNIYNI.js +123 -0
  321. package/chunks/workspace-service-4FGTUJLA.js +131 -0
  322. package/chunks/workspace-skills-status-7VOLUDT6.js +115 -0
  323. package/chunks/{workspace-trust-reconciler-4Y4F7XIX.js → workspace-trust-reconciler-GJ466KCE.js} +74 -73
  324. package/chunks/write-file-PWOYCT2K.js +90 -0
  325. package/chunks/{zh-TW-NX43Z2S2.js → zh-TW-MV4FWFB6.js} +3 -0
  326. package/chunks/{zh-3JQ75KFU.js → zh-X3WGU6SI.js} +3 -0
  327. package/chunks/{zoom-image-DNBKCGGF.js → zoom-image-NYJPC3NI.js} +13 -14
  328. package/cli.js +15 -15
  329. package/locales/ca.js +3 -0
  330. package/locales/de.js +1 -0
  331. package/locales/en.js +3 -0
  332. package/locales/fr.js +1 -0
  333. package/locales/ja.js +1 -0
  334. package/locales/pt.js +1 -0
  335. package/locales/ru.js +1 -0
  336. package/locales/zh-TW.js +3 -0
  337. package/locales/zh.js +3 -0
  338. package/package.json +3 -3
  339. package/web-shell/assets/{abnfDiagram-VCTEODGH-DWHXEVlf.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
  340. package/web-shell/assets/{arc-CXKjm86V.js → arc-CbJO0xnT.js} +1 -1
  341. package/web-shell/assets/{architectureDiagram-5GKGNRK7-B_ynI0cX.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
  342. package/web-shell/assets/{blockDiagram-NRAW4CY4-DMebd9X0.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
  343. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ5BlxS-.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
  344. package/web-shell/assets/channel-B3sGR79J.js +1 -0
  345. package/web-shell/assets/{chunk-2Q5K7J3B-CluJKopE.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
  346. package/web-shell/assets/{chunk-5VM5RSS4-hzDAPFOo.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
  347. package/web-shell/assets/{chunk-F27PBJKO-6vHioKJe.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
  348. package/web-shell/assets/{chunk-G27WJ6UU-B_5hKTGo.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
  349. package/web-shell/assets/{chunk-JWPE2WC7-CO9VoFCH.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
  350. package/web-shell/assets/{chunk-LCL6LL3I-7L5JpxYu.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
  351. package/web-shell/assets/{chunk-POPQ4Y6H-DHLJMAqj.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
  352. package/web-shell/assets/{chunk-SVP7TREG-Dt-4Cqdl.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
  353. package/web-shell/assets/{chunk-XXDRQBXY-QlSQ3ssG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
  354. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
  355. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
  356. package/web-shell/assets/{cose-bilkent-JH36ORCC-DMw3EOxl.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
  357. package/web-shell/assets/{cynefin-OW5HDTMX-s6vEA7RQ.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
  358. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-AOKsvYLt.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
  359. package/web-shell/assets/{dagre-3AP2YEHR-9QAZn3m7.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
  360. package/web-shell/assets/{diagram-S7CK7UJ4-CWpnu4FN.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
  361. package/web-shell/assets/{diagram-UQ7AKVKN-9l0jXD8q.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
  362. package/web-shell/assets/{diagram-VSXAHHWV-BMUHroj4.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
  363. package/web-shell/assets/{diagram-VX7I27RA-Co9x27vm.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
  364. package/web-shell/assets/{diagram-Z3DM3KII-BKnTeOER.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
  365. package/web-shell/assets/{ebnfDiagram-PWID7BFC-QBZD9CKG.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
  366. package/web-shell/assets/{erDiagram-SSCWMZ5O-dKWAEGun.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
  367. package/web-shell/assets/{flowDiagram-A5DVABFB-CR_UgVqj.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
  368. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DQUnjWO6.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
  369. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C4j59wPL.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
  370. package/web-shell/assets/{index-tYXRIPz4.js → index-B6JN54Pd.js} +1 -1
  371. package/web-shell/assets/{index-BN_m_uHJ.css → index-C-XlQn24.css} +1 -1
  372. package/web-shell/assets/index-DLjXM0dn.js +1860 -0
  373. package/web-shell/assets/{infoDiagram-RXCK75RN-mzqbt50w.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
  374. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-ChLOqhGl.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
  375. package/web-shell/assets/{journeyDiagram-EYS64GPL-SifZE-R8.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
  376. package/web-shell/assets/{kanban-definition-3QL26DDD-Sft2qlbc.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
  377. package/web-shell/assets/{layout-O2uHVkPd.js → layout-Bf83x7D6.js} +1 -1
  378. package/web-shell/assets/{linear-BVqYgjSc.js → linear-Bkc3ES2f.js} +1 -1
  379. package/web-shell/assets/{mermaid.core-CZ9MQaJ6.js → mermaid.core-C6xuovwz.js} +6 -6
  380. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BNQYjBqM.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
  381. package/web-shell/assets/{pegDiagram-XKGWAZYB-rh1J8uv6.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
  382. package/web-shell/assets/{pieDiagram-E7YTZNPT-BQHR5mn9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
  383. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CLCbP7mK.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
  384. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CDQhrkbm.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
  385. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BdP9uswg.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
  386. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CFZDFBXF.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
  387. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BW9WOJXI.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
  388. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CPMia32z.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
  389. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BANp9p7F.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
  390. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
  391. package/web-shell/assets/{swimlanes-XN3QIQJK-JroXksK-.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
  392. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
  393. package/web-shell/assets/{timeline-definition-24CTP7MA-DfuVIfYY.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
  394. package/web-shell/assets/{vennDiagram-4TSXK5OY-BZXoSjRB.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
  395. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-BdiY8avC.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
  396. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DcXh_U4H.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
  397. package/web-shell/index.html +19 -4
  398. package/chunks/MaxSizedBox-3OZJCC3J.js +0 -110
  399. package/chunks/agent-BFE3DQM3.js +0 -93
  400. package/chunks/agent-headless-LLVKZZ4P.js +0 -87
  401. package/chunks/bridge-EBYO4SYM.js +0 -118
  402. package/chunks/channel-settings-store-5VP2Y2YM.js +0 -115
  403. package/chunks/chunk-AXMWHKXA.js +0 -42
  404. package/chunks/chunk-IO257NUD.js +0 -623
  405. package/chunks/chunk-YHC2EYYG.js +0 -125
  406. package/chunks/computer-use-EGPWFEX6.js +0 -2142
  407. package/chunks/config-utils-WZ43VOBS.js +0 -25
  408. package/chunks/contextCommand-5DSEQI6S.js +0 -106
  409. package/chunks/daemon-status-provider-EYMLPYJU.js +0 -116
  410. package/chunks/daemon-trust-policy-CQYKZ7VO.js +0 -112
  411. package/chunks/deferred-core-runtime-WFEPUXZR.js +0 -114
  412. package/chunks/earlyInputCapture-PN4PP7V5.js +0 -107
  413. package/chunks/environment-WUPHLPKZ.js +0 -127
  414. package/chunks/errors-WPMPVIAT.js +0 -113
  415. package/chunks/exitPlanMode-MLFHYZNB.js +0 -85
  416. package/chunks/handleAutoUpdate-F5OTWUT5.js +0 -109
  417. package/chunks/i18n-C562S6KN.js +0 -124
  418. package/chunks/initializer-7YPGOFP4.js +0 -113
  419. package/chunks/installationInfo-ARU5Q2H7.js +0 -107
  420. package/chunks/list-KTSK275C.js +0 -116
  421. package/chunks/loadedSettingsAdapter-F3T2EQ5J.js +0 -110
  422. package/chunks/mcp-6ONTVPAY.js +0 -110
  423. package/chunks/nonInteractiveCli-KZDWFAN6.js +0 -178
  424. package/chunks/pidfile-IO7ALSZF.js +0 -111
  425. package/chunks/prompt-terminal-ledger-TCE7PMCE.js +0 -105
  426. package/chunks/resumeHistoryUtils-DDSBAQJS.js +0 -118
  427. package/chunks/ripGrep-E7P6K4QR.js +0 -40
  428. package/chunks/serve-KEAWV4TI.js +0 -118
  429. package/chunks/shell-H6K63WG3.js +0 -95
  430. package/chunks/skill-settings-TCKLXIXM.js +0 -118
  431. package/chunks/spawnChannel-2K6NKWM5.js +0 -111
  432. package/chunks/standalone-update-LSCGOEFP.js +0 -118
  433. package/chunks/terminal-image-renderer-UHX3UD66.js +0 -114
  434. package/chunks/theme-manager-6B47ZPIF.js +0 -102
  435. package/chunks/total-session-admission-NSCFWGJH.js +0 -113
  436. package/chunks/trustedFolders-7XMJWGQ3.js +0 -122
  437. package/chunks/updateCheck-EOVLHD4T.js +0 -118
  438. package/chunks/useAutoAcceptIndicator-ZNMIGBTN.js +0 -120
  439. package/chunks/workspace-providers-status-GPGU5YMT.js +0 -113
  440. package/chunks/workspace-registry-BQISXT6Y.js +0 -122
  441. package/chunks/workspace-service-LLY6HCUC.js +0 -129
  442. package/chunks/workspace-skills-status-L5N2Y3ZP.js +0 -113
  443. package/chunks/write-file-EJHU2Z3E.js +0 -90
  444. package/web-shell/assets/channel-Zg3WHgq_.js +0 -1
  445. package/web-shell/assets/classDiagram-DTDB5LWJ-C16l9jQz.js +0 -1
  446. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C16l9jQz.js +0 -1
  447. package/web-shell/assets/index-DrlJu79f.js +0 -1792
  448. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-NZYAoQLU.js +0 -1
  449. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-3YdVX3vj.js +0 -8
@@ -7,32 +7,33 @@ import {
7
7
  jsonStringPayloadByteLength,
8
8
  observeAcpToolResultProjection,
9
9
  truncateJsonStringPayload
10
- } from "./chunk-MQP3MHWN.js";
10
+ } from "./chunk-HJOWQUE2.js";
11
11
  import {
12
12
  normalizeSessionIdForLookup
13
- } from "./chunk-TQOF5KBL.js";
13
+ } from "./chunk-ZEZKIS2K.js";
14
14
  import {
15
15
  isA2uiToolMeta
16
- } from "./chunk-X7V3N6YH.js";
16
+ } from "./chunk-I6YW3T3W.js";
17
17
  import {
18
18
  ChannelDeliveryError,
19
19
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
20
- } from "./chunk-ND7NOI4P.js";
20
+ } from "./chunk-7CWEZQ6T.js";
21
21
  import {
22
22
  redactLogCredentials
23
23
  } from "./chunk-M5GB774H.js";
24
24
  import {
25
25
  getResponseText,
26
+ lastHistoryContentFromRecords,
26
27
  restorableAskUserQuestionCallIds
27
- } from "./chunk-T6XLJRQY.js";
28
+ } from "./chunk-XYX474JQ.js";
28
29
  import {
29
30
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
30
31
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
31
- } from "./chunk-AZF6SME3.js";
32
+ } from "./chunk-JECO75XD.js";
32
33
  import {
33
34
  parseGoalSnapshotV2,
34
35
  parseGoalStateCause
35
- } from "./chunk-LDGWX737.js";
36
+ } from "./chunk-FN5C6C7G.js";
36
37
  import {
37
38
  init_esbuild_shims
38
39
  } from "./chunk-5O2XNYP6.js";
@@ -929,22 +930,26 @@ async function collectHistoryReplayUpdates({
929
930
  replayState,
930
931
  goalBootstrap,
931
932
  limits,
932
- suppressRestoreAskUserQuestion
933
+ suppressRestoreAskUserQuestion,
934
+ finalizeDangling
933
935
  }) {
934
936
  const updates = [];
935
937
  try {
936
938
  const initial = parseTranscriptReplayState(replayState, logger);
937
- const replayClient = config?.getGeminiClient?.();
938
- const skipFinalizeCallIds = suppressRestoreAskUserQuestion !== true && config?.getRestoreAskUserQuestion?.() === true && replayClient?.isInitialized?.() === true ? restorableAskUserQuestionCallIds(
939
- replayClient.getChat().peekLastHistoryEntry()
940
- ) : void 0;
939
+ let skipFinalizeCallIds;
940
+ if (suppressRestoreAskUserQuestion !== true && config?.getRestoreAskUserQuestion?.() === true) {
941
+ const replayClient = config.getGeminiClient?.();
942
+ const lastHistoryContent = replayClient?.isInitialized?.() === true ? replayClient.getChat?.()?.peekLastHistoryEntry?.() ?? lastHistoryContentFromRecords(records) : lastHistoryContentFromRecords(records);
943
+ skipFinalizeCallIds = restorableAskUserQuestionCallIds(lastHistoryContent);
944
+ }
941
945
  await new HistoryReplayer(
942
946
  replayContext(sessionId, updates, cumulativeUsage, config, limits)
943
947
  ).replay(records, gaps, {
944
948
  ...initial.goalState ? { initialGoalState: initial.goalState } : {},
945
949
  ...initial.goalCause ? { initialGoalCause: initial.goalCause } : {},
946
950
  ...goalBootstrap ? { goalBootstrap } : {},
947
- ...skipFinalizeCallIds ? { skipFinalizeCallIds } : {}
951
+ ...skipFinalizeCallIds ? { skipFinalizeCallIds } : {},
952
+ ...finalizeDangling === void 0 ? {} : { finalizeDangling }
948
953
  });
949
954
  } catch (error) {
950
955
  if (error instanceof HistoryReplayLimitError) throw error;
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-OE52YHCZ.js";
5
+ } from "./chunk-W2WRNJKX.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,20 +2,20 @@
2
2
  "use strict";
3
3
  import {
4
4
  functionResponsePartsToString
5
- } from "./chunk-PXOJLJ5W.js";
5
+ } from "./chunk-2YEZNBSD.js";
6
6
  import {
7
7
  observeHeadlessToolResultProjection,
8
8
  observeHeadlessToolResultWire,
9
9
  projectJsonStringToByteBudget
10
- } from "./chunk-MQP3MHWN.js";
10
+ } from "./chunk-HJOWQUE2.js";
11
11
  import {
12
12
  parseAndFormatApiError,
13
13
  toolResultBoundaryArtifact
14
- } from "./chunk-T6XLJRQY.js";
14
+ } from "./chunk-XYX474JQ.js";
15
15
  import {
16
16
  formatVisionBridgeNoticeDisplay,
17
17
  isVisionBridgeNoticeDisplay
18
- } from "./chunk-FDD2IUEL.js";
18
+ } from "./chunk-UX3IFLJM.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -959,6 +959,14 @@ function checkResponsePartsForError(responseParts) {
959
959
  return void 0;
960
960
  }
961
961
  __name(checkResponsePartsForError, "checkResponsePartsForError");
962
+ function mcpAppFallbackText(display) {
963
+ if (!display || typeof display !== "object" || !("type" in display) || display.type !== "mcp_app" || !("fallbackText" in display) || typeof display.fallbackText !== "string") {
964
+ return void 0;
965
+ }
966
+ const text = display.fallbackText.trim();
967
+ return text.length > 0 ? display.fallbackText : void 0;
968
+ }
969
+ __name(mcpAppFallbackText, "mcpAppFallbackText");
962
970
  function toolResultContent(response) {
963
971
  if (response.visionBridgeNotice) {
964
972
  const content = toolResultContent({
@@ -994,6 +1002,10 @@ ${functionResponsePartsToString(response.responseParts)}`;
994
1002
  if (response.error) {
995
1003
  return response.error.message;
996
1004
  }
1005
+ const mcpAppFallback = mcpAppFallbackText(response.resultDisplay);
1006
+ if (mcpAppFallback) {
1007
+ return mcpAppFallback;
1008
+ }
997
1009
  if (typeof response.resultDisplay === "string" && response.resultDisplay.trim().length > 0) {
998
1010
  return response.resultDisplay;
999
1011
  }
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  isCommandAvailable
5
- } from "./chunk-FEMQ6Y7W.js";
5
+ } from "./chunk-T6OODF2U.js";
6
6
  import {
7
7
  fileExists,
8
8
  isWithinRoot
9
- } from "./chunk-IWOWEENB.js";
9
+ } from "./chunk-WBT3STGU.js";
10
10
  import {
11
11
  atomicWriteJSON
12
- } from "./chunk-HDKCKCYO.js";
12
+ } from "./chunk-7QGEJI7M.js";
13
13
  import {
14
14
  Storage,
15
15
  createDebugLogger,
16
16
  isNodeError
17
- } from "./chunk-A5F2YNO6.js";
17
+ } from "./chunk-2NNTE2ED.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -8,9 +8,7 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-6NFAEG54.js";
12
- import "./chunk-A5F2YNO6.js";
13
- import "./chunk-TBWQLLFO.js";
11
+ } from "./chunk-KOJ6MHD5.js";
14
12
  import {
15
13
  init_esbuild_shims
16
14
  } from "./chunk-5O2XNYP6.js";
@@ -127,7 +125,7 @@ var CreateSubSessionTool = class _CreateSubSessionTool extends BaseDeclarativeTo
127
125
  super(
128
126
  _CreateSubSessionTool.Name,
129
127
  ToolDisplayNames.CREATE_SUB_SESSION,
130
- "Spawn a fresh, independent sub-session (its own clean context and transcript) and run a prompt in it. Use to fan work out into a separate session \u2014 e.g. a self-contained sub-task you want isolated from this conversation.\n\nONLY available when running under `qwen serve` (daemon mode); it is inert in a plain interactive session.\n\n## Completion modes\n- `first-turn` (default): waits for the sub-session's first turn to finish and returns its result to you. Use when you need the answer back.\n- `sent`: returns immediately after dispatching the prompt, without waiting. Use for fire-and-forget launches whose output you do not need inline.\n\nThe sub-session runs the prompt with full tool access, starting from zero context \u2014 brief it completely in `prompt` (it cannot see this conversation).",
128
+ "Spawn a fresh, independent sub-session (its own clean context and transcript) and run a prompt in it. Use to fan work out into a separate session \u2014 e.g. a self-contained sub-task you want isolated from this conversation.\n\nONLY available when running under `qwen serve` (daemon mode); it is not declared at all in plain interactive or headless sessions.\n\n## Completion modes\n- `first-turn` (default): waits for the sub-session's first turn to finish and returns its result to you. Use when you need the answer back.\n- `sent`: returns immediately after dispatching the prompt, without waiting. Use for fire-and-forget launches whose output you do not need inline.\n\nThe sub-session runs the prompt with full tool access, starting from zero context \u2014 brief it completely in `prompt` (it cannot see this conversation).",
131
129
  "other" /* Other */,
132
130
  {
133
131
  type: "object",
@@ -198,9 +196,9 @@ var CreateSubSessionTool = class _CreateSubSessionTool extends BaseDeclarativeTo
198
196
  };
199
197
  }
200
198
  };
199
+
201
200
  export {
202
- CreateSubSessionTool,
203
- MAX_SUB_SESSION_PROMPT_CHARS
201
+ CreateSubSessionTool
204
202
  };
205
203
  /**
206
204
  * @license
@@ -1,24 +1,13 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- getSettingsSchema
5
- } from "./chunk-7DMTAQJ6.js";
6
3
  import {
7
4
  DEFAULT_DARK_THEME_NAME,
8
5
  DEFAULT_LIGHT_THEME_NAME
9
6
  } from "./chunk-RKUWKYED.js";
10
7
  import {
11
- t
12
- } from "./chunk-OE52YHCZ.js";
13
- import {
14
- SUPPORTED_LANGUAGES,
15
- getLanguageNameFromLocale
16
- } from "./chunk-5EJZE3FP.js";
17
- import {
18
- getHomeEnvFallbackVars,
19
- loadEnvironment,
20
- preResolveHomeEnvOverrides
21
- } from "./chunk-OVH5Y7KS.js";
8
+ customDeepMerge,
9
+ getSettingsSchema
10
+ } from "./chunk-BDHLBR46.js";
22
11
  import {
23
12
  CONSOLIDATED_DISABLE_KEYS,
24
13
  V1_INDICATOR_KEYS,
@@ -31,26 +20,38 @@ import {
31
20
  getSystemDefaultsPath,
32
21
  getSystemSettingsPath
33
22
  } from "./chunk-IDS7MSUP.js";
23
+ import {
24
+ t
25
+ } from "./chunk-W2WRNJKX.js";
26
+ import {
27
+ SUPPORTED_LANGUAGES,
28
+ getLanguageNameFromLocale
29
+ } from "./chunk-5EJZE3FP.js";
30
+ import {
31
+ getHomeEnvFallbackVars,
32
+ loadEnvironment,
33
+ preResolveHomeEnvOverrides
34
+ } from "./chunk-2CRNTW2B.js";
34
35
  import {
35
36
  ENV_CORRUPTED_PATH,
36
37
  ENV_WAS_RECOVERED
37
- } from "./chunk-CXJHQVEK.js";
38
+ } from "./chunk-5PA6UEYA.js";
38
39
  import {
39
40
  isWorkspaceTrusted,
40
41
  updateSettingsFilePreservingFormat
41
- } from "./chunk-L4HVF7LM.js";
42
+ } from "./chunk-XNXWEGKB.js";
42
43
  import {
43
44
  require_strip_json_comments
44
45
  } from "./chunk-NPQ5ZKRP.js";
45
46
  import {
46
47
  stripRuntimeSnapshotPrefix
47
- } from "./chunk-7DYNJFES.js";
48
+ } from "./chunk-AYVIGUUK.js";
48
49
  import {
49
50
  FatalConfigError,
50
51
  Storage,
51
52
  createDebugLogger,
52
53
  getErrorMessage
53
- } from "./chunk-A5F2YNO6.js";
54
+ } from "./chunk-2NNTE2ED.js";
54
55
  import {
55
56
  init_esbuild_shims
56
57
  } from "./chunk-5O2XNYP6.js";
@@ -104,11 +105,11 @@ function getOwnKeyScope(settings, key) {
104
105
  }
105
106
  __name(getOwnKeyScope, "getOwnKeyScope");
106
107
 
107
- // packages/cli/src/utils/settingsUtils.ts
108
+ // packages/cli/src/config/settingsUtils.ts
108
109
  init_esbuild_shims();
109
110
  import * as fs2 from "node:fs";
110
111
 
111
- // packages/cli/src/utils/languageUtils.ts
112
+ // packages/cli/src/i18n/languageUtils.ts
112
113
  init_esbuild_shims();
113
114
  import * as fs from "node:fs";
114
115
  import * as path from "node:path";
@@ -287,7 +288,7 @@ function initializeLlmOutputLanguage(outputLanguage) {
287
288
  }
288
289
  __name(initializeLlmOutputLanguage, "initializeLlmOutputLanguage");
289
290
 
290
- // packages/cli/src/utils/settingsUtils.ts
291
+ // packages/cli/src/config/settingsUtils.ts
291
292
  function flattenSchema(schema, prefix = "") {
292
293
  let result = {};
293
294
  for (const key in schema) {
@@ -432,8 +433,16 @@ function validateSettingValue(def, value) {
432
433
  return void 0;
433
434
  }
434
435
  __name(validateSettingValue, "validateSettingValue");
435
- function getDialogSettingKeys() {
436
- const dialogSettings = Object.values(getFlattenedSchema()).filter((definition) => definition.showInDialog === true).map((definition) => definition.key);
436
+ var WORKSPACE_RESTRICTED_SETTINGS = [
437
+ { section: "tools", key: "workflowsEnabled" },
438
+ { section: "security", key: "allowPrivateNetworkHooks" },
439
+ { section: "security", key: "allowedInsecureVoiceBaseUrls" }
440
+ ];
441
+ var WORKSPACE_RESTRICTED_SETTING_KEYS = WORKSPACE_RESTRICTED_SETTINGS.map(({ section, key }) => `${section}.${key}`);
442
+ function getDialogSettingKeys(options) {
443
+ const dialogSettings = Object.values(getFlattenedSchema()).filter((definition) => definition.showInDialog === true).map((definition) => definition.key).filter(
444
+ (key) => !options?.excludeWorkspaceRestricted || !WORKSPACE_RESTRICTED_SETTING_KEYS.includes(key)
445
+ );
437
446
  return dialogSettings.sort((a, b) => {
438
447
  const indexA = SETTINGS_DIALOG_ORDER.indexOf(a);
439
448
  const indexB = SETTINGS_DIALOG_ORDER.indexOf(b);
@@ -628,66 +637,6 @@ function cleanupSettingsBackup(filePath) {
628
637
  }
629
638
  __name(cleanupSettingsBackup, "cleanupSettingsBackup");
630
639
 
631
- // packages/cli/src/utils/deepMerge.ts
632
- init_esbuild_shims();
633
- function isPlainObject(item) {
634
- return !!item && typeof item === "object" && !Array.isArray(item);
635
- }
636
- __name(isPlainObject, "isPlainObject");
637
- function mergeRecursively(target, source, getMergeStrategyForPath2, path3 = []) {
638
- for (const key of Object.keys(source)) {
639
- if (key === "__proto__" || key === "constructor" || key === "prototype") {
640
- continue;
641
- }
642
- const newPath = [...path3, key];
643
- const srcValue = source[key];
644
- const objValue = target[key];
645
- const mergeStrategy = getMergeStrategyForPath2(newPath);
646
- if (mergeStrategy === "shallow_merge" /* SHALLOW_MERGE */ && objValue && srcValue) {
647
- const obj1 = typeof objValue === "object" && objValue !== null ? objValue : {};
648
- const obj2 = typeof srcValue === "object" && srcValue !== null ? srcValue : {};
649
- target[key] = { ...obj1, ...obj2 };
650
- continue;
651
- }
652
- if (Array.isArray(objValue)) {
653
- const srcArray = Array.isArray(srcValue) ? srcValue : [srcValue];
654
- if (mergeStrategy === "concat" /* CONCAT */) {
655
- target[key] = objValue.concat(srcArray);
656
- continue;
657
- }
658
- if (mergeStrategy === "union" /* UNION */) {
659
- target[key] = [...new Set(objValue.concat(srcArray))];
660
- continue;
661
- }
662
- }
663
- if (isPlainObject(objValue) && isPlainObject(srcValue)) {
664
- mergeRecursively(objValue, srcValue, getMergeStrategyForPath2, newPath);
665
- } else if (isPlainObject(srcValue)) {
666
- target[key] = {};
667
- mergeRecursively(
668
- target[key],
669
- srcValue,
670
- getMergeStrategyForPath2,
671
- newPath
672
- );
673
- } else {
674
- target[key] = srcValue;
675
- }
676
- }
677
- return target;
678
- }
679
- __name(mergeRecursively, "mergeRecursively");
680
- function customDeepMerge(getMergeStrategyForPath2, ...sources) {
681
- const result = {};
682
- for (const source of sources) {
683
- if (source) {
684
- mergeRecursively(result, source, getMergeStrategyForPath2);
685
- }
686
- }
687
- return result;
688
- }
689
- __name(customDeepMerge, "customDeepMerge");
690
-
691
640
  // packages/cli/src/config/migration/index.ts
692
641
  init_esbuild_shims();
693
642
 
@@ -1337,12 +1286,12 @@ function getSettingsFileKeyWarnings(settings, settingsFilePath) {
1337
1286
  return warnings;
1338
1287
  }
1339
1288
  __name(getSettingsFileKeyWarnings, "getSettingsFileKeyWarnings");
1340
- function isPlainObject2(value) {
1289
+ function isPlainObject(value) {
1341
1290
  return typeof value === "object" && value !== null && !Array.isArray(value);
1342
1291
  }
1343
- __name(isPlainObject2, "isPlainObject");
1292
+ __name(isPlainObject, "isPlainObject");
1344
1293
  function hasAnyProviderEntries(modelProviders) {
1345
- if (!isPlainObject2(modelProviders)) {
1294
+ if (!isPlainObject(modelProviders)) {
1346
1295
  return false;
1347
1296
  }
1348
1297
  return Object.values(modelProviders).some(
@@ -1361,7 +1310,7 @@ function getModelProvidersOverrideWarnings(loadedSettings) {
1361
1310
  }
1362
1311
  const userModelProviders = userOriginal["modelProviders"];
1363
1312
  const workspaceModelProviders = workspaceOriginal["modelProviders"];
1364
- const workspaceIsEmptyModelProviders = isPlainObject2(workspaceModelProviders) && Object.keys(workspaceModelProviders).length === 0;
1313
+ const workspaceIsEmptyModelProviders = isPlainObject(workspaceModelProviders) && Object.keys(workspaceModelProviders).length === 0;
1365
1314
  if (!workspaceIsEmptyModelProviders || !hasAnyProviderEntries(userModelProviders)) {
1366
1315
  return [];
1367
1316
  }
@@ -1392,15 +1341,14 @@ function getSettingsWarnings(loadedSettings) {
1392
1341
  warningSet.add(warning);
1393
1342
  }
1394
1343
  const workspaceFile = loadedSettings.forScope("Workspace" /* Workspace */);
1395
- if (workspaceFile.rawJson !== void 0 && workspaceFile.originalSettings.security?.allowPrivateNetworkHooks !== void 0) {
1396
- warningSet.add(
1397
- `Warning: security.allowPrivateNetworkHooks in workspace settings (${workspaceFile.path}) is ignored. This setting is only honored from User, System, or SystemDefaults scope settings.`
1398
- );
1399
- }
1400
- if (workspaceFile.rawJson !== void 0 && workspaceFile.originalSettings.security?.allowedInsecureVoiceBaseUrls !== void 0) {
1401
- warningSet.add(
1402
- `Warning: security.allowedInsecureVoiceBaseUrls in workspace settings (${workspaceFile.path}) is ignored. This setting is only honored from User, System, or SystemDefaults scope settings.`
1403
- );
1344
+ if (workspaceFile.rawJson !== void 0) {
1345
+ for (const { section, key } of WORKSPACE_RESTRICTED_SETTINGS) {
1346
+ const sectionValue = workspaceFile.originalSettings[section];
1347
+ if (sectionValue?.[key] === void 0) continue;
1348
+ warningSet.add(
1349
+ `Warning: ${section}.${key} in workspace settings (${workspaceFile.path}) is ignored. This setting is only honored from User, System, or SystemDefaults scope settings.`
1350
+ );
1351
+ }
1404
1352
  }
1405
1353
  return [...warningSet];
1406
1354
  }
@@ -1417,20 +1365,22 @@ function tagMcpServerScope(settings, scope) {
1417
1365
  return { ...settings, mcpServers: tagged };
1418
1366
  }
1419
1367
  __name(tagMcpServerScope, "tagMcpServerScope");
1420
- function stripWorkspaceSecurityBypasses(settings) {
1421
- if (settings.security?.allowPrivateNetworkHooks === void 0 && settings.security?.allowedInsecureVoiceBaseUrls === void 0) {
1422
- return settings;
1368
+ function stripWorkspaceRestrictedSettings(settings) {
1369
+ let stripped;
1370
+ for (const { section, key } of WORKSPACE_RESTRICTED_SETTINGS) {
1371
+ const source = (stripped ?? settings)[section];
1372
+ if (source?.[key] === void 0) continue;
1373
+ const { [key]: _restricted, ...rest } = source;
1374
+ stripped = { ...stripped ?? settings, [section]: rest };
1423
1375
  }
1424
- const {
1425
- allowPrivateNetworkHooks: _privateHooks,
1426
- allowedInsecureVoiceBaseUrls: _insecureVoice,
1427
- ...restSecurity
1428
- } = settings.security;
1429
- return { ...settings, security: restSecurity };
1376
+ return stripped ?? settings;
1430
1377
  }
1431
- __name(stripWorkspaceSecurityBypasses, "stripWorkspaceSecurityBypasses");
1378
+ __name(stripWorkspaceRestrictedSettings, "stripWorkspaceRestrictedSettings");
1432
1379
  function mergeSettings(system, systemDefaults, user, workspace, isTrusted) {
1433
- const safeWorkspace = isTrusted ? tagMcpServerScope(stripWorkspaceSecurityBypasses(workspace), "workspace") : {};
1380
+ const safeWorkspace = isTrusted ? tagMcpServerScope(
1381
+ stripWorkspaceRestrictedSettings(workspace),
1382
+ "workspace"
1383
+ ) : {};
1434
1384
  return customDeepMerge(
1435
1385
  getMergeStrategyForPath,
1436
1386
  {},
@@ -1953,6 +1903,7 @@ export {
1953
1903
  getEffectiveValue,
1954
1904
  getAllSettingKeys,
1955
1905
  validateSettingValue,
1906
+ WORKSPACE_RESTRICTED_SETTING_KEYS,
1956
1907
  getDialogSettingKeys,
1957
1908
  settingExistsInScope,
1958
1909
  setPendingSettingValue,
@@ -2,37 +2,37 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-6UQSU7CQ.js";
5
+ } from "./chunk-MDZO5V2O.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-OE52YHCZ.js";
8
+ } from "./chunk-W2WRNJKX.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-L4HVF7LM.js";
11
+ } from "./chunk-XNXWEGKB.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-NPQ5ZKRP.js";
15
15
  import {
16
- hashMcpServerConfig,
17
- runWithTimeout
18
- } from "./chunk-62JOGZL5.js";
16
+ hashMcpServerConfig
17
+ } from "./chunk-VMDURMFY.js";
19
18
  import {
20
- Client,
21
19
  Config,
22
20
  ExtensionManager,
23
21
  FileDiscoveryService,
24
22
  MCPOAuthTokenStorage,
23
+ createMcpClient,
25
24
  createTransport,
26
25
  isGatedMcpScope,
27
- normalizeClaudeMcpServer
28
- } from "./chunk-T6XLJRQY.js";
26
+ normalizeClaudeMcpServer,
27
+ runWithTimeout
28
+ } from "./chunk-XYX474JQ.js";
29
29
  import {
30
30
  atomicWriteFile
31
- } from "./chunk-HDKCKCYO.js";
31
+ } from "./chunk-7QGEJI7M.js";
32
32
  import {
33
33
  Storage,
34
34
  getErrorMessage
35
- } from "./chunk-A5F2YNO6.js";
35
+ } from "./chunk-2NNTE2ED.js";
36
36
  import {
37
37
  writeStderrLine,
38
38
  writeStdoutLine
@@ -423,6 +423,7 @@ __name(assembleMcpServers, "assembleMcpServers");
423
423
  // packages/cli/src/config/mcpApprovals.ts
424
424
  init_esbuild_shims();
425
425
  import * as fs2 from "node:fs";
426
+ import * as os from "node:os";
426
427
  import * as path2 from "node:path";
427
428
  var import_strip_json_comments2 = __toESM(require_strip_json_comments(), 1);
428
429
  var MCP_APPROVALS_FILENAME = "mcpApprovals.json";
@@ -434,9 +435,50 @@ function getMcpApprovalsPath() {
434
435
  }
435
436
  __name(getMcpApprovalsPath, "getMcpApprovalsPath");
436
437
  function normalizeProjectRoot(projectRoot) {
437
- return path2.resolve(projectRoot);
438
+ const resolved = path2.resolve(projectRoot);
439
+ return os.platform() === "win32" ? resolved.toLowerCase() : resolved;
438
440
  }
439
441
  __name(normalizeProjectRoot, "normalizeProjectRoot");
442
+ function isApprovalRecordMap(value) {
443
+ return typeof value === "object" && value !== null && !Array.isArray(value);
444
+ }
445
+ __name(isApprovalRecordMap, "isApprovalRecordMap");
446
+ function isWin32AbsolutePath(p) {
447
+ return /^[A-Za-z]:[\\/]/.test(p) || /^\\\\/.test(p);
448
+ }
449
+ __name(isWin32AbsolutePath, "isWin32AbsolutePath");
450
+ function mergeApprovalRecords(existing, incoming) {
451
+ const merged = Object.assign(
452
+ /* @__PURE__ */ Object.create(null),
453
+ existing
454
+ );
455
+ for (const [name, record] of Object.entries(incoming)) {
456
+ if (!isApprovalRecordMap(record)) {
457
+ continue;
458
+ }
459
+ const current = merged[name];
460
+ if (!current) {
461
+ merged[name] = record;
462
+ } else if (current.status !== record.status) {
463
+ merged[name] = current.status === "rejected" ? current : record;
464
+ }
465
+ }
466
+ return merged;
467
+ }
468
+ __name(mergeApprovalRecords, "mergeApprovalRecords");
469
+ function normalizeStoredProjectKeys(config) {
470
+ if (os.platform() !== "win32") {
471
+ return config;
472
+ }
473
+ const normalized = /* @__PURE__ */ Object.create(null);
474
+ for (const [key, value] of Object.entries(config)) {
475
+ const projectKey = isWin32AbsolutePath(key) ? key.toLowerCase() : key;
476
+ const existing = normalized[projectKey];
477
+ normalized[projectKey] = isApprovalRecordMap(existing) && isApprovalRecordMap(value) ? mergeApprovalRecords(existing, value) : isApprovalRecordMap(value) || !isApprovalRecordMap(existing) ? value : existing;
478
+ }
479
+ return normalized;
480
+ }
481
+ __name(normalizeStoredProjectKeys, "normalizeStoredProjectKeys");
440
482
  var LoadedMcpApprovals = class {
441
483
  constructor(file, errors) {
442
484
  this.file = file;
@@ -465,7 +507,9 @@ var LoadedMcpApprovals = class {
465
507
  async setState(projectRoot, serverName, config, status) {
466
508
  const root = normalizeProjectRoot(projectRoot);
467
509
  const existing = this.file.config[root];
468
- const project = existing && typeof existing === "object" && !Array.isArray(existing) ? existing : /* @__PURE__ */ Object.create(null);
510
+ const project = isApprovalRecordMap(
511
+ existing
512
+ ) ? existing : /* @__PURE__ */ Object.create(null);
469
513
  Object.defineProperty(project, serverName, {
470
514
  value: { hash: hashMcpServerConfig(config), status },
471
515
  enumerable: true,
@@ -494,7 +538,7 @@ function loadMcpApprovals() {
494
538
  path: filePath
495
539
  });
496
540
  } else {
497
- config = parsed;
541
+ config = normalizeStoredProjectKeys(parsed);
498
542
  }
499
543
  }
500
544
  } catch (error) {
@@ -559,7 +603,7 @@ var COLOR_GREEN = "\x1B[32m";
559
603
  var COLOR_YELLOW = "\x1B[33m";
560
604
  var COLOR_RED = "\x1B[31m";
561
605
  var RESET_COLOR = "\x1B[0m";
562
- var MCP_CONNECT_TIMEOUT_MS = 5e3;
606
+ var MCP_CONNECT_TIMEOUT_MS = 1e4;
563
607
  async function getMcpServersFromConfig() {
564
608
  const settings = loadSettings();
565
609
  const extensionManager = new ExtensionManager({
@@ -592,10 +636,7 @@ async function getMcpServersFromConfig() {
592
636
  }
593
637
  __name(getMcpServersFromConfig, "getMcpServersFromConfig");
594
638
  async function testMCPConnection(serverName, config) {
595
- const client = new Client({
596
- name: "mcp-test-client",
597
- version: "0.0.1"
598
- });
639
+ const client = createMcpClient("mcp-test-client", config);
599
640
  let transport;
600
641
  try {
601
642
  transport = await createTransport(serverName, config, false);
@@ -609,7 +650,6 @@ async function testMCPConnection(serverName, config) {
609
650
  MCP_CONNECT_TIMEOUT_MS,
610
651
  `MCP connection for ${serverName}`
611
652
  );
612
- await client.ping();
613
653
  await client.close();
614
654
  return { status: "connected" /* CONNECTED */, timedOut: false };
615
655
  } catch (error) {