@qwen-code/qwen-code 0.23.3 → 0.23.4-nightly.20260914.f024b37689

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 (462) hide show
  1. package/bundled/computer-use/SKILL.md +219 -154
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +280 -106
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-RT5FZP45.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-RFPH4XLD.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-3OYJJTVX.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-DWJA7565.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-JLSKPDD6.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-5DRZSKW6.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-53QBYO6W.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-QJJZURJO.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-AC6KDLH3.js → chunk-23NA3NCR.js} +1 -1
  47. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  48. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  49. package/chunks/{chunk-NOAG7N22.js → chunk-3CEFQSKN.js} +2 -2
  50. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  51. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  52. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  53. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  54. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  55. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  56. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  57. package/chunks/{chunk-ZU47FBOC.js → chunk-5VPMGZ2V.js} +144 -12
  58. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  59. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  60. package/chunks/{chunk-NHCZJQE4.js → chunk-6CHDV2MQ.js} +6 -6
  61. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  62. package/chunks/{chunk-SBRX4BDI.js → chunk-74NZLSCZ.js} +2 -2
  63. package/chunks/{chunk-7APZIRH3.js → chunk-755ZTFXV.js} +5 -5
  64. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  65. package/chunks/{chunk-NJQTG2G3.js → chunk-7Q3B23XG.js} +11 -11
  66. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  67. package/chunks/chunk-ACHCT36C.js +28 -0
  68. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  69. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  70. package/chunks/{chunk-KOKPXIAN.js → chunk-AKVL46TX.js} +3 -3
  71. package/chunks/{chunk-RWVD5RRY.js → chunk-AKX4Y4PS.js} +3 -3
  72. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  73. package/chunks/{chunk-EVTNACMT.js → chunk-ASOI6Z7M.js} +12 -12
  74. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  75. package/chunks/{chunk-XBZTAGB7.js → chunk-AYS36QDK.js} +1 -1
  76. package/chunks/{chunk-MLQNSPRZ.js → chunk-BBGX7NTA.js} +15 -5
  77. package/chunks/{chunk-Q5BD56BW.js → chunk-BPLCAEJZ.js} +7 -7
  78. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  79. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  80. package/chunks/{chunk-MSNHNAQZ.js → chunk-BYOV6CG6.js} +3 -3
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  83. package/chunks/chunk-CFMZLE3L.js +75 -0
  84. package/chunks/{chunk-SODMFNAR.js → chunk-CMM34UXX.js} +5 -5
  85. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  86. package/chunks/{chunk-OLTN767L.js → chunk-DGK4IQXU.js} +2 -2
  87. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  88. package/chunks/{chunk-HBU7EKY4.js → chunk-DQLYJFK2.js} +45 -15
  89. package/chunks/{chunk-BWQLXU37.js → chunk-DTMRHTFW.js} +381 -86
  90. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  91. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  92. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  93. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  94. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-EQAAQVLD.js} +11 -110
  95. package/chunks/{chunk-53GWJOLP.js → chunk-F7WDCD2N.js} +3 -1
  96. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  97. package/chunks/{chunk-3KQBQ6FM.js → chunk-FEMYSX4G.js} +190 -28
  98. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  99. package/chunks/{chunk-LDVNJZGH.js → chunk-FIRCQJG2.js} +17 -8
  100. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  101. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  102. package/chunks/{chunk-X7UJKOHZ.js → chunk-GG27UVAT.js} +4 -6
  103. package/chunks/{chunk-DT75RKNH.js → chunk-GKLJIDLK.js} +3 -3
  104. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  105. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  106. package/chunks/{chunk-BWAMMKIS.js → chunk-GYKAXTMQ.js} +135 -6
  107. package/chunks/{chunk-IL5M5NYD.js → chunk-HCKYDMYV.js} +11 -9
  108. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  109. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  110. package/chunks/{chunk-SSGAAWLY.js → chunk-HNTIWVRC.js} +95 -73
  111. package/chunks/{chunk-E7LB57MB.js → chunk-HUD3U4GY.js} +6 -6
  112. package/chunks/{chunk-MHAADZOZ.js → chunk-HVCRYFA4.js} +3 -3
  113. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  114. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  115. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  116. package/chunks/chunk-INGBUYL6.js +230 -0
  117. package/chunks/{chunk-7ICHPMBQ.js → chunk-IVUKJRSD.js} +4 -4
  118. package/chunks/{chunk-NRXWJXJ4.js → chunk-IYSXQ5I4.js} +15 -15
  119. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  120. package/chunks/{chunk-3BTSSIJO.js → chunk-JDKY7O5J.js} +99 -14
  121. package/chunks/chunk-JPXPY5L4.js +1416 -0
  122. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  123. package/chunks/{chunk-RLLRJJDR.js → chunk-JYTUSZOK.js} +2 -2
  124. package/chunks/{chunk-W5FIP7FC.js → chunk-K2JLUF22.js} +5 -5
  125. package/chunks/{chunk-POC3YMHG.js → chunk-K7YI4MSY.js} +4 -4
  126. package/chunks/{chunk-UKZ45TJL.js → chunk-KDXTBWQB.js} +420 -219
  127. package/chunks/{chunk-N7VWZDWW.js → chunk-KJFGH23C.js} +4506 -3840
  128. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  129. package/chunks/{chunk-GCDXVPFK.js → chunk-KYBIIQOQ.js} +31 -7
  130. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  131. package/chunks/{chunk-MF6E7FSA.js → chunk-L63PZHD7.js} +8 -201
  132. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  133. package/chunks/chunk-LAKMZLJ5.js +191 -0
  134. package/chunks/{chunk-DYFOSJHU.js → chunk-LCYVZFMV.js} +2769 -1153
  135. package/chunks/{chunk-3UXUOFO6.js → chunk-LLJIZIRQ.js} +9 -10
  136. package/chunks/chunk-LMJSPC55.js +260 -0
  137. package/chunks/{chunk-YQHLFCPU.js → chunk-LOAW7JYR.js} +32 -24
  138. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  139. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  140. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  141. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  142. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  143. package/chunks/{chunk-3XLK2QMY.js → chunk-MVLLTUOB.js} +59 -16
  144. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  145. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  146. package/chunks/{chunk-GOXQL4YH.js → chunk-NLRWN5PN.js} +2 -2
  147. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  148. package/chunks/{chunk-JYKWOREU.js → chunk-NSY7YQMU.js} +13 -3
  149. package/chunks/{chunk-NMRCXKQ5.js → chunk-NUIF54XD.js} +3 -3
  150. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  151. package/chunks/chunk-OAWFG54S.js +32 -0
  152. package/chunks/{chunk-DAWWT2ID.js → chunk-OBHKFWAE.js} +1374 -2164
  153. package/chunks/{chunk-HBQ2NXOU.js → chunk-OKSSFN7F.js} +2 -2
  154. package/chunks/{chunk-NHJKAR6E.js → chunk-ON7M7VUD.js} +972 -18
  155. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  156. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  157. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  158. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  159. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  160. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  161. package/chunks/chunk-S7UQ3V2H.js +87 -0
  162. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  163. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  164. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  165. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  166. package/chunks/chunk-TDS25ULF.js +154 -0
  167. package/chunks/chunk-U6H3XTFA.js +95 -0
  168. package/chunks/{chunk-Z3GF56ME.js → chunk-UDEWJKNB.js} +3 -3
  169. package/chunks/{chunk-7BXXIQG4.js → chunk-ULPXHGLV.js} +36 -72
  170. package/chunks/{chunk-5KI7ZDTB.js → chunk-UN6YL6VF.js} +24 -12
  171. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  172. package/chunks/chunk-VGY2RGXL.js +100 -0
  173. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  174. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  175. package/chunks/{chunk-NMCDMLHL.js → chunk-VYIE36BF.js} +50 -35
  176. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  177. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  178. package/chunks/chunk-WDH4TVD3.js +2812 -0
  179. package/chunks/chunk-WFNEY5G7.js +347 -0
  180. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  181. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  182. package/chunks/{chunk-R4Q2PEFV.js → chunk-WVQHS26P.js} +1 -1
  183. package/chunks/{chunk-GSILBZLN.js → chunk-XCQJUYLQ.js} +2 -2
  184. package/chunks/{chunk-KFZYGSJN.js → chunk-XMWEUO26.js} +3 -3
  185. package/chunks/{chunk-2PJRI3EH.js → chunk-XPEZVAK2.js} +218 -43
  186. package/chunks/{chunk-OX7IZ2G5.js → chunk-XPULQNNS.js} +4 -4
  187. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  188. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  189. package/chunks/{chunk-SYLECP23.js → chunk-Y7W2X4WN.js} +4 -4
  190. package/chunks/{chunk-2ZN3O5FT.js → chunk-YAC6S4ZF.js} +6 -6
  191. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  192. package/chunks/{chunk-HGAELO7B.js → chunk-YFX2M3ZI.js} +2 -2
  193. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  194. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  195. package/chunks/{chunk-BZM5U74J.js → chunk-YQSC7BRZ.js} +724 -468
  196. package/chunks/chunk-Z72PLR74.js +36 -0
  197. package/chunks/{chunk-6W4HBUA2.js → chunk-ZGZN54IU.js} +1 -1
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-F42YYSCK.js → chunk-ZLU6NBSL.js} +8 -8
  201. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-QEDKWUAR.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-HCV2DX7W.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-U5WK3XNI.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-RODZHBF7.js} +58 -55
  207. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-L6UGUL4T.js} +169 -89
  208. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-Y5T7KIBG.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-AQBGUOGB.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-EB2NNNDT.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-AFI3E2Z5.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-H7ZSF3PZ.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-AFPKKMKD.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-3Z3I6I4K.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-G4NM4JE4.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-XVV3RAEG.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-JGUYOZCP.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-SXPNVZAS.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-BPOP43P6.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-FQXDPBCD.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-23TEWABL.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-2LI3LH4L.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-IHSQVGZD.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-KTZGFBDG.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-K2XO7FLR.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-FFYRSEJZ.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-EXJEU5MJ.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-BSWBMUIT.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-RE3L7S24.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-D56DKMKV.js} +57 -53
  261. package/chunks/mcp-BS46APKT.js +127 -0
  262. package/chunks/model-configuration-L5WZ7NBY.js +140 -0
  263. package/chunks/modelConfigUtils-WAM6HBUX.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-CYXNE7UB.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-ZPBORWHM.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-CSYGREO5.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-KDGLKJVS.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-QGUW5UJ7.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-Q6GS3E2T.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-BLCAZPSQ.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-LSRUVWCL.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-56DVLPQR.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-ZM5PHHNI.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-INOTDWED.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-NZY4OHHH.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-6CSFTXGK.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-T5DMXMRI.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-STH4FWGX.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-K4VRD7S3.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-SAF6RZWD.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-2IZX2R3S.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-WFCEIOC7.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-H7LDUL7K.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-55B6W4ML.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-C6HWMJCS.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-IYKRY5HC.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-YWKLCBV2.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-YXUNPB3M.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-H6YIWY5F.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-U2NNOY65.js} +2700 -2166
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-ZF5EJN6N.js} +1621 -1783
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-XWCSBY3R.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-B2SOZ46Z.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-HKBBPT64.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-LHBAB3RV.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-D7UTGG7X.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-VN63755O.js} +63 -58
  317. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-GD56NJEV.js} +57 -53
  318. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-BMQKKDR6.js} +5 -5
  319. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-BZFE6Z5I.js} +60 -56
  320. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-RD4YNRGG.js} +68 -64
  321. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-RWWD7TVJ.js} +109 -104
  322. package/chunks/{version-EAAZN4T2.js → version-DGWI3JF2.js} +1 -1
  323. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-2KXAHKDU.js} +15 -13
  324. package/chunks/web-search-LUI2YS33.js +45 -0
  325. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  326. package/chunks/{workflow-UHPFALVZ.js → workflow-WG7WNWMP.js} +179 -79
  327. package/chunks/workspace-providers-status-VJYJMUDI.js +133 -0
  328. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-B3XUNFOG.js} +2 -2
  329. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-56R5RBVU.js} +63 -58
  330. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-EKDPCK4L.js} +66 -59
  331. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-UYGLM6XX.js} +70 -65
  332. package/chunks/workspace-skills-status-5HMTP63B.js +130 -0
  333. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-AST2535P.js} +73 -68
  334. package/chunks/{write-file-DPVB2SBQ.js → write-file-F4R5RBBH.js} +45 -41
  335. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  336. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  337. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-6HKQ5MFU.js} +11 -10
  338. package/cli.js +18 -17
  339. package/codeModeHost.js +4425 -0
  340. package/export-transcript-document.css +1 -1
  341. package/export-transcript-document.js +151 -151
  342. package/locales/ca.js +5 -6
  343. package/locales/de.js +5 -6
  344. package/locales/en.js +7 -6
  345. package/locales/fr.js +6 -6
  346. package/locales/ja.js +5 -6
  347. package/locales/pt.js +5 -6
  348. package/locales/ru.js +6 -6
  349. package/locales/zh-TW.js +7 -6
  350. package/locales/zh.js +7 -6
  351. package/package.json +4 -3
  352. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-BtpzKw3A.js} +1 -1
  353. package/web-shell/assets/{arc-D1hTu8QI.js → arc-CQiVKZJP.js} +1 -1
  354. package/web-shell/assets/architectureDiagram-5GKGNRK7-ekIPBb2d.js +36 -0
  355. package/web-shell/assets/blockDiagram-NRAW4CY4-BrRWkWri.js +129 -0
  356. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-qYS8CYZ3.js} +4 -4
  357. package/web-shell/assets/channel-DSQQnOZj.js +1 -0
  358. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-ZasyyEZm.js} +1 -1
  359. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-C_IzCGeA.js} +1 -1
  360. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-C25NZOyD.js} +1 -1
  361. package/web-shell/assets/chunk-G27WJ6UU-XPOHNSGX.js +231 -0
  362. package/web-shell/assets/chunk-JWPE2WC7-BQBh0Xni.js +1 -0
  363. package/web-shell/assets/chunk-LCL6LL3I-CoShjpX7.js +206 -0
  364. package/web-shell/assets/chunk-POPQ4Y6H-BwRmCDSz.js +1 -0
  365. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-DSzE5-Mw.js} +4 -4
  366. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-BQSQv30h.js} +1 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-V94ta08R.js +1 -0
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-V94ta08R.js +1 -0
  369. package/web-shell/assets/cose-bilkent-JH36ORCC-XVUVTHVo.js +1 -0
  370. package/web-shell/assets/cynefin-OW5HDTMX-CrsKx4lQ.js +178 -0
  371. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-BPeZEuHw.js} +1 -1
  372. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  373. package/web-shell/assets/dagre-3AP2YEHR-D31cQ2Qs.js +4 -0
  374. package/web-shell/assets/diagram-S7CK7UJ4-zyiG097Q.js +30 -0
  375. package/web-shell/assets/diagram-UQ7AKVKN-Br3vtfsy.js +41 -0
  376. package/web-shell/assets/diagram-VSXAHHWV-Bxkhjx4u.js +3 -0
  377. package/web-shell/assets/diagram-VX7I27RA-BQH8QiDk.js +24 -0
  378. package/web-shell/assets/diagram-Z3DM3KII-B_aQ1cw0.js +24 -0
  379. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-B9N7BRQE.js} +1 -1
  380. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-Cx6Hb1Re.js} +13 -13
  381. package/web-shell/assets/flowDiagram-A5DVABFB-DTuLP7GU.js +168 -0
  382. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-DYS3d-sL.js} +1 -1
  383. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Cp0EGx04.js +106 -0
  384. package/web-shell/assets/index-45-LkPDB.js +3 -0
  385. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  386. package/web-shell/assets/index-H8um-iEl.js +2207 -0
  387. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  388. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-9--kukiT.js} +1 -1
  389. package/web-shell/assets/ishikawaDiagram-5VMMS53U-CGBdsDLD.js +70 -0
  390. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-DeXhcscd.js} +1 -1
  391. package/web-shell/assets/kanban-definition-3QL26DDD-CFdvsU3b.js +89 -0
  392. package/web-shell/assets/{layout-qEvKgnvU.js → layout-DAnwQ3KB.js} +1 -1
  393. package/web-shell/assets/{linear-C6lklGdq.js → linear-CTo7v7Nh.js} +1 -1
  394. package/web-shell/assets/mermaid.core-jggSxF1i.js +312 -0
  395. package/web-shell/assets/mindmap-definition-FBJOCRG2-DzIepvlJ.js +96 -0
  396. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-BFGS9GJv.js} +1 -1
  397. package/web-shell/assets/pieDiagram-E7YTZNPT-B2UUcNIT.js +39 -0
  398. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BgM6htrX.js +7 -0
  399. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  400. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-Dk9cS7N-.js} +1 -1
  401. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-C9oRg7xi.js} +13 -13
  402. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-B-_c7GzI.js} +7 -7
  403. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-R0M-347u.js} +16 -16
  404. package/web-shell/assets/sizeCapture-X5ZJPWSS-Df0f8UAW.js +1 -0
  405. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-CsUEfAA-.js} +1 -1
  406. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CnSuTPJ2.js +1 -0
  407. package/web-shell/assets/swimlanes-XN3QIQJK-9OGHVSrx.js +1 -0
  408. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Bb7TcWQw.js +8 -0
  409. package/web-shell/assets/timeline-definition-24CTP7MA-DAfGqS2B.js +120 -0
  410. package/web-shell/assets/vennDiagram-4TSXK5OY-CKATpwHi.js +34 -0
  411. package/web-shell/assets/wardleyDiagram-VM6X3IG4-CQHdhTrm.js +78 -0
  412. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-5k9NLqlY.js} +1 -1
  413. package/web-shell/index.html +2 -2
  414. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  415. package/chunks/chunk-AEY27Z35.js +0 -1411
  416. package/chunks/chunk-CFKIH3D3.js +0 -50
  417. package/chunks/chunk-HWVUSYSN.js +0 -126
  418. package/chunks/chunk-QHMLYMMS.js +0 -32
  419. package/chunks/chunk-SAH4BD2J.js +0 -92
  420. package/chunks/chunk-TWUKBNWM.js +0 -86
  421. package/chunks/chunk-ZTTC7T4X.js +0 -126
  422. package/chunks/list-YL6LDQKQ.js +0 -129
  423. package/chunks/mcp-IYVSIW6O.js +0 -123
  424. package/chunks/web-search-NEGYQNDJ.js +0 -912
  425. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  426. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  427. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  428. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  429. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  430. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  431. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  432. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  433. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  434. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  435. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  436. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  437. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  438. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  439. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  440. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  441. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  442. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  443. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  444. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  445. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  446. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  447. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  448. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  449. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  450. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  451. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  452. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  453. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  454. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  455. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  456. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  457. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  458. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  459. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  460. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  461. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  462. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -0,0 +1,347 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getFunctionResponseParts,
5
+ sanitizeMimeForPlaceholder
6
+ } from "./chunk-NUQ4GK5I.js";
7
+ import {
8
+ init_esbuild_shims
9
+ } from "./chunk-5O2XNYP6.js";
10
+ import {
11
+ __name
12
+ } from "./chunk-J2S4EL5Y.js";
13
+
14
+ // packages/core/src/core/inlineMediaLimit.ts
15
+ init_esbuild_shims();
16
+ var DEFAULT_MAX_INLINE_MEDIA_BYTES = 10 * 1024 * 1024;
17
+ function getMaxInlineMediaBytes() {
18
+ const raw = process.env["QWEN_CODE_MAX_INLINE_MEDIA_BYTES"];
19
+ if (raw === void 0 || raw.trim() === "") {
20
+ return DEFAULT_MAX_INLINE_MEDIA_BYTES;
21
+ }
22
+ const parsed = Number(raw);
23
+ return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_INLINE_MEDIA_BYTES;
24
+ }
25
+ __name(getMaxInlineMediaBytes, "getMaxInlineMediaBytes");
26
+ function approxBase64Bytes(base64) {
27
+ let start = 0;
28
+ if (base64.startsWith("data:")) {
29
+ const commaIndex = base64.indexOf(",");
30
+ if (commaIndex !== -1) {
31
+ start = commaIndex + 1;
32
+ }
33
+ }
34
+ const length = base64.length - start;
35
+ if (length === 0) {
36
+ return 0;
37
+ }
38
+ const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
39
+ return Math.floor(length * 3 / 4) - padding;
40
+ }
41
+ __name(approxBase64Bytes, "approxBase64Bytes");
42
+ function formatMb(bytes) {
43
+ return (bytes / (1024 * 1024)).toFixed(1);
44
+ }
45
+ __name(formatMb, "formatMb");
46
+ function oversizedMediaPlaceholder(mimeType, bytes, limitBytes) {
47
+ const mime = sanitizeMimeForPlaceholder(mimeType);
48
+ return `[Media omitted: ${mime} is ~${formatMb(bytes)}MB, exceeding the ${formatMb(limitBytes)}MB inline limit. Ask the user to resize/compress it, or reference it via an @file path so it can be read from disk.]`;
49
+ }
50
+ __name(oversizedMediaPlaceholder, "oversizedMediaPlaceholder");
51
+ function clampInlineMediaPart(part, limitBytes = getMaxInlineMediaBytes()) {
52
+ const data = part.inlineData?.data;
53
+ if (!data) {
54
+ return part;
55
+ }
56
+ const bytes = approxBase64Bytes(data);
57
+ if (bytes <= limitBytes) {
58
+ return part;
59
+ }
60
+ const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
61
+ return { text: oversizedMediaPlaceholder(mimeType, bytes, limitBytes) };
62
+ }
63
+ __name(clampInlineMediaPart, "clampInlineMediaPart");
64
+
65
+ // packages/core/src/core/openaiContentGenerator/prefix-caching.ts
66
+ init_esbuild_shims();
67
+ var CACHE_KEY_PREFIX = "qwen-code:";
68
+ var EXPLICIT_BREAKPOINT_COUNT = 2;
69
+ function supportsOpenAIPrefixCaching(contentGeneratorConfig) {
70
+ return contentGeneratorConfig.authType === "openai" /* USE_OPENAI */ || contentGeneratorConfig.authType === "qwen-oauth" /* QWEN_OAUTH */;
71
+ }
72
+ __name(supportsOpenAIPrefixCaching, "supportsOpenAIPrefixCaching");
73
+ function isOfficialOpenAIEndpoint(contentGeneratorConfig) {
74
+ if (contentGeneratorConfig.authType !== "openai" /* USE_OPENAI */) return false;
75
+ const { baseUrl } = contentGeneratorConfig;
76
+ if (!baseUrl) return false;
77
+ try {
78
+ return new URL(baseUrl).hostname.toLowerCase() === "api.openai.com";
79
+ } catch {
80
+ return false;
81
+ }
82
+ }
83
+ __name(isOfficialOpenAIEndpoint, "isOfficialOpenAIEndpoint");
84
+ function supportsExplicitOpenAIPromptCaching(model) {
85
+ const match = /^gpt-(\d+)(?:\.(\d+))?(?:[-.]|$)/i.exec(model);
86
+ if (!match) return false;
87
+ const major = Number(match[1]);
88
+ const minor = Number(match[2] ?? 0);
89
+ return major > 5 || major === 5 && minor >= 6;
90
+ }
91
+ __name(supportsExplicitOpenAIPromptCaching, "supportsExplicitOpenAIPromptCaching");
92
+ function withCacheBreakpoint(message) {
93
+ if (message.role !== "user" && message.role !== "tool") return void 0;
94
+ const marker = { prompt_cache_breakpoint: { mode: "explicit" } };
95
+ if (typeof message.content === "string") {
96
+ return {
97
+ ...message,
98
+ content: [{ type: "text", text: message.content, ...marker }]
99
+ };
100
+ }
101
+ if (!Array.isArray(message.content) || message.content.length === 0) {
102
+ return void 0;
103
+ }
104
+ const content = [...message.content];
105
+ const lastIndex = content.length - 1;
106
+ content[lastIndex] = { ...content[lastIndex], ...marker };
107
+ return { ...message, content };
108
+ }
109
+ __name(withCacheBreakpoint, "withCacheBreakpoint");
110
+ function applyOfficialOpenAIPromptCaching(request, sessionId, cacheSharing, cacheKeyPartition) {
111
+ const result = { ...request };
112
+ if (sessionId && !result.prompt_cache_key) {
113
+ const partition = cacheKeyPartition ? `:${cacheKeyPartition}` : "";
114
+ result.prompt_cache_key = `${CACHE_KEY_PREFIX}${sessionId}${partition}`;
115
+ }
116
+ if (!cacheSharing || !supportsExplicitOpenAIPromptCaching(request.model)) {
117
+ return result;
118
+ }
119
+ const messages = [...request.messages];
120
+ let marked = 0;
121
+ for (let index = messages.length - 2; index >= 0 && marked < EXPLICIT_BREAKPOINT_COUNT; index -= 1) {
122
+ const message = messages[index];
123
+ const updated = message ? withCacheBreakpoint(message) : void 0;
124
+ if (!updated) continue;
125
+ messages[index] = updated;
126
+ marked += 1;
127
+ }
128
+ if (marked === 0) return result;
129
+ result.messages = messages;
130
+ result.prompt_cache_options = {
131
+ ...result.prompt_cache_options,
132
+ mode: "explicit"
133
+ };
134
+ return result;
135
+ }
136
+ __name(applyOfficialOpenAIPromptCaching, "applyOfficialOpenAIPromptCaching");
137
+
138
+ // packages/core/src/services/image-payload-references.ts
139
+ init_esbuild_shims();
140
+ import { createHash } from "node:crypto";
141
+ var IMAGE_ID_LENGTH = 12;
142
+ var IMAGE_REFERENCE_PATTERN = new RegExp(
143
+ `\\[Image #([a-f0-9]{${IMAGE_ID_LENGTH}}): [^\\]]+\\]`,
144
+ "gi"
145
+ );
146
+ var InMemoryImagePayloadStore = class {
147
+ static {
148
+ __name(this, "InMemoryImagePayloadStore");
149
+ }
150
+ images = /* @__PURE__ */ new Map();
151
+ put(part) {
152
+ const stored = imagePartToStoredPayload(part);
153
+ this.images.set(stored.id, stored);
154
+ return stored;
155
+ }
156
+ get(id) {
157
+ return this.images.get(id);
158
+ }
159
+ };
160
+ function countAllInlineImages(contents) {
161
+ let count = 0;
162
+ for (const _part of inlineImageParts(contents)) count++;
163
+ return count;
164
+ }
165
+ __name(countAllInlineImages, "countAllInlineImages");
166
+ function replaceImagePayloadsInPlace(contents, store, skipContent) {
167
+ const replaced = [];
168
+ for (const part of inlineImageParts(contents, skipContent)) {
169
+ const stored = store.put(part);
170
+ replaced.push(stored);
171
+ part.text = imageReferenceText(stored);
172
+ delete part.inlineData;
173
+ }
174
+ return replaced;
175
+ }
176
+ __name(replaceImagePayloadsInPlace, "replaceImagePayloadsInPlace");
177
+ function buildReattachParts(replaced, maxRecentImages, referencedContents = [], store) {
178
+ const referencedIds = collectReferencedImageIds(referencedContents);
179
+ if (replaced.length === 0 && (!store || referencedIds.size === 0)) return [];
180
+ const inlineIds = collectInlineImageIds(referencedContents);
181
+ const last = referencedContents.at(-1);
182
+ const lastReferencedIds = collectReferencedImageIds(
183
+ last?.role === "user" ? [last] : []
184
+ );
185
+ const candidates = replaced.filter(
186
+ (image) => !inlineIds.has(image.id) && !lastReferencedIds.has(image.id)
187
+ ).map((stored) => ({ stored }));
188
+ if (store) {
189
+ for (const id of referencedIds) {
190
+ if (inlineIds.has(id) || lastReferencedIds.has(id)) continue;
191
+ const stored = store.get(id);
192
+ if (stored) candidates.push({ stored });
193
+ }
194
+ }
195
+ const recent = recentUniqueImages(candidates, maxRecentImages).map(
196
+ ({ stored }) => stored
197
+ );
198
+ const reattachLimit = Math.max(maxRecentImages, 1);
199
+ if (store) {
200
+ for (const id of lastReferencedIds) {
201
+ if (inlineIds.has(id) || recent.some((image) => image.id === id)) {
202
+ continue;
203
+ }
204
+ const stored = store.get(id);
205
+ if (stored) {
206
+ if (recent.length >= reattachLimit) recent.shift();
207
+ recent.push(stored);
208
+ }
209
+ }
210
+ }
211
+ if (recent.length === 0) return [];
212
+ return [
213
+ {
214
+ text: reattachContextText(recent.map((img) => img.id)),
215
+ partMetadata: { [REATTACH_BOUNDARY_METADATA]: true }
216
+ },
217
+ ...recent.map(storedImageToPart)
218
+ ];
219
+ }
220
+ __name(buildReattachParts, "buildReattachParts");
221
+ var REATTACH_BOUNDARY_METADATA = "qwen-code:reattach-boundary";
222
+ function trailingReattachPartCount(contents) {
223
+ const last = Array.isArray(contents) ? contents.at(-1) : void 0;
224
+ const parts = last && typeof last === "object" && "parts" in last ? last.parts : void 0;
225
+ if (!Array.isArray(parts) || parts.length === 0) return 0;
226
+ const firstMarked = parts.findIndex(
227
+ (part) => typeof part === "object" && part !== null && part.partMetadata?.[REATTACH_BOUNDARY_METADATA] === true
228
+ );
229
+ if (firstMarked === -1) return 0;
230
+ return parts.length - firstMarked;
231
+ }
232
+ __name(trailingReattachPartCount, "trailingReattachPartCount");
233
+ function collectInlineImageIds(contents) {
234
+ const ids = /* @__PURE__ */ new Set();
235
+ for (const part of inlineImageParts(contents)) {
236
+ ids.add(imagePartToStoredPayload(part).id);
237
+ }
238
+ return ids;
239
+ }
240
+ __name(collectInlineImageIds, "collectInlineImageIds");
241
+ function* inlineImageParts(contents, skipContent) {
242
+ for (const content of contents) {
243
+ if (content === skipContent) continue;
244
+ for (const part of content.parts ?? []) {
245
+ if (part.inlineData?.mimeType?.startsWith("image/") && part.inlineData.data) {
246
+ yield part;
247
+ }
248
+ for (const inner of getFunctionResponseParts(part) ?? []) {
249
+ if (inner.inlineData?.mimeType?.startsWith("image/") && inner.inlineData.data) {
250
+ yield inner;
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ __name(inlineImageParts, "inlineImageParts");
257
+ function collectReferencedImageIds(contents) {
258
+ const ids = /* @__PURE__ */ new Set();
259
+ const collect = /* @__PURE__ */ __name((parts) => {
260
+ for (const part of parts ?? []) {
261
+ for (const match of part.text?.matchAll(IMAGE_REFERENCE_PATTERN) ?? []) {
262
+ const id = match[1];
263
+ if (id) ids.add(id.toLowerCase());
264
+ }
265
+ collect(getFunctionResponseParts(part));
266
+ }
267
+ }, "collect");
268
+ for (const content of contents) {
269
+ collect(content.parts);
270
+ }
271
+ return ids;
272
+ }
273
+ __name(collectReferencedImageIds, "collectReferencedImageIds");
274
+ function recentUniqueImages(collected, maxRecentImages) {
275
+ if (maxRecentImages <= 0) {
276
+ return [];
277
+ }
278
+ const recent = [];
279
+ const seen = /* @__PURE__ */ new Set();
280
+ for (let index = collected.length - 1; index >= 0; index--) {
281
+ const image = collected[index];
282
+ if (!image || seen.has(image.stored.id)) continue;
283
+ seen.add(image.stored.id);
284
+ recent.push(image);
285
+ if (recent.length === maxRecentImages) break;
286
+ }
287
+ return recent.reverse();
288
+ }
289
+ __name(recentUniqueImages, "recentUniqueImages");
290
+ function imagePartToStoredPayload(part) {
291
+ const data = part.inlineData?.data ?? "";
292
+ const mimeType = part.inlineData?.mimeType ?? "application/octet-stream";
293
+ const hash = createHash("sha256").update(mimeType).update("\0").update(data).digest("hex");
294
+ return {
295
+ id: hash.slice(0, IMAGE_ID_LENGTH),
296
+ mimeType,
297
+ data,
298
+ bytes: approxBase64Bytes(data),
299
+ displayName: part.inlineData?.displayName
300
+ };
301
+ }
302
+ __name(imagePartToStoredPayload, "imagePartToStoredPayload");
303
+ function imageReferenceText(stored) {
304
+ return `[Image #${stored.id}: ${safeImageMimeType(stored.mimeType)}, ${stored.bytes} bytes]`;
305
+ }
306
+ __name(imageReferenceText, "imageReferenceText");
307
+ function reattachContextText(ids) {
308
+ return "Images read earlier in this session (may be OUTDATED, do not treat as current UI state): " + ids.map((id) => `Image #${id}`).join(", ");
309
+ }
310
+ __name(reattachContextText, "reattachContextText");
311
+ function safeImageMimeType(mimeType) {
312
+ return /^image\/[a-z0-9.+-]{1,64}$/i.test(mimeType) ? mimeType.toLowerCase() : "image/unknown";
313
+ }
314
+ __name(safeImageMimeType, "safeImageMimeType");
315
+ function storedImageToPart(stored) {
316
+ return {
317
+ inlineData: {
318
+ mimeType: stored.mimeType,
319
+ data: stored.data,
320
+ displayName: stored.displayName
321
+ }
322
+ };
323
+ }
324
+ __name(storedImageToPart, "storedImageToPart");
325
+
326
+ export {
327
+ supportsOpenAIPrefixCaching,
328
+ isOfficialOpenAIEndpoint,
329
+ applyOfficialOpenAIPromptCaching,
330
+ approxBase64Bytes,
331
+ clampInlineMediaPart,
332
+ InMemoryImagePayloadStore,
333
+ countAllInlineImages,
334
+ replaceImagePayloadsInPlace,
335
+ buildReattachParts,
336
+ trailingReattachPartCount
337
+ };
338
+ /**
339
+ * @license
340
+ * Copyright 2025 Qwen Team
341
+ * SPDX-License-Identifier: Apache-2.0
342
+ */
343
+ /**
344
+ * @license
345
+ * Copyright 2025 Qwen
346
+ * SPDX-License-Identifier: Apache-2.0
347
+ */
@@ -211,6 +211,34 @@ var TaskOwnershipError = class extends Error {
211
211
  __name(this, "TaskOwnershipError");
212
212
  }
213
213
  };
214
+ var TaskSnapshotChangedError = class extends Error {
215
+ constructor(taskId, expectedOwner, actualOwner, expectedStatus, actualStatus, checksExpectedOwner, checksExpectedStatus) {
216
+ const label = /* @__PURE__ */ __name((owner) => owner ?? "unassigned", "label");
217
+ const changes = [];
218
+ if (checksExpectedOwner && expectedOwner !== actualOwner) {
219
+ changes.push(
220
+ `owner changed from "${label(expectedOwner)}" to "${label(actualOwner)}"`
221
+ );
222
+ }
223
+ if (checksExpectedStatus && expectedStatus !== actualStatus) {
224
+ changes.push(
225
+ `status changed from "${expectedStatus}" to "${actualStatus}"`
226
+ );
227
+ }
228
+ super(
229
+ `Task #${taskId} ${changes.join(" and ")} before this update committed. Current state is owner "${label(actualOwner)}", status "${actualStatus}". Re-read the task before retrying.`
230
+ );
231
+ this.taskId = taskId;
232
+ this.expectedOwner = expectedOwner;
233
+ this.actualOwner = actualOwner;
234
+ this.expectedStatus = expectedStatus;
235
+ this.actualStatus = actualStatus;
236
+ this.name = "TaskSnapshotChangedError";
237
+ }
238
+ static {
239
+ __name(this, "TaskSnapshotChangedError");
240
+ }
241
+ };
214
242
  async function updateTask(teamName, taskId, updates, opts) {
215
243
  const taskPath = getTaskPath(teamName, taskId);
216
244
  return withTaskFileLock(
@@ -224,6 +252,23 @@ async function updateTask(teamName, taskId, updates, opts) {
224
252
  throw err;
225
253
  }
226
254
  const task = JSON.parse(raw);
255
+ const checksExpectedOwner = opts !== void 0 && "expectedOwner" in opts;
256
+ const checksExpectedStatus = opts?.expectedStatus !== void 0;
257
+ if (checksExpectedOwner || checksExpectedStatus) {
258
+ const expectedOwner = opts.expectedOwner ? sanitizeName(opts.expectedOwner) : void 0;
259
+ const actualOwner = task.owner ? sanitizeName(task.owner) : void 0;
260
+ if (checksExpectedOwner && expectedOwner !== actualOwner || checksExpectedStatus && opts.expectedStatus !== task.status) {
261
+ throw new TaskSnapshotChangedError(
262
+ taskId,
263
+ expectedOwner,
264
+ actualOwner,
265
+ opts.expectedStatus,
266
+ task.status,
267
+ checksExpectedOwner,
268
+ checksExpectedStatus
269
+ );
270
+ }
271
+ }
227
272
  if (opts?.callerName !== void 0 && opts.callerName !== RECIPROCAL_CALLER) {
228
273
  const restrictsOwnership = updates.status !== void 0 || updates.owner !== void 0 || updates.subject !== void 0 || updates.description !== void 0 || (updates.addBlocks?.length ?? 0) > 0 || (updates.addBlockedBy?.length ?? 0) > 0;
229
274
  if (restrictsOwnership && task.owner && task.owner !== opts.callerName) {
@@ -580,6 +625,7 @@ export {
580
625
  createTask,
581
626
  getTask,
582
627
  TaskOwnershipError,
628
+ TaskSnapshotChangedError,
583
629
  updateTask,
584
630
  deleteTask,
585
631
  listTasks,
@@ -2,11 +2,15 @@
2
2
  "use strict";
3
3
  import {
4
4
  isCommandAvailable
5
- } from "./chunk-JXNIF2O5.js";
5
+ } from "./chunk-V545KI73.js";
6
+ import {
7
+ NO_EXEC_CONFIG,
8
+ NO_EXEC_CONFIG_SETTINGS
9
+ } from "./chunk-NXUZFW3G.js";
6
10
  import {
7
11
  fileExists,
8
12
  isWithinRoot
9
- } from "./chunk-J6MB5ZHZ.js";
13
+ } from "./chunk-QZW6WRB7.js";
10
14
  import {
11
15
  atomicWriteFile,
12
16
  atomicWriteJSON
@@ -122,6 +126,20 @@ import { promisify } from "node:util";
122
126
  // packages/core/src/utils/load-simple-git.ts
123
127
  init_esbuild_shims();
124
128
  var simpleGitModulePromise;
129
+ function guardFsmonitor(factory) {
130
+ const guarded = /* @__PURE__ */ __name((first, second) => {
131
+ const baseDir = typeof first === "string" ? first : void 0;
132
+ const options = typeof first === "string" ? second : first;
133
+ const merged = {
134
+ ...options,
135
+ config: [...options?.config ?? [], ...NO_EXEC_CONFIG_SETTINGS],
136
+ unsafe: { ...options?.unsafe, allowUnsafeFsMonitor: true }
137
+ };
138
+ return baseDir === void 0 ? factory(merged) : factory(baseDir, merged);
139
+ }, "guarded");
140
+ return guarded;
141
+ }
142
+ __name(guardFsmonitor, "guardFsmonitor");
125
143
  function isSimpleGitModule(candidate) {
126
144
  return candidate !== void 0 && "simpleGit" in candidate && typeof candidate.simpleGit === "function" && "CheckRepoActions" in candidate && typeof candidate.CheckRepoActions === "object" && candidate.CheckRepoActions !== null;
127
145
  }
@@ -135,7 +153,7 @@ function loadSimpleGit() {
135
153
  }
136
154
  return {
137
155
  CheckRepoActions: candidate.CheckRepoActions,
138
- simpleGit: candidate.simpleGit
156
+ simpleGit: guardFsmonitor(candidate.simpleGit)
139
157
  };
140
158
  });
141
159
  return simpleGitModulePromise;
@@ -160,6 +178,7 @@ function worktreeBranchForSlug(slug) {
160
178
  __name(worktreeBranchForSlug, "worktreeBranchForSlug");
161
179
  var WORKTREE_SESSION_FILE = ".qwen-session";
162
180
  var WORKTREE_SESSION_MARKER_MAX_BYTES = 512;
181
+ var NO_EXEC_DIFF_FLAGS = ["--no-ext-diff", "--no-textconv"];
163
182
  async function addWorktreeSessionMarkerExclude(worktreePath) {
164
183
  try {
165
184
  const { simpleGit } = await loadSimpleGit();
@@ -1029,7 +1048,7 @@ var GitWorktreeService = class _GitWorktreeService {
1029
1048
  const base = await this.resolveBaseline(worktreeGit) ?? baseBranch ?? await this.getCurrentBranch();
1030
1049
  return await this.withStagedChanges(
1031
1050
  worktreeGit,
1032
- () => worktreeGit.diff(["--binary", "--cached", base])
1051
+ () => worktreeGit.diff([...NO_EXEC_DIFF_FLAGS, "--binary", "--cached", base])
1033
1052
  );
1034
1053
  } catch (error) {
1035
1054
  return `Error getting diff: ${error instanceof Error ? error.message : "Unknown error"}`;
@@ -1056,7 +1075,7 @@ var GitWorktreeService = class _GitWorktreeService {
1056
1075
  }
1057
1076
  const patch = await this.withStagedChanges(
1058
1077
  worktreeGit,
1059
- () => worktreeGit.diff(["--binary", "--cached", base])
1078
+ () => worktreeGit.diff([...NO_EXEC_DIFF_FLAGS, "--binary", "--cached", base])
1060
1079
  );
1061
1080
  if (!patch.trim()) {
1062
1081
  return { success: true };
@@ -1966,10 +1985,22 @@ ${WORKTREES_DIR}/
1966
1985
  */
1967
1986
  async hasWorktreeChanges(worktreePath) {
1968
1987
  try {
1969
- const { simpleGit } = await loadSimpleGit();
1970
- const wtGit = simpleGit(worktreePath);
1971
- const status = await wtGit.status();
1972
- return !status.isClean() || status.conflicted.length > 0;
1988
+ const { stdout } = await execFileAsync(
1989
+ "git",
1990
+ [
1991
+ ...NO_EXEC_CONFIG,
1992
+ "--no-optional-locks",
1993
+ "status",
1994
+ "--porcelain",
1995
+ "--untracked-files=all"
1996
+ ],
1997
+ {
1998
+ cwd: worktreePath,
1999
+ encoding: "utf8",
2000
+ maxBuffer: 10 * 1024 * 1024
2001
+ }
2002
+ );
2003
+ return stdout.trim().length > 0;
1973
2004
  } catch {
1974
2005
  return true;
1975
2006
  }
@@ -1980,11 +2011,31 @@ ${WORKTREES_DIR}/
1980
2011
  */
1981
2012
  async countWorktreeChanges(worktreePath) {
1982
2013
  try {
1983
- const { simpleGit } = await loadSimpleGit();
1984
- const wtGit = simpleGit(worktreePath);
1985
- const status = await wtGit.status();
1986
- const tracked = status.staged.length + status.modified.length + status.deleted.length + status.renamed.length + status.created.length + status.conflicted.length;
1987
- const untracked = status.not_added.length;
2014
+ const { stdout } = await execFileAsync(
2015
+ "git",
2016
+ [
2017
+ ...NO_EXEC_CONFIG,
2018
+ "--no-optional-locks",
2019
+ "status",
2020
+ "--porcelain",
2021
+ "--untracked-files=all"
2022
+ ],
2023
+ {
2024
+ cwd: worktreePath,
2025
+ encoding: "utf8",
2026
+ maxBuffer: 10 * 1024 * 1024
2027
+ }
2028
+ );
2029
+ let tracked = 0;
2030
+ let untracked = 0;
2031
+ for (const line of stdout.split("\n")) {
2032
+ if (line.length === 0) continue;
2033
+ if (line.startsWith("??")) {
2034
+ untracked += 1;
2035
+ } else {
2036
+ tracked += 1;
2037
+ }
2038
+ }
1988
2039
  return { tracked, untracked };
1989
2040
  } catch {
1990
2041
  return null;
@@ -14,7 +14,7 @@ import {
14
14
  init_esbuild_shims();
15
15
  async function getCliVersion() {
16
16
  const pkgJson = await getPackageJson();
17
- return "0.23.3";
17
+ return "0.23.4-nightly.20260914.f024b37689";
18
18
  }
19
19
  __name(getCliVersion, "getCliVersion");
20
20
  function formatVersionLabel(version) {
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-OX7IZ2G5.js";
5
+ } from "./chunk-XPULQNNS.js";
6
6
  import {
7
7
  observeHeadlessJsonToolResultWire
8
- } from "./chunk-3XLK2QMY.js";
8
+ } from "./chunk-MVLLTUOB.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-7BXXIQG4.js";
6
+ } from "./chunk-ULPXHGLV.js";
7
7
  import {
8
8
  getSystemDefaultsPath,
9
9
  getSystemSettingsPath
@@ -13,7 +13,7 @@ import {
13
13
  TrustLevel,
14
14
  getExplicitTrustLevel,
15
15
  getTrustedFoldersPath
16
- } from "./chunk-53GWJOLP.js";
16
+ } from "./chunk-F7WDCD2N.js";
17
17
  import {
18
18
  require_strip_json_comments
19
19
  } from "./chunk-NPQ5ZKRP.js";
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-MR3PXB6E.js";
23
23
  import {
24
24
  ideContextStore
25
- } from "./chunk-N7VWZDWW.js";
25
+ } from "./chunk-KJFGH23C.js";
26
26
  import {
27
27
  init_esbuild_shims
28
28
  } from "./chunk-5O2XNYP6.js";