@qwen-code/qwen-code 0.23.3 → 0.23.4-dev.codemode-responses.20260914.87437db784

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 (464) 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-CSMC6NNQ.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-5G46NROB.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-4JLSF7SA.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-WJ45JV2S.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-KWNOVXAD.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-TU5N3GFF.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-PF7UX6MH.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-3OVAGIC2.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-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  47. package/chunks/{chunk-NRXWJXJ4.js → chunk-2YGR3VN6.js} +15 -15
  48. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  49. package/chunks/{chunk-3BTSSIJO.js → chunk-3DOAKZYD.js} +99 -14
  50. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  51. package/chunks/{chunk-2ZN3O5FT.js → chunk-457DR2MC.js} +6 -6
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  54. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  55. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  56. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  57. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  58. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  59. package/chunks/{chunk-3KQBQ6FM.js → chunk-63WKMKVD.js} +190 -28
  60. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  61. package/chunks/{chunk-MLQNSPRZ.js → chunk-6MLDTOHU.js} +15 -5
  62. package/chunks/{chunk-SBRX4BDI.js → chunk-6NKDU7YL.js} +2 -2
  63. package/chunks/{chunk-3UXUOFO6.js → chunk-6TMXX4Z4.js} +9 -10
  64. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  65. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  66. package/chunks/{chunk-EVTNACMT.js → chunk-A6QMKS5S.js} +12 -12
  67. package/chunks/{chunk-NOAG7N22.js → chunk-A6YU6R5N.js} +2 -2
  68. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  69. package/chunks/chunk-ACHCT36C.js +28 -0
  70. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  71. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  72. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  73. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  74. package/chunks/{chunk-SYLECP23.js → chunk-B776VKDA.js} +4 -4
  75. package/chunks/{chunk-AC6KDLH3.js → chunk-BNYQHLPR.js} +1 -1
  76. package/chunks/{chunk-BZM5U74J.js → chunk-BS7ON54G.js} +724 -468
  77. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  78. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  79. package/chunks/{chunk-POC3YMHG.js → chunk-BY6CE34S.js} +4 -4
  80. package/chunks/{chunk-RLLRJJDR.js → chunk-C3VNHDWJ.js} +2 -2
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-MSNHNAQZ.js → chunk-C5ABXOC2.js} +3 -3
  83. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  84. package/chunks/chunk-CCWWPFZJ.js +191 -0
  85. package/chunks/chunk-CFMZLE3L.js +75 -0
  86. package/chunks/{chunk-N7VWZDWW.js → chunk-CFSBWJBB.js} +4462 -3840
  87. package/chunks/{chunk-KOKPXIAN.js → chunk-CL7JONZN.js} +3 -3
  88. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  89. package/chunks/{chunk-JYKWOREU.js → chunk-DBUOMHLZ.js} +13 -3
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-DLJBYORJ.js} +1 -1
  91. package/chunks/{chunk-DT75RKNH.js → chunk-DNVA2MQ2.js} +3 -3
  92. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  93. package/chunks/{chunk-HGAELO7B.js → chunk-DQMBQCTY.js} +2 -2
  94. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  95. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  96. package/chunks/chunk-EKJXDLDD.js +32 -0
  97. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  98. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  99. package/chunks/{chunk-GCDXVPFK.js → chunk-EZSSJSKR.js} +31 -7
  100. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  101. package/chunks/{chunk-UKZ45TJL.js → chunk-FFBP5POK.js} +420 -219
  102. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  103. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  104. package/chunks/{chunk-SSGAAWLY.js → chunk-GCV4NOHV.js} +95 -73
  105. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  106. package/chunks/{chunk-XBZTAGB7.js → chunk-GMN73IMT.js} +1 -1
  107. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  108. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  109. package/chunks/chunk-GXN7DWZZ.js +154 -0
  110. package/chunks/{chunk-SODMFNAR.js → chunk-H23UWPF7.js} +5 -5
  111. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  112. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  113. package/chunks/{chunk-GOXQL4YH.js → chunk-HWRXJQ6B.js} +2 -2
  114. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  115. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  116. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  117. package/chunks/chunk-INGBUYL6.js +230 -0
  118. package/chunks/{chunk-7BXXIQG4.js → chunk-J73WJIMT.js} +36 -72
  119. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  120. package/chunks/{chunk-Z3GF56ME.js → chunk-JAYWZWZF.js} +3 -3
  121. package/chunks/{chunk-DYFOSJHU.js → chunk-JBFC2644.js} +2756 -1153
  122. package/chunks/{chunk-Q5BD56BW.js → chunk-JPCYCFYG.js} +7 -7
  123. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  124. package/chunks/{chunk-NHCZJQE4.js → chunk-JZKBMADP.js} +6 -6
  125. package/chunks/{chunk-MF6E7FSA.js → chunk-K7CQWBLT.js} +8 -201
  126. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  127. package/chunks/{chunk-ZU47FBOC.js → chunk-KSIOXYVX.js} +126 -12
  128. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  129. package/chunks/{chunk-3XLK2QMY.js → chunk-L3S2Y2FF.js} +59 -16
  130. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  131. package/chunks/{chunk-6W4HBUA2.js → chunk-LATAUG2M.js} +1 -1
  132. package/chunks/{chunk-RWVD5RRY.js → chunk-LBDASOPR.js} +3 -3
  133. package/chunks/{chunk-OX7IZ2G5.js → chunk-LF5AD7PY.js} +4 -4
  134. package/chunks/{chunk-NMRCXKQ5.js → chunk-LKCNETDW.js} +3 -3
  135. package/chunks/chunk-LMJSPC55.js +260 -0
  136. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  137. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  138. package/chunks/{chunk-KFZYGSJN.js → chunk-M3YNPR56.js} +3 -3
  139. package/chunks/{chunk-HBQ2NXOU.js → chunk-MDG6GKSE.js} +2 -2
  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-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  144. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  145. package/chunks/{chunk-DAWWT2ID.js → chunk-NN4EC2WO.js} +1374 -2164
  146. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  147. package/chunks/{chunk-HBU7EKY4.js → chunk-NRUKL236.js} +45 -15
  148. package/chunks/{chunk-53GWJOLP.js → chunk-NTCFKGQF.js} +3 -1
  149. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  150. package/chunks/{chunk-X7UJKOHZ.js → chunk-OMDXAHCT.js} +4 -6
  151. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  152. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  153. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-PAPBT3WP.js} +11 -110
  154. package/chunks/{chunk-7ICHPMBQ.js → chunk-PHSQVB6D.js} +4 -4
  155. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  156. package/chunks/{chunk-YQHLFCPU.js → chunk-Q5CCYZD3.js} +32 -24
  157. package/chunks/chunk-QQL5BFOL.js +1416 -0
  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-2PJRI3EH.js → chunk-RVOD66ID.js} +218 -43
  162. package/chunks/{chunk-W5FIP7FC.js → chunk-S3PU3CNW.js} +5 -5
  163. package/chunks/chunk-S7UQ3V2H.js +87 -0
  164. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  165. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-E7LB57MB.js → chunk-T3LUMYFP.js} +6 -6
  168. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  169. package/chunks/{chunk-5KI7ZDTB.js → chunk-TV5WDW7R.js} +24 -12
  170. package/chunks/{chunk-NMCDMLHL.js → chunk-TXUJOKVR.js} +50 -35
  171. package/chunks/{chunk-NHJKAR6E.js → chunk-TYWLBEL2.js} +972 -18
  172. package/chunks/chunk-U6H3XTFA.js +95 -0
  173. package/chunks/{chunk-GSILBZLN.js → chunk-U7RWQBGZ.js} +2 -2
  174. package/chunks/{chunk-7APZIRH3.js → chunk-V3CMBOQ6.js} +5 -5
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/chunk-VGY2RGXL.js +100 -0
  177. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  178. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  179. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  180. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  181. package/chunks/chunk-WFNEY5G7.js +347 -0
  182. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  183. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  184. package/chunks/{chunk-BWAMMKIS.js → chunk-WLLRNQVT.js} +135 -6
  185. package/chunks/{chunk-MHAADZOZ.js → chunk-WMSP3XZK.js} +3 -3
  186. package/chunks/{chunk-IL5M5NYD.js → chunk-WUTXSXPP.js} +11 -9
  187. package/chunks/{chunk-NJQTG2G3.js → chunk-XE5ZFBVD.js} +11 -11
  188. package/chunks/{chunk-OLTN767L.js → chunk-XO3Z27IL.js} +2 -2
  189. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  190. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  191. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  192. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  193. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  194. package/chunks/{chunk-F42YYSCK.js → chunk-YVF4PKCV.js} +8 -8
  195. package/chunks/{chunk-LDVNJZGH.js → chunk-Z2H5HQS3.js} +17 -8
  196. package/chunks/chunk-Z72PLR74.js +36 -0
  197. package/chunks/{chunk-BWQLXU37.js → chunk-ZDHXRKRG.js} +381 -86
  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-ZRZZLM37.js +2780 -0
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-SM3TUSBA.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-JHKHFOG6.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-XE4NDYQW.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-PNCWH3RE.js} +58 -55
  207. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  208. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-P7E5Y3HY.js} +169 -89
  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-JFD5VZRN.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-A3VFVFWW.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-NPZ47MZH.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-XG2CHL3Z.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-V42EMU27.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-E2ZGJDBJ.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-442YAAZB.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-DCJ5FVHM.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-ZWTDW2NJ.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-4PLQOFOO.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-DBSGDGB3.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-VWOE4W7K.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-K6SIBXMB.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-NCC3XELY.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-GO7JI4PT.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-BXKAW5A6.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-5JONIX62.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-QW74LCLS.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-FJHSMJTM.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-3VLLPQS4.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-OLMQSKVC.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-IMLIJULY.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-LXLBWCNA.js} +57 -53
  261. package/chunks/mcp-FOXA3372.js +127 -0
  262. package/chunks/model-configuration-SCOI2KPF.js +140 -0
  263. package/chunks/modelConfigUtils-EA44S64C.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-TJAHYCCY.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-QH2HABWC.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-WEMSBUBS.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-WD5DWYOA.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-TQL2LCEG.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-6ZU56DCI.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-3HAKHXFV.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-3OIZQZLC.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-2PWWL6J2.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-S4TEUTKE.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-5NMGLMLX.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-6MGYRK4V.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-ZJYUQCPP.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-5MKF4EV3.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-72DZWRH5.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-7ZDMMA7I.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-ONK5RTEV.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-XQW2LM4S.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-Q5IUCMQV.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-MVECWT3W.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-DL6K2HQ3.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-BLP25QJU.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-7KURUNLD.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-MY76LM46.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-IJLH3Z74.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-YQKN7VNO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-ORNGKZTG.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-PRLIKB4U.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-ANLKOQ44.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-EFUENI6Y.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-CXMFIWKC.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-JUFYQDQQ.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-SNCEA4VA.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-UHYNUO3L.js} +63 -58
  317. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-NZ3QACD7.js} +1 -1
  318. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-WXHLMORC.js} +1 -1
  319. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-YBR5URPG.js} +57 -53
  320. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-L6MTSN76.js} +5 -5
  321. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-Z3SPZXHC.js} +60 -56
  322. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-PR5XGMO6.js} +68 -64
  323. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-KFLTWEYW.js} +109 -104
  324. package/chunks/{version-EAAZN4T2.js → version-NGAKFVUF.js} +1 -1
  325. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WPGTHGU5.js} +15 -13
  326. package/chunks/web-search-JT63IJJV.js +39 -0
  327. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  328. package/chunks/{workflow-UHPFALVZ.js → workflow-EB63BAL4.js} +179 -79
  329. package/chunks/workspace-providers-status-NEPR67D2.js +133 -0
  330. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-CFWXOMGH.js} +2 -2
  331. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-6KRZXOGB.js} +63 -58
  332. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-SP4X3UVH.js} +66 -59
  333. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-PRMYJTTV.js} +70 -65
  334. package/chunks/workspace-skills-status-VYTZJ5MB.js +130 -0
  335. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-B4QMGDMI.js} +73 -68
  336. package/chunks/{write-file-DPVB2SBQ.js → write-file-EGBMW7TS.js} +45 -41
  337. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  338. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  339. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-UR6K2LDR.js} +11 -10
  340. package/cli.js +18 -17
  341. package/codeModeHost.js +4425 -0
  342. package/export-transcript-document.css +1 -1
  343. package/export-transcript-document.js +151 -151
  344. package/locales/ca.js +5 -6
  345. package/locales/de.js +5 -6
  346. package/locales/en.js +7 -6
  347. package/locales/fr.js +6 -6
  348. package/locales/ja.js +5 -6
  349. package/locales/pt.js +5 -6
  350. package/locales/ru.js +6 -6
  351. package/locales/zh-TW.js +7 -6
  352. package/locales/zh.js +7 -6
  353. package/package.json +4 -3
  354. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  355. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  356. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  357. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  358. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  359. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  360. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  361. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  362. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  363. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  364. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  365. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  366. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  367. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  368. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  369. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  370. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  371. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  372. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  373. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  374. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  375. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  376. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  377. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  378. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  379. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  380. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  381. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  382. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  383. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  384. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  385. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  386. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  387. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  388. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  389. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  390. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  391. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  392. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  393. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  394. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  395. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  396. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  397. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  398. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  399. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  400. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  401. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  406. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  409. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  411. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  412. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  413. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  415. package/web-shell/index.html +2 -2
  416. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  417. package/chunks/chunk-AEY27Z35.js +0 -1411
  418. package/chunks/chunk-CFKIH3D3.js +0 -50
  419. package/chunks/chunk-HWVUSYSN.js +0 -126
  420. package/chunks/chunk-QHMLYMMS.js +0 -32
  421. package/chunks/chunk-SAH4BD2J.js +0 -92
  422. package/chunks/chunk-TWUKBNWM.js +0 -86
  423. package/chunks/chunk-ZTTC7T4X.js +0 -126
  424. package/chunks/list-YL6LDQKQ.js +0 -129
  425. package/chunks/mcp-IYVSIW6O.js +0 -123
  426. package/chunks/web-search-NEGYQNDJ.js +0 -912
  427. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  428. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  429. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  430. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  431. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  432. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  433. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  434. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  435. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  436. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  437. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  438. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  439. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  440. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  441. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  442. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  443. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  444. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  445. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  446. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  447. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  448. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  449. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  450. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  451. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  452. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  453. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  454. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  455. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  456. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  457. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  458. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  459. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  460. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  461. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  462. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  463. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  464. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -2,59 +2,65 @@
2
2
  "use strict";
3
3
  import {
4
4
  reportChatRecordingFailureToAdapter
5
- } from "./chunk-V2P3DOQR.js";
5
+ } from "./chunk-YDFOHRS5.js";
6
6
  import {
7
7
  StreamJsonOutputAdapter
8
- } from "./chunk-OX7IZ2G5.js";
8
+ } from "./chunk-LF5AD7PY.js";
9
9
  import {
10
10
  ICON,
11
11
  SHELL_COMMAND_NAME
12
- } from "./chunk-IL5M5NYD.js";
12
+ } from "./chunk-WUTXSXPP.js";
13
+ import {
14
+ appEvents
15
+ } from "./chunk-JBFC2644.js";
13
16
  import {
14
17
  theme
15
18
  } from "./chunk-4LIPOIXS.js";
16
19
  import {
17
20
  require_jsx_runtime
18
21
  } from "./chunk-SV5PQVQE.js";
22
+ import {
23
+ themeManager
24
+ } from "./chunk-2XRE4KE4.js";
19
25
  import {
20
26
  Box_default,
21
27
  Text
22
- } from "./chunk-O4KNCAX4.js";
28
+ } from "./chunk-NCPFOLM2.js";
23
29
  import {
24
30
  require_react
25
31
  } from "./chunk-5QWWOFGG.js";
26
- import {
27
- themeManager
28
- } from "./chunk-2XRE4KE4.js";
29
32
  import {
30
33
  getCachedStringWidth,
31
34
  toCodePoints
32
35
  } from "./chunk-47ECGEJC.js";
33
36
  import {
34
37
  createLoadedSettingsAdapter
35
- } from "./chunk-TWUKBNWM.js";
38
+ } from "./chunk-GXN7DWZZ.js";
39
+ import {
40
+ loadMcpApprovals
41
+ } from "./chunk-457DR2MC.js";
36
42
  import {
37
43
  SettingScope,
38
44
  settingExistsInScope
39
- } from "./chunk-7BXXIQG4.js";
45
+ } from "./chunk-J73WJIMT.js";
40
46
  import {
41
47
  getCurrentLanguage,
42
48
  t,
43
49
  ta
44
- } from "./chunk-VZUCTJ2P.js";
50
+ } from "./chunk-I6YJZGHS.js";
45
51
  import {
46
52
  INITIAL_FOLLOWUP_STATE,
47
53
  Logger,
48
- applyProviderInstallPlan,
49
54
  createFollowupController
50
- } from "./chunk-BZM5U74J.js";
55
+ } from "./chunk-BS7ON54G.js";
51
56
  import {
57
+ applyProviderInstallPlan,
52
58
  buildInstallPlan,
53
59
  getDefaultBaseUrlForProtocol,
54
60
  getDefaultModelIds,
55
61
  resolveBaseUrl,
56
62
  shouldShowStep
57
- } from "./chunk-AEY27Z35.js";
63
+ } from "./chunk-ZRZZLM37.js";
58
64
  import {
59
65
  ShellExecutionService,
60
66
  TERMINAL_CSI_REGEX,
@@ -63,27 +69,28 @@ import {
63
69
  allowEditorTypeInSandbox,
64
70
  checkHasEditorType,
65
71
  compactToolResultDisplayForHistory,
72
+ isGatedMcpScope,
66
73
  isSignalTermination,
67
74
  resolveBranchName,
68
75
  stripTerminalControlSequences,
69
76
  watchRepoBranch
70
- } from "./chunk-N7VWZDWW.js";
77
+ } from "./chunk-CFSBWJBB.js";
71
78
  import {
72
79
  formatMemoryUsage
73
80
  } from "./chunk-CHEIIBT3.js";
74
81
  import {
75
82
  qwenOAuth2Events,
76
83
  sanitizeForOsc
77
- } from "./chunk-AXTFYDXT.js";
84
+ } from "./chunk-CXXAZ2LZ.js";
78
85
  import {
79
86
  AuthEvent,
80
87
  PromptSuggestionEvent,
81
88
  logAuth,
82
89
  logPromptSuggestion
83
- } from "./chunk-HBU7EKY4.js";
90
+ } from "./chunk-NRUKL236.js";
84
91
  import {
85
92
  isBinary
86
- } from "./chunk-W5ZQMAEM.js";
93
+ } from "./chunk-4Y2I3CI3.js";
87
94
  import {
88
95
  createDebugLogger,
89
96
  getErrorMessage
@@ -908,17 +915,31 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem, onAuthCh
908
915
  setPendingAuthType(protocol);
909
916
  setIsAuthenticating(true);
910
917
  setAuthError(null);
911
- const plan = buildInstallPlan(providerConfig, inputs);
918
+ const plan = buildInstallPlan(
919
+ providerConfig,
920
+ inputs,
921
+ settings.merged.modelProviders?.[inputs.protocol ?? providerConfig.protocol]
922
+ );
912
923
  await applyProviderInstallPlan(plan, {
913
924
  settings: createLoadedSettingsAdapter(settings),
914
925
  reloadModelProviders: /* @__PURE__ */ __name((mp) => config.reloadModelProvidersConfig(mp), "reloadModelProviders"),
915
926
  syncAuthState: /* @__PURE__ */ __name((authType, modelId, baseUrl) => config.getModelsConfig().syncAfterAuthRefresh(authType, modelId, baseUrl), "syncAuthState"),
916
927
  refreshAuth: /* @__PURE__ */ __name((authType) => config.refreshAuth(authType), "refreshAuth")
917
928
  });
929
+ if (!plan.modelSelection && !config.getAuthType()) {
930
+ setIsAuthenticating(false);
931
+ setPendingAuthType(void 0);
932
+ onAuthError(
933
+ t(
934
+ "Service models saved. Configure a conversation model to start chatting."
935
+ )
936
+ );
937
+ return;
938
+ }
918
939
  completeAuthentication();
919
940
  const feedbackItem = {
920
941
  type: "info" /* INFO */,
921
- text: t(
942
+ text: !plan.modelSelection ? t("Service models saved.") : t(
922
943
  "Successfully configured {{provider}}. Use /model to switch models.",
923
944
  { provider: providerConfig.label }
924
945
  )
@@ -932,12 +953,20 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem, onAuthCh
932
953
  outputHistoryItems: [feedbackItem]
933
954
  });
934
955
  }
935
- logAuth(config, new AuthEvent(protocol, "manual", "success"));
956
+ if (plan.modelSelection)
957
+ logAuth(config, new AuthEvent(protocol, "manual", "success"));
936
958
  } catch (error) {
937
959
  handleAuthFailure(error, protocol);
938
960
  }
939
961
  },
940
- [settings, config, completeAuthentication, addItem, handleAuthFailure]
962
+ [
963
+ settings,
964
+ config,
965
+ completeAuthentication,
966
+ addItem,
967
+ handleAuthFailure,
968
+ onAuthError
969
+ ]
941
970
  );
942
971
  const openAuthDialog = (0, import_react3.useCallback)(() => {
943
972
  openedViaCommandRef.current = true;
@@ -1086,9 +1115,134 @@ function useGitBranchName(cwd) {
1086
1115
  }
1087
1116
  __name(useGitBranchName, "useGitBranchName");
1088
1117
 
1089
- // packages/cli/src/ui/hooks/shellCommandProcessor.ts
1118
+ // packages/cli/src/ui/hooks/useMcpApproval.ts
1090
1119
  init_esbuild_shims();
1091
1120
  var import_react5 = __toESM(require_react(), 1);
1121
+ function sourceLabel(scope) {
1122
+ switch (scope) {
1123
+ case "workspace":
1124
+ return ".qwen/settings.json";
1125
+ case "project":
1126
+ default:
1127
+ return ".mcp.json";
1128
+ }
1129
+ }
1130
+ __name(sourceLabel, "sourceLabel");
1131
+ function summarize(config) {
1132
+ let summary;
1133
+ if (config.httpUrl) {
1134
+ summary = `${config.httpUrl} (http)`;
1135
+ } else if (config.url) {
1136
+ summary = `${config.url} (sse)`;
1137
+ } else if (config.command) {
1138
+ summary = `${config.command} ${config.args?.join(" ") ?? ""} (stdio)`.replace(
1139
+ /\s+\(/,
1140
+ " ("
1141
+ );
1142
+ } else {
1143
+ summary = "(unknown transport)";
1144
+ }
1145
+ const details = [];
1146
+ if (config.env && Object.keys(config.env).length > 0) {
1147
+ details.push(`env: ${Object.keys(config.env).join(", ")}`);
1148
+ }
1149
+ if (config.headers && Object.keys(config.headers).length > 0) {
1150
+ details.push(`headers: ${Object.keys(config.headers).join(", ")}`);
1151
+ }
1152
+ return details.length > 0 ? `${summary} [${details.join("; ")}]` : summary;
1153
+ }
1154
+ __name(summarize, "summarize");
1155
+ var useMcpApproval = /* @__PURE__ */ __name((config) => {
1156
+ const [queue, setQueue] = (0, import_react5.useState)([]);
1157
+ const computePending = (0, import_react5.useCallback)(() => {
1158
+ if (config.getApprovalMode() === "yolo" /* YOLO */) return [];
1159
+ const servers = config.getMcpServers() ?? {};
1160
+ const approvals = loadMcpApprovals();
1161
+ const root = config.getWorkingDir();
1162
+ return Object.entries(servers).filter(([, c]) => isGatedMcpScope(c.scope)).filter(([name, c]) => approvals.getState(root, name, c) === "pending").map(([name, c]) => ({
1163
+ name,
1164
+ config: c,
1165
+ summary: summarize(c),
1166
+ source: sourceLabel(c.scope)
1167
+ }));
1168
+ }, [config]);
1169
+ (0, import_react5.useEffect)(() => {
1170
+ setQueue(computePending());
1171
+ }, [computePending]);
1172
+ (0, import_react5.useEffect)(() => {
1173
+ const onPendingChanged = /* @__PURE__ */ __name(() => {
1174
+ setQueue(computePending());
1175
+ }, "onPendingChanged");
1176
+ appEvents.on("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
1177
+ return () => {
1178
+ appEvents.off("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
1179
+ };
1180
+ }, [computePending]);
1181
+ const reconnect = (0, import_react5.useCallback)(
1182
+ (name) => {
1183
+ config.approveMcpServerForSession(name);
1184
+ const registry = config.getToolRegistry();
1185
+ void registry?.discoverToolsForServer?.(name)?.catch?.((error) => {
1186
+ if (process.env["DEBUG"]) {
1187
+ console.error(`MCP reconnect failed for ${name}:`, error);
1188
+ }
1189
+ });
1190
+ },
1191
+ [config]
1192
+ );
1193
+ const handleMcpApprovalSelect = (0, import_react5.useCallback)(
1194
+ async (choice) => {
1195
+ const approvals = loadMcpApprovals();
1196
+ const root = config.getWorkingDir();
1197
+ const current = queue[0];
1198
+ if (!current) {
1199
+ return;
1200
+ }
1201
+ if (choice === "approve_all" /* APPROVE_ALL */) {
1202
+ for (const server of queue) {
1203
+ await approvals.setState(
1204
+ root,
1205
+ server.name,
1206
+ server.config,
1207
+ "approved"
1208
+ );
1209
+ reconnect(server.name);
1210
+ }
1211
+ setQueue([]);
1212
+ return;
1213
+ }
1214
+ if (choice === "approve" /* APPROVE */) {
1215
+ await approvals.setState(
1216
+ root,
1217
+ current.name,
1218
+ current.config,
1219
+ "approved"
1220
+ );
1221
+ reconnect(current.name);
1222
+ } else {
1223
+ await approvals.setState(
1224
+ root,
1225
+ current.name,
1226
+ current.config,
1227
+ "rejected"
1228
+ );
1229
+ }
1230
+ setQueue((q) => q.slice(1));
1231
+ },
1232
+ [config, queue, reconnect]
1233
+ );
1234
+ return {
1235
+ isMcpApprovalDialogOpen: queue.length > 0,
1236
+ currentMcpApproval: queue[0],
1237
+ pendingMcpApprovals: queue,
1238
+ mcpApprovalRemaining: Math.max(0, queue.length - 1),
1239
+ handleMcpApprovalSelect
1240
+ };
1241
+ }, "useMcpApproval");
1242
+
1243
+ // packages/cli/src/ui/hooks/shellCommandProcessor.ts
1244
+ init_esbuild_shims();
1245
+ var import_react6 = __toESM(require_react(), 1);
1092
1246
  import crypto from "node:crypto";
1093
1247
  import path from "node:path";
1094
1248
  import os from "node:os";
@@ -1121,8 +1275,8 @@ ${modelContent}
1121
1275
  }
1122
1276
  __name(addShellCommandToLlmHistory, "addShellCommandToLlmHistory");
1123
1277
  var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPendingHistoryItem, onExec, onDebugMessage, config, llmClient, setShellInputFocused, terminalWidth, terminalHeight) => {
1124
- const [activeShellPtyId, setActiveShellPtyId] = (0, import_react5.useState)(null);
1125
- const handleShellCommand = (0, import_react5.useCallback)(
1278
+ const [activeShellPtyId, setActiveShellPtyId] = (0, import_react6.useState)(null);
1279
+ const handleShellCommand = (0, import_react6.useCallback)(
1126
1280
  (rawQuery, abortSignal) => {
1127
1281
  if (typeof rawQuery !== "string" || rawQuery.trim() === "") {
1128
1282
  return false;
@@ -1453,18 +1607,18 @@ var TableRow = /* @__PURE__ */ __name(({ cells }) => /* @__PURE__ */ (0, import_
1453
1607
 
1454
1608
  // packages/cli/src/ui/hooks/useFollowupSuggestions.tsx
1455
1609
  init_esbuild_shims();
1456
- var import_react6 = __toESM(require_react(), 1);
1610
+ var import_react7 = __toESM(require_react(), 1);
1457
1611
  function useFollowupSuggestionsCLI(options = {}) {
1458
1612
  const { enabled = true, onAccept, config, isFocused = true } = options;
1459
- const [state, setState] = (0, import_react6.useState)(INITIAL_FOLLOWUP_STATE);
1460
- const onAcceptRef = (0, import_react6.useRef)(onAccept);
1613
+ const [state, setState] = (0, import_react7.useState)(INITIAL_FOLLOWUP_STATE);
1614
+ const onAcceptRef = (0, import_react7.useRef)(onAccept);
1461
1615
  onAcceptRef.current = onAccept;
1462
- const configRef = (0, import_react6.useRef)(config);
1616
+ const configRef = (0, import_react7.useRef)(config);
1463
1617
  configRef.current = config;
1464
- const firstKeystrokeAtRef = (0, import_react6.useRef)(0);
1465
- const prevShownAtRef = (0, import_react6.useRef)(0);
1466
- const wasFocusedWhenShownRef = (0, import_react6.useRef)(true);
1467
- (0, import_react6.useEffect)(() => {
1618
+ const firstKeystrokeAtRef = (0, import_react7.useRef)(0);
1619
+ const prevShownAtRef = (0, import_react7.useRef)(0);
1620
+ const wasFocusedWhenShownRef = (0, import_react7.useRef)(true);
1621
+ (0, import_react7.useEffect)(() => {
1468
1622
  if (state.shownAt > 0 && state.shownAt !== prevShownAtRef.current) {
1469
1623
  prevShownAtRef.current = state.shownAt;
1470
1624
  wasFocusedWhenShownRef.current = isFocused;
@@ -1473,12 +1627,12 @@ function useFollowupSuggestionsCLI(options = {}) {
1473
1627
  prevShownAtRef.current = 0;
1474
1628
  }
1475
1629
  }, [state.shownAt, isFocused]);
1476
- const recordKeystroke = (0, import_react6.useCallback)(() => {
1630
+ const recordKeystroke = (0, import_react7.useCallback)(() => {
1477
1631
  if (firstKeystrokeAtRef.current === 0 && state.isVisible) {
1478
1632
  firstKeystrokeAtRef.current = Date.now();
1479
1633
  }
1480
1634
  }, [state.isVisible]);
1481
- const onOutcome = (0, import_react6.useCallback)(
1635
+ const onOutcome = (0, import_react7.useCallback)(
1482
1636
  (params) => {
1483
1637
  const cfg = configRef.current;
1484
1638
  if (!cfg) return;
@@ -1503,7 +1657,7 @@ function useFollowupSuggestionsCLI(options = {}) {
1503
1657
  },
1504
1658
  []
1505
1659
  );
1506
- const controller = (0, import_react6.useMemo)(
1660
+ const controller = (0, import_react7.useMemo)(
1507
1661
  () => createFollowupController({
1508
1662
  enabled,
1509
1663
  onStateChange: setState,
@@ -1512,13 +1666,13 @@ function useFollowupSuggestionsCLI(options = {}) {
1512
1666
  }),
1513
1667
  [enabled, onOutcome]
1514
1668
  );
1515
- (0, import_react6.useEffect)(() => {
1669
+ (0, import_react7.useEffect)(() => {
1516
1670
  if (!enabled) {
1517
1671
  controller.clear();
1518
1672
  }
1519
1673
  return () => controller.cleanup();
1520
1674
  }, [controller, enabled]);
1521
- return (0, import_react6.useMemo)(
1675
+ return (0, import_react7.useMemo)(
1522
1676
  () => ({
1523
1677
  state,
1524
1678
  setSuggestion: controller.setSuggestion,
@@ -1804,23 +1958,23 @@ __name(pickAsciiArtTier, "pickAsciiArtTier");
1804
1958
 
1805
1959
  // packages/cli/src/ui/hooks/usePhraseCycler.ts
1806
1960
  init_esbuild_shims();
1807
- var import_react7 = __toESM(require_react(), 1);
1961
+ var import_react8 = __toESM(require_react(), 1);
1808
1962
  var WITTY_LOADING_PHRASES = ["I'm Feeling Lucky"];
1809
1963
  var PHRASE_CHANGE_INTERVAL_MS = 15e3;
1810
1964
  var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
1811
1965
  const currentLanguage = getCurrentLanguage();
1812
- const loadingPhrases = (0, import_react7.useMemo)(() => {
1966
+ const loadingPhrases = (0, import_react8.useMemo)(() => {
1813
1967
  if (customPhrases && customPhrases.length > 0) {
1814
1968
  return customPhrases;
1815
1969
  }
1816
1970
  const translatedPhrases = ta("WITTY_LOADING_PHRASES");
1817
1971
  return translatedPhrases.length > 0 ? translatedPhrases : WITTY_LOADING_PHRASES;
1818
1972
  }, [customPhrases, currentLanguage]);
1819
- const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react7.useState)(
1973
+ const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react8.useState)(
1820
1974
  loadingPhrases[0]
1821
1975
  );
1822
- const phraseIntervalRef = (0, import_react7.useRef)(null);
1823
- (0, import_react7.useEffect)(() => {
1976
+ const phraseIntervalRef = (0, import_react8.useRef)(null);
1977
+ (0, import_react8.useEffect)(() => {
1824
1978
  if (isWaiting) {
1825
1979
  setCurrentLoadingPhrase(t("Waiting for user confirmation..."));
1826
1980
  if (phraseIntervalRef.current) {
@@ -1856,6 +2010,143 @@ var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases
1856
2010
  return currentLoadingPhrase;
1857
2011
  }, "usePhraseCycler");
1858
2012
 
2013
+ // packages/cli/src/ui/hooks/useTimer.ts
2014
+ init_esbuild_shims();
2015
+ var import_react9 = __toESM(require_react(), 1);
2016
+ var TIMER_REFRESH_INTERVAL_MS = 500;
2017
+ function elapsedSeconds(elapsedMs) {
2018
+ return Number((Math.max(0, elapsedMs) / 1e3).toFixed(1));
2019
+ }
2020
+ __name(elapsedSeconds, "elapsedSeconds");
2021
+ function getRunningElapsedMs(activeSinceMs) {
2022
+ if (activeSinceMs === null) {
2023
+ return 0;
2024
+ }
2025
+ return Math.max(0, performance.now() - activeSinceMs);
2026
+ }
2027
+ __name(getRunningElapsedMs, "getRunningElapsedMs");
2028
+ var useTimer = /* @__PURE__ */ __name((isActive, resetKey, isPaused = false) => {
2029
+ const [elapsedTime, setElapsedTime] = (0, import_react9.useState)(0);
2030
+ const timerRef = (0, import_react9.useRef)(null);
2031
+ const activeSinceRef = (0, import_react9.useRef)(null);
2032
+ const accumulatedElapsedMsRef = (0, import_react9.useRef)(0);
2033
+ const prevResetKeyRef = (0, import_react9.useRef)(resetKey);
2034
+ const prevIsActiveRef = (0, import_react9.useRef)(isActive);
2035
+ (0, import_react9.useEffect)(() => {
2036
+ const clearTimer = /* @__PURE__ */ __name(() => {
2037
+ if (timerRef.current) {
2038
+ clearInterval(timerRef.current);
2039
+ timerRef.current = null;
2040
+ }
2041
+ }, "clearTimer");
2042
+ const publishElapsedTime = /* @__PURE__ */ __name((elapsedMs) => {
2043
+ setElapsedTime(elapsedSeconds(elapsedMs));
2044
+ }, "publishElapsedTime");
2045
+ const finalizeRunningSegment = /* @__PURE__ */ __name(() => {
2046
+ if (activeSinceRef.current !== null) {
2047
+ accumulatedElapsedMsRef.current += getRunningElapsedMs(
2048
+ activeSinceRef.current
2049
+ );
2050
+ activeSinceRef.current = null;
2051
+ }
2052
+ publishElapsedTime(accumulatedElapsedMsRef.current);
2053
+ }, "finalizeRunningSegment");
2054
+ if (prevResetKeyRef.current !== resetKey || !prevIsActiveRef.current && isActive) {
2055
+ accumulatedElapsedMsRef.current = 0;
2056
+ activeSinceRef.current = null;
2057
+ setElapsedTime(0);
2058
+ prevResetKeyRef.current = resetKey;
2059
+ }
2060
+ if (!isActive) {
2061
+ if (prevIsActiveRef.current) {
2062
+ finalizeRunningSegment();
2063
+ }
2064
+ clearTimer();
2065
+ prevIsActiveRef.current = isActive;
2066
+ return clearTimer;
2067
+ }
2068
+ if (isPaused) {
2069
+ finalizeRunningSegment();
2070
+ clearTimer();
2071
+ prevIsActiveRef.current = isActive;
2072
+ return clearTimer;
2073
+ }
2074
+ if (activeSinceRef.current === null) {
2075
+ activeSinceRef.current = performance.now();
2076
+ }
2077
+ const updateElapsedTime = /* @__PURE__ */ __name(() => {
2078
+ const runningElapsedMs = getRunningElapsedMs(activeSinceRef.current);
2079
+ publishElapsedTime(accumulatedElapsedMsRef.current + runningElapsedMs);
2080
+ }, "updateElapsedTime");
2081
+ clearTimer();
2082
+ timerRef.current = setInterval(
2083
+ updateElapsedTime,
2084
+ TIMER_REFRESH_INTERVAL_MS
2085
+ );
2086
+ updateElapsedTime();
2087
+ prevIsActiveRef.current = isActive;
2088
+ return clearTimer;
2089
+ }, [isActive, isPaused, resetKey]);
2090
+ return elapsedTime;
2091
+ }, "useTimer");
2092
+
2093
+ // packages/cli/src/ui/hooks/useAnimationFrame.ts
2094
+ init_esbuild_shims();
2095
+ var import_react10 = __toESM(require_react(), 1);
2096
+ function useAnimationFrame(watchRef, intervalMs = 50) {
2097
+ const [displayValue, setDisplayValue] = (0, import_react10.useState)(() => watchRef.current);
2098
+ const displayRef = (0, import_react10.useRef)(watchRef.current);
2099
+ const targetRef = (0, import_react10.useRef)(watchRef.current);
2100
+ const currentTarget = watchRef.current;
2101
+ if (currentTarget < displayRef.current) {
2102
+ displayRef.current = currentTarget;
2103
+ targetRef.current = currentTarget;
2104
+ }
2105
+ (0, import_react10.useEffect)(() => {
2106
+ if (intervalMs === null) return;
2107
+ const current = watchRef.current;
2108
+ if (current !== targetRef.current) {
2109
+ targetRef.current = current;
2110
+ if (current < displayRef.current) {
2111
+ displayRef.current = current;
2112
+ setDisplayValue(current);
2113
+ }
2114
+ }
2115
+ const id = setInterval(() => {
2116
+ const realValue = watchRef.current;
2117
+ targetRef.current = realValue;
2118
+ if (realValue < displayRef.current) {
2119
+ displayRef.current = realValue;
2120
+ setDisplayValue(realValue);
2121
+ return;
2122
+ }
2123
+ const gap = realValue - displayRef.current;
2124
+ if (gap <= 0) return;
2125
+ let increment;
2126
+ if (gap < 70) {
2127
+ increment = 3;
2128
+ } else if (gap <= 200) {
2129
+ increment = Math.max(3, Math.round(gap * 0.2));
2130
+ } else {
2131
+ increment = 50;
2132
+ }
2133
+ const next = Math.min(displayRef.current + increment, realValue);
2134
+ displayRef.current = next;
2135
+ setDisplayValue(next);
2136
+ }, intervalMs);
2137
+ return () => clearInterval(id);
2138
+ }, [watchRef, intervalMs]);
2139
+ return Math.min(displayValue, currentTarget);
2140
+ }
2141
+ __name(useAnimationFrame, "useAnimationFrame");
2142
+
2143
+ // packages/cli/src/ui/utils/isNarrowWidth.ts
2144
+ init_esbuild_shims();
2145
+ function isNarrowWidth(width) {
2146
+ return width < 80;
2147
+ }
2148
+ __name(isNarrowWidth, "isNarrowWidth");
2149
+
1859
2150
  // packages/cli/src/ui/components/mcp/utils.ts
1860
2151
  init_esbuild_shims();
1861
2152
 
@@ -2010,7 +2301,7 @@ __name(getScopeMessageForSetting, "getScopeMessageForSetting");
2010
2301
 
2011
2302
  // packages/cli/src/ui/auth/useProviderSetupFlow.ts
2012
2303
  init_esbuild_shims();
2013
- var import_react8 = __toESM(require_react(), 1);
2304
+ var import_react11 = __toESM(require_react(), 1);
2014
2305
  var STEP_ORDER = [
2015
2306
  "protocol",
2016
2307
  "baseUrl",
@@ -2027,28 +2318,28 @@ function getVisibleSteps(config) {
2027
2318
  }
2028
2319
  __name(getVisibleSteps, "getVisibleSteps");
2029
2320
  function useProviderSetupFlow(onSubmit) {
2030
- const [provider, setProvider] = (0, import_react8.useState)(null);
2031
- const [visibleSteps, setVisibleSteps] = (0, import_react8.useState)([]);
2032
- const [stepIndex, setStepIndex] = (0, import_react8.useState)(0);
2033
- const [protocol, setProtocol] = (0, import_react8.useState)("openai" /* USE_OPENAI */);
2034
- const [baseUrl, setBaseUrl] = (0, import_react8.useState)("");
2035
- const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0, import_react8.useState)("");
2036
- const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0, import_react8.useState)(0);
2037
- const [baseUrlError, setBaseUrlError] = (0, import_react8.useState)(null);
2038
- const [apiKey, setApiKey] = (0, import_react8.useState)("");
2039
- const [apiKeyError, setApiKeyError] = (0, import_react8.useState)(null);
2040
- const [modelIds, setModelIds] = (0, import_react8.useState)("");
2041
- const [modelIdsError, setModelIdsError] = (0, import_react8.useState)(null);
2042
- const [thinkingEnabled, setThinkingEnabled] = (0, import_react8.useState)(false);
2043
- const [modalityEnabled, setModalityEnabled] = (0, import_react8.useState)(false);
2044
- const [modalityImage, setModalityImage] = (0, import_react8.useState)(true);
2045
- const [modalityVideo, setModalityVideo] = (0, import_react8.useState)(true);
2046
- const [modalityAudio, setModalityAudio] = (0, import_react8.useState)(false);
2047
- const [modalityPdf, setModalityPdf] = (0, import_react8.useState)(false);
2048
- const [contextWindowSize, setContextWindowSize] = (0, import_react8.useState)("");
2049
- const [focusedConfigIndex, setFocusedConfigIndex] = (0, import_react8.useState)(0);
2321
+ const [provider, setProvider] = (0, import_react11.useState)(null);
2322
+ const [visibleSteps, setVisibleSteps] = (0, import_react11.useState)([]);
2323
+ const [stepIndex, setStepIndex] = (0, import_react11.useState)(0);
2324
+ const [protocol, setProtocol] = (0, import_react11.useState)("openai" /* USE_OPENAI */);
2325
+ const [baseUrl, setBaseUrl] = (0, import_react11.useState)("");
2326
+ const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0, import_react11.useState)("");
2327
+ const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0, import_react11.useState)(0);
2328
+ const [baseUrlError, setBaseUrlError] = (0, import_react11.useState)(null);
2329
+ const [apiKey, setApiKey] = (0, import_react11.useState)("");
2330
+ const [apiKeyError, setApiKeyError] = (0, import_react11.useState)(null);
2331
+ const [modelIds, setModelIds] = (0, import_react11.useState)("");
2332
+ const [modelIdsError, setModelIdsError] = (0, import_react11.useState)(null);
2333
+ const [thinkingEnabled, setThinkingEnabled] = (0, import_react11.useState)(false);
2334
+ const [modalityEnabled, setModalityEnabled] = (0, import_react11.useState)(false);
2335
+ const [modalityImage, setModalityImage] = (0, import_react11.useState)(true);
2336
+ const [modalityVideo, setModalityVideo] = (0, import_react11.useState)(true);
2337
+ const [modalityAudio, setModalityAudio] = (0, import_react11.useState)(false);
2338
+ const [modalityPdf, setModalityPdf] = (0, import_react11.useState)(false);
2339
+ const [contextWindowSize, setContextWindowSize] = (0, import_react11.useState)("");
2340
+ const [focusedConfigIndex, setFocusedConfigIndex] = (0, import_react11.useState)(0);
2050
2341
  const currentStep = visibleSteps[stepIndex] ?? null;
2051
- const start = (0, import_react8.useCallback)(
2342
+ const start = (0, import_react11.useCallback)(
2052
2343
  (config, initialProtocol, existingEnv, existingModelIds) => {
2053
2344
  setProvider(config);
2054
2345
  const steps = getVisibleSteps(config);
@@ -2085,12 +2376,12 @@ function useProviderSetupFlow(onSubmit) {
2085
2376
  },
2086
2377
  []
2087
2378
  );
2088
- const reset = (0, import_react8.useCallback)(() => {
2379
+ const reset = (0, import_react11.useCallback)(() => {
2089
2380
  setProvider(null);
2090
2381
  setVisibleSteps([]);
2091
2382
  setStepIndex(0);
2092
2383
  }, []);
2093
- const goBack = (0, import_react8.useCallback)(() => {
2384
+ const goBack = (0, import_react11.useCallback)(() => {
2094
2385
  if (stepIndex > 0) {
2095
2386
  setStepIndex((i) => i - 1);
2096
2387
  return true;
@@ -2098,10 +2389,10 @@ function useProviderSetupFlow(onSubmit) {
2098
2389
  reset();
2099
2390
  return false;
2100
2391
  }, [stepIndex, reset]);
2101
- const goNext = (0, import_react8.useCallback)(() => {
2392
+ const goNext = (0, import_react11.useCallback)(() => {
2102
2393
  setStepIndex((i) => Math.min(i + 1, visibleSteps.length - 1));
2103
2394
  }, [visibleSteps]);
2104
- const selectProtocol = (0, import_react8.useCallback)(
2395
+ const selectProtocol = (0, import_react11.useCallback)(
2105
2396
  (selectedProtocol) => {
2106
2397
  setProtocol(selectedProtocol);
2107
2398
  setBaseUrl("");
@@ -2112,7 +2403,7 @@ function useProviderSetupFlow(onSubmit) {
2112
2403
  },
2113
2404
  [goNext]
2114
2405
  );
2115
- const selectBaseUrl = (0, import_react8.useCallback)(
2406
+ const selectBaseUrl = (0, import_react11.useCallback)(
2116
2407
  (selectedUrl) => {
2117
2408
  setBaseUrl(selectedUrl);
2118
2409
  setBaseUrlError(null);
@@ -2120,7 +2411,7 @@ function useProviderSetupFlow(onSubmit) {
2120
2411
  },
2121
2412
  [goNext]
2122
2413
  );
2123
- const submitBaseUrl = (0, import_react8.useCallback)(() => {
2414
+ const submitBaseUrl = (0, import_react11.useCallback)(() => {
2124
2415
  const effective = baseUrl.trim() || baseUrlPlaceholder.trim();
2125
2416
  if (!effective) {
2126
2417
  setBaseUrlError(t("Base URL cannot be empty."));
@@ -2137,15 +2428,15 @@ function useProviderSetupFlow(onSubmit) {
2137
2428
  goNext();
2138
2429
  return true;
2139
2430
  }, [baseUrl, baseUrlPlaceholder, goNext]);
2140
- const changeBaseUrl = (0, import_react8.useCallback)((value) => {
2431
+ const changeBaseUrl = (0, import_react11.useCallback)((value) => {
2141
2432
  setBaseUrl(value);
2142
2433
  setBaseUrlError(null);
2143
2434
  }, []);
2144
- const changeApiKey = (0, import_react8.useCallback)((value) => {
2435
+ const changeApiKey = (0, import_react11.useCallback)((value) => {
2145
2436
  setApiKey(value);
2146
2437
  setApiKeyError(null);
2147
2438
  }, []);
2148
- const buildCurrentInputs = (0, import_react8.useCallback)(
2439
+ const buildCurrentInputs = (0, import_react11.useCallback)(
2149
2440
  (overrides) => ({
2150
2441
  protocol: provider?.protocolOptions ? protocol : void 0,
2151
2442
  baseUrl: baseUrl.trim(),
@@ -2155,7 +2446,7 @@ function useProviderSetupFlow(onSubmit) {
2155
2446
  }),
2156
2447
  [provider, protocol, baseUrl, apiKey, modelIds]
2157
2448
  );
2158
- const submitOrNext = (0, import_react8.useCallback)(
2449
+ const submitOrNext = (0, import_react11.useCallback)(
2159
2450
  (overrides) => {
2160
2451
  if (stepIndex >= visibleSteps.length - 1) {
2161
2452
  if (provider) void onSubmit(provider, buildCurrentInputs(overrides));
@@ -2165,7 +2456,7 @@ function useProviderSetupFlow(onSubmit) {
2165
2456
  },
2166
2457
  [stepIndex, visibleSteps, provider, onSubmit, buildCurrentInputs, goNext]
2167
2458
  );
2168
- const submitApiKey = (0, import_react8.useCallback)(
2459
+ const submitApiKey = (0, import_react11.useCallback)(
2169
2460
  (keyOverride) => {
2170
2461
  const trimmed = (keyOverride ?? apiKey).trim();
2171
2462
  if (!trimmed) {
@@ -2186,7 +2477,7 @@ function useProviderSetupFlow(onSubmit) {
2186
2477
  },
2187
2478
  [apiKey, provider, baseUrl, submitOrNext]
2188
2479
  );
2189
- const highlightBaseUrl = (0, import_react8.useCallback)(
2480
+ const highlightBaseUrl = (0, import_react11.useCallback)(
2190
2481
  (url) => {
2191
2482
  if (provider && Array.isArray(provider.baseUrl)) {
2192
2483
  const idx = provider.baseUrl.findIndex((o) => o.url === url);
@@ -2195,14 +2486,14 @@ function useProviderSetupFlow(onSubmit) {
2195
2486
  },
2196
2487
  [provider]
2197
2488
  );
2198
- const changeModelIds = (0, import_react8.useCallback)((value) => {
2489
+ const changeModelIds = (0, import_react11.useCallback)((value) => {
2199
2490
  setModelIds(value);
2200
2491
  setModelIdsError(null);
2201
2492
  }, []);
2202
- const clearModelIdsError = (0, import_react8.useCallback)(() => {
2493
+ const clearModelIdsError = (0, import_react11.useCallback)(() => {
2203
2494
  setModelIdsError(null);
2204
2495
  }, []);
2205
- const submitModelIds = (0, import_react8.useCallback)(
2496
+ const submitModelIds = (0, import_react11.useCallback)(
2206
2497
  (overrides) => {
2207
2498
  const normalized = overrides?.modelIds ?? normalizeModelIds(modelIds);
2208
2499
  if (normalized.length === 0) {
@@ -2217,13 +2508,13 @@ function useProviderSetupFlow(onSubmit) {
2217
2508
  [modelIds, submitOrNext]
2218
2509
  );
2219
2510
  const advancedOptionCount = modalityEnabled ? 7 : 3;
2220
- const moveAdvancedFocusUp = (0, import_react8.useCallback)(() => {
2511
+ const moveAdvancedFocusUp = (0, import_react11.useCallback)(() => {
2221
2512
  setFocusedConfigIndex((v) => v <= 0 ? advancedOptionCount - 1 : v - 1);
2222
2513
  }, [advancedOptionCount]);
2223
- const moveAdvancedFocusDown = (0, import_react8.useCallback)(() => {
2514
+ const moveAdvancedFocusDown = (0, import_react11.useCallback)(() => {
2224
2515
  setFocusedConfigIndex((v) => v >= advancedOptionCount - 1 ? 0 : v + 1);
2225
2516
  }, [advancedOptionCount]);
2226
- const toggleFocusedAdvancedOption = (0, import_react8.useCallback)(() => {
2517
+ const toggleFocusedAdvancedOption = (0, import_react11.useCallback)(() => {
2227
2518
  switch (focusedConfigIndex) {
2228
2519
  case 0:
2229
2520
  setThinkingEnabled((v) => !v);
@@ -2247,13 +2538,13 @@ function useProviderSetupFlow(onSubmit) {
2247
2538
  break;
2248
2539
  }
2249
2540
  }, [focusedConfigIndex]);
2250
- const submitAdvancedConfig = (0, import_react8.useCallback)(() => {
2541
+ const submitAdvancedConfig = (0, import_react11.useCallback)(() => {
2251
2542
  goNext();
2252
2543
  }, [goNext]);
2253
- const changeContextWindowSize = (0, import_react8.useCallback)((value) => {
2544
+ const changeContextWindowSize = (0, import_react11.useCallback)((value) => {
2254
2545
  setContextWindowSize(value.replace(/[^0-9]/g, ""));
2255
2546
  }, []);
2256
- const submit = (0, import_react8.useCallback)(() => {
2547
+ const submit = (0, import_react11.useCallback)(() => {
2257
2548
  if (!provider) return;
2258
2549
  const multimodal = modalityEnabled ? {
2259
2550
  image: modalityImage || void 0,
@@ -2281,7 +2572,7 @@ function useProviderSetupFlow(onSubmit) {
2281
2572
  onSubmit,
2282
2573
  buildCurrentInputs
2283
2574
  ]);
2284
- const getPreviewJson = (0, import_react8.useCallback)(() => {
2575
+ const getPreviewJson = (0, import_react11.useCallback)(() => {
2285
2576
  if (!provider) return "";
2286
2577
  const envKey = typeof provider.envKey === "function" ? provider.envKey(protocol, baseUrl.trim()) : provider.envKey;
2287
2578
  const normalizedIds = normalizeModelIds(modelIds);
@@ -2477,6 +2768,10 @@ export {
2477
2768
  pickAsciiArtTier,
2478
2769
  usePhraseCycler,
2479
2770
  useGitBranchName,
2771
+ useTimer,
2772
+ useAnimationFrame,
2773
+ isNarrowWidth,
2774
+ useMcpApproval,
2480
2775
  DualOutputBridge,
2481
2776
  RemoteInputWatcher
2482
2777
  };