@qwen-code/qwen-code 0.23.3 → 0.23.4

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 +46 -198
  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 +48 -37
  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-Q44AWRWI.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-UKII7M7U.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-7RUAOXE7.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-5N3LHCO3.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-LU5UJALC.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-LTLADUGR.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-P34XQP3D.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-VE4ARRSR.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-DAWWT2ID.js → chunk-2NRKLYID.js} +1374 -2164
  47. package/chunks/{chunk-53GWJOLP.js → chunk-2P2IXKDR.js} +3 -1
  48. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  49. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  50. package/chunks/{chunk-MLQNSPRZ.js → chunk-3AYIKQTJ.js} +15 -5
  51. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-BWAMMKIS.js → chunk-4XP7WXC4.js} +135 -6
  54. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  55. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  56. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  57. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  58. package/chunks/chunk-5JG3DAKS.js +1416 -0
  59. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  60. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  61. package/chunks/chunk-62MWBTS7.js +191 -0
  62. package/chunks/{chunk-YQHLFCPU.js → chunk-65ANUQSV.js} +32 -24
  63. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  64. package/chunks/{chunk-AC6KDLH3.js → chunk-6TFZIA2L.js} +1 -1
  65. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  66. package/chunks/{chunk-NRXWJXJ4.js → chunk-7GKPKIUB.js} +15 -15
  67. package/chunks/chunk-7JGH6IMU.js +2780 -0
  68. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  69. package/chunks/{chunk-HGAELO7B.js → chunk-7ML2ZLQF.js} +2 -2
  70. package/chunks/{chunk-3UXUOFO6.js → chunk-7W2Y3PZD.js} +9 -10
  71. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  72. package/chunks/chunk-ACHCT36C.js +28 -0
  73. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  74. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  75. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  76. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  77. package/chunks/{chunk-SYLECP23.js → chunk-BBMOAZ2E.js} +4 -4
  78. package/chunks/{chunk-RWVD5RRY.js → chunk-BDDE4YNP.js} +3 -3
  79. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  80. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  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-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  85. package/chunks/{chunk-N7VWZDWW.js → chunk-DCRVSIK6.js} +4460 -3838
  86. package/chunks/{chunk-NJQTG2G3.js → chunk-DGTH4BSO.js} +11 -11
  87. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  88. package/chunks/{chunk-BWQLXU37.js → chunk-E4XZSQXB.js} +381 -86
  89. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-E7HXORS7.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-Q5BD56BW.js → chunk-ELHAQ5H4.js} +7 -7
  94. package/chunks/{chunk-GSILBZLN.js → chunk-EOQXU3ZE.js} +2 -2
  95. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  96. package/chunks/{chunk-POC3YMHG.js → chunk-F2IRY2TD.js} +4 -4
  97. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  98. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  99. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  100. package/chunks/{chunk-Z3GF56ME.js → chunk-FRISMWG3.js} +3 -3
  101. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  102. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  103. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  104. package/chunks/{chunk-3XLK2QMY.js → chunk-H7L725Z6.js} +59 -16
  105. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  106. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  107. package/chunks/{chunk-BZM5U74J.js → chunk-I6JRN375.js} +724 -468
  108. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  109. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  110. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  111. package/chunks/{chunk-NOAG7N22.js → chunk-IGLX6UXJ.js} +2 -2
  112. package/chunks/chunk-INGBUYL6.js +230 -0
  113. package/chunks/{chunk-IL5M5NYD.js → chunk-IR5CVY5G.js} +11 -9
  114. package/chunks/{chunk-OX7IZ2G5.js → chunk-ITOB3LRT.js} +4 -4
  115. package/chunks/{chunk-LDVNJZGH.js → chunk-IUXWAKVS.js} +17 -8
  116. package/chunks/{chunk-2PJRI3EH.js → chunk-J4DRBDHX.js} +218 -43
  117. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  118. package/chunks/{chunk-W5FIP7FC.js → chunk-JLZ5YCMV.js} +5 -5
  119. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  120. package/chunks/{chunk-2ZN3O5FT.js → chunk-JZ3FFPES.js} +6 -6
  121. package/chunks/{chunk-NMCDMLHL.js → chunk-K2DCZ6SZ.js} +50 -35
  122. package/chunks/{chunk-F42YYSCK.js → chunk-KLGCF6G7.js} +8 -8
  123. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  124. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  125. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-L56E7YUM.js} +11 -110
  126. package/chunks/{chunk-NMRCXKQ5.js → chunk-L5BVU4JW.js} +3 -3
  127. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  128. package/chunks/{chunk-GOXQL4YH.js → chunk-LFNK4DGQ.js} +2 -2
  129. package/chunks/{chunk-UKZ45TJL.js → chunk-LMDMYMSS.js} +420 -219
  130. package/chunks/chunk-LMJSPC55.js +260 -0
  131. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  132. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  133. package/chunks/{chunk-HBQ2NXOU.js → chunk-M6MID3FA.js} +2 -2
  134. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  135. package/chunks/{chunk-MF6E7FSA.js → chunk-MFPAVOYJ.js} +8 -201
  136. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  137. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  138. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  139. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  140. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  141. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  142. package/chunks/{chunk-X7UJKOHZ.js → chunk-O75ZXPOX.js} +4 -6
  143. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  144. package/chunks/{chunk-XBZTAGB7.js → chunk-OXDQETZA.js} +1 -1
  145. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  146. package/chunks/{chunk-SBRX4BDI.js → chunk-P225AM5U.js} +2 -2
  147. package/chunks/{chunk-ZU47FBOC.js → chunk-P6XVYPWA.js} +126 -12
  148. package/chunks/{chunk-MHAADZOZ.js → chunk-PCIYPEYV.js} +3 -3
  149. package/chunks/{chunk-SSGAAWLY.js → chunk-PNACDSCO.js} +95 -73
  150. package/chunks/chunk-PRWRNC64.js +32 -0
  151. package/chunks/{chunk-7BXXIQG4.js → chunk-PVKEYO5D.js} +36 -72
  152. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  153. package/chunks/{chunk-DYFOSJHU.js → chunk-QM2MRAG4.js} +2756 -1153
  154. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  155. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  156. package/chunks/{chunk-3BTSSIJO.js → chunk-RHTNPDGD.js} +99 -14
  157. package/chunks/{chunk-OLTN767L.js → chunk-RJFUPP3F.js} +2 -2
  158. package/chunks/chunk-RKXAOP6F.js +154 -0
  159. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  160. package/chunks/{chunk-E7LB57MB.js → chunk-RWKR4VNK.js} +6 -6
  161. package/chunks/chunk-S7UQ3V2H.js +87 -0
  162. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  163. package/chunks/{chunk-SODMFNAR.js → chunk-SQCZDHBQ.js} +5 -5
  164. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  165. package/chunks/{chunk-3KQBQ6FM.js → chunk-SYDMM6IX.js} +190 -28
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  168. package/chunks/{chunk-RLLRJJDR.js → chunk-TJDUJSVH.js} +2 -2
  169. package/chunks/{chunk-HBU7EKY4.js → chunk-TRKIKBUW.js} +45 -15
  170. package/chunks/{chunk-GCDXVPFK.js → chunk-TW2RLZPC.js} +31 -7
  171. package/chunks/chunk-U6H3XTFA.js +95 -0
  172. package/chunks/{chunk-NHJKAR6E.js → chunk-UGEDTVL6.js} +972 -18
  173. package/chunks/{chunk-KOKPXIAN.js → chunk-UL4DXZMP.js} +3 -3
  174. package/chunks/{chunk-MSNHNAQZ.js → chunk-UUT7EFX3.js} +3 -3
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/{chunk-7ICHPMBQ.js → chunk-VELFTVEO.js} +4 -4
  177. package/chunks/chunk-VGY2RGXL.js +100 -0
  178. package/chunks/{chunk-5KI7ZDTB.js → chunk-VQ3SUPLA.js} +24 -12
  179. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  180. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  181. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  182. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  183. package/chunks/{chunk-KFZYGSJN.js → chunk-WDB57HEI.js} +3 -3
  184. package/chunks/chunk-WFNEY5G7.js +347 -0
  185. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  186. package/chunks/{chunk-EVTNACMT.js → chunk-WKQX4FND.js} +12 -12
  187. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  188. package/chunks/{chunk-NHCZJQE4.js → chunk-WLFILD4T.js} +6 -6
  189. package/chunks/{chunk-JYKWOREU.js → chunk-WMEX6CFP.js} +13 -3
  190. package/chunks/{chunk-6W4HBUA2.js → chunk-WNQRJXKP.js} +1 -1
  191. package/chunks/{chunk-7APZIRH3.js → chunk-X7GOO6VM.js} +5 -5
  192. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  193. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  194. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  195. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  196. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  197. package/chunks/chunk-Z72PLR74.js +36 -0
  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-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/{chunk-DT75RKNH.js → chunk-ZXUKZHMV.js} +3 -3
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-WCRCJMQK.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-73C3RGYN.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-4ZDPQJHD.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-ZDUA5DYE.js} +58 -55
  207. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-JK3SSJKO.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-QU2CCJIE.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-2PO7NLDQ.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-IMDTIUWB.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-6IVBNUAD.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-3AZUE7F3.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-HXMBABZU.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-KAMW2I2C.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-HYMXOTVB.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-NQRH7NAM.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-SMEBS5EF.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-CUWUTJUR.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-VOM5DVZ3.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-YBYJ5KPM.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-4CEHNJ2F.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-G7ODGUGN.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-GZ73HSOA.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-PV472I52.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-D4A7LFOF.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-PJU4VT3K.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-ITOMDK65.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-NNU4BY5Q.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-SMI2AJYY.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-AN5RDI5D.js} +57 -53
  261. package/chunks/mcp-RIIEZ7NJ.js +127 -0
  262. package/chunks/model-configuration-E5M35A3M.js +140 -0
  263. package/chunks/modelConfigUtils-43SY2EDS.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-5WYDOXLI.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-D3YFYXNB.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-GQNFJTIR.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-VJAKFZ32.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-I5SWEJDX.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-NSYM3SKR.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-KWBANHUE.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-LR6HNFBU.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-LOSUPKDX.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-6IFK3MQO.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-MBSYRHNP.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-WYEEYIHV.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-FVTTOB4E.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-RN6DUY7E.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-T7DDWINW.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-LVMPJBTV.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-U7K7EJEP.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-BQNC5QUN.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-LQDHWZST.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-J7DQYX2I.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-WAWJIZHR.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-WFJEYGQI.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-RHQWSDOK.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-ALFUQQD6.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-D35CB5JB.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-NMMY6CAO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-F6BN46GE.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-E6U7L5AD.js} +1610 -1773
  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-DKAJ3OUY.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-ZUG32DAK.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-U3Z5PMGO.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-GA65ZFKB.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-XCEN7VXX.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-FZSHBR32.js} +63 -58
  317. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-SXPNZESV.js} +57 -53
  318. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-QOUTZZ7Q.js} +5 -5
  319. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-DYRX7M34.js} +60 -56
  320. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-QOG7LUT3.js} +68 -64
  321. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-FJPAEMDD.js} +109 -104
  322. package/chunks/{version-EAAZN4T2.js → version-5IC46F2Z.js} +1 -1
  323. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WSW4QZBA.js} +15 -13
  324. package/chunks/web-search-5QFKXWUV.js +39 -0
  325. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  326. package/chunks/{workflow-UHPFALVZ.js → workflow-ZF4DLK4V.js} +179 -79
  327. package/chunks/workspace-providers-status-4E4XWBFS.js +133 -0
  328. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-M3QEP27F.js} +2 -2
  329. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-H2ENI5G2.js} +63 -58
  330. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-CRRNB7PC.js} +66 -59
  331. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-GJ2GOHKU.js} +70 -65
  332. package/chunks/workspace-skills-status-CRWHV35X.js +130 -0
  333. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-GG2JA7KI.js} +73 -68
  334. package/chunks/{write-file-DPVB2SBQ.js → write-file-LZ4EMF36.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-J5IMS3WD.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-S_JCiANq.js} +1 -1
  353. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  354. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  355. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  356. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  357. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  358. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  359. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  360. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  361. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  362. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  363. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  364. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  365. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  366. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  369. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  370. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  371. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.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-C8FA8vJk.js +4 -0
  374. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  375. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  376. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  377. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  378. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  379. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  380. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  381. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  382. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  383. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  384. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  385. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  386. package/web-shell/assets/index-DyMtNYuu.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-BpBvjkro.js} +1 -1
  389. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  390. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  391. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  392. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  393. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  394. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  395. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  396. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  397. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  398. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.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-2UEJe_y-.js} +1 -1
  401. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  402. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  403. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  404. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  405. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  406. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  407. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  408. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  409. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  410. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  411. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  412. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.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,
@@ -3,13 +3,6 @@
3
3
  import {
4
4
  HEADLESS_YOLO_NO_SANDBOX_WARNING
5
5
  } from "./chunk-6H67XLET.js";
6
- import {
7
- JOURNAL_GROWTH_POOL_FRACTION,
8
- MAX_JOURNAL_GROWTH_POOL_MB,
9
- MIN_MEMORY_BUDGET_MB,
10
- isValidMemoryBudgetMb,
11
- memoryBudgetRangeError
12
- } from "./chunk-UXEO7E3V.js";
13
6
  import {
14
7
  DEFAULT_RING_SIZE
15
8
  } from "./chunk-7U5G6JXI.js";
@@ -19,18 +12,25 @@ import {
19
12
  DEFAULT_MAX_JOURNAL_EVENTS,
20
13
  JOURNAL_GROWTH_HARD_CAP_BYTES
21
14
  } from "./chunk-WCCLLK7X.js";
15
+ import {
16
+ JOURNAL_GROWTH_POOL_FRACTION,
17
+ MAX_JOURNAL_GROWTH_POOL_MB,
18
+ MIN_MEMORY_BUDGET_MB,
19
+ isValidMemoryBudgetMb,
20
+ memoryBudgetRangeError
21
+ } from "./chunk-LYD3T3H7.js";
22
22
  import {
23
23
  normalizeServeChannelSelection
24
- } from "./chunk-ALMR3E6Q.js";
24
+ } from "./chunk-GDWE23OR.js";
25
25
  import {
26
26
  EXTERNAL_TOOL_GUARD_TOKEN_ENV
27
27
  } from "./chunk-3VUENPWF.js";
28
28
  import {
29
29
  loadSettings
30
- } from "./chunk-7BXXIQG4.js";
30
+ } from "./chunk-PVKEYO5D.js";
31
31
  import {
32
32
  MCP_BUDGET_WARN_FRACTION
33
- } from "./chunk-N7VWZDWW.js";
33
+ } from "./chunk-DCRVSIK6.js";
34
34
  import {
35
35
  parsePositiveIntegerEnv
36
36
  } from "./chunk-6PVPNMXU.js";
@@ -447,7 +447,7 @@ var serveCommand = {
447
447
  delete process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
448
448
  const openWithAuth = argv["open-with-auth"];
449
449
  const open = argv.open || openWithAuth;
450
- const { runQwenServe } = await import("./run-qwen-serve-26KZDECC.js");
450
+ const { runQwenServe } = await import("./run-qwen-serve-WYEEYIHV.js");
451
451
  try {
452
452
  const serveOptions = {
453
453
  port: argv.port,
@@ -513,7 +513,7 @@ var serveCommand = {
513
513
  ...channelSelection !== void 0 ? { channelSelection } : {}
514
514
  };
515
515
  if (openWithAuth) {
516
- const { applyOpenWithAuth } = await import("./open-with-auth-6MVIHMXB.js");
516
+ const { applyOpenWithAuth } = await import("./open-with-auth-XFCCJOO6.js");
517
517
  applyOpenWithAuth(serveOptions);
518
518
  }
519
519
  const handle = await runQwenServe(serveOptions);
@@ -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;
@@ -2,23 +2,23 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-SODMFNAR.js";
5
+ } from "./chunk-SQCZDHBQ.js";
6
6
  import {
7
7
  parseChannelConfig
8
- } from "./chunk-RZHU3K6M.js";
8
+ } from "./chunk-IAS753HG.js";
9
9
  import {
10
10
  getPlugin,
11
11
  registerPlugin
12
- } from "./chunk-CUEXOHQH.js";
12
+ } from "./chunk-5ODRE7E5.js";
13
13
  import {
14
14
  sanitizeLogText
15
- } from "./chunk-7QYWGTHB.js";
15
+ } from "./chunk-EPVEPTI3.js";
16
16
  import {
17
17
  loadSettings
18
- } from "./chunk-7BXXIQG4.js";
18
+ } from "./chunk-PVKEYO5D.js";
19
19
  import {
20
20
  hashDaemonWorkspace
21
- } from "./chunk-ZW2EUO2A.js";
21
+ } from "./chunk-L6DIANLD.js";
22
22
  import {
23
23
  Storage
24
24
  } from "./chunk-ZAFYHRVY.js";
@@ -12,6 +12,7 @@ init_esbuild_shims();
12
12
  import { promises as fs } from "node:fs";
13
13
  import { join } from "node:path";
14
14
  var cleanupFunctions = [];
15
+ var exitCleanupPromise;
15
16
  function registerCleanup(fn) {
16
17
  cleanupFunctions.push(fn);
17
18
  return () => {
@@ -39,7 +40,16 @@ function withTimeout(promise, ms) {
39
40
  });
40
41
  }
41
42
  __name(withTimeout, "withTimeout");
42
- async function runExitCleanup(options = {}) {
43
+ function runExitCleanup(options = {}) {
44
+ if (exitCleanupPromise) return exitCleanupPromise;
45
+ const cleanup = runExitCleanupPass(options).finally(() => {
46
+ if (exitCleanupPromise === cleanup) exitCleanupPromise = void 0;
47
+ });
48
+ exitCleanupPromise = cleanup;
49
+ return cleanup;
50
+ }
51
+ __name(runExitCleanup, "runExitCleanup");
52
+ async function runExitCleanupPass(options) {
43
53
  const perFn = options._testPerFnTimeoutMs ?? PER_CLEANUP_TIMEOUT_MS;
44
54
  const overall = options._testOverallTimeoutMs ?? OVERALL_CLEANUP_TIMEOUT_MS;
45
55
  const drain = (async () => {
@@ -62,9 +72,9 @@ async function runExitCleanup(options = {}) {
62
72
  cleanupFunctions.length = 0;
63
73
  }
64
74
  }
65
- __name(runExitCleanup, "runExitCleanup");
75
+ __name(runExitCleanupPass, "runExitCleanupPass");
66
76
  async function cleanupCheckpoints() {
67
- const { Storage } = await import("./deferred-core-runtime-JK5IXL5K.js");
77
+ const { Storage } = await import("./deferred-core-runtime-3AZUE7F3.js");
68
78
  const storage = new Storage(process.cwd());
69
79
  const tempDir = storage.getProjectTempDir();
70
80
  const checkpointsDir = join(tempDir, "checkpoints");
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-JYKWOREU.js";
5
+ } from "./chunk-WMEX6CFP.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";