@qwen-code/qwen-code 0.21.12-preview.1 → 0.21.12-preview.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 (326) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +10 -0
  2. package/bundled/qc-helper/docs/features/code-review.md +1 -1
  3. package/bundled/qc-helper/docs/qwen-serve.md +34 -34
  4. package/bundled/review/SKILL.md +55 -36
  5. package/chunks/{MaxSizedBox-VSAJNP52.js → MaxSizedBox-GFI5RYXH.js} +41 -41
  6. package/chunks/{StandaloneSessionPicker-N5MC42M2.js → StandaloneSessionPicker-JFWRY4V2.js} +60 -61
  7. package/chunks/{acp-startup-profiler-JMJBZDVO.js → acp-startup-profiler-TVI2OVUN.js} +2 -2
  8. package/chunks/{acpAgent-GUV7LTDH.js → acpAgent-7YC6SNIS.js} +676 -430
  9. package/chunks/{agent-WJT3BALC.js → agent-43KVQSB5.js} +38 -38
  10. package/chunks/{agent-headless-JRRUUVP3.js → agent-headless-P2N7PDGQ.js} +38 -38
  11. package/chunks/{anthropicContentGenerator-4JSC3ZFL.js → anthropicContentGenerator-ZBBX5VMY.js} +6 -6
  12. package/chunks/{artifact-tool-FRMBPDPB.js → artifact-tool-RWJAKYBZ.js} +2 -2
  13. package/chunks/{askUserQuestion-7G3LI3IZ.js → askUserQuestion-IQCA2SOX.js} +2 -2
  14. package/chunks/{bridge-VB3BPG7G.js → bridge-ZBMNALLA.js} +44 -44
  15. package/chunks/{channel-management-service-SKAN6NOB.js → channel-management-service-5ZYX4ROW.js} +4 -4
  16. package/chunks/{channel-settings-store-UM7JZEW7.js → channel-settings-store-ZJWM7EDP.js} +45 -45
  17. package/chunks/{channel-worker-group-YPTB5ASD.js → channel-worker-group-QFJKXO7R.js} +5 -5
  18. package/chunks/{channel-worker-manager-4EHJSPRH.js → channel-worker-manager-PWD2UURZ.js} +5 -5
  19. package/chunks/{channel-worker-supervisor-DZKHYFHV.js → channel-worker-supervisor-XQJBGFCM.js} +3 -3
  20. package/chunks/{chunk-GZGDJ4E6.js → chunk-2ASWIM4A.js} +1 -1
  21. package/chunks/{chunk-DP3IHZGG.js → chunk-2AUM35J5.js} +59 -7
  22. package/chunks/{chunk-T4FTABSW.js → chunk-2N6CV4PW.js} +1 -1
  23. package/chunks/{chunk-5PWLQ7SK.js → chunk-2RTRFLWH.js} +11 -4
  24. package/chunks/{chunk-TKAEODJR.js → chunk-2U3UCXZ3.js} +11 -1
  25. package/chunks/{chunk-QZ5G26ZE.js → chunk-32SNBMNP.js} +12 -12
  26. package/chunks/{chunk-5DDUYIY6.js → chunk-3JI5D6RU.js} +3 -3
  27. package/chunks/{chunk-E5BWLU5J.js → chunk-3MJ44LNC.js} +59 -23
  28. package/chunks/{chunk-QUESTNOP.js → chunk-4JS2QK7P.js} +1 -1
  29. package/chunks/{chunk-G4C5RLX6.js → chunk-4X5J3V2I.js} +47 -3
  30. package/chunks/{chunk-IQFYO5BF.js → chunk-5KZNWF2M.js} +1 -1
  31. package/chunks/{chunk-MMH3GO4Z.js → chunk-62TIEFNN.js} +8 -8
  32. package/chunks/{chunk-T6W4KACQ.js → chunk-67F2BEYW.js} +1 -1
  33. package/chunks/{chunk-EN2J77G7.js → chunk-6LDLDK6E.js} +3 -1
  34. package/chunks/{chunk-VESDV72K.js → chunk-6NQWER7D.js} +3 -3
  35. package/chunks/{chunk-732MOPEM.js → chunk-6OJDN5ZT.js} +1 -1
  36. package/chunks/{chunk-GLWWPFTW.js → chunk-6SU6OW5Z.js} +1 -1
  37. package/chunks/{chunk-T2VEHZH3.js → chunk-6T5HCY34.js} +3 -3
  38. package/chunks/{chunk-AQHNAA7E.js → chunk-7JL5YBSA.js} +1 -1
  39. package/chunks/{chunk-NWPO6I7V.js → chunk-7WUMS2UA.js} +1 -1
  40. package/chunks/{chunk-VUTOKX6F.js → chunk-A2QIWDFO.js} +347 -85
  41. package/chunks/{chunk-KT4OWAAZ.js → chunk-A4BAHMJF.js} +3 -3
  42. package/chunks/{chunk-N7NBMAMW.js → chunk-A6GQUQ7I.js} +2 -2
  43. package/chunks/{chunk-XLQS3VI6.js → chunk-AAZWJAPQ.js} +2 -2
  44. package/chunks/{chunk-LT532KF4.js → chunk-ADJDLEVO.js} +1 -1
  45. package/chunks/{chunk-7L64FSYQ.js → chunk-APQTLUZ3.js} +2120 -2085
  46. package/chunks/{chunk-JO45C3OY.js → chunk-ARL4UGRW.js} +3 -3
  47. package/chunks/{chunk-Q6FGSG6B.js → chunk-B2BKFWJK.js} +2 -2
  48. package/chunks/{chunk-SAQHDAUJ.js → chunk-B66LYK4B.js} +452 -57
  49. package/chunks/{chunk-XDN6SMAQ.js → chunk-B7IBCWDW.js} +3 -3
  50. package/chunks/{chunk-SZ36WFVK.js → chunk-BGIKUE5J.js} +1 -1
  51. package/chunks/{chunk-4W25XH7F.js → chunk-BNRIQWXW.js} +3 -3
  52. package/chunks/{chunk-M3QYOPGN.js → chunk-BXAGPCYH.js} +1 -1
  53. package/chunks/{chunk-IEP44U2R.js → chunk-C2DR57L6.js} +1 -1
  54. package/chunks/{chunk-TBVNYG5B.js → chunk-CDDLHCC2.js} +3 -3
  55. package/chunks/{chunk-PDKLO2DN.js → chunk-CJNKGZLC.js} +127 -4
  56. package/chunks/{chunk-VUFEW3SF.js → chunk-CTEGMF77.js} +285 -125
  57. package/chunks/{chunk-QIN5P5BP.js → chunk-DUFZ3OW6.js} +35 -35
  58. package/chunks/{chunk-ZWPWQEF5.js → chunk-E74YSVIN.js} +1 -1
  59. package/chunks/{chunk-WFBG4MF5.js → chunk-ECDXUCEO.js} +4 -4
  60. package/chunks/{chunk-47FQVRCO.js → chunk-EGB2PIYM.js} +1 -1
  61. package/chunks/{chunk-CX2MARRJ.js → chunk-FB5CQZMK.js} +1 -1
  62. package/chunks/{chunk-GQW6P73F.js → chunk-FNVF5RR4.js} +1 -1
  63. package/chunks/{chunk-O4BBDP2G.js → chunk-FTGU6G45.js} +2 -2
  64. package/chunks/{chunk-ZGWY4YUB.js → chunk-FVHLDSQS.js} +2 -2
  65. package/chunks/{chunk-7N6WK2W6.js → chunk-FXWGMPAP.js} +2 -2
  66. package/chunks/{chunk-FMLUVVQ6.js → chunk-GDNDZJSG.js} +2 -2
  67. package/chunks/{chunk-INQN4KIA.js → chunk-GHOUZ5X4.js} +1896 -623
  68. package/chunks/{chunk-3ZLUA4GV.js → chunk-H2U4FK62.js} +6 -6
  69. package/chunks/{chunk-EFIMD5VA.js → chunk-H6BFLALJ.js} +1 -1
  70. package/chunks/{chunk-MJ5FMYVQ.js → chunk-HOJZ2QQA.js} +3 -3
  71. package/chunks/{chunk-OYLNJPY3.js → chunk-HWCHDINS.js} +45 -279
  72. package/chunks/{chunk-DNRV2US3.js → chunk-HY5OHJEC.js} +5 -5
  73. package/chunks/{chunk-P2UCMHDT.js → chunk-IJCZP2MA.js} +2 -2
  74. package/chunks/{chunk-U6LT3QBF.js → chunk-JBZYGFIB.js} +1 -1
  75. package/chunks/{chunk-EAJESCBT.js → chunk-JGD35ZSJ.js} +4 -4
  76. package/chunks/{chunk-MLZCPGDX.js → chunk-JOVJCXN4.js} +1 -1
  77. package/chunks/{chunk-AJL3SAZG.js → chunk-JRMUA53D.js} +12 -12
  78. package/chunks/{chunk-CTQE2NB2.js → chunk-JRTJEGSP.js} +1 -1
  79. package/chunks/{chunk-MZSJ43WV.js → chunk-JVY7FHUZ.js} +15 -2
  80. package/chunks/{chunk-K7JW6V5O.js → chunk-JW5UEE3V.js} +1 -1
  81. package/chunks/{chunk-6LK2QPIA.js → chunk-JXS2JNMZ.js} +2 -2
  82. package/chunks/{chunk-L2GTEEEU.js → chunk-K5IDV3PC.js} +44 -1
  83. package/chunks/{chunk-OH5UKBLL.js → chunk-KB4ISUT3.js} +4 -4
  84. package/chunks/{chunk-GJJQV4PY.js → chunk-KK3FEHPJ.js} +1 -1
  85. package/chunks/{chunk-2AZMF6G5.js → chunk-KTWUFHS4.js} +2 -2
  86. package/chunks/chunk-L34XSHIZ.js +28 -0
  87. package/chunks/{chunk-VO52SIZW.js → chunk-L3YACXS2.js} +3 -3
  88. package/chunks/{chunk-JWXBLIQL.js → chunk-LIBTBTHP.js} +4 -4
  89. package/chunks/{chunk-JS4Q5NG5.js → chunk-LSMCI42W.js} +3 -3
  90. package/chunks/{chunk-A7M57KOL.js → chunk-MTV5W6WN.js} +7 -7
  91. package/chunks/{chunk-T5ZFG4CI.js → chunk-MUN34TTF.js} +7 -7
  92. package/chunks/{chunk-C2VGLLNA.js → chunk-N3J3CO35.js} +4 -4
  93. package/chunks/{chunk-3SIXC6QC.js → chunk-N56NYJWY.js} +7 -7
  94. package/chunks/{chunk-45TYWBCB.js → chunk-NAOHSM56.js} +1 -1
  95. package/chunks/{chunk-URK542T4.js → chunk-NF5J2WFA.js} +15 -2
  96. package/chunks/{chunk-OPBATTFQ.js → chunk-NHZF4VCD.js} +1 -1
  97. package/chunks/{chunk-QTI7SRXI.js → chunk-NM33GGOM.js} +3 -3
  98. package/chunks/{chunk-F6AOBFUN.js → chunk-NW7SPXVG.js} +1 -1
  99. package/chunks/{chunk-ABGS4FDQ.js → chunk-NX5QZVRS.js} +1 -1
  100. package/chunks/{chunk-XYVBANG5.js → chunk-O4MVJKSX.js} +289 -3
  101. package/chunks/{chunk-NC4O6UE6.js → chunk-O6SLWH4X.js} +2 -2
  102. package/chunks/{chunk-ZXUMPZRT.js → chunk-OIZWCOYC.js} +5 -5
  103. package/chunks/{chunk-YQB3HSQ7.js → chunk-ORR5EFCL.js} +4 -4
  104. package/chunks/{chunk-WQOE4IYF.js → chunk-OSA2TFDI.js} +2 -2
  105. package/chunks/{chunk-KPVVWKF3.js → chunk-PSTHNTHF.js} +1 -1
  106. package/chunks/{chunk-FWJRWCKU.js → chunk-PYLVQ6RT.js} +6 -6
  107. package/chunks/{chunk-XAAL4IFG.js → chunk-Q7ALOKK7.js} +3 -3
  108. package/chunks/{chunk-EYW54TBD.js → chunk-QEWAHAW2.js} +3 -3
  109. package/chunks/{chunk-L2O7DJIE.js → chunk-QSDPJROT.js} +2 -2
  110. package/chunks/{chunk-7PBUQKMT.js → chunk-QSMZHJ62.js} +1 -1
  111. package/chunks/{chunk-OSPIZEAM.js → chunk-QWAI7FNT.js} +17 -17
  112. package/chunks/{chunk-JRRZFO4A.js → chunk-QXFAQDBV.js} +2 -2
  113. package/chunks/{chunk-67LXZ6LV.js → chunk-SFBRH5RY.js} +19 -15
  114. package/chunks/{chunk-EYS3GGM3.js → chunk-SKRHR6N2.js} +1 -1
  115. package/chunks/{chunk-6LYDH7VT.js → chunk-SNHBRO4C.js} +2 -2
  116. package/chunks/{chunk-5TXOGH4I.js → chunk-T4G33L3W.js} +3 -3
  117. package/chunks/{chunk-DEVFUPC5.js → chunk-TB6DPBE4.js} +4 -4
  118. package/chunks/{chunk-DEG7R6Z6.js → chunk-TN3REXN4.js} +8 -8
  119. package/chunks/{chunk-MWZYNOCG.js → chunk-TNETSI2A.js} +3 -3
  120. package/chunks/{chunk-ZV4XVYL3.js → chunk-TROB4PZY.js} +4 -4
  121. package/chunks/{chunk-O5AZPHYZ.js → chunk-U5C2GIN2.js} +24 -16
  122. package/chunks/{chunk-3GCU5O2E.js → chunk-U7ROFHSH.js} +1 -1
  123. package/chunks/{chunk-HB6QW4LM.js → chunk-UAAWNTOC.js} +15 -12
  124. package/chunks/{chunk-HHGQGTJQ.js → chunk-UFHPAMAV.js} +4 -0
  125. package/chunks/{chunk-V3LXMASR.js → chunk-UHF5VBKO.js} +1 -1
  126. package/chunks/{chunk-AMXMM7DH.js → chunk-UPUAGRKY.js} +4 -2
  127. package/chunks/{chunk-6S52N6PG.js → chunk-UQPLUR4A.js} +2 -2
  128. package/chunks/{chunk-5AWARYOK.js → chunk-UWIJU22K.js} +66 -19
  129. package/chunks/{chunk-HGCQ5SE7.js → chunk-UXEO7E3V.js} +21 -0
  130. package/chunks/{chunk-DGM2XA3R.js → chunk-V2U6FOJB.js} +2 -2
  131. package/chunks/{chunk-7SUQZ7QH.js → chunk-V3NMFQD2.js} +2 -2
  132. package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
  133. package/chunks/{chunk-6XZERB6P.js → chunk-VPZMLGD3.js} +3 -3
  134. package/chunks/{chunk-MM4XBXF7.js → chunk-VRQD5D7R.js} +1 -1
  135. package/chunks/{chunk-YTYPRVIZ.js → chunk-VUTOV2HG.js} +2 -2
  136. package/chunks/{chunk-RE6JD2BH.js → chunk-VYDQD5J4.js} +1 -1
  137. package/chunks/{chunk-XCGIMOLN.js → chunk-WCCLLK7X.js} +14 -1
  138. package/chunks/{chunk-ZIS5I56G.js → chunk-WIHSDI6U.js} +4 -4
  139. package/chunks/{chunk-VJNBRRZG.js → chunk-WZMH7II3.js} +1 -1
  140. package/chunks/{chunk-LOJO2RPW.js → chunk-XJ6IMYUS.js} +7 -7
  141. package/chunks/{chunk-3XZYK76R.js → chunk-XL6GYJL2.js} +1 -1
  142. package/chunks/{chunk-OLU7GIF4.js → chunk-XUBM2A4F.js} +67 -16
  143. package/chunks/{chunk-ENEEQMGM.js → chunk-XY7DGTIC.js} +1 -1
  144. package/chunks/{chunk-LCWRQA5U.js → chunk-Y2EOB7WZ.js} +1 -1
  145. package/chunks/{chunk-FLUYVAQZ.js → chunk-Y2HK3ELT.js} +3 -3
  146. package/chunks/{chunk-PRWGIKKU.js → chunk-Y5C24BUY.js} +5 -5
  147. package/chunks/{chunk-5HBFERG5.js → chunk-YI5G32RU.js} +3 -3
  148. package/chunks/{chunk-MPBRV3UU.js → chunk-YMB77M76.js} +15 -0
  149. package/chunks/{chunk-KNQZXSLW.js → chunk-YY23TR4M.js} +23 -9
  150. package/chunks/{chunk-M2S67TPJ.js → chunk-ZA2JN5IZ.js} +3 -3
  151. package/chunks/{chunk-IX7CFQGA.js → chunk-ZPZANKVP.js} +3 -3
  152. package/chunks/{chunk-XTH2OMDS.js → chunk-ZRT36RSF.js} +1 -1
  153. package/chunks/{chunk-M2NMFAFR.js → chunk-ZZ7RUTJ4.js} +1 -1
  154. package/chunks/{computer-use-YOYLKIHT.js → computer-use-J5VUY257.js} +38 -38
  155. package/chunks/{config-utils-TXVKR27S.js → config-utils-7JZQN6L2.js} +4 -4
  156. package/chunks/{contextCommand-KZMV5EOI.js → contextCommand-RCTGC36R.js} +40 -40
  157. package/chunks/{core-runtime-VFUL2R7U.js → core-runtime-REBZ5ZYE.js} +38 -38
  158. package/chunks/{create-sub-session-Y4WYDZGC.js → create-sub-session-23ULO5PO.js} +2 -2
  159. package/chunks/{create-sub-session-EZW2NP4Z.js → create-sub-session-TEEUROAZ.js} +38 -38
  160. package/chunks/{cron-create-ZOVA3CC2.js → cron-create-5WUTNKNF.js} +4 -4
  161. package/chunks/{cron-delete-7Z3H4LJY.js → cron-delete-JEQ27YPS.js} +4 -4
  162. package/chunks/{cron-list-UHGX3IQG.js → cron-list-IXGCA7UR.js} +4 -4
  163. package/chunks/{daemon-PXIC4ZDK.js → daemon-UBVOQMWY.js} +2 -1
  164. package/chunks/{daemon-status-provider-6L3ZKVVR.js → daemon-status-provider-SV7KRLJ4.js} +49 -49
  165. package/chunks/{daemon-trust-policy-SZ3V4JEY.js → daemon-trust-policy-LFUJ4NGF.js} +44 -44
  166. package/chunks/{daemon-trust-policy-monitor-HN34EJQ5.js → daemon-trust-policy-monitor-BQZ77NDD.js} +44 -44
  167. package/chunks/{deferred-core-runtime-Z462KPKI.js → deferred-core-runtime-F4XOQJQL.js} +38 -38
  168. package/chunks/{dispatch-B53LNEO4.js → dispatch-FW7DX2CR.js} +7 -1
  169. package/chunks/{display-image-ZE3GZNIK.js → display-image-CAD7RAUM.js} +4 -4
  170. package/chunks/{dist-BNWP6IZL.js → dist-362MN6CP.js} +2 -2
  171. package/chunks/{dist-EFJILGIS.js → dist-5VDE7U3A.js} +1 -1
  172. package/chunks/{dist-AVUYBK7L.js → dist-6RK4U6VU.js} +1 -1
  173. package/chunks/{dist-KTYDJNYM.js → dist-B3ODKYEB.js} +1 -1
  174. package/chunks/{dist-NPS52B2V.js → dist-CCUH2Z4C.js} +1 -1
  175. package/chunks/{dist-BW2LDPV3.js → dist-DANKRAB3.js} +1 -1
  176. package/chunks/{dist-PKSRQAR2.js → dist-EZHCZSW6.js} +1 -1
  177. package/chunks/{dist-ZWDH5HLS.js → dist-M3XMEIP2.js} +1 -1
  178. package/chunks/{earlyInputCapture-GSE6MMC7.js → earlyInputCapture-JAJXDT2N.js} +39 -39
  179. package/chunks/{edit-YJX2HMSA.js → edit-OXBMFY5B.js} +38 -38
  180. package/chunks/{enter-worktree-H3GV4KQ7.js → enter-worktree-XS4JX4PO.js} +38 -38
  181. package/chunks/{enterPlanMode-6LPSFIN2.js → enterPlanMode-J6PDPFFT.js} +38 -38
  182. package/chunks/{environment-IVCQ3H7T.js → environment-BQW6FAZL.js} +40 -40
  183. package/chunks/{errors-2K5VJQVK.js → errors-TMSN7AZN.js} +40 -40
  184. package/chunks/{exit-worktree-QZC6DXGO.js → exit-worktree-2RIE6DAO.js} +38 -38
  185. package/chunks/{exitPlanMode-UHGM7I4A.js → exitPlanMode-QQL27HU4.js} +38 -38
  186. package/chunks/{fast-path-BDDOO4H6.js → fast-path-TSGUVE5K.js} +4 -4
  187. package/chunks/{gemini-VDUDROF7.js → gemini-RLTFENFV.js} +89 -86
  188. package/chunks/{geminiContentGenerator-O4HYJOR7.js → geminiContentGenerator-B6W6PSO7.js} +6 -6
  189. package/chunks/{glob-Z7VZDN7C.js → glob-JKVAHWL5.js} +38 -38
  190. package/chunks/{goal-tools-JDK2SNMV.js → goal-tools-LQFO4BRY.js} +4 -4
  191. package/chunks/{grep-JQ6AGN62.js → grep-6CN23ZPS.js} +38 -38
  192. package/chunks/{handleAutoUpdate-XZCLKEMR.js → handleAutoUpdate-Y6BUNMBG.js} +42 -42
  193. package/chunks/{i18n-G2BMPGAS.js → i18n-Y5PM6L5V.js} +39 -39
  194. package/chunks/{image-gen-NMKTIERQ.js → image-gen-DC2IQZ73.js} +10 -10
  195. package/chunks/{initializer-JEYFVIIG.js → initializer-OYKKBNHO.js} +45 -45
  196. package/chunks/{installationInfo-GY2OCLIS.js → installationInfo-63AFHLWA.js} +39 -39
  197. package/chunks/{keychain-token-storage-JTWUYFU7.js → keychain-token-storage-GU75J2T2.js} +2 -2
  198. package/chunks/{list-ZJ4GEKM4.js → list-KA63R3R6.js} +47 -47
  199. package/chunks/{list-agents-4GQ2XNEU.js → list-agents-5PNMK2AM.js} +2 -2
  200. package/chunks/{loadedSettingsAdapter-5BO2PZLD.js → loadedSettingsAdapter-IGBJN7C5.js} +44 -44
  201. package/chunks/{loggingContentGenerator-ER2Z5L3L.js → loggingContentGenerator-Z3NADCTQ.js} +115 -93
  202. package/chunks/{loop-wakeup-HOQI3K5D.js → loop-wakeup-OV65FEGR.js} +5 -5
  203. package/chunks/{ls-FSHISLLA.js → ls-RPRSX26R.js} +4 -4
  204. package/chunks/{lsp-APQJ5ZEZ.js → lsp-IWTJWFLT.js} +2 -2
  205. package/chunks/{managed-npm-update-X66EZDQD.js → managed-npm-update-HA262PFM.js} +41 -41
  206. package/chunks/{mcp-BDWPEXJF.js → mcp-T5ZUOKT3.js} +44 -44
  207. package/chunks/{monitor-7J3DCMBL.js → monitor-SLGY7CYB.js} +38 -38
  208. package/chunks/nonInteractiveCli-R5PK5B5G.js +166 -0
  209. package/chunks/{notebook-edit-IX7GCTIL.js → notebook-edit-STSSB5KQ.js} +38 -38
  210. package/chunks/{openaiContentGenerator-K65IDMQ6.js → openaiContentGenerator-OQED57JE.js} +24 -24
  211. package/chunks/{opentui-entry-L76XJNPE.js → opentui-entry-UTJ6MHDI.js} +5224 -825
  212. package/chunks/{pidfile-NNWTPHX2.js → pidfile-GES3MIHH.js} +39 -39
  213. package/chunks/{processUtils-ILOXESNR.js → processUtils-FU6VMUOL.js} +2 -2
  214. package/chunks/{qwenContentGenerator-YIKX3NHW.js → qwenContentGenerator-HWJSEGUL.js} +43 -43
  215. package/chunks/{qwenOAuth2-BLYU65Y4.js → qwenOAuth2-PAIR7XEW.js} +9 -9
  216. package/chunks/{read-file-GLBZFPNV.js → read-file-IYEBTQT5.js} +12 -12
  217. package/chunks/{read-mcp-resource-TJSJRH4F.js → read-mcp-resource-THCSZHXO.js} +2 -2
  218. package/chunks/{read-package-up-TCM6I7S2.js → read-package-up-K6RKTL5D.js} +1 -1
  219. package/chunks/{record-artifact-FXF5LHPE.js → record-artifact-76YYQA5F.js} +3 -3
  220. package/chunks/{resumeHistoryUtils-UMC4Y3E2.js → resumeHistoryUtils-WP446RP5.js} +44 -45
  221. package/chunks/{ripGrep-53XOGSZ4.js → ripGrep-VV2CRCL2.js} +38 -38
  222. package/chunks/{run-qwen-serve-BTZ46CLW.js → run-qwen-serve-AHQCTALV.js} +160 -71
  223. package/chunks/{runtime-RQ3ACQKH.js → runtime-AUUZGDK6.js} +49 -49
  224. package/chunks/{scheduler-WEIFVKQH.js → scheduler-Y4UPEURR.js} +40 -40
  225. package/chunks/{sdk-exporters-http-2VPMAPFI.js → sdk-exporters-http-A7XLKZO7.js} +11 -7
  226. package/chunks/{sdk-impl-5W3JUCWF.js → sdk-impl-XO4UF6PR.js} +11 -8
  227. package/chunks/{send-message-RBYLV5NY.js → send-message-P5SLP57G.js} +6 -6
  228. package/chunks/{serve-RJUR5OJH.js → serve-WI3SE4MY.js} +47 -47
  229. package/chunks/{server-WQ2ID4U7.js → server-G6JU6UWL.js} +264 -159
  230. package/chunks/{session-O4OXRVNI.js → session-2AO2UACB.js} +85 -85
  231. package/chunks/{settings-4BVJ36YG.js → settings-3HRWSH66.js} +43 -43
  232. package/chunks/{shell-DCQZWM5T.js → shell-AR7XFLHA.js} +38 -38
  233. package/chunks/{skill-4KWZ4J7U.js → skill-K6NOUUYM.js} +16 -16
  234. package/chunks/{skill-settings-TEMNXCLU.js → skill-settings-IOXQYS6X.js} +43 -43
  235. package/chunks/{spawnChannel-ROYEZK57.js → spawnChannel-V6P6HF4V.js} +42 -40
  236. package/chunks/{standalone-update-G4BETY4B.js → standalone-update-K5G3L2OJ.js} +40 -40
  237. package/chunks/{startInteractiveUI-PDFQ7N7A.js → startInteractiveUI-TRRP52QX.js} +422 -500
  238. package/chunks/{syntheticOutput-D3Z64LJC.js → syntheticOutput-SEW4NA47.js} +3 -3
  239. package/chunks/{task-create-URFZ5EUX.js → task-create-247EAVF7.js} +10 -10
  240. package/chunks/{task-list-6JDFMPUW.js → task-list-ZJN4QHLK.js} +5 -5
  241. package/chunks/{task-stop-HHUGCD25.js → task-stop-MAYQJ42I.js} +2 -2
  242. package/chunks/{task-update-DVV6CUGI.js → task-update-SU5TMZGG.js} +10 -10
  243. package/chunks/{team-create-KW4LOVHD.js → team-create-IEEEBLE2.js} +38 -38
  244. package/chunks/{team-delete-PZGGBQLM.js → team-delete-3XVRPQBP.js} +5 -5
  245. package/chunks/{team-plan-approval-XHFK2RTF.js → team-plan-approval-SJGNS5JL.js} +38 -38
  246. package/chunks/{terminal-image-renderer-46R2LHGR.js → terminal-image-renderer-C4RQMC67.js} +40 -40
  247. package/chunks/{theme-manager-E56XY2JG.js → theme-manager-IKZQJQ6C.js} +39 -39
  248. package/chunks/{todoWrite-WINAZSZI.js → todoWrite-IE2YTCK7.js} +4 -4
  249. package/chunks/{tool-search-EVVFQUMJ.js → tool-search-4UVNFYWU.js} +16 -16
  250. package/chunks/{total-session-admission-CULMHRTA.js → total-session-admission-DIN6FTZP.js} +44 -44
  251. package/chunks/{trustedFolders-BKLVSCXW.js → trustedFolders-IAHOLV6A.js} +39 -39
  252. package/chunks/{update-relaunch-46H4Q4VL.js → update-relaunch-5QSJ5CWP.js} +5 -5
  253. package/chunks/{updateCheck-3BQA7KNI.js → updateCheck-N4RT7HOZ.js} +44 -44
  254. package/chunks/{useAutoAcceptIndicator-3QJ7QV5R.js → useAutoAcceptIndicator-25T26VZS.js} +46 -46
  255. package/chunks/{validateNonInterActiveAuth-QVFJVBSY.js → validateNonInterActiveAuth-MCTVPLFE.js} +81 -81
  256. package/chunks/{version-6JJA54HH.js → version-6PLZ7PCV.js} +2 -2
  257. package/chunks/{web-fetch-75JBSDA3.js → web-fetch-5ANX6FSM.js} +16 -16
  258. package/chunks/{web-search-PKBISWS3.js → web-search-KQJWWRHW.js} +9 -9
  259. package/chunks/{workflow-KEZDQISR.js → workflow-C57ZKFUF.js} +111 -46
  260. package/chunks/{workspace-providers-status-YQW4VNIV.js → workspace-providers-status-3QAE4G4Y.js} +47 -47
  261. package/chunks/{workspace-registration-store-GQ42PR72.js → workspace-registration-store-Q3J5LV6T.js} +1 -1
  262. package/chunks/{workspace-registry-ZR6DVZQ6.js → workspace-registry-DSJ5NAII.js} +44 -44
  263. package/chunks/{workspace-service-BCMK3NLA.js → workspace-service-QW5LH7FA.js} +49 -49
  264. package/chunks/{workspace-skills-status-ZHBYM2X7.js → workspace-skills-status-N34ALJPZ.js} +45 -45
  265. package/chunks/{workspace-trust-reconciler-TWRB3TW2.js → workspace-trust-reconciler-YTOL7QEV.js} +50 -50
  266. package/chunks/{write-file-CQBI7HXO.js → write-file-MSFRVUZB.js} +38 -38
  267. package/chunks/{zoom-image-36I4WZIL.js → zoom-image-4TQA5GHG.js} +12 -12
  268. package/cli.js +13 -13
  269. package/package.json +4 -4
  270. package/web-shell/assets/{arc-CgGUyHWd.js → arc-lZ04kynw.js} +1 -1
  271. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BR0Qv-1Y.js → architectureDiagram-3BPJPVTR-B1wZVhzD.js} +1 -1
  272. package/web-shell/assets/{blockDiagram-GPEHLZMM-DIoaceaI.js → blockDiagram-GPEHLZMM-CO0e0yJt.js} +1 -1
  273. package/web-shell/assets/{c4Diagram-AAUBKEIU-Bc5k6BbI.js → c4Diagram-AAUBKEIU-Dfpo6Qie.js} +1 -1
  274. package/web-shell/assets/channel-BxvRq3pV.js +1 -0
  275. package/web-shell/assets/{chunk-2J33WTMH-DtPEz2WX.js → chunk-2J33WTMH-BvxArftT.js} +1 -1
  276. package/web-shell/assets/{chunk-4BX2VUAB-Dydo6ydE.js → chunk-4BX2VUAB-BS2XXjGY.js} +1 -1
  277. package/web-shell/assets/{chunk-55IACEB6-DD9_VWXm.js → chunk-55IACEB6-CYL6h3Ph.js} +1 -1
  278. package/web-shell/assets/{chunk-727SXJPM-DVI2m59k.js → chunk-727SXJPM-C-cWPX30.js} +1 -1
  279. package/web-shell/assets/{chunk-AQP2D5EJ-luatmaTN.js → chunk-AQP2D5EJ-CJLxNbVV.js} +1 -1
  280. package/web-shell/assets/{chunk-FMBD7UC4-Duy8NTIi.js → chunk-FMBD7UC4-DwfzKywA.js} +1 -1
  281. package/web-shell/assets/{chunk-ND2GUHAM-CrL1yhms.js → chunk-ND2GUHAM-BI5raYHQ.js} +1 -1
  282. package/web-shell/assets/{chunk-QZHKN3VN-C7BX6bu1.js → chunk-QZHKN3VN-_GkNI90J.js} +1 -1
  283. package/web-shell/assets/classDiagram-4FO5ZUOK-tL8nAxYf.js +1 -0
  284. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-tL8nAxYf.js +1 -0
  285. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTzs7mIi.js → cose-bilkent-S5V4N54A-BAVLNxh9.js} +1 -1
  286. package/web-shell/assets/{dagre-BM42HDAG-3VTUmWts.js → dagre-BM42HDAG-BD4XNLqp.js} +1 -1
  287. package/web-shell/assets/{diagram-2AECGRRQ-Ehdp75GN.js → diagram-2AECGRRQ-WO567p8w.js} +1 -1
  288. package/web-shell/assets/{diagram-5GNKFQAL-B3wu3teE.js → diagram-5GNKFQAL-mAk23VWO.js} +1 -1
  289. package/web-shell/assets/{diagram-KO2AKTUF-DjgTSf2S.js → diagram-KO2AKTUF-YQEeHKze.js} +1 -1
  290. package/web-shell/assets/{diagram-LMA3HP47-Br9mwjY3.js → diagram-LMA3HP47-CMVjxAjv.js} +1 -1
  291. package/web-shell/assets/{diagram-OG6HWLK6-D4xz5M-z.js → diagram-OG6HWLK6-42hPvbM-.js} +1 -1
  292. package/web-shell/assets/{erDiagram-TEJ5UH35-CXayWlG_.js → erDiagram-TEJ5UH35-CXU_cPfu.js} +1 -1
  293. package/web-shell/assets/{flowDiagram-I6XJVG4X-CLonjQTi.js → flowDiagram-I6XJVG4X-D-3TdhMT.js} +1 -1
  294. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BTySFT-1.js → ganttDiagram-6RSMTGT7-CsgkXolz.js} +1 -1
  295. package/web-shell/assets/{gitGraphDiagram-PVQCEYII--2WcUjOe.js → gitGraphDiagram-PVQCEYII-B6Q3PBLD.js} +1 -1
  296. package/web-shell/assets/{index-DPJHkFOG.js → index-BFrkGj2B.js} +1 -1
  297. package/web-shell/assets/index-BgjULKyF.css +5 -0
  298. package/web-shell/assets/index-CxXlPYfl.js +1789 -0
  299. package/web-shell/assets/{infoDiagram-5YYISTIA-9vpgAf1m.js → infoDiagram-5YYISTIA-jiAfSXp8.js} +1 -1
  300. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DcRpHnAW.js → ishikawaDiagram-YF4QCWOH-BWif5KeJ.js} +1 -1
  301. package/web-shell/assets/{journeyDiagram-JHISSGLW-C2TKorRm.js → journeyDiagram-JHISSGLW-B-GAZthS.js} +1 -1
  302. package/web-shell/assets/{kanban-definition-UN3LZRKU-DdsFwB8b.js → kanban-definition-UN3LZRKU-9TEuATdL.js} +1 -1
  303. package/web-shell/assets/{linear-7PjRvJrf.js → linear-dy_QPfyE.js} +1 -1
  304. package/web-shell/assets/{mermaid.core-raDXa11C.js → mermaid.core-DB2uLAnq.js} +5 -5
  305. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DLHc-PRN.js → mindmap-definition-RKZ34NQL-ey_dyxi-.js} +1 -1
  306. package/web-shell/assets/{pieDiagram-4H26LBE5-BftYpeTW.js → pieDiagram-4H26LBE5-_6BuMdDj.js} +1 -1
  307. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-O-6ygOYn.js → quadrantDiagram-W4KKPZXB-B2rM19W2.js} +1 -1
  308. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BmZWVufJ.js → requirementDiagram-4Y6WPE33-DWj8b7vW.js} +1 -1
  309. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-2x5beiWt.js → sankeyDiagram-5OEKKPKP-D5dtYh0N.js} +1 -1
  310. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BH8uKokQ.js → sequenceDiagram-3UESZ5HK-DVkdn_qW.js} +1 -1
  311. package/web-shell/assets/{stateDiagram-AJRCARHV-Dq1MFgX_.js → stateDiagram-AJRCARHV-DgwD_fi6.js} +1 -1
  312. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BWGkVGVB.js +1 -0
  313. package/web-shell/assets/{timeline-definition-PNZ67QCA-Cl2WKbv9.js → timeline-definition-PNZ67QCA-vNr_1UNX.js} +1 -1
  314. package/web-shell/assets/{vennDiagram-CIIHVFJN-BqoRo_Q-.js → vennDiagram-CIIHVFJN-ChFcGAcu.js} +1 -1
  315. package/web-shell/assets/{wardley-L42UT6IY-BTxp-Yot.js → wardley-L42UT6IY-C8PXoSWk.js} +1 -1
  316. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DFXVCSH2.js → wardleyDiagram-YWT4CUSO-C2nqOV6i.js} +1 -1
  317. package/web-shell/assets/{xychartDiagram-2RQKCTM6-qQhWx0aE.js → xychartDiagram-2RQKCTM6-BntaqhSB.js} +1 -1
  318. package/web-shell/index.html +2 -2
  319. package/chunks/chunk-7P32M35F.js +0 -51
  320. package/chunks/nonInteractiveCli-THJJIXKG.js +0 -166
  321. package/web-shell/assets/channel-D2b9IYpS.js +0 -1
  322. package/web-shell/assets/classDiagram-4FO5ZUOK-DHatTCmD.js +0 -1
  323. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHatTCmD.js +0 -1
  324. package/web-shell/assets/index-CIFO52Wx.css +0 -5
  325. package/web-shell/assets/index-bhq3CUUF.js +0 -1789
  326. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-spuAYji6.js +0 -1
@@ -4,12 +4,8 @@ import {
4
4
  buildPermissionSuggestions
5
5
  } from "./chunk-43T5WDQ7.js";
6
6
  import {
7
- startPostRenderPrefetches
8
- } from "./chunk-AJL3SAZG.js";
9
- import {
10
- classifyApiError,
11
- fireSessionDeleteHook
12
- } from "./chunk-P5Y23G2L.js";
7
+ classifyApiError
8
+ } from "./chunk-V7RNNPGC.js";
13
9
  import {
14
10
  DEFAULT_STATUS_LINE_PRESET_CONFIG,
15
11
  RANGE_CYCLE,
@@ -19,9 +15,11 @@ import {
19
15
  aggregateModelTokens,
20
16
  buildStatusLinePresetData,
21
17
  buildStatusLinePresetLines,
18
+ computeWindowTitle,
22
19
  fmtDurationShort,
23
20
  fmtSuccessBar,
24
21
  fmtTokens,
22
+ formatSessionWindowTitle,
25
23
  getCacheColor,
26
24
  getHeatmapColors,
27
25
  getRangeLabel,
@@ -31,12 +29,21 @@ import {
31
29
  getSuccessColor,
32
30
  normalizeStatusLinePresetConfig,
33
31
  orderStatusLinePresetItems,
34
- shortAsciiLogo
35
- } from "./chunk-PDKLO2DN.js";
32
+ shortAsciiLogo,
33
+ titleStatusPrefix,
34
+ useGitBranchName,
35
+ writeTerminalTitle
36
+ } from "./chunk-CJNKGZLC.js";
37
+ import {
38
+ startPostRenderPrefetches
39
+ } from "./chunk-JRMUA53D.js";
40
+ import {
41
+ fireSessionDeleteHook
42
+ } from "./chunk-L34XSHIZ.js";
36
43
  import {
37
44
  TUI_CHAT_RECORDING_FAILURE_MESSAGE,
38
45
  reportChatRecordingFailureToAdapter
39
- } from "./chunk-Q6FGSG6B.js";
46
+ } from "./chunk-B2BKFWJK.js";
40
47
  import {
41
48
  SESSION_MENTION_PREFIX,
42
49
  buildMcpResourceRef,
@@ -47,16 +54,16 @@ import {
47
54
  matchMcpServerPrefix,
48
55
  resolveAtCommandQuery,
49
56
  sanitizeDisplayText
50
- } from "./chunk-EAJESCBT.js";
57
+ } from "./chunk-JGD35ZSJ.js";
51
58
  import {
52
59
  MAX_SUGGESTIONS_TO_SHOW
53
60
  } from "./chunk-WLML6VIA.js";
54
61
  import {
55
62
  StreamJsonOutputAdapter
56
- } from "./chunk-XDN6SMAQ.js";
63
+ } from "./chunk-B7IBCWDW.js";
57
64
  import {
58
65
  normalizePartList
59
- } from "./chunk-T5ZFG4CI.js";
66
+ } from "./chunk-MUN34TTF.js";
60
67
  import {
61
68
  BuiltinCommandLoader,
62
69
  BundledSkillLoader,
@@ -99,14 +106,14 @@ import {
99
106
  resetBackgroundStateForSessionSwitch,
100
107
  serializeUserPromptExpansionPrompt,
101
108
  supportsMatchers
102
- } from "./chunk-QIN5P5BP.js";
109
+ } from "./chunk-DUFZ3OW6.js";
103
110
  import {
104
111
  EXTENSION_RELOAD_FAILED_REASON,
105
112
  ExtensionRefreshState,
106
113
  appEvents,
107
114
  cleanupReviewWorktreeLeases,
108
115
  loadHierarchicalGeminiMemory
109
- } from "./chunk-VUFEW3SF.js";
116
+ } from "./chunk-CTEGMF77.js";
110
117
  import {
111
118
  AboutBox,
112
119
  BaseSelectionList,
@@ -128,7 +135,6 @@ import {
128
135
  SessionPicker,
129
136
  SessionStatsProvider,
130
137
  SettingsContext,
131
- TOOL_DISPLAY_BY_NAME,
132
138
  TerminalOutputProvider,
133
139
  TextInput,
134
140
  ThoughtExpandedProvider,
@@ -158,7 +164,6 @@ import {
158
164
  removeLastGrapheme,
159
165
  renderSoftwareCursor,
160
166
  splitFencedMarkdown,
161
- truncateText,
162
167
  useArenaCommand,
163
168
  useConfig,
164
169
  useHistory,
@@ -177,33 +182,37 @@ import {
177
182
  useUIActions,
178
183
  useUIState,
179
184
  useVirtualViewport
180
- } from "./chunk-OYLNJPY3.js";
185
+ } from "./chunk-HWCHDINS.js";
181
186
  import {
187
+ TOOL_DISPLAY_BY_NAME,
182
188
  TOOL_SUCCESS_RATE_HIGH,
183
189
  TOOL_SUCCESS_RATE_MEDIUM,
184
190
  USER_AGREEMENT_RATE_HIGH,
185
191
  USER_AGREEMENT_RATE_MEDIUM,
186
192
  getArenaStatusLabel,
187
193
  getStatusColor,
188
- keyMatchers
189
- } from "./chunk-XYVBANG5.js";
194
+ keyMatchers,
195
+ truncateText
196
+ } from "./chunk-O4MVJKSX.js";
190
197
  import {
191
198
  getCommandDisplayName,
192
199
  getCommandSourceBadge
193
- } from "./chunk-MM4XBXF7.js";
200
+ } from "./chunk-VRQD5D7R.js";
194
201
  import {
195
202
  computeSessionStats,
196
203
  levelLabel
197
- } from "./chunk-JRRZFO4A.js";
204
+ } from "./chunk-QXFAQDBV.js";
198
205
  import {
199
206
  MaxSizedBox,
200
207
  OverflowProvider,
201
208
  useOverflowState
202
- } from "./chunk-WQOE4IYF.js";
209
+ } from "./chunk-OSA2TFDI.js";
203
210
  import {
204
211
  GeminiRespondingSpinner,
205
212
  GeminiSpinner,
213
+ ICON,
206
214
  SCREEN_READER_USER_PREFIX,
215
+ SHELL_COMMAND_NAME,
207
216
  StreamingContext,
208
217
  applyCollapsePolicyAndSummary,
209
218
  buildResumedHistoryItems,
@@ -214,17 +223,13 @@ import {
214
223
  useStreamingContext,
215
224
  waitForGoalRuntime,
216
225
  wrapAnsi
217
- } from "./chunk-OLU7GIF4.js";
218
- import {
219
- ICON,
220
- SHELL_COMMAND_NAME
221
- } from "./chunk-7P32M35F.js";
226
+ } from "./chunk-XUBM2A4F.js";
222
227
  import {
223
228
  theme
224
- } from "./chunk-MLZCPGDX.js";
229
+ } from "./chunk-JOVJCXN4.js";
225
230
  import {
226
231
  stopAndGetCapturedInput
227
- } from "./chunk-T4FTABSW.js";
232
+ } from "./chunk-2N6CV4PW.js";
228
233
  import {
229
234
  disableKittyProtocol,
230
235
  isKittyProtocolEnabled,
@@ -233,13 +238,13 @@ import {
233
238
  } from "./chunk-NYX53SV4.js";
234
239
  import {
235
240
  useAutoAcceptIndicator
236
- } from "./chunk-MJ5FMYVQ.js";
241
+ } from "./chunk-HOJZ2QQA.js";
237
242
  import {
238
243
  KeypressProvider,
239
244
  useFocus,
240
245
  useKeypress,
241
246
  useKeypressContext
242
- } from "./chunk-4W25XH7F.js";
247
+ } from "./chunk-BNRIQWXW.js";
243
248
  import {
244
249
  BEL,
245
250
  OSC_PREFIX,
@@ -252,24 +257,24 @@ import {
252
257
  oscKittyNotify,
253
258
  saveClipboardImage,
254
259
  writeOsc52
255
- } from "./chunk-AMXMM7DH.js";
260
+ } from "./chunk-UPUAGRKY.js";
256
261
  import {
257
262
  require_jsx_runtime
258
263
  } from "./chunk-SV5PQVQE.js";
259
- import "./chunk-DEVFUPC5.js";
264
+ import "./chunk-TB6DPBE4.js";
260
265
  import "./chunk-4WGODMVR.js";
261
266
  import {
262
267
  setUpdateHandler
263
- } from "./chunk-YQB3HSQ7.js";
268
+ } from "./chunk-ORR5EFCL.js";
264
269
  import {
265
270
  isHistoryItemVisibleAfterRestore
266
271
  } from "./chunk-EKTCKZV5.js";
267
- import "./chunk-DNRV2US3.js";
272
+ import "./chunk-HY5OHJEC.js";
268
273
  import {
269
274
  AUTO_THEME_NAME,
270
275
  DEFAULT_THEME,
271
276
  themeManager
272
- } from "./chunk-EN2J77G7.js";
277
+ } from "./chunk-6LDLDK6E.js";
273
278
  import "./chunk-KW7NOTN6.js";
274
279
  import {
275
280
  Box_default,
@@ -288,32 +293,32 @@ import {
288
293
  import {
289
294
  require_react
290
295
  } from "./chunk-5QWWOFGG.js";
291
- import "./chunk-JWXBLIQL.js";
296
+ import "./chunk-LIBTBTHP.js";
292
297
  import {
293
298
  getErrorMessage as getErrorMessage2
294
- } from "./chunk-T2VEHZH3.js";
295
- import "./chunk-PRWGIKKU.js";
296
- import "./chunk-VO52SIZW.js";
299
+ } from "./chunk-6T5HCY34.js";
300
+ import "./chunk-Y5C24BUY.js";
301
+ import "./chunk-L3YACXS2.js";
297
302
  import "./chunk-YAF2MQZ6.js";
298
- import "./chunk-6S52N6PG.js";
303
+ import "./chunk-UQPLUR4A.js";
299
304
  import {
300
305
  MAX_INLINE_IMAGES_PER_ITEM,
301
306
  collectInlineImages,
302
307
  getInlineImageData
303
- } from "./chunk-ZWPWQEF5.js";
308
+ } from "./chunk-E74YSVIN.js";
304
309
  import {
305
310
  relaunchApp
306
- } from "./chunk-RE6JD2BH.js";
307
- import "./chunk-67LXZ6LV.js";
311
+ } from "./chunk-VYDQD5J4.js";
312
+ import "./chunk-SFBRH5RY.js";
308
313
  import "./chunk-6H67XLET.js";
309
314
  import {
310
315
  openQwenAsrRealtimeStream,
311
316
  openVoiceStream,
312
317
  openVoiceStreamWithRetry
313
- } from "./chunk-3XZYK76R.js";
318
+ } from "./chunk-XL6GYJL2.js";
314
319
  import "./chunk-ZBBVBZBR.js";
315
- import "./chunk-7L64FSYQ.js";
316
- import "./chunk-47FQVRCO.js";
320
+ import "./chunk-APQTLUZ3.js";
321
+ import "./chunk-EGB2PIYM.js";
317
322
  import {
318
323
  cpLen,
319
324
  cpSlice,
@@ -326,7 +331,7 @@ import {
326
331
  stripUnsafeCharacters,
327
332
  toCodePoints
328
333
  } from "./chunk-4NFY2S7N.js";
329
- import "./chunk-GQW6P73F.js";
334
+ import "./chunk-FNVF5RR4.js";
330
335
  import {
331
336
  stringWidth
332
337
  } from "./chunk-2MIN6GRR.js";
@@ -335,67 +340,67 @@ import "./chunk-3Z43GZUQ.js";
335
340
  import {
336
341
  isValidSessionId
337
342
  } from "./chunk-TQOF5KBL.js";
338
- import "./chunk-HGCQ5SE7.js";
343
+ import "./chunk-UXEO7E3V.js";
339
344
  import {
340
345
  assertVoiceBaseUrlNetworkAllowed,
341
346
  isKeytermEcho,
342
347
  isStreamingVoiceModel,
343
348
  resolveVoiceStreamConfig,
344
349
  transcribeVoiceAudio
345
- } from "./chunk-FLUYVAQZ.js";
350
+ } from "./chunk-Y2HK3ELT.js";
346
351
  import {
347
352
  formatUnsupportedVoiceModelMessage,
348
353
  isSelectableVoiceModel
349
- } from "./chunk-SZ36WFVK.js";
350
- import "./chunk-IQFYO5BF.js";
354
+ } from "./chunk-BGIKUE5J.js";
355
+ import "./chunk-5KZNWF2M.js";
351
356
  import {
352
357
  getExtendedSystemInfo
353
- } from "./chunk-ZIS5I56G.js";
358
+ } from "./chunk-WIHSDI6U.js";
354
359
  import {
355
360
  formatDuration,
356
361
  formatRelativeTime,
357
362
  formatTokenCount
358
363
  } from "./chunk-3SH53ANB.js";
359
- import "./chunk-MZSJ43WV.js";
360
- import "./chunk-XCGIMOLN.js";
364
+ import "./chunk-JVY7FHUZ.js";
365
+ import "./chunk-WCCLLK7X.js";
361
366
  import {
362
367
  isInlineModelOverrideAllowed
363
- } from "./chunk-5DDUYIY6.js";
368
+ } from "./chunk-3JI5D6RU.js";
364
369
  import {
365
370
  computeWorkspaceSkillListUpdates,
366
371
  resolveSkillSettings,
367
372
  skillSettingStrings
368
373
  } from "./chunk-Z4X5MTRT.js";
369
- import "./chunk-3SIXC6QC.js";
374
+ import "./chunk-N56NYJWY.js";
370
375
  import {
371
376
  requestConsentInteractive,
372
377
  requestConsentOrFail
373
- } from "./chunk-C2VGLLNA.js";
378
+ } from "./chunk-N3J3CO35.js";
374
379
  import "./chunk-57OAHC2Y.js";
375
- import "./chunk-YTYPRVIZ.js";
376
- import "./chunk-ENEEQMGM.js";
377
- import "./chunk-DEG7R6Z6.js";
380
+ import "./chunk-VUTOV2HG.js";
381
+ import "./chunk-XY7DGTIC.js";
382
+ import "./chunk-TN3REXN4.js";
378
383
  import "./chunk-V6WHFGST.js";
379
384
  import {
380
385
  createLoadedSettingsAdapter
381
- } from "./chunk-7PBUQKMT.js";
382
- import "./chunk-3GCU5O2E.js";
383
- import "./chunk-DP3IHZGG.js";
384
- import "./chunk-L2O7DJIE.js";
386
+ } from "./chunk-QSMZHJ62.js";
387
+ import "./chunk-U7ROFHSH.js";
388
+ import "./chunk-2AUM35J5.js";
389
+ import "./chunk-QSDPJROT.js";
385
390
  import "./chunk-6PLDPT2C.js";
386
391
  import "./chunk-FYJ7W2PI.js";
387
392
  import "./chunk-YP5KH5Y7.js";
388
- import "./chunk-K7JW6V5O.js";
393
+ import "./chunk-JW5UEE3V.js";
389
394
  import "./chunk-ALMR3E6Q.js";
390
395
  import "./chunk-HIBNSEJE.js";
391
396
  import "./chunk-M5GB774H.js";
392
397
  import "./chunk-BKHCW2BI.js";
393
- import "./chunk-LT532KF4.js";
398
+ import "./chunk-ADJDLEVO.js";
394
399
  import "./chunk-IW6RQPQB.js";
395
- import "./chunk-AQHNAA7E.js";
400
+ import "./chunk-7JL5YBSA.js";
396
401
  import {
397
402
  loadMcpApprovals
398
- } from "./chunk-FWJRWCKU.js";
403
+ } from "./chunk-PYLVQ6RT.js";
399
404
  import {
400
405
  CORRUPTED_SUFFIX,
401
406
  getDefaultValue,
@@ -415,11 +420,11 @@ import {
415
420
  setPendingSettingValueAny,
416
421
  validateSettingValue,
417
422
  writeOutputLanguageAndRegisterPath
418
- } from "./chunk-3ZLUA4GV.js";
423
+ } from "./chunk-H2U4FK62.js";
419
424
  import "./chunk-RKUWKYED.js";
420
425
  import {
421
426
  TOGGLE_TYPES
422
- } from "./chunk-G4C5RLX6.js";
427
+ } from "./chunk-4X5J3V2I.js";
423
428
  import "./chunk-GOXKNSDZ.js";
424
429
  import "./chunk-IDS7MSUP.js";
425
430
  import {
@@ -427,19 +432,19 @@ import {
427
432
  localizeToolDisplayName,
428
433
  t,
429
434
  ta
430
- } from "./chunk-6LK2QPIA.js";
435
+ } from "./chunk-JXS2JNMZ.js";
431
436
  import "./chunk-5EJZE3FP.js";
432
- import "./chunk-7N6WK2W6.js";
437
+ import "./chunk-FXWGMPAP.js";
433
438
  import "./chunk-MS7GNABG.js";
434
- import "./chunk-URK542T4.js";
439
+ import "./chunk-NF5J2WFA.js";
435
440
  import {
436
441
  getCliVersion
437
- } from "./chunk-DGM2XA3R.js";
438
- import "./chunk-VJNBRRZG.js";
442
+ } from "./chunk-V2U6FOJB.js";
443
+ import "./chunk-WZMH7II3.js";
439
444
  import {
440
445
  isWorkspaceTrusted,
441
446
  loadTrustedFolders
442
- } from "./chunk-M2S67TPJ.js";
447
+ } from "./chunk-ZA2JN5IZ.js";
443
448
  import {
444
449
  require_strip_json_comments
445
450
  } from "./chunk-NPQ5ZKRP.js";
@@ -540,7 +545,6 @@ import {
540
545
  refreshMemoryAfterManagedWrite,
541
546
  refreshMemoryInstruction,
542
547
  resolveBaseUrl,
543
- resolveBranchName,
544
548
  resolveMetadataKey,
545
549
  restoreWorktreeContext,
546
550
  saveWelcomeBackRestartChoice,
@@ -550,27 +554,26 @@ import {
550
554
  stripTerminalControlSequences,
551
555
  subagentGenerator,
552
556
  validateWorkflowName,
553
- watchRepoBranch,
554
557
  writeRuntimeStatus
555
- } from "./chunk-INQN4KIA.js";
558
+ } from "./chunk-GHOUZ5X4.js";
556
559
  import "./chunk-GOFAQQZA.js";
557
560
  import "./chunk-5M6IDOMF.js";
558
561
  import {
559
562
  stripAnsi
560
563
  } from "./chunk-TWPJO254.js";
561
564
  import "./chunk-CQ35AJ4Z.js";
562
- import "./chunk-QTI7SRXI.js";
563
- import "./chunk-KT4OWAAZ.js";
564
- import "./chunk-IX7CFQGA.js";
565
- import "./chunk-N7NBMAMW.js";
565
+ import "./chunk-NM33GGOM.js";
566
+ import "./chunk-A4BAHMJF.js";
567
+ import "./chunk-ZPZANKVP.js";
568
+ import "./chunk-A6GQUQ7I.js";
566
569
  import "./chunk-6PVPNMXU.js";
567
570
  import {
568
571
  resolveModelId
569
- } from "./chunk-U6LT3QBF.js";
572
+ } from "./chunk-JBZYGFIB.js";
570
573
  import "./chunk-IRH27ZC2.js";
571
574
  import "./chunk-QHWCP53L.js";
572
- import "./chunk-XLQS3VI6.js";
573
- import "./chunk-NWPO6I7V.js";
575
+ import "./chunk-AAZWJAPQ.js";
576
+ import "./chunk-7WUMS2UA.js";
574
577
  import {
575
578
  promptIdContext
576
579
  } from "./chunk-O6GEWCJA.js";
@@ -579,25 +582,25 @@ import "./chunk-ZPJWUGCS.js";
579
582
  import "./chunk-CPBF7KYF.js";
580
583
  import {
581
584
  APPROVAL_MODES
582
- } from "./chunk-6LYDH7VT.js";
583
- import "./chunk-2AZMF6G5.js";
585
+ } from "./chunk-SNHBRO4C.js";
586
+ import "./chunk-KTWUFHS4.js";
584
587
  import "./chunk-KRXPRVGL.js";
585
588
  import {
586
589
  HOOKS_CONFIG_FIELDS
587
- } from "./chunk-GZGDJ4E6.js";
588
- import "./chunk-T6W4KACQ.js";
589
- import "./chunk-MWZYNOCG.js";
590
+ } from "./chunk-2ASWIM4A.js";
591
+ import "./chunk-67F2BEYW.js";
592
+ import "./chunk-TNETSI2A.js";
590
593
  import {
591
594
  elapsedActiveTime,
592
595
  goalRequiresExactPermit
593
- } from "./chunk-SAQHDAUJ.js";
594
- import "./chunk-6XZERB6P.js";
595
- import "./chunk-O5AZPHYZ.js";
596
+ } from "./chunk-B66LYK4B.js";
597
+ import "./chunk-VPZMLGD3.js";
598
+ import "./chunk-U5C2GIN2.js";
596
599
  import "./chunk-SAH4BD2J.js";
597
- import "./chunk-5PWLQ7SK.js";
600
+ import "./chunk-2RTRFLWH.js";
598
601
  import {
599
602
  runOutsideAgentContext
600
- } from "./chunk-EYS3GGM3.js";
603
+ } from "./chunk-SKRHR6N2.js";
601
604
  import "./chunk-S6LOFUVP.js";
602
605
  import "./chunk-2J3OJGTL.js";
603
606
  import {
@@ -639,7 +642,7 @@ import {
639
642
  runVisionBridge,
640
643
  shouldRunVisionBridge,
641
644
  splitImageParts
642
- } from "./chunk-HB6QW4LM.js";
645
+ } from "./chunk-UAAWNTOC.js";
643
646
  import "./chunk-YRLW2MSX.js";
644
647
  import "./chunk-VGC4I5JJ.js";
645
648
  import {
@@ -648,45 +651,44 @@ import {
648
651
  getAutoMemoryRoot,
649
652
  getUserAutoMemoryRoot,
650
653
  isAnyAutoMemPath
651
- } from "./chunk-732MOPEM.js";
654
+ } from "./chunk-6OJDN5ZT.js";
652
655
  import {
653
656
  runSideQuery
654
- } from "./chunk-CTQE2NB2.js";
655
- import "./chunk-NC4O6UE6.js";
656
- import "./chunk-IEP44U2R.js";
657
+ } from "./chunk-JRTJEGSP.js";
658
+ import "./chunk-O6SLWH4X.js";
659
+ import "./chunk-C2DR57L6.js";
657
660
  import {
658
661
  getStartupContextLength,
659
662
  isSystemReminderContent
660
- } from "./chunk-ZV4XVYL3.js";
663
+ } from "./chunk-TROB4PZY.js";
661
664
  import "./chunk-K623ENWT.js";
662
665
  import "./chunk-AQ37AY7B.js";
663
666
  import {
664
667
  isPathWithinRoot
665
- } from "./chunk-V3LXMASR.js";
668
+ } from "./chunk-UHF5VBKO.js";
666
669
  import {
667
670
  ToolNames,
668
671
  isShellProgressData
669
- } from "./chunk-XTH2OMDS.js";
672
+ } from "./chunk-ZRT36RSF.js";
670
673
  import {
671
674
  osc8Hyperlink,
672
675
  qwenOAuth2Events,
673
- sanitizeForOsc,
674
676
  supportsHyperlinks,
675
677
  wrapForMultiplexer
676
- } from "./chunk-TBVNYG5B.js";
678
+ } from "./chunk-CDDLHCC2.js";
677
679
  import "./chunk-NAVJD2PQ.js";
678
- import "./chunk-5HBFERG5.js";
679
- import "./chunk-EYW54TBD.js";
680
+ import "./chunk-YI5G32RU.js";
681
+ import "./chunk-QEWAHAW2.js";
680
682
  import "./chunk-P3QQPMQA.js";
681
- import "./chunk-O4BBDP2G.js";
682
- import "./chunk-KPVVWKF3.js";
683
- import "./chunk-LOJO2RPW.js";
683
+ import "./chunk-FTGU6G45.js";
684
+ import "./chunk-PSTHNTHF.js";
685
+ import "./chunk-XJ6IMYUS.js";
684
686
  import {
685
687
  MAINLINE_CODER_MODEL
686
688
  } from "./chunk-F6WFNA7U.js";
687
689
  import {
688
690
  atomicWriteFileSync
689
- } from "./chunk-F6AOBFUN.js";
691
+ } from "./chunk-NW7SPXVG.js";
690
692
  import {
691
693
  REASONING_EFFORT_TIERS,
692
694
  applyReasoningEffort
@@ -697,16 +699,16 @@ import {
697
699
  } from "./chunk-MPHPFVKK.js";
698
700
  import "./chunk-AXMWHKXA.js";
699
701
  import "./chunk-GLCZKT5V.js";
700
- import "./chunk-GJJQV4PY.js";
702
+ import "./chunk-KK3FEHPJ.js";
701
703
  import "./chunk-46UV252V.js";
702
704
  import {
703
705
  DEFAULT_TOKEN_LIMIT
704
706
  } from "./chunk-FPGTNKCP.js";
705
707
  import "./chunk-DJ2GSRLV.js";
706
- import "./chunk-EFIMD5VA.js";
707
- import "./chunk-E5BWLU5J.js";
708
+ import "./chunk-H6BFLALJ.js";
709
+ import "./chunk-3MJ44LNC.js";
708
710
  import "./chunk-HHJLM3WQ.js";
709
- import "./chunk-L2GTEEEU.js";
711
+ import "./chunk-K5IDV3PC.js";
710
712
  import {
711
713
  Storage,
712
714
  UnauthorizedError,
@@ -718,13 +720,13 @@ import {
718
720
  isNodeError,
719
721
  shortenPath,
720
722
  tildeifyPath
721
- } from "./chunk-MPBRV3UU.js";
723
+ } from "./chunk-YMB77M76.js";
722
724
  import "./chunk-VOQXFAY5.js";
723
- import "./chunk-M3QYOPGN.js";
725
+ import "./chunk-BXAGPCYH.js";
724
726
  import {
725
727
  registerCleanup,
726
728
  runExitCleanup
727
- } from "./chunk-ABGS4FDQ.js";
729
+ } from "./chunk-NX5QZVRS.js";
728
730
  import {
729
731
  finalizeStartupProfile,
730
732
  profileCheckpoint
@@ -758,7 +760,7 @@ import {
758
760
  init_esbuild_shims();
759
761
  import { stat as stat2 } from "node:fs/promises";
760
762
  import { basename as basename4 } from "node:path";
761
- var import_react164 = __toESM(require_react(), 1);
763
+ var import_react163 = __toESM(require_react(), 1);
762
764
 
763
765
  // packages/cli/src/dualOutput/DualOutputBridge.ts
764
766
  init_esbuild_shims();
@@ -1374,7 +1376,7 @@ var useRemoteInput = /* @__PURE__ */ __name(() => (0, import_react2.useContext)(
1374
1376
 
1375
1377
  // packages/cli/src/ui/AppContainer.tsx
1376
1378
  init_esbuild_shims();
1377
- var import_react162 = __toESM(require_react(), 1);
1379
+ var import_react161 = __toESM(require_react(), 1);
1378
1380
 
1379
1381
  // packages/cli/src/ui/App.tsx
1380
1382
  init_esbuild_shims();
@@ -35928,59 +35930,6 @@ __name(useDoublePress, "useDoublePress");
35928
35930
  import * as fs20 from "node:fs";
35929
35931
  import { basename as basename3 } from "node:path";
35930
35932
 
35931
- // packages/cli/src/utils/windowTitle.ts
35932
- init_esbuild_shims();
35933
- var DEFAULT_WINDOW_TITLE = "qwen";
35934
- var MULTIPLEXER_ENV_KEYS = ["TMUX", "STY", "ZELLIJ", "DVTM"];
35935
- function sanitizeWindowTitle(title) {
35936
- return sanitizeForOsc(title);
35937
- }
35938
- __name(sanitizeWindowTitle, "sanitizeWindowTitle");
35939
- function computeWindowTitle(folderName) {
35940
- return sanitizeWindowTitle(
35941
- process.env["CLI_TITLE"] || `Qwen - ${folderName || DEFAULT_WINDOW_TITLE}`
35942
- );
35943
- }
35944
- __name(computeWindowTitle, "computeWindowTitle");
35945
- function writeTerminalTitle(write, title) {
35946
- const clean = sanitizeWindowTitle(title);
35947
- if (process.platform === "win32") {
35948
- process.title = clean;
35949
- }
35950
- const inMultiplexer = MULTIPLEXER_ENV_KEYS.some((k) => !!process.env[k]);
35951
- if (clean.length === 0) {
35952
- if (inMultiplexer) {
35953
- write("\x1B]2;\x07");
35954
- } else {
35955
- write("\x1B]0;\x07\x1B]2;\x07");
35956
- }
35957
- return;
35958
- }
35959
- if (inMultiplexer) {
35960
- write(`\x1B]2;${clean}\x07`);
35961
- } else {
35962
- const padded = clean.substring(0, 80).padEnd(80, " ");
35963
- write(`\x1B]0;${padded}\x07\x1B]2;${padded}\x07`);
35964
- }
35965
- }
35966
- __name(writeTerminalTitle, "writeTerminalTitle");
35967
- function formatSessionWindowTitle(sessionName, folderName, statusPrefix = "") {
35968
- const base = sessionName ? sanitizeWindowTitle(sessionName) : computeWindowTitle(folderName);
35969
- return sanitizeWindowTitle(statusPrefix + base);
35970
- }
35971
- __name(formatSessionWindowTitle, "formatSessionWindowTitle");
35972
- function titleStatusPrefix(streamingState) {
35973
- switch (streamingState) {
35974
- case "responding" /* Responding */:
35975
- return `${ICON.CIRCLE_LEFT_HALF} `;
35976
- case "waiting_for_confirmation" /* WaitingForConfirmation */:
35977
- return `${ICON.SPARKLE} `;
35978
- default:
35979
- return "";
35980
- }
35981
- }
35982
- __name(titleStatusPrefix, "titleStatusPrefix");
35983
-
35984
35933
  // packages/cli/src/ui/hooks/useLogger.ts
35985
35934
  init_esbuild_shims();
35986
35935
  var import_react131 = __toESM(require_react(), 1);
@@ -42622,67 +42571,15 @@ function sendNotification(opts, terminal, enabled) {
42622
42571
  }
42623
42572
  __name(sendNotification, "sendNotification");
42624
42573
 
42625
- // packages/cli/src/ui/hooks/useGitBranchName.ts
42626
- init_esbuild_shims();
42627
- var import_react146 = __toESM(require_react(), 1);
42628
- var BRANCH_POLL_INTERVAL_MS = 5e3;
42629
- function useGitBranchName(cwd3) {
42630
- const [branchName, setBranchName] = (0, import_react146.useState)(void 0);
42631
- const branchNameRef = (0, import_react146.useRef)(branchName);
42632
- branchNameRef.current = branchName;
42633
- (0, import_react146.useEffect)(() => {
42634
- let cancelled = false;
42635
- let dispose;
42636
- let pollTimer;
42637
- let refreshGeneration = 0;
42638
- const refresh = /* @__PURE__ */ __name(async () => {
42639
- const generation = ++refreshGeneration;
42640
- const name = await resolveBranchName(cwd3);
42641
- if (!cancelled && generation === refreshGeneration && name !== branchNameRef.current) {
42642
- setBranchName(name);
42643
- }
42644
- }, "refresh");
42645
- const init = /* @__PURE__ */ __name(async () => {
42646
- await refresh();
42647
- if (cancelled) return;
42648
- const disposer = await watchRepoBranch(cwd3, () => {
42649
- void refresh().catch(() => {
42650
- });
42651
- });
42652
- if (cancelled) {
42653
- disposer();
42654
- } else {
42655
- dispose = disposer;
42656
- }
42657
- if (!cancelled) {
42658
- pollTimer = setInterval(() => {
42659
- void refresh().catch(() => {
42660
- });
42661
- }, BRANCH_POLL_INTERVAL_MS);
42662
- pollTimer.unref?.();
42663
- }
42664
- }, "init");
42665
- void init().catch(() => {
42666
- });
42667
- return () => {
42668
- cancelled = true;
42669
- dispose?.();
42670
- if (pollTimer) clearInterval(pollTimer);
42671
- };
42672
- }, [cwd3]);
42673
- return branchName;
42674
- }
42675
- __name(useGitBranchName, "useGitBranchName");
42676
-
42677
42574
  // packages/cli/src/ui/hooks/useWorktreeSession.ts
42678
42575
  init_esbuild_shims();
42679
- var import_react147 = __toESM(require_react(), 1);
42576
+ var import_react146 = __toESM(require_react(), 1);
42680
42577
  import fs19 from "node:fs";
42681
42578
  import fsPromises from "node:fs/promises";
42682
42579
  import path14 from "node:path";
42683
42580
  function useWorktreeSession(config) {
42684
- const [session, setSession] = (0, import_react147.useState)(null);
42685
- (0, import_react147.useEffect)(() => {
42581
+ const [session, setSession] = (0, import_react146.useState)(null);
42582
+ (0, import_react146.useEffect)(() => {
42686
42583
  let cancelled = false;
42687
42584
  const safeLoad = /* @__PURE__ */ __name(async () => {
42688
42585
  try {
@@ -42722,7 +42619,7 @@ __name(useWorktreeSession, "useWorktreeSession");
42722
42619
 
42723
42620
  // packages/cli/src/ui/hooks/useExtensionUpdates.ts
42724
42621
  init_esbuild_shims();
42725
- var import_react148 = __toESM(require_react(), 1);
42622
+ var import_react147 = __toESM(require_react(), 1);
42726
42623
  function confirmationRequestsReducer(state, action) {
42727
42624
  switch (action.type) {
42728
42625
  case "add":
@@ -42739,8 +42636,8 @@ var useConfirmUpdateRequests = /* @__PURE__ */ __name(() => {
42739
42636
  const [
42740
42637
  confirmUpdateExtensionRequests,
42741
42638
  dispatchConfirmUpdateExtensionRequests
42742
- ] = (0, import_react148.useReducer)(confirmationRequestsReducer, []);
42743
- const addConfirmUpdateExtensionRequest = (0, import_react148.useCallback)(
42639
+ ] = (0, import_react147.useReducer)(confirmationRequestsReducer, []);
42640
+ const addConfirmUpdateExtensionRequest = (0, import_react147.useCallback)(
42744
42641
  (original) => {
42745
42642
  const wrappedRequest = {
42746
42643
  prompt: original.prompt,
@@ -42778,11 +42675,11 @@ function settingInputRequestsReducer(state, action) {
42778
42675
  }
42779
42676
  __name(settingInputRequestsReducer, "settingInputRequestsReducer");
42780
42677
  var useSettingInputRequests = /* @__PURE__ */ __name(() => {
42781
- const [settingInputRequests, dispatchSettingInputRequests] = (0, import_react148.useReducer)(
42678
+ const [settingInputRequests, dispatchSettingInputRequests] = (0, import_react147.useReducer)(
42782
42679
  settingInputRequestsReducer,
42783
42680
  []
42784
42681
  );
42785
- const addSettingInputRequest = (0, import_react148.useCallback)(
42682
+ const addSettingInputRequest = (0, import_react147.useCallback)(
42786
42683
  (original) => {
42787
42684
  const wrappedRequest = {
42788
42685
  settingName: original.settingName,
@@ -42829,11 +42726,11 @@ function pluginChoiceRequestsReducer(state, action) {
42829
42726
  }
42830
42727
  __name(pluginChoiceRequestsReducer, "pluginChoiceRequestsReducer");
42831
42728
  var usePluginChoiceRequests = /* @__PURE__ */ __name(() => {
42832
- const [pluginChoiceRequests, dispatchPluginChoiceRequests] = (0, import_react148.useReducer)(
42729
+ const [pluginChoiceRequests, dispatchPluginChoiceRequests] = (0, import_react147.useReducer)(
42833
42730
  pluginChoiceRequestsReducer,
42834
42731
  []
42835
42732
  );
42836
- const addPluginChoiceRequest = (0, import_react148.useCallback)(
42733
+ const addPluginChoiceRequest = (0, import_react147.useCallback)(
42837
42734
  (original) => {
42838
42735
  const wrappedRequest = {
42839
42736
  marketplaceName: original.marketplaceName,
@@ -42867,12 +42764,12 @@ var usePluginChoiceRequests = /* @__PURE__ */ __name(() => {
42867
42764
  };
42868
42765
  }, "usePluginChoiceRequests");
42869
42766
  var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd3) => {
42870
- const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0, import_react148.useReducer)(
42767
+ const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0, import_react147.useReducer)(
42871
42768
  extensionUpdatesReducer,
42872
42769
  initialExtensionUpdatesState
42873
42770
  );
42874
42771
  const extensions = extensionManager.getLoadedExtensions();
42875
- (0, import_react148.useEffect)(() => {
42772
+ (0, import_react147.useEffect)(() => {
42876
42773
  (async () => {
42877
42774
  const extensionsToCheck = extensions.filter((extension) => {
42878
42775
  const currentStatus = extensionsUpdateState.extensionStatuses.get(
@@ -42900,7 +42797,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
42900
42797
  extensionsUpdateState.extensionStatuses,
42901
42798
  dispatchExtensionStateUpdate
42902
42799
  ]);
42903
- (0, import_react148.useEffect)(() => {
42800
+ (0, import_react147.useEffect)(() => {
42904
42801
  if (extensionsUpdateState.batchChecksInProgress > 0) {
42905
42802
  return;
42906
42803
  }
@@ -42969,7 +42866,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
42969
42866
  );
42970
42867
  }
42971
42868
  }, [extensions, extensionManager, extensionsUpdateState, addItem, cwd3]);
42972
- const extensionsUpdateStateComputed = (0, import_react148.useMemo)(() => {
42869
+ const extensionsUpdateStateComputed = (0, import_react147.useMemo)(() => {
42973
42870
  const result = /* @__PURE__ */ new Map();
42974
42871
  for (const [
42975
42872
  key,
@@ -42988,14 +42885,14 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
42988
42885
 
42989
42886
  // packages/cli/src/ui/hooks/useWelcomeBack.ts
42990
42887
  init_esbuild_shims();
42991
- var import_react149 = __toESM(require_react(), 1);
42888
+ var import_react148 = __toESM(require_react(), 1);
42992
42889
  function useWelcomeBack(config, submitQuery, buffer, settings) {
42993
- const [welcomeBackInfo, setWelcomeBackInfo] = (0, import_react149.useState)(null);
42994
- const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0, import_react149.useState)(false);
42995
- const [welcomeBackChoice, setWelcomeBackChoice] = (0, import_react149.useState)(null);
42996
- const [shouldFillInput, setShouldFillInput] = (0, import_react149.useState)(false);
42997
- const [inputFillText, setInputFillText] = (0, import_react149.useState)(null);
42998
- const checkWelcomeBack = (0, import_react149.useCallback)(async () => {
42890
+ const [welcomeBackInfo, setWelcomeBackInfo] = (0, import_react148.useState)(null);
42891
+ const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0, import_react148.useState)(false);
42892
+ const [welcomeBackChoice, setWelcomeBackChoice] = (0, import_react148.useState)(null);
42893
+ const [shouldFillInput, setShouldFillInput] = (0, import_react148.useState)(false);
42894
+ const [inputFillText, setInputFillText] = (0, import_react148.useState)(null);
42895
+ const checkWelcomeBack = (0, import_react148.useCallback)(async () => {
42999
42896
  if (settings.ui?.enableWelcomeBack === false) {
43000
42897
  return;
43001
42898
  }
@@ -43014,7 +42911,7 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
43014
42911
  config.getDebugLogger().debug("Welcome back check failed:", error);
43015
42912
  }
43016
42913
  }, [config, settings.ui?.enableWelcomeBack]);
43017
- const handleWelcomeBackSelection = (0, import_react149.useCallback)(
42914
+ const handleWelcomeBackSelection = (0, import_react148.useCallback)(
43018
42915
  (choice) => {
43019
42916
  setWelcomeBackChoice(choice);
43020
42917
  setShowWelcomeBackDialog(false);
@@ -43038,21 +42935,21 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
43038
42935
  },
43039
42936
  [config, welcomeBackInfo]
43040
42937
  );
43041
- const handleWelcomeBackClose = (0, import_react149.useCallback)(() => {
42938
+ const handleWelcomeBackClose = (0, import_react148.useCallback)(() => {
43042
42939
  setWelcomeBackChoice("restart");
43043
42940
  setShowWelcomeBackDialog(false);
43044
42941
  }, []);
43045
- const clearInputFill = (0, import_react149.useCallback)(() => {
42942
+ const clearInputFill = (0, import_react148.useCallback)(() => {
43046
42943
  setShouldFillInput(false);
43047
42944
  setInputFillText(null);
43048
42945
  }, []);
43049
- (0, import_react149.useEffect)(() => {
42946
+ (0, import_react148.useEffect)(() => {
43050
42947
  if (shouldFillInput && inputFillText) {
43051
42948
  buffer.setText(inputFillText);
43052
42949
  clearInputFill();
43053
42950
  }
43054
42951
  }, [shouldFillInput, inputFillText, buffer, clearInputFill]);
43055
- (0, import_react149.useEffect)(() => {
42952
+ (0, import_react148.useEffect)(() => {
43056
42953
  checkWelcomeBack();
43057
42954
  }, [checkWelcomeBack]);
43058
42955
  return {
@@ -43073,9 +42970,9 @@ __name(useWelcomeBack, "useWelcomeBack");
43073
42970
 
43074
42971
  // packages/cli/src/ui/hooks/useDialogClose.ts
43075
42972
  init_esbuild_shims();
43076
- var import_react150 = __toESM(require_react(), 1);
42973
+ var import_react149 = __toESM(require_react(), 1);
43077
42974
  function useDialogClose(options) {
43078
- const closeAnyOpenDialog = (0, import_react150.useCallback)(() => {
42975
+ const closeAnyOpenDialog = (0, import_react149.useCallback)(() => {
43079
42976
  if (options.isThemeDialogOpen) {
43080
42977
  options.handleThemeSelect(void 0, "User" /* User */);
43081
42978
  return true;
@@ -43147,14 +43044,14 @@ __name(useDialogClose, "useDialogClose");
43147
43044
 
43148
43045
  // packages/cli/src/ui/hooks/useInitializationAuthError.ts
43149
43046
  init_esbuild_shims();
43150
- var import_react151 = __toESM(require_react(), 1);
43047
+ var import_react150 = __toESM(require_react(), 1);
43151
43048
  var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError) => {
43152
- const hasHandled = (0, import_react151.useRef)(false);
43153
- const authErrorRef = (0, import_react151.useRef)(authError);
43154
- const onAuthErrorRef = (0, import_react151.useRef)(onAuthError);
43049
+ const hasHandled = (0, import_react150.useRef)(false);
43050
+ const authErrorRef = (0, import_react150.useRef)(authError);
43051
+ const onAuthErrorRef = (0, import_react150.useRef)(onAuthError);
43155
43052
  authErrorRef.current = authError;
43156
43053
  onAuthErrorRef.current = onAuthError;
43157
- (0, import_react151.useEffect)(() => {
43054
+ (0, import_react150.useEffect)(() => {
43158
43055
  if (hasHandled.current) {
43159
43056
  return;
43160
43057
  }
@@ -43167,13 +43064,13 @@ var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError)
43167
43064
 
43168
43065
  // packages/cli/src/ui/hooks/useSubagentCreateDialog.ts
43169
43066
  init_esbuild_shims();
43170
- var import_react152 = __toESM(require_react(), 1);
43067
+ var import_react151 = __toESM(require_react(), 1);
43171
43068
  function useSubagentCreateDialog() {
43172
- const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0, import_react152.useState)(false);
43173
- const openSubagentCreateDialog = (0, import_react152.useCallback)(() => {
43069
+ const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0, import_react151.useState)(false);
43070
+ const openSubagentCreateDialog = (0, import_react151.useCallback)(() => {
43174
43071
  setIsSubagentCreateDialogOpen(true);
43175
43072
  }, []);
43176
- const closeSubagentCreateDialog = (0, import_react152.useCallback)(() => {
43073
+ const closeSubagentCreateDialog = (0, import_react151.useCallback)(() => {
43177
43074
  setIsSubagentCreateDialogOpen(false);
43178
43075
  }, []);
43179
43076
  return {
@@ -43186,13 +43083,13 @@ __name(useSubagentCreateDialog, "useSubagentCreateDialog");
43186
43083
 
43187
43084
  // packages/cli/src/ui/hooks/useAgentsManagerDialog.ts
43188
43085
  init_esbuild_shims();
43189
- var import_react153 = __toESM(require_react(), 1);
43086
+ var import_react152 = __toESM(require_react(), 1);
43190
43087
  var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
43191
- const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0, import_react153.useState)(false);
43192
- const openAgentsManagerDialog = (0, import_react153.useCallback)(() => {
43088
+ const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0, import_react152.useState)(false);
43089
+ const openAgentsManagerDialog = (0, import_react152.useCallback)(() => {
43193
43090
  setIsAgentsManagerDialogOpen(true);
43194
43091
  }, []);
43195
- const closeAgentsManagerDialog = (0, import_react153.useCallback)(() => {
43092
+ const closeAgentsManagerDialog = (0, import_react152.useCallback)(() => {
43196
43093
  setIsAgentsManagerDialogOpen(false);
43197
43094
  }, []);
43198
43095
  return {
@@ -43204,13 +43101,13 @@ var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
43204
43101
 
43205
43102
  // packages/cli/src/ui/hooks/useSkillsManagerDialog.ts
43206
43103
  init_esbuild_shims();
43207
- var import_react154 = __toESM(require_react(), 1);
43104
+ var import_react153 = __toESM(require_react(), 1);
43208
43105
  var useSkillsManagerDialog = /* @__PURE__ */ __name(() => {
43209
- const [isSkillsManagerDialogOpen, setIsSkillsManagerDialogOpen] = (0, import_react154.useState)(false);
43210
- const openSkillsManagerDialog = (0, import_react154.useCallback)(() => {
43106
+ const [isSkillsManagerDialogOpen, setIsSkillsManagerDialogOpen] = (0, import_react153.useState)(false);
43107
+ const openSkillsManagerDialog = (0, import_react153.useCallback)(() => {
43211
43108
  setIsSkillsManagerDialogOpen(true);
43212
43109
  }, []);
43213
- const closeSkillsManagerDialog = (0, import_react154.useCallback)(() => {
43110
+ const closeSkillsManagerDialog = (0, import_react153.useCallback)(() => {
43214
43111
  setIsSkillsManagerDialogOpen(false);
43215
43112
  }, []);
43216
43113
  return {
@@ -43222,13 +43119,13 @@ var useSkillsManagerDialog = /* @__PURE__ */ __name(() => {
43222
43119
 
43223
43120
  // packages/cli/src/ui/hooks/useExtensionsManagerDialog.ts
43224
43121
  init_esbuild_shims();
43225
- var import_react155 = __toESM(require_react(), 1);
43122
+ var import_react154 = __toESM(require_react(), 1);
43226
43123
  var useExtensionsManagerDialog = /* @__PURE__ */ __name(() => {
43227
- const [isExtensionsManagerDialogOpen, setIsExtensionsManagerDialogOpen] = (0, import_react155.useState)(false);
43228
- const openExtensionsManagerDialog = (0, import_react155.useCallback)(() => {
43124
+ const [isExtensionsManagerDialogOpen, setIsExtensionsManagerDialogOpen] = (0, import_react154.useState)(false);
43125
+ const openExtensionsManagerDialog = (0, import_react154.useCallback)(() => {
43229
43126
  setIsExtensionsManagerDialogOpen(true);
43230
43127
  }, []);
43231
- const closeExtensionsManagerDialog = (0, import_react155.useCallback)(() => {
43128
+ const closeExtensionsManagerDialog = (0, import_react154.useCallback)(() => {
43232
43129
  setIsExtensionsManagerDialogOpen(false);
43233
43130
  }, []);
43234
43131
  return {
@@ -43240,13 +43137,13 @@ var useExtensionsManagerDialog = /* @__PURE__ */ __name(() => {
43240
43137
 
43241
43138
  // packages/cli/src/ui/hooks/useMcpDialog.ts
43242
43139
  init_esbuild_shims();
43243
- var import_react156 = __toESM(require_react(), 1);
43140
+ var import_react155 = __toESM(require_react(), 1);
43244
43141
  var useMcpDialog = /* @__PURE__ */ __name(() => {
43245
- const [isMcpDialogOpen, setIsMcpDialogOpen] = (0, import_react156.useState)(false);
43246
- const openMcpDialog = (0, import_react156.useCallback)(() => {
43142
+ const [isMcpDialogOpen, setIsMcpDialogOpen] = (0, import_react155.useState)(false);
43143
+ const openMcpDialog = (0, import_react155.useCallback)(() => {
43247
43144
  setIsMcpDialogOpen(true);
43248
43145
  }, []);
43249
- const closeMcpDialog = (0, import_react156.useCallback)(() => {
43146
+ const closeMcpDialog = (0, import_react155.useCallback)(() => {
43250
43147
  setIsMcpDialogOpen(false);
43251
43148
  }, []);
43252
43149
  return {
@@ -43258,13 +43155,13 @@ var useMcpDialog = /* @__PURE__ */ __name(() => {
43258
43155
 
43259
43156
  // packages/cli/src/ui/hooks/useHooksDialog.ts
43260
43157
  init_esbuild_shims();
43261
- var import_react157 = __toESM(require_react(), 1);
43158
+ var import_react156 = __toESM(require_react(), 1);
43262
43159
  var useHooksDialog = /* @__PURE__ */ __name(() => {
43263
- const [isHooksDialogOpen, setIsHooksDialogOpen] = (0, import_react157.useState)(false);
43264
- const openHooksDialog = (0, import_react157.useCallback)(() => {
43160
+ const [isHooksDialogOpen, setIsHooksDialogOpen] = (0, import_react156.useState)(false);
43161
+ const openHooksDialog = (0, import_react156.useCallback)(() => {
43265
43162
  setIsHooksDialogOpen(true);
43266
43163
  }, []);
43267
- const closeHooksDialog = (0, import_react157.useCallback)(() => {
43164
+ const closeHooksDialog = (0, import_react156.useCallback)(() => {
43268
43165
  setIsHooksDialogOpen(false);
43269
43166
  }, []);
43270
43167
  return {
@@ -43276,23 +43173,23 @@ var useHooksDialog = /* @__PURE__ */ __name(() => {
43276
43173
 
43277
43174
  // packages/cli/src/ui/hooks/useStatsDialog.ts
43278
43175
  init_esbuild_shims();
43279
- var import_react158 = __toESM(require_react(), 1);
43176
+ var import_react157 = __toESM(require_react(), 1);
43280
43177
  var useStatsDialog = /* @__PURE__ */ __name(() => {
43281
- const [isStatsDialogOpen, setIsStatsDialogOpen] = (0, import_react158.useState)(false);
43282
- const openStatsDialog = (0, import_react158.useCallback)(() => setIsStatsDialogOpen(true), []);
43283
- const closeStatsDialog = (0, import_react158.useCallback)(() => setIsStatsDialogOpen(false), []);
43178
+ const [isStatsDialogOpen, setIsStatsDialogOpen] = (0, import_react157.useState)(false);
43179
+ const openStatsDialog = (0, import_react157.useCallback)(() => setIsStatsDialogOpen(true), []);
43180
+ const closeStatsDialog = (0, import_react157.useCallback)(() => setIsStatsDialogOpen(false), []);
43284
43181
  return { isStatsDialogOpen, openStatsDialog, closeStatsDialog };
43285
43182
  }, "useStatsDialog");
43286
43183
 
43287
43184
  // packages/cli/src/ui/hooks/useMemoryDialog.ts
43288
43185
  init_esbuild_shims();
43289
- var import_react159 = __toESM(require_react(), 1);
43186
+ var import_react158 = __toESM(require_react(), 1);
43290
43187
  var useMemoryDialog = /* @__PURE__ */ __name(() => {
43291
- const [isMemoryDialogOpen, setIsMemoryDialogOpen] = (0, import_react159.useState)(false);
43292
- const openMemoryDialog = (0, import_react159.useCallback)(() => {
43188
+ const [isMemoryDialogOpen, setIsMemoryDialogOpen] = (0, import_react158.useState)(false);
43189
+ const openMemoryDialog = (0, import_react158.useCallback)(() => {
43293
43190
  setIsMemoryDialogOpen(true);
43294
43191
  }, []);
43295
- const closeMemoryDialog = (0, import_react159.useCallback)(() => {
43192
+ const closeMemoryDialog = (0, import_react158.useCallback)(() => {
43296
43193
  setIsMemoryDialogOpen(false);
43297
43194
  }, []);
43298
43195
  return {
@@ -43304,7 +43201,7 @@ var useMemoryDialog = /* @__PURE__ */ __name(() => {
43304
43201
 
43305
43202
  // packages/cli/src/ui/hooks/useAttentionNotifications.ts
43306
43203
  init_esbuild_shims();
43307
- var import_react160 = __toESM(require_react(), 1);
43204
+ var import_react159 = __toESM(require_react(), 1);
43308
43205
  var LONG_TASK_NOTIFICATION_THRESHOLD_SECONDS = 20;
43309
43206
  var NOTIFICATION_TITLE = "Qwen Code";
43310
43207
  var useAttentionNotifications = /* @__PURE__ */ __name(({
@@ -43319,16 +43216,16 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
43319
43216
  const terminalBellEnabled = settings?.merged?.general?.terminalBell ?? true;
43320
43217
  const notificationMode = settings?.merged?.general?.notificationMode === "task-complete" ? "task-complete" : "all";
43321
43218
  const approvalNotificationsEnabled = notificationMode === "all";
43322
- const awaitingNotificationSentRef = (0, import_react160.useRef)(false);
43323
- const respondingElapsedRef = (0, import_react160.useRef)(0);
43324
- const idleNotificationSentRef = (0, import_react160.useRef)(false);
43325
- const awaitingToolName = (0, import_react160.useMemo)(() => {
43219
+ const awaitingNotificationSentRef = (0, import_react159.useRef)(false);
43220
+ const respondingElapsedRef = (0, import_react159.useRef)(0);
43221
+ const idleNotificationSentRef = (0, import_react159.useRef)(false);
43222
+ const awaitingToolName = (0, import_react159.useMemo)(() => {
43326
43223
  const awaitingTool = pendingToolCalls?.find(
43327
43224
  (tc) => tc.status === "awaiting_approval"
43328
43225
  );
43329
43226
  return awaitingTool?.request.name;
43330
43227
  }, [pendingToolCalls]);
43331
- (0, import_react160.useEffect)(() => {
43228
+ (0, import_react159.useEffect)(() => {
43332
43229
  if (streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */ && !isFocused && !awaitingNotificationSentRef.current && terminalBellEnabled && approvalNotificationsEnabled) {
43333
43230
  const message = awaitingToolName ? `Qwen Code needs your permission to use ${awaitingToolName}` : "Qwen Code is waiting for your input";
43334
43231
  sendNotification(
@@ -43349,7 +43246,7 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
43349
43246
  terminal,
43350
43247
  awaitingToolName
43351
43248
  ]);
43352
- (0, import_react160.useEffect)(() => {
43249
+ (0, import_react159.useEffect)(() => {
43353
43250
  if (streamingState === "responding" /* Responding */) {
43354
43251
  respondingElapsedRef.current = elapsedTime;
43355
43252
  idleNotificationSentRef.current = false;
@@ -43502,7 +43399,7 @@ __name(buildTerminalNotification, "buildTerminalNotification");
43502
43399
 
43503
43400
  // packages/cli/src/ui/hooks/useContextualTips.ts
43504
43401
  init_esbuild_shims();
43505
- var import_react161 = __toESM(require_react(), 1);
43402
+ var import_react160 = __toESM(require_react(), 1);
43506
43403
  function useContextualTips({
43507
43404
  streamingState,
43508
43405
  lastPromptTokenCount,
@@ -43512,9 +43409,9 @@ function useContextualTips({
43512
43409
  addItem,
43513
43410
  hideTips
43514
43411
  }) {
43515
- const prevStreamingState = (0, import_react161.useRef)("idle" /* Idle */);
43516
- const hadResponsePhase = (0, import_react161.useRef)(false);
43517
- (0, import_react161.useEffect)(() => {
43412
+ const prevStreamingState = (0, import_react160.useRef)("idle" /* Idle */);
43413
+ const hadResponsePhase = (0, import_react160.useRef)(false);
43414
+ (0, import_react160.useEffect)(() => {
43518
43415
  if (streamingState === "responding" /* Responding */ || prevStreamingState.current === "responding" /* Responding */ && streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */) {
43519
43416
  hadResponsePhase.current = true;
43520
43417
  }
@@ -43568,6 +43465,7 @@ var import_jsx_runtime131 = __toESM(require_jsx_runtime(), 1);
43568
43465
  var MCP_BATCH_FLUSH_MS = 16;
43569
43466
  var STARTUP_PROFILE_FINALIZE_CAP_MS = 35e3;
43570
43467
  var CTRL_EXIT_PROMPT_DURATION_MS = 1e3;
43468
+ var GOAL_RUNTIME_STARTUP_TIMEOUT_MS = 5e3;
43571
43469
  var debugLogger40 = createDebugLogger("APP_CONTAINER");
43572
43470
  function isRenderModeToggleKey(key) {
43573
43471
  return keyMatchers["toggleRenderMode" /* TOGGLE_RENDER_MODE */](key) || key.name === "m" && key.meta && !key.ctrl && !key.paste;
@@ -43637,8 +43535,8 @@ function useQueuedSubmissionDrain({
43637
43535
  submissionSettledRevision
43638
43536
  }) {
43639
43537
  const goalRuntimeSessionId = config.getSessionId();
43640
- const [goalQueueRevision, setGoalQueueRevision] = (0, import_react162.useState)(0);
43641
- (0, import_react162.useEffect)(() => {
43538
+ const [goalQueueRevision, setGoalQueueRevision] = (0, import_react161.useState)(0);
43539
+ (0, import_react161.useEffect)(() => {
43642
43540
  try {
43643
43541
  return config.getGoalRuntime().subscribe(() => {
43644
43542
  setGoalQueueRevision((revision) => revision + 1);
@@ -43647,10 +43545,10 @@ function useQueuedSubmissionDrain({
43647
43545
  return void 0;
43648
43546
  }
43649
43547
  }, [config, goalRuntimeSessionId]);
43650
- const queueDrainingRef = (0, import_react162.useRef)(false);
43651
- const admissionFailureRef = (0, import_react162.useRef)(null);
43652
- const [queueDrainNonce, setQueueDrainNonce] = (0, import_react162.useState)(0);
43653
- (0, import_react162.useEffect)(() => {
43548
+ const queueDrainingRef = (0, import_react161.useRef)(false);
43549
+ const admissionFailureRef = (0, import_react161.useRef)(null);
43550
+ const [queueDrainNonce, setQueueDrainNonce] = (0, import_react161.useState)(0);
43551
+ (0, import_react161.useEffect)(() => {
43654
43552
  if (queueDrainingRef.current || submissionInFlightRef.current) return;
43655
43553
  const admissionFailure = admissionFailureRef.current;
43656
43554
  if (admissionFailure) {
@@ -43774,7 +43672,7 @@ function getResponseCandidateTokens(pendingGeminiHistoryItems) {
43774
43672
  __name(getResponseCandidateTokens, "getResponseCandidateTokens");
43775
43673
  function useStableStickyTodos(todos) {
43776
43674
  const renderKey = getStickyTodosRenderKey(todos);
43777
- const stableTodosRef = (0, import_react162.useRef)(null);
43675
+ const stableTodosRef = (0, import_react161.useRef)(null);
43778
43676
  if (stableTodosRef.current?.renderKey !== renderKey) {
43779
43677
  stableTodosRef.current = { renderKey, todos };
43780
43678
  }
@@ -43811,29 +43709,29 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43811
43709
  initialUseVirtualViewport,
43812
43710
  repaintViewport
43813
43711
  } = props;
43814
- const extensionRefreshState = (0, import_react162.useMemo)(
43712
+ const extensionRefreshState = (0, import_react161.useMemo)(
43815
43713
  () => props.extensionRefreshState ?? new ExtensionRefreshState(),
43816
43714
  [props.extensionRefreshState]
43817
43715
  );
43818
43716
  const historyManager = useHistory();
43819
- const historyRef = (0, import_react162.useRef)(historyManager.history);
43717
+ const historyRef = (0, import_react161.useRef)(historyManager.history);
43820
43718
  historyRef.current = historyManager.history;
43821
43719
  useMemoryMonitor(historyManager);
43822
- const [debugMessage, setDebugMessage] = (0, import_react162.useState)("");
43823
- const [quittingMessages, setQuittingMessages] = (0, import_react162.useState)(null);
43824
- const [themeError, setThemeError] = (0, import_react162.useState)(
43720
+ const [debugMessage, setDebugMessage] = (0, import_react161.useState)("");
43721
+ const [quittingMessages, setQuittingMessages] = (0, import_react161.useState)(null);
43722
+ const [themeError, setThemeError] = (0, import_react161.useState)(
43825
43723
  initializationResult.themeError
43826
43724
  );
43827
- const [isProcessing, setIsProcessing] = (0, import_react162.useState)(false);
43828
- const [embeddedShellFocused, setEmbeddedShellFocused] = (0, import_react162.useState)(false);
43829
- const [geminiMdFileCount, setGeminiMdFileCount] = (0, import_react162.useState)(
43725
+ const [isProcessing, setIsProcessing] = (0, import_react161.useState)(false);
43726
+ const [embeddedShellFocused, setEmbeddedShellFocused] = (0, import_react161.useState)(false);
43727
+ const [geminiMdFileCount, setGeminiMdFileCount] = (0, import_react161.useState)(
43830
43728
  initializationResult.geminiMdFileCount
43831
43729
  );
43832
- const [shellModeActive, setShellModeActive] = (0, import_react162.useState)(false);
43833
- const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0, import_react162.useState)(false);
43834
- const [historyRemountKey, setHistoryRemountKey] = (0, import_react162.useState)(0);
43835
- const [updateInfo, setUpdateInfo] = (0, import_react162.useState)(null);
43836
- const [isTrustedFolder, setIsTrustedFolder] = (0, import_react162.useState)(
43730
+ const [shellModeActive, setShellModeActive] = (0, import_react161.useState)(false);
43731
+ const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0, import_react161.useState)(false);
43732
+ const [historyRemountKey, setHistoryRemountKey] = (0, import_react161.useState)(0);
43733
+ const [updateInfo, setUpdateInfo] = (0, import_react161.useState)(null);
43734
+ const [isTrustedFolder, setIsTrustedFolder] = (0, import_react161.useState)(
43837
43735
  config.isTrustedFolder()
43838
43736
  );
43839
43737
  const extensionManager = config.getExtensionManager();
@@ -43892,24 +43790,24 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43892
43790
  config,
43893
43791
  historyManager.addItem
43894
43792
  );
43895
- const [isTrustDialogOpen, setTrustDialogOpen] = (0, import_react162.useState)(false);
43896
- const openTrustDialog = (0, import_react162.useCallback)(() => setTrustDialogOpen(true), []);
43897
- const closeTrustDialog = (0, import_react162.useCallback)(() => setTrustDialogOpen(false), []);
43898
- const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0, import_react162.useState)(false);
43899
- const openPermissionsDialog = (0, import_react162.useCallback)(
43793
+ const [isTrustDialogOpen, setTrustDialogOpen] = (0, import_react161.useState)(false);
43794
+ const openTrustDialog = (0, import_react161.useCallback)(() => setTrustDialogOpen(true), []);
43795
+ const closeTrustDialog = (0, import_react161.useCallback)(() => setTrustDialogOpen(false), []);
43796
+ const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0, import_react161.useState)(false);
43797
+ const openPermissionsDialog = (0, import_react161.useCallback)(
43900
43798
  () => setPermissionsDialogOpen(true),
43901
43799
  []
43902
43800
  );
43903
- const closePermissionsDialog = (0, import_react162.useCallback)(
43801
+ const closePermissionsDialog = (0, import_react161.useCallback)(
43904
43802
  () => setPermissionsDialogOpen(false),
43905
43803
  []
43906
43804
  );
43907
- const [currentModel, setCurrentModel] = (0, import_react162.useState)(() => config.getModel());
43908
- const [isConfigInitialized, setConfigInitialized] = (0, import_react162.useState)(false);
43909
- const [userMessages, setUserMessages] = (0, import_react162.useState)([]);
43910
- const [thoughtExpanded, setThoughtExpanded] = (0, import_react162.useState)(false);
43911
- const [expandedThoughtHeadIds, setExpandedThoughtHeadIds] = (0, import_react162.useState)(() => /* @__PURE__ */ new Set());
43912
- const toggleThoughtExpanded = (0, import_react162.useCallback)((headId) => {
43805
+ const [currentModel, setCurrentModel] = (0, import_react161.useState)(() => config.getModel());
43806
+ const [isConfigInitialized, setConfigInitialized] = (0, import_react161.useState)(false);
43807
+ const [userMessages, setUserMessages] = (0, import_react161.useState)([]);
43808
+ const [thoughtExpanded, setThoughtExpanded] = (0, import_react161.useState)(false);
43809
+ const [expandedThoughtHeadIds, setExpandedThoughtHeadIds] = (0, import_react161.useState)(() => /* @__PURE__ */ new Set());
43810
+ const toggleThoughtExpanded = (0, import_react161.useCallback)((headId) => {
43913
43811
  setExpandedThoughtHeadIds((prev) => {
43914
43812
  const next = new Set(prev);
43915
43813
  if (next.has(headId)) {
@@ -43923,10 +43821,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43923
43821
  const { columns: terminalWidth, rows: terminalHeight } = useTerminalSize();
43924
43822
  const { stdin, setRawMode } = use_stdin_default();
43925
43823
  const { stdout } = use_stdout_default();
43926
- const writeRaw = (0, import_react162.useCallback)((data) => {
43824
+ const writeRaw = (0, import_react161.useCallback)((data) => {
43927
43825
  process18.stdout.write(data);
43928
43826
  }, []);
43929
- const terminal = (0, import_react162.useMemo)(
43827
+ const terminal = (0, import_react161.useMemo)(
43930
43828
  () => buildTerminalNotification(writeRaw),
43931
43829
  [writeRaw]
43932
43830
  );
@@ -43940,10 +43838,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43940
43838
  const branchName = useGitBranchName(
43941
43839
  worktreeSession?.worktreePath ?? config.getTargetDir()
43942
43840
  );
43943
- const [showWorktreeExitDialog, setShowWorktreeExitDialog] = (0, import_react162.useState)(false);
43944
- const [workflowKeywordActive, setWorkflowKeywordActive] = (0, import_react162.useState)(false);
43945
- const pendingWorktreeNoticeRef = (0, import_react162.useRef)(null);
43946
- const activeWorktree = (0, import_react162.useMemo)(
43841
+ const [showWorktreeExitDialog, setShowWorktreeExitDialog] = (0, import_react161.useState)(false);
43842
+ const [workflowKeywordActive, setWorkflowKeywordActive] = (0, import_react161.useState)(false);
43843
+ const pendingWorktreeNoticeRef = (0, import_react161.useRef)(null);
43844
+ const activeWorktree = (0, import_react161.useMemo)(
43947
43845
  () => worktreeSession ? {
43948
43846
  slug: worktreeSession.slug,
43949
43847
  branch: worktreeSession.worktreeBranch,
@@ -43954,24 +43852,31 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43954
43852
  } : null,
43955
43853
  [worktreeSession]
43956
43854
  );
43957
- const mainControlsRef = (0, import_react162.useRef)(null);
43958
- const lastTitleRef = (0, import_react162.useRef)(null);
43959
- const [startupWarnings, setStartupWarnings] = (0, import_react162.useState)(
43855
+ const mainControlsRef = (0, import_react161.useRef)(null);
43856
+ const lastTitleRef = (0, import_react161.useRef)(null);
43857
+ const [startupWarnings, setStartupWarnings] = (0, import_react161.useState)(
43960
43858
  () => props.startupWarnings || []
43961
43859
  );
43962
43860
  const staticExtraHeight = 3;
43963
- (0, import_react162.useEffect)(() => {
43861
+ (0, import_react161.useEffect)(() => {
43964
43862
  void loadLowlight().catch((err) => {
43965
43863
  debugLogger40.warn(
43966
43864
  `Failed to load lowlight chunk; code blocks will render as plain text: ${err instanceof Error ? err.message : String(err)}`
43967
43865
  );
43968
43866
  });
43969
43867
  }, []);
43970
- (0, import_react162.useEffect)(() => {
43868
+ (0, import_react161.useEffect)(() => {
43971
43869
  (async () => {
43972
43870
  profileCheckpoint("config_initialize_start");
43973
43871
  await config.initialize();
43974
- await waitForGoalRuntime(config);
43872
+ const goalRuntimeReady = await waitForGoalRuntime(config, {
43873
+ timeoutMs: GOAL_RUNTIME_STARTUP_TIMEOUT_MS
43874
+ });
43875
+ if (!goalRuntimeReady) {
43876
+ debugLogger40.warn(
43877
+ `Goal runtime did not settle within ${GOAL_RUNTIME_STARTUP_TIMEOUT_MS}ms (session writer lease contention?); continuing with goal features degraded.`
43878
+ );
43879
+ }
43975
43880
  setStartupWarnings(
43976
43881
  (currentWarnings) => mergeStartupWarnings(currentWarnings, config.getWarnings())
43977
43882
  );
@@ -44054,7 +43959,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44054
43959
  await ideClient.disconnect();
44055
43960
  });
44056
43961
  }, [config]);
44057
- (0, import_react162.useEffect)(() => {
43962
+ (0, import_react161.useEffect)(() => {
44058
43963
  if (!isConfigInitialized) return void 0;
44059
43964
  const geminiClient2 = config.getGeminiClient();
44060
43965
  if (!geminiClient2) return void 0;
@@ -44118,11 +44023,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44118
44023
  clearTimeout(finalizeCap);
44119
44024
  };
44120
44025
  }, [isConfigInitialized, config]);
44121
- const isIdleRef = (0, import_react162.useRef)(true);
44122
- const availableTerminalHeightRef = (0, import_react162.useRef)(0);
44123
- const terminalWidthRef = (0, import_react162.useRef)(0);
44124
- const updateHandlerRef = (0, import_react162.useRef)(null);
44125
- (0, import_react162.useEffect)(() => {
44026
+ const isIdleRef = (0, import_react161.useRef)(true);
44027
+ const availableTerminalHeightRef = (0, import_react161.useRef)(0);
44028
+ const terminalWidthRef = (0, import_react161.useRef)(0);
44029
+ const updateHandlerRef = (0, import_react161.useRef)(null);
44030
+ (0, import_react161.useEffect)(() => {
44126
44031
  const handler = setUpdateHandler(
44127
44032
  historyManager.addItem,
44128
44033
  setUpdateInfo,
@@ -44131,13 +44036,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44131
44036
  updateHandlerRef.current = handler;
44132
44037
  return () => handler?.cleanup();
44133
44038
  }, [historyManager.addItem]);
44134
- const { inputWidth, suggestionsWidth } = (0, import_react162.useMemo)(() => {
44039
+ const { inputWidth, suggestionsWidth } = (0, import_react161.useMemo)(() => {
44135
44040
  const { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 } = calculatePromptWidths(terminalWidth);
44136
44041
  return { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 };
44137
44042
  }, [terminalWidth]);
44138
44043
  const mainAreaWidth = Math.min(terminalWidth - 4, 100);
44139
44044
  const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
44140
- const isValidPath = (0, import_react162.useCallback)((filePath) => {
44045
+ const isValidPath = (0, import_react161.useCallback)((filePath) => {
44141
44046
  try {
44142
44047
  return fs20.existsSync(filePath) && fs20.statSync(filePath).isFile();
44143
44048
  } catch (_e) {
@@ -44145,14 +44050,14 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44145
44050
  }
44146
44051
  }, []);
44147
44052
  const preferredEditor = usePreferredEditor();
44148
- const restoredSubmissionRef = (0, import_react162.useRef)(null);
44149
- const submittedPromptProvenanceUnavailableRef = (0, import_react162.useRef)(false);
44150
- const setBufferTextRef = (0, import_react162.useRef)(null);
44151
- const invalidateSubmittedPromptProvenance = (0, import_react162.useCallback)(() => {
44053
+ const restoredSubmissionRef = (0, import_react161.useRef)(null);
44054
+ const submittedPromptProvenanceUnavailableRef = (0, import_react161.useRef)(false);
44055
+ const setBufferTextRef = (0, import_react161.useRef)(null);
44056
+ const invalidateSubmittedPromptProvenance = (0, import_react161.useCallback)(() => {
44152
44057
  restoredSubmissionRef.current = null;
44153
44058
  submittedPromptProvenanceUnavailableRef.current = true;
44154
44059
  }, []);
44155
- const handleBufferChange = (0, import_react162.useCallback)((text) => {
44060
+ const handleBufferChange = (0, import_react161.useCallback)((text) => {
44156
44061
  if (text.length === 0) {
44157
44062
  if (restoredSubmissionRef.current !== null || submittedPromptProvenanceUnavailableRef.current) {
44158
44063
  setBufferTextRef.current?.("", { clearUndoHistory: true });
@@ -44178,9 +44083,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44178
44083
  });
44179
44084
  const setBufferText = buffer.setText;
44180
44085
  setBufferTextRef.current = setBufferText;
44181
- const restoredPromptStashTargetsRef = (0, import_react162.useRef)(/* @__PURE__ */ new Set());
44086
+ const restoredPromptStashTargetsRef = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
44182
44087
  const promptStashTargetDir = config.getTargetDir();
44183
- (0, import_react162.useEffect)(() => {
44088
+ (0, import_react161.useEffect)(() => {
44184
44089
  if (restoredPromptStashTargetsRef.current.has(promptStashTargetDir)) {
44185
44090
  return;
44186
44091
  }
@@ -44191,7 +44096,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44191
44096
  buffer.setText(text);
44192
44097
  });
44193
44098
  }, [buffer, promptStashTargetDir]);
44194
- (0, import_react162.useEffect)(() => {
44099
+ (0, import_react161.useEffect)(() => {
44195
44100
  const fetchUserMessages = /* @__PURE__ */ __name(async () => {
44196
44101
  const pastMessagesRaw = await logger?.getPreviousUserMessages() || [];
44197
44102
  const currentSessionUserMessages = realUserPromptTexts(
@@ -44205,21 +44110,21 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44205
44110
  }, "fetchUserMessages");
44206
44111
  fetchUserMessages();
44207
44112
  }, [historyManager.history, logger]);
44208
- const remountStaticHistory = (0, import_react162.useCallback)(() => {
44113
+ const remountStaticHistory = (0, import_react161.useCallback)(() => {
44209
44114
  setHistoryRemountKey((prev) => prev + 1);
44210
44115
  }, []);
44211
- const [useTerminalBuffer] = (0, import_react162.useState)(
44116
+ const [useTerminalBuffer] = (0, import_react161.useState)(
44212
44117
  () => initialUseVirtualViewport ?? shouldUseVirtualViewport(
44213
44118
  settings.merged.ui?.useTerminalBuffer,
44214
44119
  config.getScreenReader(),
44215
44120
  isInteractiveTerminal()
44216
44121
  )
44217
44122
  );
44218
- const prevTerminalWidthRef = (0, import_react162.useRef)(terminalWidth);
44219
- const shrinkRemountTimerRef = (0, import_react162.useRef)(
44123
+ const prevTerminalWidthRef = (0, import_react161.useRef)(terminalWidth);
44124
+ const shrinkRemountTimerRef = (0, import_react161.useRef)(
44220
44125
  null
44221
44126
  );
44222
- (0, import_react162.useEffect)(() => {
44127
+ (0, import_react161.useEffect)(() => {
44223
44128
  const prev = prevTerminalWidthRef.current;
44224
44129
  prevTerminalWidthRef.current = terminalWidth;
44225
44130
  if (useTerminalBuffer && terminalWidth < prev) {
@@ -44230,7 +44135,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44230
44135
  shrinkRemountTimerRef.current = setTimeout(remountStaticHistory, 650);
44231
44136
  }
44232
44137
  }, [terminalWidth, useTerminalBuffer, remountStaticHistory]);
44233
- (0, import_react162.useEffect)(
44138
+ (0, import_react161.useEffect)(
44234
44139
  () => () => {
44235
44140
  if (shrinkRemountTimerRef.current) {
44236
44141
  clearTimeout(shrinkRemountTimerRef.current);
@@ -44239,13 +44144,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44239
44144
  []
44240
44145
  );
44241
44146
  const showScrollbar = settings.merged.ui?.showScrollbar ?? true;
44242
- const refreshStatic = (0, import_react162.useCallback)(() => {
44147
+ const refreshStatic = (0, import_react161.useCallback)(() => {
44243
44148
  if (!useTerminalBuffer) {
44244
44149
  stdout.write(base_exports.clearTerminal);
44245
44150
  }
44246
44151
  remountStaticHistory();
44247
44152
  }, [useTerminalBuffer, remountStaticHistory, stdout]);
44248
- const wakeRepaint = (0, import_react162.useMemo)(
44153
+ const wakeRepaint = (0, import_react161.useMemo)(
44249
44154
  () => buildWakeRepaint({
44250
44155
  isVP: useTerminalBuffer,
44251
44156
  repaintViewport,
@@ -44254,8 +44159,8 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44254
44159
  }),
44255
44160
  [useTerminalBuffer, repaintViewport, refreshStatic, remountStaticHistory]
44256
44161
  );
44257
- const lastNotifiedModelRef = (0, import_react162.useRef)(currentModel);
44258
- (0, import_react162.useEffect)(() => {
44162
+ const lastNotifiedModelRef = (0, import_react161.useRef)(currentModel);
44163
+ (0, import_react161.useEffect)(() => {
44259
44164
  const unsubscribe = config.onModelChange((model) => {
44260
44165
  if (lastNotifiedModelRef.current === model) {
44261
44166
  return;
@@ -44294,7 +44199,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44294
44199
  const { onAuthError, openAuthDialog, closeAuthDialog } = authActions;
44295
44200
  const { isAuthDialogOpen, isAuthenticating, pendingAuthType } = authState;
44296
44201
  useInitializationAuthError(initializationResult.authError, onAuthError);
44297
- (0, import_react162.useEffect)(() => {
44202
+ (0, import_react161.useEffect)(() => {
44298
44203
  const currentAuthType = config.getModelsConfig().getCurrentAuthType();
44299
44204
  if (settings.merged.security?.auth?.enforcedType && currentAuthType && settings.merged.security?.auth.enforcedType !== currentAuthType) {
44300
44205
  onAuthError(
@@ -44308,7 +44213,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44308
44213
  );
44309
44214
  }
44310
44215
  }, [settings.merged.security?.auth?.enforcedType, config, onAuthError]);
44311
- const [editorError, setEditorError] = (0, import_react162.useState)(null);
44216
+ const [editorError, setEditorError] = (0, import_react161.useState)(null);
44312
44217
  const {
44313
44218
  isEditorDialogOpen,
44314
44219
  openEditorDialog,
@@ -44321,18 +44226,18 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44321
44226
  config
44322
44227
  );
44323
44228
  const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
44324
- const [isStatusLineDialogOpen, setStatusLineDialogOpen] = (0, import_react162.useState)(false);
44325
- const openStatusLineDialog = (0, import_react162.useCallback)(
44229
+ const [isStatusLineDialogOpen, setStatusLineDialogOpen] = (0, import_react161.useState)(false);
44230
+ const openStatusLineDialog = (0, import_react161.useCallback)(
44326
44231
  () => setStatusLineDialogOpen(true),
44327
44232
  []
44328
44233
  );
44329
- const closeStatusLineDialog = (0, import_react162.useCallback)(
44234
+ const closeStatusLineDialog = (0, import_react161.useCallback)(
44330
44235
  () => setStatusLineDialogOpen(false),
44331
44236
  []
44332
44237
  );
44333
- const [statusLineSettingsVersion, setStatusLineSettingsVersion] = (0, import_react162.useState)(0);
44334
- const [statusLineConfigOverride, setStatusLineConfigOverride] = (0, import_react162.useState)(void 0);
44335
- const notifyStatusLineSettingsChanged = (0, import_react162.useCallback)(
44238
+ const [statusLineSettingsVersion, setStatusLineSettingsVersion] = (0, import_react161.useState)(0);
44239
+ const [statusLineConfigOverride, setStatusLineConfigOverride] = (0, import_react161.useState)(void 0);
44240
+ const notifyStatusLineSettingsChanged = (0, import_react161.useCallback)(
44336
44241
  (newConfig) => {
44337
44242
  setStatusLineConfigOverride(newConfig);
44338
44243
  setStatusLineSettingsVersion((version) => version + 1);
@@ -44352,8 +44257,8 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44352
44257
  closeModelDialog
44353
44258
  } = useModelCommand();
44354
44259
  const { activeArenaDialog, openArenaDialog, closeArenaDialog } = useArenaCommand();
44355
- const [sessionName, setSessionName] = (0, import_react162.useState)(null);
44356
- (0, import_react162.useEffect)(() => {
44260
+ const [sessionName, setSessionName] = (0, import_react161.useState)(null);
44261
+ (0, import_react161.useEffect)(() => {
44357
44262
  const chatRecordingService = config.getChatRecordingService();
44358
44263
  if (!chatRecordingService?.setTitleRecordedCallback) return;
44359
44264
  const existingCallback = chatRecordingService.getTitleRecordedCallback();
@@ -44370,7 +44275,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44370
44275
  };
44371
44276
  }, [config]);
44372
44277
  const addHistoryItem = historyManager.addItem;
44373
- (0, import_react162.useEffect)(() => {
44278
+ (0, import_react161.useEffect)(() => {
44374
44279
  if (typeof config.onChatRecordingFailure !== "function") return;
44375
44280
  return config.onChatRecordingFailure(() => {
44376
44281
  addHistoryItem(
@@ -44382,9 +44287,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44382
44287
  );
44383
44288
  });
44384
44289
  }, [addHistoryItem, config]);
44385
- const clearPendingStateRef = (0, import_react162.useRef)(() => {
44290
+ const clearPendingStateRef = (0, import_react161.useRef)(() => {
44386
44291
  });
44387
- const clearPendingStateFromRef = (0, import_react162.useCallback)(
44292
+ const clearPendingStateFromRef = (0, import_react161.useCallback)(
44388
44293
  () => clearPendingStateRef.current(),
44389
44294
  []
44390
44295
  );
@@ -44422,13 +44327,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44422
44327
  config,
44423
44328
  addItem: historyManager.addItem
44424
44329
  });
44425
- const [isHelpDialogOpen, setHelpDialogOpen] = (0, import_react162.useState)(false);
44426
- const [activeHelpTab, setHelpTab] = (0, import_react162.useState)("general");
44427
- const openHelpDialog = (0, import_react162.useCallback)(() => setHelpDialogOpen(true), []);
44428
- const closeHelpDialog = (0, import_react162.useCallback)(() => setHelpDialogOpen(false), []);
44330
+ const [isHelpDialogOpen, setHelpDialogOpen] = (0, import_react161.useState)(false);
44331
+ const [activeHelpTab, setHelpTab] = (0, import_react161.useState)("general");
44332
+ const openHelpDialog = (0, import_react161.useCallback)(() => setHelpDialogOpen(true), []);
44333
+ const closeHelpDialog = (0, import_react161.useCallback)(() => setHelpDialogOpen(false), []);
44429
44334
  const { vimEnabled, vimMode } = useVimModeState();
44430
44335
  const { toggleVimEnabled } = useVimModeActions();
44431
- (0, import_react162.useLayoutEffect)(() => {
44336
+ (0, import_react161.useLayoutEffect)(() => {
44432
44337
  if (vimEnabled && buffer.text.length > 0) {
44433
44338
  invalidateSubmittedPromptProvenance();
44434
44339
  }
@@ -44456,31 +44361,31 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44456
44361
  const { isMcpDialogOpen, openMcpDialog, closeMcpDialog } = useMcpDialog();
44457
44362
  const { isHooksDialogOpen, openHooksDialog, closeHooksDialog } = useHooksDialog();
44458
44363
  const { isStatsDialogOpen, openStatsDialog, closeStatsDialog } = useStatsDialog();
44459
- const openRewindSelectorRef = (0, import_react162.useRef)(() => {
44364
+ const openRewindSelectorRef = (0, import_react161.useRef)(() => {
44460
44365
  });
44461
- const cancelOngoingRequestRef = (0, import_react162.useRef)(() => {
44366
+ const cancelOngoingRequestRef = (0, import_react161.useRef)(() => {
44462
44367
  });
44463
- const [isDiffDialogOpen, setIsDiffDialogOpen] = (0, import_react162.useState)(false);
44464
- const openDiffDialog = (0, import_react162.useCallback)(() => {
44368
+ const [isDiffDialogOpen, setIsDiffDialogOpen] = (0, import_react161.useState)(false);
44369
+ const openDiffDialog = (0, import_react161.useCallback)(() => {
44465
44370
  setIsDiffDialogOpen(true);
44466
44371
  }, []);
44467
- const closeDiffDialog = (0, import_react162.useCallback)(() => {
44372
+ const closeDiffDialog = (0, import_react161.useCallback)(() => {
44468
44373
  setIsDiffDialogOpen(false);
44469
44374
  }, []);
44470
- const [isSkillReviewDialogOpen, setIsSkillReviewDialogOpen] = (0, import_react162.useState)(false);
44471
- const [skillReviewPending, setSkillReviewPending] = (0, import_react162.useState)(null);
44472
- const skillReviewDismissedTaskIdsRef = (0, import_react162.useRef)(/* @__PURE__ */ new Set());
44473
- const dismissSkillReviewDialog = (0, import_react162.useCallback)(() => {
44375
+ const [isSkillReviewDialogOpen, setIsSkillReviewDialogOpen] = (0, import_react161.useState)(false);
44376
+ const [skillReviewPending, setSkillReviewPending] = (0, import_react161.useState)(null);
44377
+ const skillReviewDismissedTaskIdsRef = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
44378
+ const dismissSkillReviewDialog = (0, import_react161.useCallback)(() => {
44474
44379
  if (skillReviewPending) {
44475
44380
  skillReviewDismissedTaskIdsRef.current.add(skillReviewPending.taskId);
44476
44381
  }
44477
44382
  setIsSkillReviewDialogOpen(false);
44478
44383
  }, [skillReviewPending]);
44479
- const closeSkillReviewDialog = (0, import_react162.useCallback)(
44384
+ const closeSkillReviewDialog = (0, import_react161.useCallback)(
44480
44385
  () => setIsSkillReviewDialogOpen(false),
44481
44386
  []
44482
44387
  );
44483
- const acceptPendingSkill = (0, import_react162.useCallback)(
44388
+ const acceptPendingSkill = (0, import_react161.useCallback)(
44484
44389
  (skillName) => {
44485
44390
  if (!skillReviewPending) return;
44486
44391
  void config.getMemoryManager().acceptPendingSkillFromTask(skillReviewPending.taskId, skillName).catch(() => {
@@ -44488,7 +44393,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44488
44393
  },
44489
44394
  [config, skillReviewPending]
44490
44395
  );
44491
- const rejectPendingSkill = (0, import_react162.useCallback)(
44396
+ const rejectPendingSkill = (0, import_react161.useCallback)(
44492
44397
  (skillName) => {
44493
44398
  if (!skillReviewPending) return;
44494
44399
  void config.getMemoryManager().rejectPendingSkillFromTask(skillReviewPending.taskId, skillName).catch(() => {
@@ -44496,7 +44401,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44496
44401
  },
44497
44402
  [config, skillReviewPending]
44498
44403
  );
44499
- (0, import_react162.useEffect)(() => {
44404
+ (0, import_react161.useEffect)(() => {
44500
44405
  const mgr = config.getMemoryManager();
44501
44406
  const projectRoot = config.getProjectRoot();
44502
44407
  let lastSig = "";
@@ -44530,7 +44435,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44530
44435
  refresh();
44531
44436
  return unsub;
44532
44437
  }, [config]);
44533
- const slashCommandActions = (0, import_react162.useMemo)(
44438
+ const slashCommandActions = (0, import_react161.useMemo)(
44534
44439
  () => ({
44535
44440
  openAuthDialog,
44536
44441
  openThemeDialog,
@@ -44641,13 +44546,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44641
44546
  setSessionName,
44642
44547
  extensionRefreshState
44643
44548
  );
44644
- const onDebugMessage = (0, import_react162.useCallback)(
44549
+ const onDebugMessage = (0, import_react161.useCallback)(
44645
44550
  (message) => {
44646
44551
  config.getDebugLogger().debug(message);
44647
44552
  },
44648
44553
  [config]
44649
44554
  );
44650
- const handleWorktreeExit = (0, import_react162.useCallback)(
44555
+ const handleWorktreeExit = (0, import_react161.useCallback)(
44651
44556
  async (choice) => {
44652
44557
  if (choice === "cancel") {
44653
44558
  setShowWorktreeExitDialog(false);
@@ -44712,7 +44617,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44712
44617
  },
44713
44618
  [activeWorktree, config, handleSlashCommand, historyManager]
44714
44619
  );
44715
- const performMemoryRefresh = (0, import_react162.useCallback)(async () => {
44620
+ const performMemoryRefresh = (0, import_react161.useCallback)(async () => {
44716
44621
  if (config.isSafeMode()) {
44717
44622
  config.setUserMemory("");
44718
44623
  config.setGeminiMdFileCount(0);
@@ -44784,20 +44689,20 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44784
44689
  debugLogger40.error("Error refreshing memory:", error);
44785
44690
  }
44786
44691
  }, [config, historyManager, settings.merged]);
44787
- const cancelHandlerRef = (0, import_react162.useRef)(() => {
44692
+ const cancelHandlerRef = (0, import_react161.useRef)(() => {
44788
44693
  });
44789
- const midTurnDrainRef = (0, import_react162.useRef)(
44694
+ const midTurnDrainRef = (0, import_react161.useRef)(
44790
44695
  null
44791
44696
  );
44792
- const midTurnRestoreRef = (0, import_react162.useRef)(null);
44793
- const goalQueueRef = (0, import_react162.useRef)(null);
44794
- const goalReservationSettlementRef = (0, import_react162.useRef)(Promise.resolve());
44795
- const submissionInFlightRef = (0, import_react162.useRef)(false);
44796
- const [submissionSettledRevision, setSubmissionSettledRevision] = (0, import_react162.useState)(0);
44797
- const onSubmissionSettled = (0, import_react162.useCallback)(() => {
44697
+ const midTurnRestoreRef = (0, import_react161.useRef)(null);
44698
+ const goalQueueRef = (0, import_react161.useRef)(null);
44699
+ const goalReservationSettlementRef = (0, import_react161.useRef)(Promise.resolve());
44700
+ const submissionInFlightRef = (0, import_react161.useRef)(false);
44701
+ const [submissionSettledRevision, setSubmissionSettledRevision] = (0, import_react161.useState)(0);
44702
+ const onSubmissionSettled = (0, import_react161.useCallback)(() => {
44798
44703
  setSubmissionSettledRevision((revision) => revision + 1);
44799
44704
  }, []);
44800
- const waitForReservationSettlement = (0, import_react162.useCallback)(
44705
+ const waitForReservationSettlement = (0, import_react161.useCallback)(
44801
44706
  () => goalReservationSettlementRef.current,
44802
44707
  []
44803
44708
  );
@@ -44847,13 +44752,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44847
44752
  cancelOngoingRequestRef.current = cancelOngoingRequest;
44848
44753
  clearPendingStateRef.current = clearPendingState;
44849
44754
  isIdleRef.current = streamingState === "idle" /* Idle */;
44850
- (0, import_react162.useEffect)(() => {
44755
+ (0, import_react161.useEffect)(() => {
44851
44756
  if (streamingState === "idle" /* Idle */) {
44852
44757
  updateHandlerRef.current?.flush();
44853
44758
  setWorkflowKeywordActive(false);
44854
44759
  }
44855
44760
  }, [streamingState]);
44856
- (0, import_react162.useEffect)(() => {
44761
+ (0, import_react161.useEffect)(() => {
44857
44762
  if (shouldAutoOpenSkillReview({
44858
44763
  pending: skillReviewPending,
44859
44764
  streamingState,
@@ -44865,7 +44770,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44865
44770
  }
44866
44771
  }, [skillReviewPending, streamingState, isMemoryDialogOpen, config]);
44867
44772
  const tipsDisabled = !!(settings.merged.ui?.hideTips || config.getScreenReader());
44868
- const tipHistory = (0, import_react162.useMemo)(
44773
+ const tipHistory = (0, import_react161.useMemo)(
44869
44774
  () => tipsDisabled ? null : getTipHistory(),
44870
44775
  [tipsDisabled]
44871
44776
  );
@@ -44878,7 +44783,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44878
44783
  addItem: historyManager.addItem,
44879
44784
  hideTips: tipsDisabled
44880
44785
  });
44881
- const [hasTabConsumer, setHasTabConsumer] = (0, import_react162.useState)(false);
44786
+ const [hasTabConsumer, setHasTabConsumer] = (0, import_react161.useState)(false);
44882
44787
  const agentViewState = useAgentViewState();
44883
44788
  const {
44884
44789
  dialogOpen: bgTasksDialogOpen,
@@ -44886,11 +44791,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44886
44791
  livePanelFocused: bgLivePanelFocused
44887
44792
  } = useBackgroundTaskViewState();
44888
44793
  const { closeDialog: closeBgTasksDialog } = useBackgroundTaskViewActions();
44889
- const [promptSuggestion, setPromptSuggestion] = (0, import_react162.useState)(null);
44890
- const prevStreamingStateRef = (0, import_react162.useRef)("idle" /* Idle */);
44891
- const speculationRef = (0, import_react162.useRef)(IDLE_SPECULATION);
44892
- const suggestionAbortRef = (0, import_react162.useRef)(null);
44893
- const abortPromptSuggestion = (0, import_react162.useCallback)(() => {
44794
+ const [promptSuggestion, setPromptSuggestion] = (0, import_react161.useState)(null);
44795
+ const prevStreamingStateRef = (0, import_react161.useRef)("idle" /* Idle */);
44796
+ const speculationRef = (0, import_react161.useRef)(IDLE_SPECULATION);
44797
+ const suggestionAbortRef = (0, import_react161.useRef)(null);
44798
+ const abortPromptSuggestion = (0, import_react161.useCallback)(() => {
44894
44799
  suggestionAbortRef.current?.abort();
44895
44800
  suggestionAbortRef.current = null;
44896
44801
  if (speculationRef.current.status !== "idle") {
@@ -44936,7 +44841,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44936
44841
  submissionInFlightRef,
44937
44842
  onSubmissionSettled
44938
44843
  };
44939
- const releaseQueuedGoalReservations = (0, import_react162.useCallback)(
44844
+ const releaseQueuedGoalReservations = (0, import_react161.useCallback)(
44940
44845
  (turnKeys) => {
44941
44846
  let runtime;
44942
44847
  try {
@@ -44958,7 +44863,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44958
44863
  },
44959
44864
  [config]
44960
44865
  );
44961
- const popAllQueuedMessages = (0, import_react162.useCallback)(() => {
44866
+ const popAllQueuedMessages = (0, import_react161.useCallback)(() => {
44962
44867
  const goalTurnKeys = removeGoalTurns();
44963
44868
  if (goalTurnKeys.length > 0) {
44964
44869
  releaseQueuedGoalReservations(goalTurnKeys);
@@ -44969,7 +44874,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44969
44874
  submittedPromptProvenanceUnavailableRef.current = false;
44970
44875
  return submission.modelText;
44971
44876
  }, [popAllMessages, releaseQueuedGoalReservations, removeGoalTurns]);
44972
- (0, import_react162.useEffect)(() => {
44877
+ (0, import_react161.useEffect)(() => {
44973
44878
  const host = {
44974
44879
  startGoalTurn: /* @__PURE__ */ __name(async (input) => {
44975
44880
  enqueueGoalTurn(input);
@@ -44982,24 +44887,24 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44982
44887
  return config.bindGoalTurnHost(host);
44983
44888
  }, [config, enqueueGoalTurn, preemptGoalTurn, removeGoalTurns]);
44984
44889
  const remoteInput = useRemoteInput();
44985
- (0, import_react162.useEffect)(() => {
44890
+ (0, import_react161.useEffect)(() => {
44986
44891
  if (!remoteInput) return;
44987
44892
  remoteInput.setSubmitFn((text) => {
44988
44893
  addMessage(text);
44989
44894
  return true;
44990
44895
  });
44991
44896
  }, [addMessage, remoteInput]);
44992
- (0, import_react162.useEffect)(() => {
44897
+ (0, import_react161.useEffect)(() => {
44993
44898
  if (!remoteInput) return;
44994
44899
  if (streamingState === "idle" /* Idle */) {
44995
44900
  remoteInput.notifyIdle();
44996
44901
  }
44997
44902
  }, [remoteInput, streamingState]);
44998
44903
  const dualOutput = useDualOutput();
44999
- const confirmRequestMap = (0, import_react162.useRef)(/* @__PURE__ */ new Map());
45000
- const confirmCallIdMap = (0, import_react162.useRef)(/* @__PURE__ */ new Map());
45001
- const confirmEmitted = (0, import_react162.useRef)(/* @__PURE__ */ new Set());
45002
- (0, import_react162.useEffect)(() => {
44904
+ const confirmRequestMap = (0, import_react161.useRef)(/* @__PURE__ */ new Map());
44905
+ const confirmCallIdMap = (0, import_react161.useRef)(/* @__PURE__ */ new Map());
44906
+ const confirmEmitted = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
44907
+ (0, import_react161.useEffect)(() => {
45003
44908
  if (!dualOutput || !dualOutput.isConnected) return;
45004
44909
  for (const tc of pendingToolCalls) {
45005
44910
  if (tc.status === "awaiting_approval" && !confirmEmitted.current.has(tc.request.callId)) {
@@ -45028,11 +44933,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45028
44933
  }
45029
44934
  }
45030
44935
  }, [dualOutput, pendingToolCalls]);
45031
- const pendingToolCallsRef = (0, import_react162.useRef)(pendingToolCalls);
44936
+ const pendingToolCallsRef = (0, import_react161.useRef)(pendingToolCalls);
45032
44937
  pendingToolCallsRef.current = pendingToolCalls;
45033
- const dualOutputRef = (0, import_react162.useRef)(dualOutput);
44938
+ const dualOutputRef = (0, import_react161.useRef)(dualOutput);
45034
44939
  dualOutputRef.current = dualOutput;
45035
- (0, import_react162.useEffect)(() => {
44940
+ (0, import_react161.useEffect)(() => {
45036
44941
  if (!remoteInput) return;
45037
44942
  remoteInput.setConfirmationHandler(
45038
44943
  (requestId, allowed) => {
@@ -45072,7 +44977,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45072
44977
  });
45073
44978
  };
45074
44979
  }, [remoteInput]);
45075
- const handleFinalSubmit = (0, import_react162.useCallback)(
44980
+ const handleFinalSubmit = (0, import_react161.useCallback)(
45076
44981
  (submittedValue, options) => {
45077
44982
  const consumesComposerState = options !== void 0;
45078
44983
  const restoredSubmission = consumesComposerState ? restoredSubmissionRef.current : null;
@@ -45265,7 +45170,7 @@ ${buildWorkflowSteeringNotice()}
45265
45170
  vimEnabled
45266
45171
  ]
45267
45172
  );
45268
- const handleArenaModelsSelected = (0, import_react162.useCallback)(
45173
+ const handleArenaModelsSelected = (0, import_react161.useCallback)(
45269
45174
  (models) => {
45270
45175
  const value = models.join(",");
45271
45176
  buffer.setText(`/arena start --models ${value} `);
@@ -45280,11 +45185,11 @@ ${buildWorkflowSteeringNotice()}
45280
45185
  handleWelcomeBackSelection,
45281
45186
  handleWelcomeBackClose
45282
45187
  } = useWelcomeBack(config, handleFinalSubmit, buffer, settings.merged);
45283
- const pendingHistoryItems = (0, import_react162.useMemo)(
45188
+ const pendingHistoryItems = (0, import_react161.useMemo)(
45284
45189
  () => [...pendingSlashCommandHistoryItems, ...pendingGeminiHistoryItems],
45285
45190
  [pendingSlashCommandHistoryItems, pendingGeminiHistoryItems]
45286
45191
  );
45287
- const rawStickyTodos = (0, import_react162.useMemo)(
45192
+ const rawStickyTodos = (0, import_react161.useMemo)(
45288
45193
  () => getStickyTodos(historyManager.history, pendingHistoryItems),
45289
45194
  [historyManager.history, pendingHistoryItems]
45290
45195
  );
@@ -45292,7 +45197,7 @@ ${buildWorkflowSteeringNotice()}
45292
45197
  const hasExecutingTool = isToolExecuting(pendingHistoryItems);
45293
45198
  const hasPendingCompression = isCompressionPending(pendingHistoryItems);
45294
45199
  useTerminalProgress(streamingState, hasExecutingTool);
45295
- cancelHandlerRef.current = (0, import_react162.useCallback)(
45200
+ cancelHandlerRef.current = (0, import_react161.useCallback)(
45296
45201
  (info) => {
45297
45202
  const pendingHistoryItems2 = [
45298
45203
  ...pendingSlashCommandHistoryItems,
@@ -45415,7 +45320,7 @@ ${currentText}` : popped.modelText
45415
45320
  pendingGeminiHistoryItems
45416
45321
  ]
45417
45322
  );
45418
- const handleClearScreen = (0, import_react162.useCallback)(() => {
45323
+ const handleClearScreen = (0, import_react161.useCallback)(() => {
45419
45324
  clearPendingStateRef.current();
45420
45325
  historyManager.clearItems();
45421
45326
  clearScreen();
@@ -45439,13 +45344,13 @@ ${currentText}` : popped.modelText
45439
45344
  history: historyManager.history,
45440
45345
  awayThresholdMinutes: settings.merged.general?.sessionRecapAwayThresholdMinutes
45441
45346
  });
45442
- const contextFileNames = (0, import_react162.useMemo)(() => {
45347
+ const contextFileNames = (0, import_react161.useMemo)(() => {
45443
45348
  const fromSettings = settings.merged.context?.fileName;
45444
45349
  return fromSettings ? Array.isArray(fromSettings) ? fromSettings : [fromSettings] : getAllGeminiMdFilenames();
45445
45350
  }, [settings.merged.context?.fileName]);
45446
- const initialPrompt = (0, import_react162.useMemo)(() => config.getQuestion(), [config]);
45447
- const initialPromptSubmitted = (0, import_react162.useRef)(false);
45448
- (0, import_react162.useEffect)(() => {
45351
+ const initialPrompt = (0, import_react161.useMemo)(() => config.getQuestion(), [config]);
45352
+ const initialPromptSubmitted = (0, import_react161.useRef)(false);
45353
+ (0, import_react161.useEffect)(() => {
45449
45354
  if (initialPrompt && isConfigInitialized && !initialPromptSubmitted.current && !isAuthenticating && !isAuthDialogOpen && !isThemeDialogOpen && !isEditorDialogOpen && !showWelcomeBackDialog && welcomeBackChoice !== "restart" && geminiClient?.isInitialized?.()) {
45450
45355
  handleFinalSubmit(initialPrompt);
45451
45356
  initialPromptSubmitted.current = true;
@@ -45463,7 +45368,7 @@ ${currentText}` : popped.modelText
45463
45368
  geminiClient
45464
45369
  ]);
45465
45370
  const followupSuggestionsEnabled = settings.merged.ui?.enableFollowupSuggestions !== false;
45466
- (0, import_react162.useEffect)(() => {
45371
+ (0, import_react161.useEffect)(() => {
45467
45372
  if (!followupSuggestionsEnabled) {
45468
45373
  suggestionAbortRef.current?.abort();
45469
45374
  setPromptSuggestion(null);
@@ -45532,17 +45437,17 @@ ${currentText}` : popped.modelText
45532
45437
  isPermissionsDialogOpen,
45533
45438
  settingInputRequests
45534
45439
  ]);
45535
- (0, import_react162.useEffect)(() => {
45440
+ (0, import_react161.useEffect)(() => {
45536
45441
  if (!promptSuggestion && speculationRef.current.status !== "idle") {
45537
45442
  abortSpeculation(speculationRef.current).catch(() => {
45538
45443
  });
45539
45444
  speculationRef.current = IDLE_SPECULATION;
45540
45445
  }
45541
45446
  }, [promptSuggestion]);
45542
- const [idePromptAnswered, setIdePromptAnswered] = (0, import_react162.useState)(false);
45543
- const [currentIDE, setCurrentIDE] = (0, import_react162.useState)(null);
45544
- const [startupIdeConnectionStatus, setStartupIdeConnectionStatus] = (0, import_react162.useState)({ state: "idle" });
45545
- (0, import_react162.useEffect)(() => {
45447
+ const [idePromptAnswered, setIdePromptAnswered] = (0, import_react161.useState)(false);
45448
+ const [currentIDE, setCurrentIDE] = (0, import_react161.useState)(null);
45449
+ const [startupIdeConnectionStatus, setStartupIdeConnectionStatus] = (0, import_react161.useState)({ state: "idle" });
45450
+ (0, import_react161.useEffect)(() => {
45546
45451
  const getIde = /* @__PURE__ */ __name(async () => {
45547
45452
  const ideClient = await IdeClient.getInstance();
45548
45453
  const currentIde = ideClient.getCurrentIde();
@@ -45558,40 +45463,40 @@ ${currentText}` : popped.modelText
45558
45463
  tomlFiles: commandMigrationTomlFiles,
45559
45464
  setShowMigrationNudge: setShowCommandMigrationNudge
45560
45465
  } = useCommandMigration(settings, config.storage);
45561
- const [showToolDescriptions, setShowToolDescriptions] = (0, import_react162.useState)(false);
45466
+ const [showToolDescriptions, setShowToolDescriptions] = (0, import_react161.useState)(false);
45562
45467
  const configuredRenderMode = settings.merged.ui?.renderMode;
45563
- const [renderMode, setRenderMode] = (0, import_react162.useState)(
45468
+ const [renderMode, setRenderMode] = (0, import_react161.useState)(
45564
45469
  configuredRenderMode === "raw" ? "raw" : "render"
45565
45470
  );
45566
- const renderModeConfigMountedRef = (0, import_react162.useRef)(false);
45567
- (0, import_react162.useEffect)(() => {
45471
+ const renderModeConfigMountedRef = (0, import_react161.useRef)(false);
45472
+ (0, import_react161.useEffect)(() => {
45568
45473
  if (!renderModeConfigMountedRef.current) {
45569
45474
  renderModeConfigMountedRef.current = true;
45570
45475
  return;
45571
45476
  }
45572
45477
  setRenderMode(configuredRenderMode === "raw" ? "raw" : "render");
45573
45478
  }, [configuredRenderMode]);
45574
- const renderModeMountedRef = (0, import_react162.useRef)(false);
45575
- (0, import_react162.useEffect)(() => {
45479
+ const renderModeMountedRef = (0, import_react161.useRef)(false);
45480
+ (0, import_react161.useEffect)(() => {
45576
45481
  if (!renderModeMountedRef.current) {
45577
45482
  renderModeMountedRef.current = true;
45578
45483
  return;
45579
45484
  }
45580
45485
  refreshStatic();
45581
45486
  }, [renderMode, refreshStatic]);
45582
- const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0, import_react162.useState)(false);
45583
- const ctrlCTimerRef = (0, import_react162.useRef)(null);
45584
- const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0, import_react162.useState)(false);
45585
- const ctrlDTimerRef = (0, import_react162.useRef)(null);
45586
- const [escapePressedOnce, setEscapePressedOnce] = (0, import_react162.useState)(false);
45587
- const escapeTimerRef = (0, import_react162.useRef)(null);
45588
- const dialogsVisibleRef = (0, import_react162.useRef)(false);
45589
- const [isRewindSelectorOpen, setIsRewindSelectorOpen] = (0, import_react162.useState)(false);
45590
- const [rewindEscPending, setRewindEscPending] = (0, import_react162.useState)(false);
45591
- const [constrainHeight, setConstrainHeight] = (0, import_react162.useState)(true);
45592
- const [ideContextState, setIdeContextState] = (0, import_react162.useState)();
45593
- const [showEscapePrompt, setShowEscapePrompt] = (0, import_react162.useState)(false);
45594
- const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0, import_react162.useState)(false);
45487
+ const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0, import_react161.useState)(false);
45488
+ const ctrlCTimerRef = (0, import_react161.useRef)(null);
45489
+ const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0, import_react161.useState)(false);
45490
+ const ctrlDTimerRef = (0, import_react161.useRef)(null);
45491
+ const [escapePressedOnce, setEscapePressedOnce] = (0, import_react161.useState)(false);
45492
+ const escapeTimerRef = (0, import_react161.useRef)(null);
45493
+ const dialogsVisibleRef = (0, import_react161.useRef)(false);
45494
+ const [isRewindSelectorOpen, setIsRewindSelectorOpen] = (0, import_react161.useState)(false);
45495
+ const [rewindEscPending, setRewindEscPending] = (0, import_react161.useState)(false);
45496
+ const [constrainHeight, setConstrainHeight] = (0, import_react161.useState)(true);
45497
+ const [ideContextState, setIdeContextState] = (0, import_react161.useState)();
45498
+ const [showEscapePrompt, setShowEscapePrompt] = (0, import_react161.useState)(false);
45499
+ const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0, import_react161.useState)(false);
45595
45500
  const { isFolderTrustDialogOpen, handleFolderTrustSelect, isRestarting } = useFolderTrust(settings, setIsTrustedFolder);
45596
45501
  const {
45597
45502
  isMcpApprovalDialogOpen,
@@ -45630,12 +45535,12 @@ ${currentText}` : popped.modelText
45630
45535
  stickyTodoWidth,
45631
45536
  stickyTodoMaxVisibleItems
45632
45537
  ) : "hidden";
45633
- const [controlsHeight, setControlsHeight] = (0, import_react162.useState)(0);
45538
+ const [controlsHeight, setControlsHeight] = (0, import_react161.useState)(0);
45634
45539
  const liveAgentPanelLayoutKey = getLiveAgentPanelLayoutKey(
45635
45540
  bgTaskEntries,
45636
45541
  bgLivePanelFocused
45637
45542
  );
45638
- (0, import_react162.useLayoutEffect)(() => {
45543
+ (0, import_react161.useLayoutEffect)(() => {
45639
45544
  if (!mainControlsRef.current) {
45640
45545
  setControlsHeight(
45641
45546
  (previousHeight) => previousHeight === 0 ? previousHeight : 0
@@ -45682,7 +45587,7 @@ ${currentText}` : popped.modelText
45682
45587
  pager: settings.merged.tools?.shell?.pager,
45683
45588
  showColor: settings.merged.tools?.shell?.showColor
45684
45589
  });
45685
- (0, import_react162.useEffect)(() => {
45590
+ (0, import_react161.useEffect)(() => {
45686
45591
  if (activePtyId) {
45687
45592
  ShellExecutionService.resizePty(
45688
45593
  activePtyId,
@@ -45692,17 +45597,17 @@ ${currentText}` : popped.modelText
45692
45597
  }
45693
45598
  }, [terminalWidth, availableTerminalHeight, activePtyId]);
45694
45599
  useWakeRepaint(wakeRepaint);
45695
- (0, import_react162.useEffect)(() => {
45600
+ (0, import_react161.useEffect)(() => {
45696
45601
  if (ideNeedsRestart) {
45697
45602
  setShowIdeRestartPrompt(true);
45698
45603
  }
45699
45604
  }, [ideNeedsRestart]);
45700
- (0, import_react162.useEffect)(() => {
45605
+ (0, import_react161.useEffect)(() => {
45701
45606
  const unsubscribe = ideContextStore.subscribe(setIdeContextState);
45702
45607
  setIdeContextState(ideContextStore.get());
45703
45608
  return unsubscribe;
45704
45609
  }, []);
45705
- (0, import_react162.useEffect)(() => {
45610
+ (0, import_react161.useEffect)(() => {
45706
45611
  const listener = /* @__PURE__ */ __name((status) => {
45707
45612
  setStartupIdeConnectionStatus(status);
45708
45613
  }, "listener");
@@ -45711,10 +45616,10 @@ ${currentText}` : popped.modelText
45711
45616
  appEvents.off("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, listener);
45712
45617
  };
45713
45618
  }, []);
45714
- const handleEscapePromptChange = (0, import_react162.useCallback)((showPrompt) => {
45619
+ const handleEscapePromptChange = (0, import_react161.useCallback)((showPrompt) => {
45715
45620
  setShowEscapePrompt(showPrompt);
45716
45621
  }, []);
45717
- const openRewindSelector = (0, import_react162.useCallback)(() => {
45622
+ const openRewindSelector = (0, import_react161.useCallback)(() => {
45718
45623
  if (streamingState !== "idle" /* Idle */) return;
45719
45624
  if (dialogsVisibleRef.current) return;
45720
45625
  if (config.getIdeMode()) {
@@ -45732,10 +45637,10 @@ ${currentText}` : popped.modelText
45732
45637
  setIsRewindSelectorOpen(true);
45733
45638
  }, [streamingState, config, historyManager]);
45734
45639
  openRewindSelectorRef.current = openRewindSelector;
45735
- const closeRewindSelector = (0, import_react162.useCallback)(() => {
45640
+ const closeRewindSelector = (0, import_react161.useCallback)(() => {
45736
45641
  setIsRewindSelectorOpen(false);
45737
45642
  }, []);
45738
- const handleRewindConfirm = (0, import_react162.useCallback)(
45643
+ const handleRewindConfirm = (0, import_react161.useCallback)(
45739
45644
  async (userItem, option) => {
45740
45645
  try {
45741
45646
  const needsConversation = option === "conversation" || option === "both";
@@ -45900,7 +45805,7 @@ ${currentText}` : popped.modelText
45900
45805
  openRewindSelector,
45901
45806
  (pending) => setRewindEscPending(pending)
45902
45807
  );
45903
- const handleIdePromptComplete = (0, import_react162.useCallback)(
45808
+ const handleIdePromptComplete = (0, import_react161.useCallback)(
45904
45809
  (result) => {
45905
45810
  if (result.userSelection === "yes") {
45906
45811
  if (result.isExtensionPreInstalled) {
@@ -45916,7 +45821,7 @@ ${currentText}` : popped.modelText
45916
45821
  },
45917
45822
  [handleSlashCommand, settings]
45918
45823
  );
45919
- const handleCommandMigrationComplete = (0, import_react162.useCallback)(
45824
+ const handleCommandMigrationComplete = (0, import_react161.useCallback)(
45920
45825
  async (result) => {
45921
45826
  setShowCommandMigrationNudge(false);
45922
45827
  if (result.userSelection === "yes") {
@@ -46008,7 +45913,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46008
45913
  pendingToolCalls
46009
45914
  });
46010
45915
  const workflowBellEnabled = settings.merged.general?.terminalBell ?? true;
46011
- (0, import_react162.useEffect)(() => {
45916
+ (0, import_react161.useEffect)(() => {
46012
45917
  const registry = config.getWorkflowRunRegistry?.();
46013
45918
  if (!registry?.setNotificationCallback) return;
46014
45919
  registry.setNotificationCallback((entry) => {
@@ -46058,7 +45963,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46058
45963
  showWorktreeExitDialog,
46059
45964
  closeWorktreeExitDialog: /* @__PURE__ */ __name(() => setShowWorktreeExitDialog(false), "closeWorktreeExitDialog")
46060
45965
  });
46061
- const handleExit = (0, import_react162.useCallback)(
45966
+ const handleExit = (0, import_react161.useCallback)(
46062
45967
  (pressedOnce, setPressedOnce, timerRef) => {
46063
45968
  if (pressedOnce) {
46064
45969
  if (timerRef.current) {
@@ -46111,7 +46016,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46111
46016
  activeWorktree
46112
46017
  ]
46113
46018
  );
46114
- const handleGlobalKeypress = (0, import_react162.useCallback)(
46019
+ const handleGlobalKeypress = (0, import_react161.useCallback)(
46115
46020
  (key) => {
46116
46021
  if (settings.merged.general?.debugKeystrokeLogging) {
46117
46022
  debugLogger40.debug("[DEBUG] Keystroke:", JSON.stringify(key));
@@ -46285,7 +46190,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46285
46190
  ]
46286
46191
  );
46287
46192
  useKeypress(handleGlobalKeypress, { isActive: true });
46288
- (0, import_react162.useEffect)(() => {
46193
+ (0, import_react161.useEffect)(() => {
46289
46194
  if (settings.merged.ui?.hideWindowTitle) {
46290
46195
  return;
46291
46196
  }
@@ -46333,7 +46238,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46333
46238
  submissionSettledRevision
46334
46239
  });
46335
46240
  const nightly = props.version.includes("nightly");
46336
- const uiState = (0, import_react162.useMemo)(
46241
+ const uiState = (0, import_react161.useMemo)(
46337
46242
  () => ({
46338
46243
  history: historyManager.history,
46339
46244
  historyManager,
@@ -46628,7 +46533,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46628
46533
  isDiffDialogOpen
46629
46534
  ]
46630
46535
  );
46631
- const uiActions = (0, import_react162.useMemo)(
46536
+ const uiActions = (0, import_react161.useMemo)(
46632
46537
  () => ({
46633
46538
  openThemeDialog,
46634
46539
  openEditorDialog,
@@ -46811,11 +46716,11 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46811
46716
  closeDiffDialog
46812
46717
  ]
46813
46718
  );
46814
- const renderModeValue = (0, import_react162.useMemo)(
46719
+ const renderModeValue = (0, import_react161.useMemo)(
46815
46720
  () => ({ renderMode, setRenderMode }),
46816
46721
  [renderMode, setRenderMode]
46817
46722
  );
46818
- const thoughtExpandedValue = (0, import_react162.useMemo)(
46723
+ const thoughtExpandedValue = (0, import_react161.useMemo)(
46819
46724
  () => ({
46820
46725
  allExpanded: thoughtExpanded,
46821
46726
  expandedHeadIds: expandedThoughtHeadIds,
@@ -46837,9 +46742,9 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46837
46742
 
46838
46743
  // packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts
46839
46744
  init_esbuild_shims();
46840
- var import_react163 = __toESM(require_react(), 1);
46745
+ var import_react162 = __toESM(require_react(), 1);
46841
46746
  function useKittyKeyboardProtocol() {
46842
- const [status] = (0, import_react163.useState)({
46747
+ const [status] = (0, import_react162.useState)({
46843
46748
  supported: isKittyProtocolSupported(),
46844
46749
  enabled: isKittyProtocolEnabled(),
46845
46750
  checking: false
@@ -46934,14 +46839,31 @@ var import_jsx_runtime132 = __toESM(require_jsx_runtime(), 1);
46934
46839
  var debugLogger41 = createDebugLogger("STARTUP");
46935
46840
  var PRESSURE_CHECK_INTERVAL_MS = 3e4;
46936
46841
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), initializationResult, options = {}) {
46937
- const { pickRenderer, isExperimentalRenderer } = await import("./dispatch-B53LNEO4.js");
46842
+ const { pickRenderer, isExperimentalRenderer, rendererExplicitlyRequested } = await import("./dispatch-FW7DX2CR.js");
46938
46843
  if (isExperimentalRenderer(pickRenderer())) {
46939
- const { probeOpenTuiRuntime } = await import("./runtime-gate-T4ICWGQJ.js");
46844
+ const { probeOpenTuiRuntime, ensureOpenTuiRuntimeSupported } = await import("./runtime-gate-T4ICWGQJ.js");
46940
46845
  if (probeOpenTuiRuntime().supported) {
46941
- const { startOpenTuiUI } = await import("./opentui-entry-L76XJNPE.js");
46942
- await startOpenTuiUI({ config });
46846
+ const { startOpenTuiUI } = await import("./opentui-entry-UTJ6MHDI.js");
46847
+ const inputFile2 = config.getInputFile?.();
46848
+ const remoteInputWatcher2 = inputFile2 ? new RemoteInputWatcher(inputFile2) : null;
46849
+ try {
46850
+ await startOpenTuiUI({
46851
+ config,
46852
+ settings,
46853
+ remoteInputWatcher: remoteInputWatcher2,
46854
+ postRender: {
46855
+ connectIde: options.postRenderConnectIde ?? false,
46856
+ initializeTelemetry: options.postRenderInitializeTelemetry ?? config.isTelemetryInitializationDeferred()
46857
+ }
46858
+ });
46859
+ } finally {
46860
+ remoteInputWatcher2?.shutdown();
46861
+ }
46943
46862
  return;
46944
46863
  }
46864
+ if (rendererExplicitlyRequested()) {
46865
+ ensureOpenTuiRuntimeSupported();
46866
+ }
46945
46867
  }
46946
46868
  const version = await getCliVersion();
46947
46869
  setWindowTitle(settings, basename4(workspaceRoot));
@@ -47053,7 +46975,7 @@ ${error.stack ?? ""}`
47053
46975
  }
47054
46976
  );
47055
46977
  const instance = render_default(
47056
- process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_react164.default.StrictMode, { children: appTree }) : appTree,
46978
+ process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_react163.default.StrictMode, { children: appTree }) : appTree,
47057
46979
  {
47058
46980
  exitOnCtrlC: false,
47059
46981
  isScreenReaderEnabled: config.getScreenReader(),