@qwen-code/qwen-code 0.21.6 → 0.21.7-nightly.20260808.4ec0371e6

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 (323) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +50 -31
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +41 -3
  3. package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
  4. package/bundled/qc-helper/docs/features/channels/github.md +13 -11
  5. package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
  6. package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
  7. package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
  8. package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
  9. package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
  10. package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
  11. package/bundled/qc-helper/docs/features/code-review.md +31 -0
  12. package/bundled/qc-helper/docs/features/hooks.md +2 -0
  13. package/bundled/qc-helper/docs/qwen-serve.md +4 -1
  14. package/bundled/review/SKILL.md +52 -16
  15. package/chunks/{MaxSizedBox-2HFKP4LI.js → MaxSizedBox-COZBVNCI.js} +42 -41
  16. package/chunks/{StandaloneSessionPicker-RBV72M5N.js → StandaloneSessionPicker-3OF2FS6S.js} +59 -57
  17. package/chunks/{acpAgent-WO6JFCVQ.js → acpAgent-3JCJ6KWG.js} +236 -185
  18. package/chunks/{agent-AHGLYNZ4.js → agent-DBSC47CD.js} +39 -38
  19. package/chunks/{agent-headless-NTXKKGRO.js → agent-headless-ZJHZ7I3S.js} +39 -38
  20. package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-SSFE2753.js} +15 -15
  21. package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-N652YE4L.js} +2 -2
  22. package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-ONW74PKJ.js} +2 -2
  23. package/chunks/{bridge-RPAU64CA.js → bridge-NFBYT4ZI.js} +43 -42
  24. package/chunks/{channel-management-service-IGEUOVRT.js → channel-management-service-LXSJXQGM.js} +19 -10
  25. package/chunks/{channel-settings-store-ON64MF7G.js → channel-settings-store-LABKDKSI.js} +46 -45
  26. package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-MTW2AGT3.js} +4 -4
  27. package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-UU6PTQSI.js} +4 -4
  28. package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
  29. package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
  30. package/chunks/{chunk-K2B3X3E7.js → chunk-26ISE5EG.js} +4 -4
  31. package/chunks/{chunk-Z7JILXGX.js → chunk-2UUMVNYT.js} +3 -3
  32. package/chunks/{chunk-ACZRB7AD.js → chunk-3ARO4N5G.js} +3 -3
  33. package/chunks/{chunk-CJ5WLD5Y.js → chunk-3HS6Y4UA.js} +96 -22
  34. package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
  35. package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
  36. package/chunks/{chunk-IMOQO6YL.js → chunk-4Q6N3SNL.js} +1 -1
  37. package/chunks/{chunk-3UOLYNTF.js → chunk-4QJJHIZ5.js} +23 -14
  38. package/chunks/{chunk-VGFPFM4U.js → chunk-5PGKKSO6.js} +42 -16
  39. package/chunks/{chunk-NGJOAKJY.js → chunk-5YT3Y33M.js} +3 -3
  40. package/chunks/{chunk-T4JSA7KU.js → chunk-64YLXLMY.js} +3 -3
  41. package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
  42. package/chunks/{chunk-ZPPP6VCL.js → chunk-6ZRFAKXK.js} +1 -1
  43. package/chunks/{chunk-OP2OHZ7K.js → chunk-764F335K.js} +18 -9
  44. package/chunks/{chunk-PPUOYL77.js → chunk-77WOUGCA.js} +53 -22
  45. package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
  46. package/chunks/{chunk-S7CV4KO6.js → chunk-AB4A73VL.js} +2 -2
  47. package/chunks/{chunk-O7V7N4G7.js → chunk-ACHMWGC5.js} +198 -35
  48. package/chunks/{chunk-NKSF7HYF.js → chunk-AG3P2RES.js} +1 -1
  49. package/chunks/{chunk-6PEXNQTX.js → chunk-ALFTV7GA.js} +26 -2
  50. package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
  51. package/chunks/{chunk-XA4TMLFN.js → chunk-APMRLB2H.js} +580 -394
  52. package/chunks/{chunk-75QMRMO7.js → chunk-APNNM3JC.js} +3 -3
  53. package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
  54. package/chunks/{chunk-VNQCPBC2.js → chunk-B23P3YWE.js} +3 -3
  55. package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
  56. package/chunks/{chunk-Q5RM32DR.js → chunk-BCMJPTXV.js} +1 -1
  57. package/chunks/{chunk-A4VTILZT.js → chunk-BFSQBXHV.js} +714 -398
  58. package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
  59. package/chunks/{chunk-SLSWFHDF.js → chunk-BJKFFPX2.js} +4 -4
  60. package/chunks/{chunk-N2GJU6KI.js → chunk-BN3OROB3.js} +12 -12
  61. package/chunks/chunk-CE5UCTKO.js +3508 -0
  62. package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
  63. package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
  64. package/chunks/chunk-CPG6P4GG.js +82 -0
  65. package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
  66. package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
  67. package/chunks/{chunk-CA4UIDFU.js → chunk-DPH3MUAP.js} +1 -1
  68. package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
  69. package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
  70. package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
  71. package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
  72. package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
  73. package/chunks/{chunk-4JH77A2U.js → chunk-EZ53KMUN.js} +1 -1
  74. package/chunks/{chunk-HY25ULVN.js → chunk-F3LPXDJP.js} +157 -56
  75. package/chunks/{chunk-D3UEZIQH.js → chunk-FJ6YHWHZ.js} +2 -2
  76. package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
  77. package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
  78. package/chunks/{chunk-YZQTA3ID.js → chunk-GDXET5XU.js} +31 -3396
  79. package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
  80. package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
  81. package/chunks/{chunk-SUKEUUAA.js → chunk-GUFY6D3E.js} +1 -1
  82. package/chunks/{chunk-FZFP7RZI.js → chunk-H2352CX2.js} +3 -3
  83. package/chunks/{chunk-GWRHVJY2.js → chunk-HKCYGZZ4.js} +22 -22
  84. package/chunks/{chunk-3PRJYMXC.js → chunk-HUWENAHO.js} +1 -1
  85. package/chunks/{chunk-G5NNWEYE.js → chunk-HY2INPTA.js} +4 -4
  86. package/chunks/{chunk-WVAESIM6.js → chunk-IA7TGCN2.js} +4 -4
  87. package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
  88. package/chunks/{chunk-XM2O73NC.js → chunk-IMK3SJ43.js} +5703 -4343
  89. package/chunks/{chunk-4S4OEQ6U.js → chunk-J6SZID63.js} +2 -2
  90. package/chunks/{chunk-OWSW7EYP.js → chunk-JACAHYEN.js} +7 -7
  91. package/chunks/{chunk-R5RBXLNC.js → chunk-JRIJOZXO.js} +5 -5
  92. package/chunks/{chunk-SQOMTWQT.js → chunk-JSJTZ6GO.js} +4 -4
  93. package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
  94. package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
  95. package/chunks/{chunk-TGGEZINK.js → chunk-KKRGVSHC.js} +7 -7
  96. package/chunks/{chunk-RK2EE3T7.js → chunk-KPMB4JEZ.js} +4 -4
  97. package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
  98. package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
  99. package/chunks/{chunk-U4AF3QLU.js → chunk-L4OW63GW.js} +8 -8
  100. package/chunks/{chunk-C4CBJQKY.js → chunk-LDUGDB5H.js} +1 -1
  101. package/chunks/{chunk-W5DXUTXD.js → chunk-LDY4J4G6.js} +8 -8
  102. package/chunks/{chunk-GK2H5GRC.js → chunk-LMEIS6WW.js} +16 -6
  103. package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
  104. package/chunks/{chunk-TOGZTG4X.js → chunk-MIA37QO3.js} +2 -2
  105. package/chunks/{chunk-536SWZTA.js → chunk-MV7VUCIG.js} +4 -4
  106. package/chunks/{chunk-T5U6IM4C.js → chunk-MVUQRLOH.js} +3 -3
  107. package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
  108. package/chunks/{chunk-UGTWD35F.js → chunk-NLREQJFK.js} +1 -1
  109. package/chunks/{chunk-RFUHDCNF.js → chunk-O7VQ3F22.js} +1 -1
  110. package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
  111. package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
  112. package/chunks/{chunk-4WTAQEHV.js → chunk-OQTXYMKW.js} +3 -3
  113. package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
  114. package/chunks/{chunk-LAAFLUQV.js → chunk-P74TZRXD.js} +2 -2
  115. package/chunks/{chunk-BOGOR4HB.js → chunk-P7HUJDBZ.js} +7 -7
  116. package/chunks/chunk-PJRW65JO.js +107 -0
  117. package/chunks/{chunk-D7D7RXIJ.js → chunk-PYQADEFD.js} +6 -1
  118. package/chunks/{chunk-WO2B5E5B.js → chunk-Q3JQ7OSU.js} +1 -1
  119. package/chunks/{chunk-3LZKY4V4.js → chunk-QKJT5K4Q.js} +5 -5
  120. package/chunks/{chunk-OXX3FG2N.js → chunk-R2KZWK5Z.js} +3 -3
  121. package/chunks/{chunk-QZKYZCN3.js → chunk-REHWPCG2.js} +3 -3
  122. package/chunks/{chunk-2POQWYM6.js → chunk-RFA6VDCR.js} +3 -3
  123. package/chunks/{chunk-DIT4V3XH.js → chunk-RGTB44BO.js} +1 -1
  124. package/chunks/{chunk-SQC6K5HI.js → chunk-RPWVIXDB.js} +19 -2
  125. package/chunks/{chunk-ODPXHGLL.js → chunk-RZMGG3HP.js} +2 -2
  126. package/chunks/{chunk-2AGOQ7QO.js → chunk-S6HYI3MF.js} +118 -6
  127. package/chunks/chunk-SAH4BD2J.js +92 -0
  128. package/chunks/{chunk-JE44IPH6.js → chunk-SDUDZNF4.js} +2 -2
  129. package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
  130. package/chunks/chunk-SOORFWKY.js +155 -0
  131. package/chunks/{chunk-KHUA3NQV.js → chunk-TAOSTUHI.js} +2 -2
  132. package/chunks/{chunk-VSALQLT7.js → chunk-TSYIQDG7.js} +1 -1
  133. package/chunks/{chunk-ULPQQSDN.js → chunk-TX3KSSDN.js} +3 -3
  134. package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
  135. package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
  136. package/chunks/{chunk-GESMMPAK.js → chunk-UKAYEQDU.js} +91 -63
  137. package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
  138. package/chunks/chunk-VDS2WYM5.js +244 -0
  139. package/chunks/{chunk-DVBEGGLG.js → chunk-VLFX3L3X.js} +10 -9
  140. package/chunks/{chunk-WNU7TZTO.js → chunk-VT3VNFVW.js} +3 -3
  141. package/chunks/{chunk-6WBWIPBF.js → chunk-WAUGQKUU.js} +4 -64
  142. package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
  143. package/chunks/{chunk-PX5DNLSA.js → chunk-XCG76UE6.js} +18 -10
  144. package/chunks/{chunk-TSERKWCX.js → chunk-XCWO3SMQ.js} +3 -3
  145. package/chunks/{chunk-5MJGUQU5.js → chunk-XIDHBXUI.js} +3 -3
  146. package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
  147. package/chunks/{chunk-SKNE3KQC.js → chunk-Z5ZAWED3.js} +19 -10
  148. package/chunks/{chunk-YMBOEAF4.js → chunk-Z6W3XDLN.js} +1 -1
  149. package/chunks/{chunk-EXCEQD22.js → chunk-ZKUJ4AO7.js} +4 -4
  150. package/chunks/{chunk-RHTTKJTP.js → chunk-ZQGHESAS.js} +1 -1
  151. package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
  152. package/chunks/{computer-use-5HXJ2P4X.js → computer-use-QLJ27OCZ.js} +39 -38
  153. package/chunks/{config-utils-VXD4SPVR.js → config-utils-KIEXWA4F.js} +4 -4
  154. package/chunks/{contextCommand-7BEHRX2H.js → contextCommand-JDTOJRBO.js} +41 -40
  155. package/chunks/{core-runtime-U4VJ5TIV.js → core-runtime-MZIAVYQC.js} +43 -42
  156. package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-QIDZUOPU.js} +2 -2
  157. package/chunks/{create-sub-session-QZNQY332.js → create-sub-session-YBBCNSHE.js} +39 -38
  158. package/chunks/{cron-create-CCRIULJE.js → cron-create-VONA5JYY.js} +4 -4
  159. package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-5JXSP2MI.js} +4 -4
  160. package/chunks/{cron-list-QDBVCHRF.js → cron-list-KE4F2CIR.js} +4 -4
  161. package/chunks/{daemon-YI5RY62O.js → daemon-SCTQMM7Z.js} +50 -2
  162. package/chunks/{daemon-status-provider-UJUGTDTL.js → daemon-status-provider-BZ7RD4ZJ.js} +47 -46
  163. package/chunks/{daemon-trust-policy-ZHDD5VYQ.js → daemon-trust-policy-2E4C3M7S.js} +45 -44
  164. package/chunks/{daemon-trust-policy-monitor-5SHYBDGA.js → daemon-trust-policy-monitor-UYLFH6RW.js} +45 -44
  165. package/chunks/{deferred-core-runtime-QWAEBTR5.js → deferred-core-runtime-6XZYMJZB.js} +39 -38
  166. package/chunks/{display-image-GUJA352B.js → display-image-NQRSIBXM.js} +4 -4
  167. package/chunks/{dist-SFQ34F4M.js → dist-26RK5XZO.js} +1 -1
  168. package/chunks/{dist-DPPHJAVL.js → dist-BATY7GI4.js} +187 -6
  169. package/chunks/{dist-A7H2KKUC.js → dist-HIACTZEK.js} +332 -113
  170. package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
  171. package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
  172. package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
  173. package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
  174. package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
  175. package/chunks/{earlyInputCapture-5BMSGKOI.js → earlyInputCapture-LATQCGDC.js} +40 -39
  176. package/chunks/{edit-IVQQVYYK.js → edit-72DP57CD.js} +39 -38
  177. package/chunks/{enter-worktree-P3DF2N6O.js → enter-worktree-B4FY2ZPP.js} +39 -38
  178. package/chunks/{enterPlanMode-KKTDVLAD.js → enterPlanMode-TQBWGCPL.js} +39 -38
  179. package/chunks/{environment-W5TRDM3G.js → environment-MOGZGZDS.js} +42 -41
  180. package/chunks/{errors-GJJB36IG.js → errors-PGON5GH7.js} +41 -40
  181. package/chunks/{exit-worktree-LV5RLOCU.js → exit-worktree-EYUD4YP2.js} +39 -38
  182. package/chunks/{exitPlanMode-TUGOB2LL.js → exitPlanMode-4Q7BSQXR.js} +39 -38
  183. package/chunks/{fast-path-2FU23PAQ.js → fast-path-WI7D5MER.js} +23 -3
  184. package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-YBRL24DB.js} +2 -2
  185. package/chunks/{gemini-KDULDQPP.js → gemini-ZXURGM6Y.js} +87 -82
  186. package/chunks/{geminiContentGenerator-LOCFHNVA.js → geminiContentGenerator-EOODO75Y.js} +6 -6
  187. package/chunks/{glob-Z4NQFKWS.js → glob-QNRIUOS6.js} +39 -38
  188. package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-QSYW65HV.js} +3 -3
  189. package/chunks/{grep-Z67Z7EN6.js → grep-56MTW67B.js} +39 -38
  190. package/chunks/{handleAutoUpdate-DFUZE6I6.js → handleAutoUpdate-XGFIPVT4.js} +43 -42
  191. package/chunks/{i18n-R4FMZ7N2.js → i18n-RZB35L4B.js} +40 -39
  192. package/chunks/{image-gen-4CQJPQP5.js → image-gen-OE2EEKN3.js} +9 -9
  193. package/chunks/{initializer-DK672ZVE.js → initializer-YPVMTMKD.js} +46 -45
  194. package/chunks/{installationInfo-PO4Z3ES7.js → installationInfo-ZTMTMYNW.js} +40 -39
  195. package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
  196. package/chunks/{list-QXQF6C53.js → list-NIW3WID5.js} +48 -47
  197. package/chunks/{list-agents-GC4BRET7.js → list-agents-Z4WABFDZ.js} +2 -2
  198. package/chunks/{loadedSettingsAdapter-4D7GUGW6.js → loadedSettingsAdapter-VSLILTOZ.js} +45 -44
  199. package/chunks/{loggingContentGenerator-2P3MNACM.js → loggingContentGenerator-KFZYVAGV.js} +17 -17
  200. package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-UZ5RL5Y2.js} +5 -5
  201. package/chunks/{ls-63CC3NNX.js → ls-TVHDGIES.js} +4 -4
  202. package/chunks/{lsp-P6NVJVNT.js → lsp-CVN6OQPI.js} +2 -2
  203. package/chunks/{managed-npm-update-LWVJQTWO.js → managed-npm-update-WHTA2K5V.js} +40 -39
  204. package/chunks/{mcp-GHETAR6V.js → mcp-7KGK3CS3.js} +45 -44
  205. package/chunks/{monitor-4T7W4M6Q.js → monitor-FDWEJQWP.js} +39 -38
  206. package/chunks/nonInteractiveCli-2MVJ6TCS.js +155 -0
  207. package/chunks/{notebook-edit-OC2V7U5D.js → notebook-edit-ZUVK2XWE.js} +47 -38
  208. package/chunks/{openaiContentGenerator-RAJUFWQY.js → openaiContentGenerator-TNLWOPH5.js} +28 -21
  209. package/chunks/{pidfile-HVPYVRLS.js → pidfile-BB6SKPH2.js} +40 -39
  210. package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
  211. package/chunks/{processUtils-VIQ4JHVX.js → processUtils-WKHJOPDH.js} +2 -2
  212. package/chunks/{qwenContentGenerator-2QLCUFNZ.js → qwenContentGenerator-FZS2DYF7.js} +48 -46
  213. package/chunks/{qwenOAuth2-J2X3EN43.js → qwenOAuth2-UYMYRXBB.js} +9 -9
  214. package/chunks/{read-file-ZNAN2B26.js → read-file-FMTE6LPA.js} +10 -10
  215. package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-PZ4ZF6YL.js} +2 -2
  216. package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-P4HFMS7X.js} +3 -3
  217. package/chunks/{resumeHistoryUtils-RCY7AL5Y.js → resumeHistoryUtils-Z34RCZFF.js} +45 -43
  218. package/chunks/{ripGrep-C3KMLZM5.js → ripGrep-DUIYUZGM.js} +39 -38
  219. package/chunks/{run-qwen-serve-3JN75CIQ.js → run-qwen-serve-KOHHR3F4.js} +145 -62
  220. package/chunks/{runtime-VUA4WQYD.js → runtime-K4NTZSAU.js} +50 -49
  221. package/chunks/{scheduler-Z4IBXCOY.js → scheduler-6G6AMURS.js} +39 -38
  222. package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
  223. package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
  224. package/chunks/{send-message-TL6FIMMN.js → send-message-CAMSLG2L.js} +6 -5
  225. package/chunks/{serve-67T3P7XI.js → serve-NMG2TM5K.js} +46 -45
  226. package/chunks/{server-46ZO2CLV.js → server-FS7KDELS.js} +679 -360
  227. package/chunks/{session-B4IFAFC4.js → session-XZADUVKJ.js} +82 -81
  228. package/chunks/{settings-AI2BTBOZ.js → settings-G75R6FOA.js} +44 -43
  229. package/chunks/{shell-BKII3B6E.js → shell-3D3PMQHE.js} +39 -38
  230. package/chunks/{skill-6CFOWVGA.js → skill-TSEYMVQ2.js} +14 -14
  231. package/chunks/{skill-settings-6BFQWMW4.js → skill-settings-HJC2CPBJ.js} +44 -43
  232. package/chunks/{spawnChannel-FJXW35U7.js → spawnChannel-YWCN74G5.js} +41 -40
  233. package/chunks/{standalone-update-WVINHRNS.js → standalone-update-HLYOLX6V.js} +41 -40
  234. package/chunks/{startInteractiveUI-YE57CJ57.js → startInteractiveUI-ROUIQ5KU.js} +486 -187
  235. package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-PEBJQYJV.js} +3 -3
  236. package/chunks/{task-create-Q727MXHJ.js → task-create-5NWCQSJF.js} +10 -9
  237. package/chunks/{task-list-G6KPQ5JT.js → task-list-53265TRZ.js} +5 -5
  238. package/chunks/{task-stop-TNXRNAL2.js → task-stop-FPCOIRYX.js} +2 -2
  239. package/chunks/{task-update-YB7PXO4R.js → task-update-5HN577LS.js} +10 -9
  240. package/chunks/{team-create-GNC7NFY6.js → team-create-OTP5SSB2.js} +39 -38
  241. package/chunks/{team-delete-GDO7H2T4.js → team-delete-MMQB4OSC.js} +5 -5
  242. package/chunks/{team-plan-approval-ECALJLIO.js → team-plan-approval-TQX5TMXU.js} +39 -38
  243. package/chunks/{terminal-image-renderer-II74TFVW.js → terminal-image-renderer-KF3GKNWW.js} +45 -39
  244. package/chunks/{theme-manager-2MGEDD22.js → theme-manager-XVWAAGAM.js} +40 -39
  245. package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-JGV6VLOX.js} +4 -4
  246. package/chunks/{tool-search-S6LRRACA.js → tool-search-7N4D4O56.js} +14 -13
  247. package/chunks/{total-session-admission-7WVAWQPU.js → total-session-admission-ZQ4VKIRW.js} +43 -42
  248. package/chunks/{trustedFolders-NFS4KHO4.js → trustedFolders-4XYFPWVV.js} +40 -39
  249. package/chunks/{update-relaunch-Q5HLZ6UW.js → update-relaunch-L4GSBLUU.js} +5 -5
  250. package/chunks/{updateCheck-UOVZSTP7.js → updateCheck-PCUTVRFE.js} +42 -41
  251. package/chunks/{useAutoAcceptIndicator-PC6MOJCO.js → useAutoAcceptIndicator-WMXY7MND.js} +47 -46
  252. package/chunks/{validateNonInterActiveAuth-YMQP3ZM7.js → validateNonInterActiveAuth-5S3U2D56.js} +78 -77
  253. package/chunks/{version-T4AQFZJH.js → version-P57IQU2T.js} +1 -1
  254. package/chunks/{web-fetch-JQCJHEEX.js → web-fetch-5ZLLLCDD.js} +13 -13
  255. package/chunks/{web-search-QGZ2KY4G.js → web-search-NELKANTW.js} +10 -10
  256. package/chunks/web-shell-static-O73YPVVC.js +33 -0
  257. package/chunks/{workflow-YIT27YWZ.js → workflow-RXKBF3LO.js} +42 -40
  258. package/chunks/{workspace-providers-status-FIDZQ2PL.js → workspace-providers-status-HAEMNAWC.js} +48 -47
  259. package/chunks/{workspace-registration-store-RCSPE4DU.js → workspace-registration-store-U3U3YM6V.js} +1 -1
  260. package/chunks/{workspace-registry-5PEUCY6E.js → workspace-registry-ZFP33GVB.js} +43 -42
  261. package/chunks/{workspace-service-LANDVPL7.js → workspace-service-QMISJBMA.js} +50 -49
  262. package/chunks/{workspace-skills-status-2IQVJNIN.js → workspace-skills-status-K7EOUGXL.js} +46 -45
  263. package/chunks/{workspace-trust-reconciler-CZPZZCZC.js → workspace-trust-reconciler-BFPKULDZ.js} +50 -49
  264. package/chunks/{write-file-G5VNGCOG.js → write-file-2F76RRFE.js} +39 -38
  265. package/chunks/{zoom-image-6RBLD7X6.js → zoom-image-DPR22XWY.js} +10 -10
  266. package/cli.js +12 -12
  267. package/package.json +3 -3
  268. package/web-shell/assets/{arc-B-Vtkp1W.js → arc-CunFPPcQ.js} +1 -1
  269. package/web-shell/assets/{architectureDiagram-3BPJPVTR-qmTXIj64.js → architectureDiagram-3BPJPVTR-D3SqCgeM.js} +1 -1
  270. package/web-shell/assets/{blockDiagram-GPEHLZMM-ZlnXEtdP.js → blockDiagram-GPEHLZMM-CPRx90S_.js} +1 -1
  271. package/web-shell/assets/{c4Diagram-AAUBKEIU-Wyoirf6Z.js → c4Diagram-AAUBKEIU-CahP9Ue4.js} +1 -1
  272. package/web-shell/assets/channel-zbv7GWAw.js +1 -0
  273. package/web-shell/assets/{chunk-2J33WTMH-WQwbq9d8.js → chunk-2J33WTMH-DckIWZ12.js} +1 -1
  274. package/web-shell/assets/{chunk-4BX2VUAB-DQKnAXC4.js → chunk-4BX2VUAB-D2Kfctyn.js} +1 -1
  275. package/web-shell/assets/{chunk-55IACEB6-DIdgXNcO.js → chunk-55IACEB6-DkI11FTX.js} +1 -1
  276. package/web-shell/assets/{chunk-727SXJPM-CUwGOLEd.js → chunk-727SXJPM-rR-TSCIi.js} +1 -1
  277. package/web-shell/assets/{chunk-AQP2D5EJ-CCBGZFZ4.js → chunk-AQP2D5EJ-DFGKcGRO.js} +1 -1
  278. package/web-shell/assets/{chunk-FMBD7UC4-DMGXProk.js → chunk-FMBD7UC4-CjWqcTPE.js} +1 -1
  279. package/web-shell/assets/{chunk-ND2GUHAM-yejcFqsh.js → chunk-ND2GUHAM-RXe-87UV.js} +1 -1
  280. package/web-shell/assets/{chunk-QZHKN3VN-DxCyqTf7.js → chunk-QZHKN3VN-Dz0c_Yrn.js} +1 -1
  281. package/web-shell/assets/classDiagram-4FO5ZUOK-DSjLkJJZ.js +1 -0
  282. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DSjLkJJZ.js +1 -0
  283. package/web-shell/assets/{cose-bilkent-S5V4N54A-DOrF3cg_.js → cose-bilkent-S5V4N54A-ZHF0-jvV.js} +1 -1
  284. package/web-shell/assets/{dagre-BM42HDAG-Be6CdYQ_.js → dagre-BM42HDAG-7Umz_ygJ.js} +1 -1
  285. package/web-shell/assets/{diagram-2AECGRRQ-B_Rjsft2.js → diagram-2AECGRRQ-DomN8nxq.js} +1 -1
  286. package/web-shell/assets/{diagram-5GNKFQAL-BvQbKSm1.js → diagram-5GNKFQAL-eebvj2OL.js} +1 -1
  287. package/web-shell/assets/{diagram-KO2AKTUF-BsdmMdpS.js → diagram-KO2AKTUF-IR1mmn9d.js} +1 -1
  288. package/web-shell/assets/{diagram-LMA3HP47-CrQlBaNr.js → diagram-LMA3HP47-CKysx5KF.js} +1 -1
  289. package/web-shell/assets/{diagram-OG6HWLK6-aB1MD_DL.js → diagram-OG6HWLK6-cBy5puHn.js} +1 -1
  290. package/web-shell/assets/{erDiagram-TEJ5UH35-F-eUUn9n.js → erDiagram-TEJ5UH35-B5RJagPG.js} +1 -1
  291. package/web-shell/assets/{flowDiagram-I6XJVG4X-DY_d8lUK.js → flowDiagram-I6XJVG4X-CfHgDmPg.js} +1 -1
  292. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dqu7KBPg.js → ganttDiagram-6RSMTGT7-DUfFF5nb.js} +1 -1
  293. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-2IkU_VEj.js → gitGraphDiagram-PVQCEYII-M9dt57k5.js} +1 -1
  294. package/web-shell/assets/{index-QQlUCJGg.css → index-B8e-CkuC.css} +2 -2
  295. package/web-shell/assets/{index-BuSbqggh.js → index-CKjO4myk.js} +1 -1
  296. package/web-shell/assets/index-Dc-fTO0V.js +1768 -0
  297. package/web-shell/assets/{infoDiagram-5YYISTIA-C4orwzPw.js → infoDiagram-5YYISTIA-CTKMmIro.js} +1 -1
  298. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-fXUEfef_.js → ishikawaDiagram-YF4QCWOH-DJIJDP4s.js} +1 -1
  299. package/web-shell/assets/{journeyDiagram-JHISSGLW-Bs0I1_J5.js → journeyDiagram-JHISSGLW-DgRnvn6S.js} +1 -1
  300. package/web-shell/assets/{kanban-definition-UN3LZRKU-BPRj1dw_.js → kanban-definition-UN3LZRKU-VUwO8yrg.js} +1 -1
  301. package/web-shell/assets/{linear-DFS6ZDpW.js → linear-BCvgV5I_.js} +1 -1
  302. package/web-shell/assets/{mermaid.core-CZxjWMaO.js → mermaid.core-mv_kVV6q.js} +5 -5
  303. package/web-shell/assets/{mindmap-definition-RKZ34NQL-Dsr3PmNs.js → mindmap-definition-RKZ34NQL-sfnjMlOd.js} +1 -1
  304. package/web-shell/assets/{pieDiagram-4H26LBE5-D5Ngpz5Y.js → pieDiagram-4H26LBE5-BlhICse4.js} +1 -1
  305. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-WJK9I25z.js → quadrantDiagram-W4KKPZXB-BgTQzwen.js} +1 -1
  306. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CmrYcwOH.js → requirementDiagram-4Y6WPE33-CZ-FTrrN.js} +1 -1
  307. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-7SjCc4Mv.js → sankeyDiagram-5OEKKPKP-G5Wp_jn3.js} +1 -1
  308. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Dl9E0IRM.js → sequenceDiagram-3UESZ5HK-C8MKZ3i1.js} +1 -1
  309. package/web-shell/assets/{stateDiagram-AJRCARHV-CRRio7yV.js → stateDiagram-AJRCARHV-Bo0ZDm7y.js} +1 -1
  310. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-31TSCPcH.js +1 -0
  311. package/web-shell/assets/{timeline-definition-PNZ67QCA-DVyXjjfq.js → timeline-definition-PNZ67QCA-M3L9E01f.js} +1 -1
  312. package/web-shell/assets/{vennDiagram-CIIHVFJN-Nb2Lckzq.js → vennDiagram-CIIHVFJN-DD4eHCrm.js} +1 -1
  313. package/web-shell/assets/{wardley-L42UT6IY-DuL_otIP.js → wardley-L42UT6IY-DNEL_3g4.js} +1 -1
  314. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js → wardleyDiagram-YWT4CUSO-q484OoqI.js} +1 -1
  315. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BNjAm7KD.js → xychartDiagram-2RQKCTM6-4mcNt1Yg.js} +1 -1
  316. package/web-shell/index.html +2 -2
  317. package/chunks/chunk-EMYZIABH.js +0 -81
  318. package/chunks/nonInteractiveCli-P4UKCJFM.js +0 -154
  319. package/web-shell/assets/channel-DXaHnfjS.js +0 -1
  320. package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +0 -1
  321. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +0 -1
  322. package/web-shell/assets/index-DrfC2e9s.js +0 -1768
  323. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +0 -1
@@ -6,10 +6,13 @@ import {
6
6
  import {
7
7
  TUI_CHAT_RECORDING_FAILURE_MESSAGE,
8
8
  reportChatRecordingFailureToAdapter
9
- } from "./chunk-ODPXHGLL.js";
9
+ } from "./chunk-RZMGG3HP.js";
10
+ import {
11
+ StreamJsonOutputAdapter
12
+ } from "./chunk-5YT3Y33M.js";
10
13
  import {
11
14
  startPostRenderPrefetches
12
- } from "./chunk-N2GJU6KI.js";
15
+ } from "./chunk-BN3OROB3.js";
13
16
  import {
14
17
  AboutBox,
15
18
  BaseSelectionList,
@@ -87,19 +90,35 @@ import {
87
90
  useUIActions,
88
91
  useUIState,
89
92
  useVirtualViewport
90
- } from "./chunk-XA4TMLFN.js";
93
+ } from "./chunk-APMRLB2H.js";
94
+ import {
95
+ GeminiRespondingSpinner,
96
+ GeminiSpinner,
97
+ ICON,
98
+ SCREEN_READER_USER_PREFIX,
99
+ SHELL_COMMAND_NAME,
100
+ StreamingContext,
101
+ applyCollapsePolicyAndSummary,
102
+ buildResumedHistoryItems,
103
+ build_default,
104
+ expandCollapsedHistory,
105
+ isCollapsibleTool,
106
+ shouldDisplayGoalStateCause,
107
+ useStreamingContext,
108
+ waitForGoalRuntime
109
+ } from "./chunk-5PGKKSO6.js";
91
110
  import {
92
111
  stopAndGetCapturedInput
93
- } from "./chunk-KVUBYJDM.js";
112
+ } from "./chunk-TZEZYNYD.js";
94
113
  import {
95
114
  useAutoAcceptIndicator
96
- } from "./chunk-T4JSA7KU.js";
115
+ } from "./chunk-64YLXLMY.js";
97
116
  import {
98
117
  KeypressProvider,
99
118
  useFocus,
100
119
  useKeypress,
101
120
  useKeypressContext
102
- } from "./chunk-75QMRMO7.js";
121
+ } from "./chunk-APNNM3JC.js";
103
122
  import {
104
123
  classifyApiError,
105
124
  fireSessionDeleteHook
@@ -115,14 +134,7 @@ import {
115
134
  matchMcpServerPrefix,
116
135
  resolveAtCommandQuery,
117
136
  sanitizeDisplayText
118
- } from "./chunk-SLSWFHDF.js";
119
- import {
120
- getCommandDisplayName,
121
- getCommandSourceBadge
122
- } from "./chunk-IMOQO6YL.js";
123
- import {
124
- StreamJsonOutputAdapter
125
- } from "./chunk-NGJOAKJY.js";
137
+ } from "./chunk-BJKFFPX2.js";
126
138
  import {
127
139
  BuiltinCommandLoader,
128
140
  BundledSkillLoader,
@@ -163,18 +175,22 @@ import {
163
175
  resetBackgroundStateForSessionSwitch,
164
176
  serializeUserPromptExpansionPrompt,
165
177
  supportsMatchers
166
- } from "./chunk-GESMMPAK.js";
178
+ } from "./chunk-UKAYEQDU.js";
167
179
  import {
168
180
  EXTENSION_RELOAD_FAILED_REASON,
169
181
  ExtensionRefreshState,
170
182
  appEvents,
171
183
  cleanupReviewWorktreeLeases,
172
184
  loadHierarchicalGeminiMemory
173
- } from "./chunk-XM2O73NC.js";
185
+ } from "./chunk-IMK3SJ43.js";
186
+ import {
187
+ getCommandDisplayName,
188
+ getCommandSourceBadge
189
+ } from "./chunk-4Q6N3SNL.js";
174
190
  import {
175
191
  computeSessionStats,
176
192
  levelLabel
177
- } from "./chunk-TOGZTG4X.js";
193
+ } from "./chunk-MIA37QO3.js";
178
194
  import {
179
195
  disableKittyProtocol,
180
196
  isKittyProtocolEnabled,
@@ -193,34 +209,19 @@ import {
193
209
  oscKittyNotify,
194
210
  saveClipboardImage,
195
211
  writeOsc52
196
- } from "./chunk-3LGZEYOF.js";
197
- import "./chunk-SKNE3KQC.js";
212
+ } from "./chunk-YHEEE624.js";
213
+ import "./chunk-Z5ZAWED3.js";
198
214
  import "./chunk-4WGODMVR.js";
215
+ import "./chunk-JRIJOZXO.js";
199
216
  import "./chunk-KW7NOTN6.js";
200
217
  import {
201
218
  MaxSizedBox,
202
219
  OverflowProvider,
203
220
  useOverflowState
204
- } from "./chunk-LBWNSLJK.js";
205
- import {
206
- GeminiRespondingSpinner,
207
- GeminiSpinner,
208
- ICON,
209
- SCREEN_READER_USER_PREFIX,
210
- SHELL_COMMAND_NAME,
211
- StreamingContext,
212
- applyCollapsePolicyAndSummary,
213
- buildResumedHistoryItems,
214
- build_default,
215
- expandCollapsedHistory,
216
- isCollapsibleTool,
217
- shouldDisplayGoalStateCause,
218
- useStreamingContext,
219
- waitForGoalRuntime
220
- } from "./chunk-VGFPFM4U.js";
221
+ } from "./chunk-ONSZH6VM.js";
221
222
  import {
222
223
  theme
223
- } from "./chunk-U25CMJYY.js";
224
+ } from "./chunk-EKPKKXY2.js";
224
225
  import {
225
226
  require_jsx_runtime
226
227
  } from "./chunk-SV5PQVQE.js";
@@ -241,35 +242,40 @@ import {
241
242
  import {
242
243
  require_react
243
244
  } from "./chunk-5QWWOFGG.js";
244
- import "./chunk-OXX3FG2N.js";
245
- import "./chunk-2AGOQ7QO.js";
245
+ import "./chunk-R2KZWK5Z.js";
246
+ import "./chunk-S6HYI3MF.js";
247
+ import {
248
+ MAX_INLINE_IMAGES_PER_ITEM,
249
+ collectInlineImages,
250
+ getInlineImageData
251
+ } from "./chunk-PJRW65JO.js";
246
252
  import {
247
253
  relaunchApp
248
- } from "./chunk-SUKEUUAA.js";
254
+ } from "./chunk-GUFY6D3E.js";
249
255
  import {
250
256
  setUpdateHandler
251
- } from "./chunk-EXCEQD22.js";
252
- import "./chunk-2POQWYM6.js";
257
+ } from "./chunk-ZKUJ4AO7.js";
258
+ import "./chunk-RFA6VDCR.js";
253
259
  import "./chunk-YAF2MQZ6.js";
254
- import "./chunk-R5RBXLNC.js";
255
260
  import {
256
261
  AUTO_THEME_NAME,
257
262
  DEFAULT_THEME,
258
263
  themeManager
259
- } from "./chunk-KKN2IE7Q.js";
260
- import "./chunk-GK2H5GRC.js";
264
+ } from "./chunk-CTJLZLB5.js";
265
+ import "./chunk-LMEIS6WW.js";
261
266
  import "./chunk-6H67XLET.js";
262
- import "./chunk-536SWZTA.js";
267
+ import "./chunk-MV7VUCIG.js";
263
268
  import {
264
269
  getErrorMessage as getErrorMessage2
265
- } from "./chunk-FZFP7RZI.js";
270
+ } from "./chunk-H2352CX2.js";
266
271
  import {
267
272
  openQwenAsrRealtimeStream,
268
273
  openVoiceStream,
269
274
  openVoiceStreamWithRetry
270
- } from "./chunk-WO2B5E5B.js";
271
- import "./chunk-W5DXUTXD.js";
272
- import "./chunk-DYA25Y7U.js";
275
+ } from "./chunk-Q3JQ7OSU.js";
276
+ import "./chunk-LDY4J4G6.js";
277
+ import "./chunk-OWMAZHIX.js";
278
+ import "./chunk-O7VQ3F22.js";
273
279
  import {
274
280
  cpLen,
275
281
  cpSlice,
@@ -282,7 +288,6 @@ import {
282
288
  stripUnsafeCharacters,
283
289
  toCodePoints
284
290
  } from "./chunk-4NFY2S7N.js";
285
- import "./chunk-RFUHDCNF.js";
286
291
  import {
287
292
  stringWidth
288
293
  } from "./chunk-2MIN6GRR.js";
@@ -295,63 +300,63 @@ import "./chunk-RXFQM6FQ.js";
295
300
  import "./chunk-HGCQ5SE7.js";
296
301
  import {
297
302
  isInlineModelOverrideAllowed
298
- } from "./chunk-5MJGUQU5.js";
303
+ } from "./chunk-XIDHBXUI.js";
299
304
  import {
300
305
  assertVoiceBaseUrlNetworkAllowed,
301
306
  isKeytermEcho,
302
307
  isStreamingVoiceModel,
303
308
  resolveVoiceStreamConfig,
304
309
  transcribeVoiceAudio
305
- } from "./chunk-O7V7N4G7.js";
310
+ } from "./chunk-ACHMWGC5.js";
306
311
  import {
307
312
  formatUnsupportedVoiceModelMessage,
308
313
  isSelectableVoiceModel
309
- } from "./chunk-C4CBJQKY.js";
310
- import "./chunk-JELIWHXD.js";
314
+ } from "./chunk-LDUGDB5H.js";
315
+ import "./chunk-AOHJKPKL.js";
311
316
  import {
312
317
  computeWorkspaceSkillListUpdates,
313
318
  resolveSkillSettings,
314
319
  skillSettingStrings
315
320
  } from "./chunk-Z4X5MTRT.js";
316
- import "./chunk-OWSW7EYP.js";
321
+ import "./chunk-JACAHYEN.js";
317
322
  import {
318
323
  requestConsentInteractive,
319
324
  requestConsentOrFail
320
- } from "./chunk-G5NNWEYE.js";
325
+ } from "./chunk-HY2INPTA.js";
321
326
  import "./chunk-57OAHC2Y.js";
322
327
  import {
323
328
  createLoadedSettingsAdapter
324
- } from "./chunk-NKSF7HYF.js";
329
+ } from "./chunk-AG3P2RES.js";
325
330
  import {
326
331
  getExtendedSystemInfo
327
- } from "./chunk-K2B3X3E7.js";
332
+ } from "./chunk-26ISE5EG.js";
328
333
  import {
329
334
  formatDuration,
330
335
  formatRelativeTime,
331
336
  formatTokenCount
332
337
  } from "./chunk-3SH53ANB.js";
333
- import "./chunk-GLWP3FDB.js";
338
+ import "./chunk-MZSJ43WV.js";
334
339
  import "./chunk-XCGIMOLN.js";
335
- import "./chunk-LAAFLUQV.js";
336
- import "./chunk-VWOVHOTT.js";
337
- import "./chunk-EMYZIABH.js";
340
+ import "./chunk-P74TZRXD.js";
341
+ import "./chunk-KJZ26VBX.js";
342
+ import "./chunk-VDS2WYM5.js";
338
343
  import "./chunk-V6WHFGST.js";
339
344
  import "./chunk-DP3IHZGG.js";
340
345
  import "./chunk-6PLDPT2C.js";
341
346
  import "./chunk-FYJ7W2PI.js";
342
347
  import "./chunk-YP5KH5Y7.js";
343
- import "./chunk-24ER7UV4.js";
348
+ import "./chunk-UFALT4LK.js";
344
349
  import "./chunk-ALMR3E6Q.js";
345
350
  import "./chunk-HIBNSEJE.js";
346
351
  import "./chunk-BKHCW2BI.js";
347
352
  import "./chunk-M5GB774H.js";
348
- import "./chunk-XC2VAFVZ.js";
349
- import "./chunk-WUC6ZFXO.js";
350
- import "./chunk-DIEFUBV6.js";
353
+ import "./chunk-UVX4Y6IN.js";
354
+ import "./chunk-ZWBUH5UP.js";
355
+ import "./chunk-DIWZNWZT.js";
351
356
  import "./chunk-UDXSXLER.js";
352
357
  import {
353
358
  loadMcpApprovals
354
- } from "./chunk-3UOLYNTF.js";
359
+ } from "./chunk-4QJJHIZ5.js";
355
360
  import {
356
361
  CORRUPTED_SUFFIX,
357
362
  SettingScope,
@@ -374,7 +379,7 @@ import {
374
379
  settingExistsInScope,
375
380
  validateSettingValue,
376
381
  writeOutputLanguageAndRegisterPath
377
- } from "./chunk-PPUOYL77.js";
382
+ } from "./chunk-77WOUGCA.js";
378
383
  import "./chunk-RKUWKYED.js";
379
384
  import "./chunk-GOXKNSDZ.js";
380
385
  import "./chunk-IDS7MSUP.js";
@@ -383,18 +388,18 @@ import {
383
388
  localizeToolDisplayName,
384
389
  t,
385
390
  ta
386
- } from "./chunk-KHUA3NQV.js";
387
- import "./chunk-RK2EE3T7.js";
388
- import "./chunk-6PEXNQTX.js";
389
- import "./chunk-JE44IPH6.js";
391
+ } from "./chunk-TAOSTUHI.js";
392
+ import "./chunk-KPMB4JEZ.js";
393
+ import "./chunk-ALFTV7GA.js";
394
+ import "./chunk-SDUDZNF4.js";
390
395
  import {
391
396
  getCliVersion
392
- } from "./chunk-YMBOEAF4.js";
397
+ } from "./chunk-Z6W3XDLN.js";
393
398
  import "./chunk-VJNBRRZG.js";
394
399
  import {
395
400
  isWorkspaceTrusted,
396
401
  loadTrustedFolders
397
- } from "./chunk-ACZRB7AD.js";
402
+ } from "./chunk-3ARO4N5G.js";
398
403
  import {
399
404
  require_strip_json_comments
400
405
  } from "./chunk-ALGGS7UH.js";
@@ -447,6 +452,7 @@ import {
447
452
  createInstructionsLoadedCallback,
448
453
  customProvider,
449
454
  detectAutonomousSentinel,
455
+ didWriteProjectContextFile,
450
456
  fetchGitDiff,
451
457
  fetchGitDiffHunks,
452
458
  finalizeToolResponses,
@@ -475,6 +481,7 @@ import {
475
481
  isGatedMcpScope,
476
482
  isSessionRuntimeActive,
477
483
  isSettledStatus,
484
+ isSignalTermination,
478
485
  isSuccessStatus,
479
486
  isTerminalStatus,
480
487
  loadUsageHistory,
@@ -490,6 +497,7 @@ import {
490
497
  readWorktreeSessionMarker,
491
498
  redactUrlCredentials,
492
499
  refreshMemoryAfterManagedWrite,
500
+ refreshMemoryInstruction,
493
501
  resolveBaseUrl,
494
502
  resolveBranchName,
495
503
  resolveMetadataKey,
@@ -503,65 +511,72 @@ import {
503
511
  validateWorkflowName,
504
512
  watchRepoBranch,
505
513
  writeRuntimeStatus
506
- } from "./chunk-A4VTILZT.js";
514
+ } from "./chunk-BFSQBXHV.js";
507
515
  import "./chunk-GOFAQQZA.js";
508
516
  import "./chunk-5M6IDOMF.js";
509
517
  import "./chunk-TWPJO254.js";
510
518
  import "./chunk-H6XPXXMH.js";
511
- import "./chunk-Z7JILXGX.js";
512
- import "./chunk-T5U6IM4C.js";
513
- import "./chunk-TSERKWCX.js";
514
- import "./chunk-33FNCQSY.js";
519
+ import "./chunk-2UUMVNYT.js";
520
+ import "./chunk-MVUQRLOH.js";
521
+ import "./chunk-XCWO3SMQ.js";
522
+ import "./chunk-7MH4J33A.js";
515
523
  import "./chunk-6PVPNMXU.js";
516
524
  import {
517
525
  resolveModelId
518
- } from "./chunk-DIT4V3XH.js";
526
+ } from "./chunk-RGTB44BO.js";
519
527
  import "./chunk-IRH27ZC2.js";
520
528
  import "./chunk-QHWCP53L.js";
521
- import "./chunk-MOHAWIAW.js";
522
- import "./chunk-3PRJYMXC.js";
529
+ import "./chunk-GNPNYXJB.js";
530
+ import "./chunk-HUWENAHO.js";
523
531
  import {
524
532
  promptIdContext
525
533
  } from "./chunk-O6GEWCJA.js";
526
534
  import "./chunk-T26EAKDL.js";
527
535
  import "./chunk-ZPJWUGCS.js";
528
536
  import "./chunk-CPBF7KYF.js";
529
- import "./chunk-4S4OEQ6U.js";
537
+ import "./chunk-J6SZID63.js";
530
538
  import "./chunk-KRXPRVGL.js";
531
539
  import {
532
540
  HOOKS_CONFIG_FIELDS
533
- } from "./chunk-A5YZ3FA2.js";
534
- import "./chunk-YAVY33G4.js";
535
- import "./chunk-2UISUFHQ.js";
541
+ } from "./chunk-GM463R2B.js";
542
+ import "./chunk-SEZ556DZ.js";
543
+ import "./chunk-CJXIIILK.js";
536
544
  import {
537
545
  elapsedActiveTime,
538
546
  goalRequiresExactPermit
539
- } from "./chunk-MBEMTXQT.js";
547
+ } from "./chunk-3K7FH2KQ.js";
548
+ import {
549
+ APPROVAL_MODES
550
+ } from "./chunk-WAUGQKUU.js";
551
+ import "./chunk-REHWPCG2.js";
552
+ import "./chunk-L4N6TIP7.js";
553
+ import "./chunk-SAH4BD2J.js";
540
554
  import {
541
- APPROVAL_MODES,
542
555
  runOutsideAgentContext
543
- } from "./chunk-6WBWIPBF.js";
556
+ } from "./chunk-CPG6P4GG.js";
544
557
  import "./chunk-S6LOFUVP.js";
558
+ import "./chunk-2J3OJGTL.js";
545
559
  import {
546
560
  getStartupContextLength,
547
561
  isSystemReminderContent
548
- } from "./chunk-WVAESIM6.js";
562
+ } from "./chunk-IA7TGCN2.js";
549
563
  import "./chunk-K623ENWT.js";
550
564
  import "./chunk-AQ37AY7B.js";
551
565
  import {
552
566
  isPathWithinRoot
553
- } from "./chunk-432XCUHF.js";
554
- import "./chunk-HU5TUALO.js";
567
+ } from "./chunk-EQL65XGA.js";
555
568
  import {
556
569
  osc8Hyperlink,
557
570
  qwenOAuth2Events,
558
571
  sanitizeForOsc,
559
572
  supportsHyperlinks,
560
573
  wrapForMultiplexer
561
- } from "./chunk-XC656O42.js";
574
+ } from "./chunk-22NBYCPD.js";
562
575
  import "./chunk-NAVJD2PQ.js";
563
- import "./chunk-QYPT3QUD.js";
564
- import "./chunk-QMBEW7EW.js";
576
+ import "./chunk-3ULCB3NE.js";
577
+ import "./chunk-BGG4MBYD.js";
578
+ import "./chunk-P3QQPMQA.js";
579
+ import "./chunk-M6HMMKVG.js";
565
580
  import {
566
581
  REASONING_EFFORT_TIERS
567
582
  } from "./chunk-DGEIYUC3.js";
@@ -569,15 +584,10 @@ import {
569
584
  getUnsupportedImageFormatWarning,
570
585
  isSupportedImageMimeType
571
586
  } from "./chunk-MPHPFVKK.js";
572
- import "./chunk-GLNBDYUX.js";
573
- import "./chunk-DJ2GSRLV.js";
574
- import "./chunk-QZKYZCN3.js";
575
- import "./chunk-MGSSJT27.js";
576
- import "./chunk-2J3OJGTL.js";
577
- import "./chunk-P3QQPMQA.js";
578
- import "./chunk-6O5DVH27.js";
587
+ import "./chunk-AXMWHKXA.js";
579
588
  import "./chunk-GLCZKT5V.js";
580
- import "./chunk-2DNKEBXY.js";
589
+ import "./chunk-DJ2GSRLV.js";
590
+ import "./chunk-EI3HZX6C.js";
581
591
  import {
582
592
  ApiCancelEvent,
583
593
  AuthEvent,
@@ -618,7 +628,7 @@ import {
618
628
  runVisionBridge,
619
629
  shouldRunVisionBridge,
620
630
  splitImageParts
621
- } from "./chunk-PX5DNLSA.js";
631
+ } from "./chunk-XCG76UE6.js";
622
632
  import "./chunk-WOJZWRAZ.js";
623
633
  import "./chunk-VGC4I5JJ.js";
624
634
  import {
@@ -627,25 +637,25 @@ import {
627
637
  getAutoMemoryRoot,
628
638
  getUserAutoMemoryRoot,
629
639
  isAnyAutoMemPath
630
- } from "./chunk-E4WHKETF.js";
631
- import "./chunk-ZPPP6VCL.js";
640
+ } from "./chunk-FVKHVJZQ.js";
641
+ import "./chunk-6ZRFAKXK.js";
632
642
  import {
633
643
  ToolNames,
634
644
  isShellProgressData
635
- } from "./chunk-D7D7RXIJ.js";
645
+ } from "./chunk-PYQADEFD.js";
636
646
  import {
637
647
  MAINLINE_CODER_MODEL
638
- } from "./chunk-BOGOR4HB.js";
648
+ } from "./chunk-P7HUJDBZ.js";
639
649
  import "./chunk-46UV252V.js";
640
650
  import {
641
651
  DEFAULT_TOKEN_LIMIT
642
652
  } from "./chunk-ZBVS26BY.js";
643
- import "./chunk-BFHXDAR7.js";
644
- import "./chunk-TYERNYH4.js";
653
+ import "./chunk-KKBPOU75.js";
654
+ import "./chunk-EUNWC2VS.js";
645
655
  import {
646
656
  atomicWriteFileSync
647
- } from "./chunk-UH7Z7Y45.js";
648
- import "./chunk-5L6CQ4ZU.js";
657
+ } from "./chunk-FOGU3LJX.js";
658
+ import "./chunk-6M26GBKX.js";
649
659
  import "./chunk-W4RQUHY3.js";
650
660
  import "./chunk-LKRMNRSN.js";
651
661
  import {
@@ -659,9 +669,9 @@ import {
659
669
  isNodeError,
660
670
  shortenPath,
661
671
  tildeifyPath
662
- } from "./chunk-3RXUYQJI.js";
672
+ } from "./chunk-OIVKILPI.js";
663
673
  import "./chunk-VOQXFAY5.js";
664
- import "./chunk-VSALQLT7.js";
674
+ import "./chunk-TSYIQDG7.js";
665
675
  import {
666
676
  finalizeStartupProfile,
667
677
  profileCheckpoint
@@ -670,7 +680,7 @@ import "./chunk-Q7YDKOGY.js";
670
680
  import {
671
681
  registerCleanup,
672
682
  runExitCleanup
673
- } from "./chunk-RHTTKJTP.js";
683
+ } from "./chunk-ZQGHESAS.js";
674
684
  import {
675
685
  clearScreen,
676
686
  writeStderrLine,
@@ -2518,10 +2528,11 @@ var VirtualizedListItem = (0, import_react10.memo)(
2518
2528
  const onHeightChangeRef = (0, import_react10.useRef)(onHeightChange);
2519
2529
  onHeightChangeRef.current = onHeightChange;
2520
2530
  (0, import_react10.useLayoutEffect)(() => {
2521
- if (hasMeasured && height > 0) {
2522
- onHeightChangeRef.current(itemKey, height);
2531
+ const measuredHeight = itemRef.current?.yogaNode?.getComputedHeight() ?? height;
2532
+ if (hasMeasured && measuredHeight > 0) {
2533
+ onHeightChangeRef.current(itemKey, measuredHeight);
2523
2534
  }
2524
- }, [itemKey, height, hasMeasured]);
2535
+ }, [itemKey, height, hasMeasured, content]);
2525
2536
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box_default, { width: "100%", flexDirection: "column", flexShrink: 0, ref: itemRef, children: shouldBeStatic ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
2526
2537
  StaticRender,
2527
2538
  {
@@ -2577,12 +2588,28 @@ function VirtualizedList(props, ref) {
2577
2588
  const containerHeight = props.containerHeight ?? measuredContainerHeight;
2578
2589
  const containerWidth = measuredContainerWidth;
2579
2590
  const [heights, setHeights] = (0, import_react10.useState)({});
2591
+ const measureAtFullHeight = props.measureAtFullHeight === true;
2592
+ const [fullHeightMeasurementPending, setFullHeightMeasurementPending] = (0, import_react10.useState)(measureAtFullHeight);
2593
+ const [previousMeasurementInputs, setPreviousMeasurementInputs] = (0, import_react10.useState)({
2594
+ enabled: measureAtFullHeight,
2595
+ data,
2596
+ renderItem
2597
+ });
2598
+ if (previousMeasurementInputs.enabled !== measureAtFullHeight || measureAtFullHeight && (previousMeasurementInputs.data !== data || previousMeasurementInputs.renderItem !== renderItem)) {
2599
+ setPreviousMeasurementInputs({
2600
+ enabled: measureAtFullHeight,
2601
+ data,
2602
+ renderItem
2603
+ });
2604
+ setFullHeightMeasurementPending(measureAtFullHeight);
2605
+ }
2580
2606
  const isInitialScrollSet = (0, import_react10.useRef)(false);
2581
2607
  const onHeightChange = (0, import_react10.useCallback)((key, height) => {
2582
2608
  setHeights((prev) => {
2583
2609
  if (prev[key] === height) return prev;
2584
2610
  return { ...prev, [key]: height };
2585
2611
  });
2612
+ setFullHeightMeasurementPending(false);
2586
2613
  }, []);
2587
2614
  (0, import_react10.useLayoutEffect)(() => {
2588
2615
  setHeights((prev) => {
@@ -3060,7 +3087,7 @@ function VirtualizedList(props, ref) {
3060
3087
  maxScroll,
3061
3088
  scrollbarThumbActive
3062
3089
  ]);
3063
- const rootHeight = props.containerHeight !== void 0 ? Math.min(props.containerHeight, totalHeight) : "100%";
3090
+ const rootHeight = props.containerHeight !== void 0 ? fullHeightMeasurementPending ? props.containerHeight : Math.min(props.containerHeight, totalHeight) : "100%";
3064
3091
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Box_default, { ref: rootRef, width: "100%", height: rootHeight, flexDirection: "row", children: [
3065
3092
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
3066
3093
  Box_default,
@@ -3858,17 +3885,19 @@ var MainContent = /* @__PURE__ */ __name(() => {
3858
3885
  const pendingStateRef = (0, import_react14.useRef)({
3859
3886
  activePtyId: uiState.activePtyId,
3860
3887
  embeddedShellFocused: uiState.embeddedShellFocused,
3861
- isEditorDialogOpen: uiState.isEditorDialogOpen,
3862
- constrainHeight: uiState.constrainHeight,
3863
- availableTerminalHeight
3888
+ isEditorDialogOpen: uiState.isEditorDialogOpen
3864
3889
  });
3865
3890
  pendingStateRef.current = {
3866
3891
  activePtyId: uiState.activePtyId,
3867
3892
  embeddedShellFocused: uiState.embeddedShellFocused,
3868
- isEditorDialogOpen: uiState.isEditorDialogOpen,
3869
- constrainHeight: uiState.constrainHeight,
3870
- availableTerminalHeight
3893
+ isEditorDialogOpen: uiState.isEditorDialogOpen
3871
3894
  };
3895
+ const pendingAvailableTerminalHeight = pendingHistoryItems.length > 0 && uiState.constrainHeight ? availableTerminalHeight : void 0;
3896
+ const hasPendingPlainTextConfirmation = pendingHistoryItems.some(
3897
+ (item) => item.type === "tool_group" && item.tools.some(
3898
+ (tool) => tool.status === "Confirming" /* Confirming */ && tool.confirmationDetails?.type === "info" && tool.confirmationDetails.renderPromptAsPlainText === true
3899
+ )
3900
+ );
3872
3901
  const pendingSourceCopyOffsetsRef = (0, import_react14.useRef)(pendingSourceCopyOffsetsByIndex);
3873
3902
  pendingSourceCopyOffsetsRef.current = pendingSourceCopyOffsetsByIndex;
3874
3903
  const renderVirtualItem = (0, import_react14.useCallback)(
@@ -3889,7 +3918,7 @@ var MainContent = /* @__PURE__ */ __name(() => {
3889
3918
  {
3890
3919
  terminalWidth,
3891
3920
  mainAreaWidth,
3892
- availableTerminalHeight: ps.constrainHeight ? ps.availableTerminalHeight : void 0,
3921
+ availableTerminalHeight: pendingAvailableTerminalHeight,
3893
3922
  item: { ...item, id: 0 },
3894
3923
  isPending: true,
3895
3924
  isFocused: !ps.isEditorDialogOpen,
@@ -3924,7 +3953,8 @@ var MainContent = /* @__PURE__ */ __name(() => {
3924
3953
  staticAreaMaxItemHeight,
3925
3954
  uiState.slashCommands,
3926
3955
  sourceCopyOffsetsByHistoryItem,
3927
- fullDetail
3956
+ fullDetail,
3957
+ pendingAvailableTerminalHeight
3928
3958
  ]
3929
3959
  );
3930
3960
  if (useVirtualScroll) {
@@ -3945,6 +3975,7 @@ var MainContent = /* @__PURE__ */ __name(() => {
3945
3975
  initialScrollIndex: allVirtualItems.length <= 1 ? 0 : SCROLL_TO_ITEM_END,
3946
3976
  isStaticItem: virtualIsStaticItem,
3947
3977
  containerHeight: scrollContainerHeight,
3978
+ measureAtFullHeight: hasPendingPlainTextConfirmation,
3948
3979
  showScrollbar
3949
3980
  }
3950
3981
  ),
@@ -25155,7 +25186,7 @@ function SuggestionsDisplay({
25155
25186
  {
25156
25187
  ...mode === "slash" || suggestion.description ? { width: labelColumnWidth, flexShrink: 0 } : { flexShrink: 1 },
25157
25188
  children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(Box_default, { children: [
25158
- labelElement,
25189
+ /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(Box_default, { flexShrink: 0, children: labelElement }),
25159
25190
  suggestion.argumentHint && /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(Text, { color: theme.text.secondary, children: [
25160
25191
  " ",
25161
25192
  suggestion.argumentHint
@@ -33892,7 +33923,14 @@ function deriveFirstPrompt(messages) {
33892
33923
  }
33893
33924
  __name(deriveFirstPrompt, "deriveFirstPrompt");
33894
33925
  function useBranchCommand(options) {
33895
- const { config, historyManager, startNewSession, setSessionName, remount } = options;
33926
+ const {
33927
+ config,
33928
+ historyManager,
33929
+ startNewSession,
33930
+ clearPendingState,
33931
+ setSessionName,
33932
+ remount
33933
+ } = options;
33896
33934
  const handleBranch = (0, import_react125.useCallback)(
33897
33935
  async (name) => {
33898
33936
  if (!config) return;
@@ -33957,6 +33995,7 @@ function useBranchCommand(options) {
33957
33995
  collapsePreviewCount
33958
33996
  );
33959
33997
  startNewSession(newSessionId);
33998
+ clearPendingState?.();
33960
33999
  historyManager.clearItems();
33961
34000
  historyManager.loadHistory(uiHistoryItems);
33962
34001
  uiSwapped = true;
@@ -34016,6 +34055,7 @@ function useBranchCommand(options) {
34016
34055
  config,
34017
34056
  historyManager,
34018
34057
  startNewSession,
34058
+ clearPendingState,
34019
34059
  setSessionName,
34020
34060
  remount,
34021
34061
  options.settings.merged.ui?.history?.collapseOnResume,
@@ -34049,6 +34089,7 @@ function useResumeCommand(options) {
34049
34089
  settings,
34050
34090
  historyManager,
34051
34091
  startNewSession,
34092
+ clearPendingState,
34052
34093
  setSessionName,
34053
34094
  remount
34054
34095
  } = options;
@@ -34113,6 +34154,7 @@ function useResumeCommand(options) {
34113
34154
  }
34114
34155
  startNewSession(sessionId);
34115
34156
  setSessionName?.(customTitle ?? null);
34157
+ clearPendingState?.();
34116
34158
  clearItems();
34117
34159
  loadHistory(uiHistoryItems);
34118
34160
  if (recoveredBackgroundAgentsNotice) {
@@ -34157,6 +34199,7 @@ function useResumeCommand(options) {
34157
34199
  clearItems,
34158
34200
  loadHistory,
34159
34201
  startNewSession,
34202
+ clearPendingState,
34160
34203
  setSessionName,
34161
34204
  remount,
34162
34205
  settings.merged.ui?.history?.collapseOnResume,
@@ -34661,11 +34704,13 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
34661
34704
  addItem,
34662
34705
  clear: /* @__PURE__ */ __name(() => {
34663
34706
  cancelBtw();
34707
+ actions.clearPendingState();
34664
34708
  clearItems();
34665
34709
  clearScreen();
34666
34710
  refreshStatic();
34667
34711
  setSessionName?.(null);
34668
34712
  }, "clear"),
34713
+ clearPendingState: actions.clearPendingState,
34669
34714
  loadHistory,
34670
34715
  refreshStatic,
34671
34716
  setDebugMessage: actions.setDebugMessage,
@@ -35004,6 +35049,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
35004
35049
  const combinedContent = [];
35005
35050
  let firstModelOverride;
35006
35051
  const onCompleteCallbacks = [];
35052
+ let refreshContextFilesOnWrite = false;
35007
35053
  for (const skill of stackedResult.skills) {
35008
35054
  if (!skill.action) continue;
35009
35055
  const skillContext = {
@@ -35018,6 +35064,9 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
35018
35064
  if (skillResult?.type === "submit_prompt") {
35019
35065
  combinedContent.push(skillResult.content);
35020
35066
  firstModelOverride ??= skillResult.modelOverride;
35067
+ refreshContextFilesOnWrite ||= Boolean(
35068
+ skillResult.refreshContextFilesOnWrite
35069
+ );
35021
35070
  if (skillResult.onComplete) {
35022
35071
  onCompleteCallbacks.push(skillResult.onComplete);
35023
35072
  }
@@ -35058,6 +35107,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
35058
35107
  type: "submit_prompt",
35059
35108
  content: mergedContent,
35060
35109
  ...firstModelOverride ? { modelOverride: firstModelOverride } : {},
35110
+ ...refreshContextFilesOnWrite ? { refreshContextFilesOnWrite: true } : {},
35061
35111
  ...onCompleteCallbacks.length ? {
35062
35112
  onComplete: /* @__PURE__ */ __name(async () => {
35063
35113
  for (const cb of onCompleteCallbacks) await cb();
@@ -35355,7 +35405,8 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
35355
35405
  type: "submit_prompt",
35356
35406
  content,
35357
35407
  onComplete: result.onComplete,
35358
- modelOverride: result.modelOverride
35408
+ modelOverride: result.modelOverride,
35409
+ refreshContextFilesOnWrite: result.refreshContextFilesOnWrite
35359
35410
  };
35360
35411
  }
35361
35412
  case "confirm_shell_commands": {
@@ -35839,7 +35890,7 @@ ${finalOutput}`;
35839
35890
  finalStatus = "Canceled" /* Canceled */;
35840
35891
  finalOutput = `Command was cancelled.
35841
35892
  ${finalOutput}`;
35842
- } else if (result2.signal) {
35893
+ } else if (isSignalTermination(result2.signal)) {
35843
35894
  finalStatus = "Error" /* Error */;
35844
35895
  finalOutput = `Command terminated by signal: ${result2.signal}.
35845
35896
  ${finalOutput}`;
@@ -36158,8 +36209,9 @@ function mapToDisplay(toolOrTools, projectRoot) {
36158
36209
  projectRoot
36159
36210
  ) : void 0
36160
36211
  };
36212
+ const inlineImageCollection = trackedCall.status === "success" || trackedCall.status === "error" || trackedCall.status === "cancelled" ? collectInlineImages(trackedCall.response.responseParts) : null;
36161
36213
  switch (trackedCall.status) {
36162
- case "success":
36214
+ case "success": {
36163
36215
  return {
36164
36216
  ...baseDisplayProperties,
36165
36217
  status: mapCoreStatusToDisplayStatus(trackedCall.status),
@@ -36179,9 +36231,15 @@ function mapToDisplay(toolOrTools, projectRoot) {
36179
36231
  // that the renderer would never use. Mirrors ToolMessage's
36180
36232
  // `usingDetailedDisplay` gate, which also keys off the display name.
36181
36233
  detailedDisplay: isCollapsibleTool(displayName) ? getToolResponseDisplayText(trackedCall.response.responseParts) : void 0,
36234
+ ...inlineImageCollection?.images.length ? { images: inlineImageCollection.images } : {},
36235
+ ...inlineImageCollection?.omittedImageCount ? {
36236
+ omittedImageCount: inlineImageCollection.omittedImageCount
36237
+ } : {},
36182
36238
  confirmationDetails: void 0
36183
36239
  };
36240
+ }
36184
36241
  case "error":
36242
+ case "cancelled": {
36185
36243
  return {
36186
36244
  ...baseDisplayProperties,
36187
36245
  status: mapCoreStatusToDisplayStatus(trackedCall.status),
@@ -36191,20 +36249,13 @@ function mapToDisplay(toolOrTools, projectRoot) {
36191
36249
  ...trackedCall.response.visionBridgeNotice !== void 0 ? {
36192
36250
  visionBridgeNotice: trackedCall.response.visionBridgeNotice
36193
36251
  } : {},
36194
- confirmationDetails: void 0
36195
- };
36196
- case "cancelled":
36197
- return {
36198
- ...baseDisplayProperties,
36199
- status: mapCoreStatusToDisplayStatus(trackedCall.status),
36200
- resultDisplay: compactToolResultDisplayForHistory(
36201
- trackedCall.response.resultDisplay
36202
- ),
36203
- ...trackedCall.response.visionBridgeNotice !== void 0 ? {
36204
- visionBridgeNotice: trackedCall.response.visionBridgeNotice
36252
+ ...inlineImageCollection?.images.length ? { images: inlineImageCollection.images } : {},
36253
+ ...inlineImageCollection?.omittedImageCount ? {
36254
+ omittedImageCount: inlineImageCollection.omittedImageCount
36205
36255
  } : {},
36206
36256
  confirmationDetails: void 0
36207
36257
  };
36258
+ }
36208
36259
  case "awaiting_approval":
36209
36260
  return {
36210
36261
  ...baseDisplayProperties,
@@ -36749,6 +36800,40 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36749
36800
  }, [history]);
36750
36801
  const auxiliaryAbortRefsRef = (0, import_react135.useRef)(/* @__PURE__ */ new Set());
36751
36802
  const [pendingHistoryItem, pendingHistoryItemRef, setPendingHistoryItem] = useStateAndRef(null);
36803
+ const [
36804
+ pendingAssistantItems,
36805
+ pendingAssistantItemsRef,
36806
+ setPendingAssistantItems
36807
+ ] = useStateAndRef([]);
36808
+ const commitPendingAssistantItems = (0, import_react135.useCallback)(
36809
+ (userMessageTimestamp) => {
36810
+ const items = pendingAssistantItemsRef.current;
36811
+ if (items.length === 0) {
36812
+ return;
36813
+ }
36814
+ for (const item of items) {
36815
+ commitItem(item, userMessageTimestamp);
36816
+ }
36817
+ setPendingAssistantItems([]);
36818
+ },
36819
+ [commitItem, pendingAssistantItemsRef, setPendingAssistantItems]
36820
+ );
36821
+ const commitItemInOrder = (0, import_react135.useCallback)(
36822
+ (item, userMessageTimestamp) => {
36823
+ commitPendingAssistantItems(userMessageTimestamp);
36824
+ return commitItem(item, userMessageTimestamp);
36825
+ },
36826
+ [commitItem, commitPendingAssistantItems]
36827
+ );
36828
+ const stagePendingAssistantItem = (0, import_react135.useCallback)(() => {
36829
+ const item = pendingHistoryItemRef.current;
36830
+ if (item?.type !== "gemini" && item?.type !== "gemini_content") {
36831
+ return false;
36832
+ }
36833
+ setPendingAssistantItems((items) => [...items, item]);
36834
+ setPendingHistoryItem(null);
36835
+ return true;
36836
+ }, [pendingHistoryItemRef, setPendingAssistantItems, setPendingHistoryItem]);
36752
36837
  const [pendingThoughtItem, pendingThoughtItemRef, setPendingThoughtItem] = useStateAndRef(null);
36753
36838
  const thoughtStartTimeRef = (0, import_react135.useRef)(null);
36754
36839
  const [
@@ -36761,11 +36846,21 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36761
36846
  pendingRetryCountdownItemRef,
36762
36847
  setPendingRetryCountdownItem
36763
36848
  ] = useStateAndRef(null);
36849
+ const clearPendingState = (0, import_react135.useCallback)(() => {
36850
+ setPendingAssistantItems([]);
36851
+ setPendingHistoryItem(null);
36852
+ setPendingRetryErrorItem(null);
36853
+ }, [
36854
+ setPendingAssistantItems,
36855
+ setPendingHistoryItem,
36856
+ setPendingRetryErrorItem
36857
+ ]);
36764
36858
  const retryCountdownTimerRef = (0, import_react135.useRef)(
36765
36859
  null
36766
36860
  );
36767
36861
  const processedMemoryToolsRef = (0, import_react135.useRef)(/* @__PURE__ */ new Set());
36768
36862
  const submitPromptOnCompleteRef = (0, import_react135.useRef)(null);
36863
+ const refreshContextFilesOnWriteRef = (0, import_react135.useRef)(false);
36769
36864
  const modelOverrideRef = (0, import_react135.useRef)(void 0);
36770
36865
  const inlineModelOverrideActiveRef = (0, import_react135.useRef)(false);
36771
36866
  const canUseToolResultFullTurnModel = (0, import_react135.useCallback)((model) => {
@@ -36964,7 +37059,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36964
37059
  );
36965
37060
  logApiCancel(config, cancellationEvent);
36966
37061
  if (pendingHistoryItemRef.current) {
36967
- commitItem(pendingHistoryItemRef.current, Date.now());
37062
+ commitItemInOrder(pendingHistoryItemRef.current, Date.now());
36968
37063
  }
36969
37064
  addItem(
36970
37065
  {
@@ -36999,7 +37094,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36999
37094
  }, [
37000
37095
  streamingState,
37001
37096
  addItem,
37002
- commitItem,
37097
+ commitItemInOrder,
37003
37098
  setPendingHistoryItem,
37004
37099
  onCancelSubmit,
37005
37100
  pendingHistoryItemRef,
@@ -37121,6 +37216,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37121
37216
  case "submit_prompt": {
37122
37217
  localQueryToSendToGemini = slashCommandResult.content;
37123
37218
  submitPromptOnCompleteRef.current = slashCommandResult.onComplete ?? null;
37219
+ refreshContextFilesOnWriteRef.current = Boolean(
37220
+ slashCommandResult.refreshContextFilesOnWrite
37221
+ );
37124
37222
  if (slashCommandResult.modelOverride) {
37125
37223
  if (isInlineModelOverrideAllowed(
37126
37224
  config,
@@ -37232,7 +37330,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37232
37330
  ]
37233
37331
  );
37234
37332
  const handleContentEvent = (0, import_react135.useCallback)(
37235
- (eventValue, currentGeminiMessageBuffer, userMessageTimestamp) => {
37333
+ (eventValue, currentGeminiMessageBuffer, userMessageTimestamp, startAsContinuation = false) => {
37236
37334
  if (turnCancelledRef.current) {
37237
37335
  return "";
37238
37336
  }
@@ -37240,21 +37338,29 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37240
37338
  setIsReceivingContent(true);
37241
37339
  turnSawContentEventRef.current = true;
37242
37340
  let newGeminiMessageBuffer = currentGeminiMessageBuffer + eventValue;
37341
+ const pendingItem = pendingHistoryItemRef.current;
37342
+ if ((pendingItem?.type === "gemini" || pendingItem?.type === "gemini_content") && (pendingItem.images?.length || pendingItem.omittedImageCount)) {
37343
+ if (newGeminiMessageBuffer.trim().length === 0) {
37344
+ return newGeminiMessageBuffer;
37345
+ }
37346
+ stagePendingAssistantItem();
37347
+ }
37243
37348
  if (pendingHistoryItemRef.current?.type !== "gemini" && pendingHistoryItemRef.current?.type !== "gemini_content") {
37244
37349
  if (newGeminiMessageBuffer.trim().length === 0) {
37245
37350
  return newGeminiMessageBuffer;
37246
37351
  }
37247
37352
  if (pendingHistoryItemRef.current) {
37248
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37353
+ commitItemInOrder(
37354
+ pendingHistoryItemRef.current,
37355
+ userMessageTimestamp
37356
+ );
37249
37357
  }
37250
- setPendingHistoryItem({
37251
- type: "gemini",
37252
- text: "",
37253
- timestamp: Date.now()
37254
- });
37358
+ setPendingHistoryItem(
37359
+ startAsContinuation ? { type: "gemini_content", text: "" } : { type: "gemini", text: "", timestamp: Date.now() }
37360
+ );
37255
37361
  newGeminiMessageBuffer = stripLeadingBlankLines(newGeminiMessageBuffer);
37256
37362
  }
37257
- let nextPendingType = pendingHistoryItemRef.current?.type;
37363
+ let nextPendingType = pendingHistoryItemRef.current?.type === "gemini_content" ? "gemini_content" : pendingHistoryItemRef.current?.type === "gemini" ? "gemini" : startAsContinuation ? "gemini_content" : "gemini";
37258
37364
  while (newGeminiMessageBuffer.length > STREAM_PENDING_ITEM_MAX_CHARS) {
37259
37365
  const splitPoint = findLastSafeSplitPoint(
37260
37366
  newGeminiMessageBuffer,
@@ -37265,7 +37371,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37265
37371
  newGeminiMessageBuffer,
37266
37372
  safeSplitPoint
37267
37373
  );
37268
- commitItem(
37374
+ commitItemInOrder(
37269
37375
  {
37270
37376
  type: nextPendingType,
37271
37377
  text: beforeText
@@ -37324,7 +37430,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37324
37430
  newGeminiMessageBuffer,
37325
37431
  splitPoint
37326
37432
  );
37327
- commitItem(
37433
+ commitItemInOrder(
37328
37434
  {
37329
37435
  type: nextPendingType,
37330
37436
  text: beforeText
@@ -37347,9 +37453,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37347
37453
  return newGeminiMessageBuffer;
37348
37454
  },
37349
37455
  [
37350
- commitItem,
37456
+ commitItemInOrder,
37351
37457
  pendingHistoryItemRef,
37352
37458
  setPendingHistoryItem,
37459
+ stagePendingAssistantItem,
37353
37460
  terminalWidth,
37354
37461
  terminalHeight,
37355
37462
  availableTerminalHeightRef,
@@ -37479,7 +37586,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37479
37586
  };
37480
37587
  addItem(pendingItem, userMessageTimestamp);
37481
37588
  } else {
37482
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37589
+ commitItemInOrder(
37590
+ pendingHistoryItemRef.current,
37591
+ userMessageTimestamp
37592
+ );
37483
37593
  }
37484
37594
  setPendingHistoryItem(null);
37485
37595
  }
@@ -37494,7 +37604,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37494
37604
  [
37495
37605
  addItem,
37496
37606
  commitPendingThought,
37497
- commitItem,
37607
+ commitItemInOrder,
37498
37608
  pendingHistoryItemRef,
37499
37609
  setPendingHistoryItem,
37500
37610
  setThought,
@@ -37510,7 +37620,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37510
37620
  }
37511
37621
  commitPendingThought(userMessageTimestamp);
37512
37622
  if (pendingHistoryItemRef.current) {
37513
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37623
+ commitItemInOrder(pendingHistoryItemRef.current, userMessageTimestamp);
37514
37624
  setPendingHistoryItem(null);
37515
37625
  }
37516
37626
  const isShowingAutoRetry = retryCountdownTimerRef.current !== null;
@@ -37539,7 +37649,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37539
37649
  },
37540
37650
  [
37541
37651
  commitPendingThought,
37542
- commitItem,
37652
+ commitItemInOrder,
37543
37653
  pendingHistoryItemRef,
37544
37654
  setPendingHistoryItem,
37545
37655
  setPendingRetryErrorItem,
@@ -37554,14 +37664,14 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37554
37664
  return;
37555
37665
  }
37556
37666
  if (pendingHistoryItemRef.current) {
37557
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37667
+ commitItemInOrder(pendingHistoryItemRef.current, userMessageTimestamp);
37558
37668
  setPendingHistoryItem(null);
37559
37669
  }
37560
37670
  addItem({ type: "info" /* INFO */, text }, userMessageTimestamp);
37561
37671
  },
37562
37672
  [
37563
37673
  addItem,
37564
- commitItem,
37674
+ commitItemInOrder,
37565
37675
  pendingHistoryItemRef,
37566
37676
  setPendingHistoryItem,
37567
37677
  settings
@@ -37613,7 +37723,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37613
37723
  (eventValue, userMessageTimestamp) => {
37614
37724
  autonomousLoopTickResolverRef.current?.resetCache();
37615
37725
  if (pendingHistoryItemRef.current) {
37616
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37726
+ commitItemInOrder(pendingHistoryItemRef.current, userMessageTimestamp);
37617
37727
  setPendingHistoryItem(null);
37618
37728
  }
37619
37729
  const activeModel = modelOverrideRef.current ?? config.getModel();
@@ -37628,7 +37738,13 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37628
37738
  Date.now()
37629
37739
  );
37630
37740
  },
37631
- [addItem, commitItem, config, pendingHistoryItemRef, setPendingHistoryItem]
37741
+ [
37742
+ addItem,
37743
+ commitItemInOrder,
37744
+ config,
37745
+ pendingHistoryItemRef,
37746
+ setPendingHistoryItem
37747
+ ]
37632
37748
  );
37633
37749
  const handleMaxSessionTurnsEvent = (0, import_react135.useCallback)(
37634
37750
  () => addItem(
@@ -37687,7 +37803,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37687
37803
  const handleUserPromptSubmitBlockedEvent = (0, import_react135.useCallback)(
37688
37804
  (value, userMessageTimestamp) => {
37689
37805
  if (pendingHistoryItemRef.current) {
37690
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37806
+ commitItemInOrder(pendingHistoryItemRef.current, userMessageTimestamp);
37691
37807
  setPendingHistoryItem(null);
37692
37808
  }
37693
37809
  addItem(
@@ -37699,12 +37815,12 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37699
37815
  userMessageTimestamp
37700
37816
  );
37701
37817
  },
37702
- [addItem, commitItem, pendingHistoryItemRef, setPendingHistoryItem]
37818
+ [addItem, commitItemInOrder, pendingHistoryItemRef, setPendingHistoryItem]
37703
37819
  );
37704
37820
  const handleStopHookLoopEvent = (0, import_react135.useCallback)(
37705
37821
  (value, userMessageTimestamp) => {
37706
37822
  if (pendingHistoryItemRef.current) {
37707
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
37823
+ commitItemInOrder(pendingHistoryItemRef.current, userMessageTimestamp);
37708
37824
  setPendingHistoryItem(null);
37709
37825
  }
37710
37826
  addItem(
@@ -37717,13 +37833,21 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37717
37833
  userMessageTimestamp
37718
37834
  );
37719
37835
  },
37720
- [addItem, commitItem, pendingHistoryItemRef, setPendingHistoryItem]
37836
+ [addItem, commitItemInOrder, pendingHistoryItemRef, setPendingHistoryItem]
37721
37837
  );
37722
37838
  const processGeminiStreamEvents = (0, import_react135.useCallback)(
37723
37839
  async (stream, userMessageTimestamp, signal, submitType, turnAdmission) => {
37724
37840
  let geminiMessageBuffer = "";
37725
37841
  let thoughtBuffer = "";
37726
37842
  let scheduledToolContinuation = false;
37843
+ let assistantOutputStarted = pendingHistoryItemRef.current?.type === "gemini" || pendingHistoryItemRef.current?.type === "gemini_content";
37844
+ let assistantInlineImageCount = [
37845
+ ...pendingAssistantItemsRef.current,
37846
+ pendingHistoryItemRef.current
37847
+ ].reduce(
37848
+ (count, item) => item?.type === "gemini" || item?.type === "gemini_content" ? count + (item.images?.length ?? 0) : count,
37849
+ 0
37850
+ );
37727
37851
  const toolCallRequests = [];
37728
37852
  const bufferedEvents = [];
37729
37853
  let flushTimer = null;
@@ -37756,8 +37880,59 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37756
37880
  geminiMessageBuffer = handleContentEvent(
37757
37881
  contentParts.join(""),
37758
37882
  geminiMessageBuffer,
37759
- userMessageTimestamp
37883
+ userMessageTimestamp,
37884
+ assistantOutputStarted
37760
37885
  );
37886
+ if (contentParts.some((part) => part.trim().length > 0)) {
37887
+ assistantOutputStarted = true;
37888
+ }
37889
+ continue;
37890
+ }
37891
+ if (nextEvent.kind === "image") {
37892
+ if (turnCancelledRef.current) {
37893
+ continue;
37894
+ }
37895
+ setIsReceivingContent(true);
37896
+ turnSawContentEventRef.current = true;
37897
+ const pendingItem = pendingHistoryItemRef.current;
37898
+ const isOverflowOnlyItem = (pendingItem?.type === "gemini" || pendingItem?.type === "gemini_content") && pendingItem.text.length === 0 && !pendingItem.images?.length && Boolean(pendingItem.omittedImageCount);
37899
+ const shouldDisplayImage = assistantInlineImageCount < MAX_INLINE_IMAGES_PER_ITEM;
37900
+ if (!shouldDisplayImage && isOverflowOnlyItem) {
37901
+ setPendingHistoryItem({
37902
+ ...pendingItem,
37903
+ omittedImageCount: (pendingItem.omittedImageCount ?? 0) + 1
37904
+ });
37905
+ geminiMessageBuffer = "";
37906
+ assistantOutputStarted = true;
37907
+ continue;
37908
+ }
37909
+ if (pendingHistoryItemRef.current) {
37910
+ if (!stagePendingAssistantItem()) {
37911
+ commitItemInOrder(
37912
+ pendingHistoryItemRef.current,
37913
+ userMessageTimestamp
37914
+ );
37915
+ setPendingHistoryItem(null);
37916
+ }
37917
+ }
37918
+ geminiMessageBuffer = "";
37919
+ if (shouldDisplayImage) {
37920
+ setPendingHistoryItem({
37921
+ type: assistantOutputStarted ? "gemini_content" : "gemini",
37922
+ text: "",
37923
+ images: [nextEvent.value],
37924
+ ...!assistantOutputStarted ? { timestamp: Date.now() } : {}
37925
+ });
37926
+ assistantInlineImageCount++;
37927
+ } else {
37928
+ setPendingHistoryItem({
37929
+ type: assistantOutputStarted ? "gemini_content" : "gemini",
37930
+ text: "",
37931
+ omittedImageCount: 1,
37932
+ ...!assistantOutputStarted ? { timestamp: Date.now() } : {}
37933
+ });
37934
+ }
37935
+ assistantOutputStarted = true;
37761
37936
  continue;
37762
37937
  }
37763
37938
  let subject = nextEvent.value.subject;
@@ -37808,16 +37983,31 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37808
37983
  scheduleBufferedStreamFlush();
37809
37984
  }
37810
37985
  break;
37811
- case "content" /* Content */:
37986
+ case "content" /* Content */: {
37812
37987
  if (pendingThoughtItemRef.current || bufferedEvents.some((e) => e.kind === "thought")) {
37813
37988
  flushBufferedStreamEvents();
37814
37989
  commitPendingThought(userMessageTimestamp);
37815
37990
  thoughtBuffer = "";
37816
37991
  }
37817
37992
  setThought((prev) => prev ? null : prev);
37818
- bufferedEvents.push({ kind: "content", value: event.value });
37993
+ const displayParts = event.parts ?? [{ text: event.value }];
37994
+ for (const part of displayParts) {
37995
+ if ("text" in part) {
37996
+ if (part.text.length > 0) {
37997
+ bufferedEvents.push({ kind: "content", value: part.text });
37998
+ }
37999
+ } else {
38000
+ const image = getInlineImageData({
38001
+ inlineData: part.inlineData
38002
+ });
38003
+ if (image) {
38004
+ bufferedEvents.push({ kind: "image", value: image });
38005
+ }
38006
+ }
38007
+ }
37819
38008
  scheduleBufferedStreamFlush();
37820
38009
  break;
38010
+ }
37821
38011
  case "tool_call_request" /* ToolCallRequest */:
37822
38012
  flushBufferedStreamEvents();
37823
38013
  commitPendingThought(userMessageTimestamp);
@@ -37853,6 +38043,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37853
38043
  case "chat_compressed" /* ChatCompressed */:
37854
38044
  flushBufferedStreamEvents();
37855
38045
  handleChatCompressionEvent(event.value, userMessageTimestamp);
38046
+ geminiMessageBuffer = "";
38047
+ assistantOutputStarted = false;
37856
38048
  break;
37857
38049
  case "tool_call_confirmation" /* ToolCallConfirmation */:
37858
38050
  case "tool_call_response" /* ToolCallResponse */:
@@ -37860,30 +38052,57 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37860
38052
  break;
37861
38053
  case "max_session_turns" /* MaxSessionTurns */:
37862
38054
  flushBufferedStreamEvents();
38055
+ if (pendingHistoryItemRef.current) {
38056
+ commitItemInOrder(
38057
+ pendingHistoryItemRef.current,
38058
+ userMessageTimestamp
38059
+ );
38060
+ setPendingHistoryItem(null);
38061
+ }
37863
38062
  handleMaxSessionTurnsEvent();
38063
+ geminiMessageBuffer = "";
38064
+ assistantOutputStarted = false;
37864
38065
  break;
37865
38066
  case "session_token_limit_exceeded" /* SessionTokenLimitExceeded */:
37866
38067
  flushBufferedStreamEvents();
38068
+ if (pendingHistoryItemRef.current) {
38069
+ commitItemInOrder(
38070
+ pendingHistoryItemRef.current,
38071
+ userMessageTimestamp
38072
+ );
38073
+ setPendingHistoryItem(null);
38074
+ }
37867
38075
  handleSessionTokenLimitExceededEvent(event.value);
38076
+ geminiMessageBuffer = "";
38077
+ assistantOutputStarted = false;
37868
38078
  break;
37869
38079
  case "finished" /* Finished */:
37870
38080
  flushBufferedStreamEvents();
37871
38081
  commitPendingThought(userMessageTimestamp);
37872
- handleFinishedEvent(
37873
- event,
37874
- userMessageTimestamp
37875
- );
37876
38082
  if (pendingHistoryItemRef.current) {
37877
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
38083
+ commitItemInOrder(
38084
+ pendingHistoryItemRef.current,
38085
+ userMessageTimestamp
38086
+ );
37878
38087
  setPendingHistoryItem(null);
37879
38088
  }
37880
38089
  geminiMessageBuffer = "";
37881
38090
  thoughtBuffer = "";
38091
+ assistantOutputStarted = false;
38092
+ assistantInlineImageCount = 0;
37882
38093
  setThought(null);
38094
+ handleFinishedEvent(
38095
+ event,
38096
+ userMessageTimestamp
38097
+ );
37883
38098
  break;
37884
38099
  case "citation" /* Citation */:
37885
38100
  flushBufferedStreamEvents();
37886
38101
  handleCitationEvent(event.value, userMessageTimestamp);
38102
+ if (showCitations(settings)) {
38103
+ geminiMessageBuffer = "";
38104
+ assistantOutputStarted = false;
38105
+ }
37887
38106
  break;
37888
38107
  case "loop_detected" /* LoopDetected */:
37889
38108
  flushBufferedStreamEvents();
@@ -37892,6 +38111,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37892
38111
  case "retry" /* Retry */:
37893
38112
  if (!event.isContinuation) {
37894
38113
  discardBufferedStreamEvents();
38114
+ setPendingAssistantItems([]);
37895
38115
  if (pendingHistoryItemRef.current) {
37896
38116
  setPendingHistoryItem(null);
37897
38117
  }
@@ -37899,6 +38119,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37899
38119
  thoughtBuffer = "";
37900
38120
  setThought(null);
37901
38121
  geminiMessageBuffer = "";
38122
+ assistantOutputStarted = false;
38123
+ assistantInlineImageCount = 0;
37902
38124
  } else {
37903
38125
  flushBufferedStreamEvents();
37904
38126
  }
@@ -37911,6 +38133,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37911
38133
  break;
37912
38134
  case "model_fallback" /* ModelFallback */: {
37913
38135
  discardBufferedStreamEvents();
38136
+ setPendingAssistantItems([]);
37914
38137
  if (pendingHistoryItemRef.current) {
37915
38138
  setPendingHistoryItem(null);
37916
38139
  }
@@ -37918,6 +38141,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37918
38141
  thoughtBuffer = "";
37919
38142
  setThought(null);
37920
38143
  geminiMessageBuffer = "";
38144
+ assistantOutputStarted = false;
38145
+ assistantInlineImageCount = 0;
37921
38146
  toolCallRequests.length = 0;
37922
38147
  clearRetryCountdown();
37923
38148
  const fromModel = sanitizeDisplayText(event.fromModel) ?? "(unknown)";
@@ -37934,7 +38159,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37934
38159
  case "hook_system_message" /* HookSystemMessage */:
37935
38160
  flushBufferedStreamEvents();
37936
38161
  if (pendingHistoryItemRef.current) {
37937
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
38162
+ commitItemInOrder(
38163
+ pendingHistoryItemRef.current,
38164
+ userMessageTimestamp
38165
+ );
37938
38166
  setPendingHistoryItem(null);
37939
38167
  }
37940
38168
  addItem(
@@ -37944,6 +38172,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37944
38172
  },
37945
38173
  userMessageTimestamp
37946
38174
  );
38175
+ geminiMessageBuffer = "";
38176
+ assistantOutputStarted = false;
37947
38177
  break;
37948
38178
  case "user_prompt_submit_blocked" /* UserPromptSubmitBlocked */:
37949
38179
  flushBufferedStreamEvents();
@@ -37951,10 +38181,14 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37951
38181
  event.value,
37952
38182
  userMessageTimestamp
37953
38183
  );
38184
+ geminiMessageBuffer = "";
38185
+ assistantOutputStarted = false;
37954
38186
  break;
37955
38187
  case "stop_hook_loop" /* StopHookLoop */:
37956
38188
  flushBufferedStreamEvents();
37957
38189
  handleStopHookLoopEvent(event.value, userMessageTimestamp);
38190
+ geminiMessageBuffer = "";
38191
+ assistantOutputStarted = false;
37958
38192
  break;
37959
38193
  case "active_goal" /* ActiveGoal */:
37960
38194
  break;
@@ -37962,7 +38196,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37962
38196
  if (event.cause && shouldDisplayGoalStateCause(event.cause)) {
37963
38197
  flushBufferedStreamEvents();
37964
38198
  if (pendingHistoryItemRef.current) {
37965
- commitItem(
38199
+ commitItemInOrder(
37966
38200
  pendingHistoryItemRef.current,
37967
38201
  userMessageTimestamp
37968
38202
  );
@@ -37976,6 +38210,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37976
38210
  },
37977
38211
  userMessageTimestamp
37978
38212
  );
38213
+ geminiMessageBuffer = "";
38214
+ assistantOutputStarted = false;
37979
38215
  }
37980
38216
  break;
37981
38217
  default: {
@@ -38082,18 +38318,22 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38082
38318
  handleMaxSessionTurnsEvent,
38083
38319
  handleSessionTokenLimitExceededEvent,
38084
38320
  handleCitationEvent,
38321
+ settings,
38085
38322
  startRetryCountdown,
38086
38323
  clearRetryCountdown,
38087
38324
  setThought,
38088
38325
  commitPendingThought,
38089
38326
  pendingHistoryItemRef,
38327
+ pendingAssistantItemsRef,
38090
38328
  pendingThoughtItemRef,
38091
38329
  setPendingHistoryItem,
38092
38330
  handleUserPromptSubmitBlockedEvent,
38093
38331
  handleStopHookLoopEvent,
38094
38332
  bindGoalTurn,
38095
38333
  addItem,
38096
- commitItem,
38334
+ commitItemInOrder,
38335
+ stagePendingAssistantItem,
38336
+ setPendingAssistantItems,
38097
38337
  dualOutput
38098
38338
  ]
38099
38339
  );
@@ -38349,8 +38589,26 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38349
38589
  duplicateProviderToolCallResponseIdsRef.current.clear();
38350
38590
  pendingDuplicateToolResponsesRef.current = [];
38351
38591
  immediateDuplicateToolResponsesRef.current = null;
38592
+ if (submitType !== "retry" /* Retry */ && submitType !== "notification" /* Notification */ && submitType !== "goal" /* Goal */) {
38593
+ refreshContextFilesOnWriteRef.current = false;
38594
+ }
38352
38595
  }
38353
38596
  const userMessageTimestamp = Date.now();
38597
+ if (submitType === "retry" /* Retry */) {
38598
+ setPendingAssistantItems([]);
38599
+ const pendingItem = pendingHistoryItemRef.current;
38600
+ if (pendingItem?.type === "gemini" || pendingItem?.type === "gemini_content") {
38601
+ setPendingHistoryItem(null);
38602
+ }
38603
+ } else if (!isTurnContinuation && !allowConcurrentBtwDuringResponse) {
38604
+ const pendingItem = pendingHistoryItemRef.current;
38605
+ if (pendingItem?.type === "gemini" || pendingItem?.type === "gemini_content") {
38606
+ commitItemInOrder(pendingItem, userMessageTimestamp);
38607
+ setPendingHistoryItem(null);
38608
+ } else {
38609
+ commitPendingAssistantItems(userMessageTimestamp);
38610
+ }
38611
+ }
38354
38612
  if (!isTurnContinuation && submitType !== "notification" /* Notification */ && submitType !== "goal" /* Goal */ && !allowConcurrentBtwDuringResponse) {
38355
38613
  setModelSwitchedFromQuotaError(false);
38356
38614
  const droppingInlineOverrideOnRetry = submitType === "retry" /* Retry */ && inlineModelOverrideActiveRef.current;
@@ -38568,7 +38826,10 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38568
38826
  return;
38569
38827
  }
38570
38828
  if (pendingHistoryItemRef.current) {
38571
- commitItem(pendingHistoryItemRef.current, userMessageTimestamp);
38829
+ commitItemInOrder(
38830
+ pendingHistoryItemRef.current,
38831
+ userMessageTimestamp
38832
+ );
38572
38833
  setPendingHistoryItem(null);
38573
38834
  }
38574
38835
  const immediateDuplicateToolResponses = immediateDuplicateToolResponsesRef.current;
@@ -38723,7 +38984,9 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38723
38984
  processGeminiStreamEvents,
38724
38985
  pendingHistoryItemRef,
38725
38986
  addItem,
38726
- commitItem,
38987
+ commitPendingAssistantItems,
38988
+ commitItemInOrder,
38989
+ setPendingAssistantItems,
38727
38990
  setPendingHistoryItem,
38728
38991
  setInitError,
38729
38992
  geminiClient,
@@ -38946,15 +39209,35 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38946
39209
  "runtime"
38947
39210
  );
38948
39211
  }
38949
- const didRefreshManagedMemory = await refreshMemoryAfterManagedWrite(
38950
- config,
38951
- completedAndReadyToSubmitTools.map((toolCall) => ({
39212
+ const memoryWriteCandidates = completedAndReadyToSubmitTools.map(
39213
+ (toolCall) => ({
38952
39214
  toolName: toolCall.request.name,
38953
39215
  args: toolCall.request.args,
38954
39216
  status: toolCall.status
38955
- })),
39217
+ })
39218
+ );
39219
+ const didRefreshManagedMemory = await refreshMemoryAfterManagedWrite(
39220
+ config,
39221
+ memoryWriteCandidates,
38956
39222
  { logContext: "interactive memory tool batch" }
38957
39223
  );
39224
+ if (refreshContextFilesOnWriteRef.current) {
39225
+ const matchedContextFileWrite = didWriteProjectContextFile(
39226
+ memoryWriteCandidates,
39227
+ config.getProjectRoot()
39228
+ );
39229
+ debugLogger36.debug(
39230
+ `Checked marked context-file memory tool batch; matched=${matchedContextFileWrite}`
39231
+ );
39232
+ if (matchedContextFileWrite) {
39233
+ debugLogger36.debug(
39234
+ "Refreshing memory after context-file memory write"
39235
+ );
39236
+ await refreshMemoryInstruction(config, {
39237
+ logContext: "interactive context-file memory tool batch"
39238
+ });
39239
+ }
39240
+ }
38958
39241
  if (newSuccessfulMemorySaves.length > 0) {
38959
39242
  if (!didRefreshManagedMemory) {
38960
39243
  void performMemoryRefresh().catch((err) => {
@@ -39309,6 +39592,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39309
39592
  () => [
39310
39593
  // Reasoning renders above the streaming answer.
39311
39594
  pendingThoughtItem,
39595
+ ...pendingAssistantItems,
39312
39596
  pendingHistoryItem,
39313
39597
  pendingRetryErrorItem,
39314
39598
  pendingRetryCountdownItem,
@@ -39316,6 +39600,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39316
39600
  ].filter((i) => i !== void 0 && i !== null),
39317
39601
  [
39318
39602
  pendingThoughtItem,
39603
+ pendingAssistantItems,
39319
39604
  pendingHistoryItem,
39320
39605
  pendingRetryErrorItem,
39321
39606
  pendingRetryCountdownItem,
@@ -39718,6 +40003,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39718
40003
  submitQuery,
39719
40004
  initError,
39720
40005
  pendingHistoryItems,
40006
+ clearPendingState,
39721
40007
  thought,
39722
40008
  cancelOngoingRequest,
39723
40009
  preemptGoalTurn,
@@ -43739,6 +44025,12 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43739
44025
  );
43740
44026
  });
43741
44027
  }, [addHistoryItem, config]);
44028
+ const clearPendingStateRef = (0, import_react161.useRef)(() => {
44029
+ });
44030
+ const clearPendingStateFromRef = (0, import_react161.useCallback)(
44031
+ () => clearPendingStateRef.current(),
44032
+ []
44033
+ );
43742
44034
  const {
43743
44035
  isResumeDialogOpen,
43744
44036
  resumeMatchedSessions,
@@ -43750,6 +44042,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43750
44042
  settings,
43751
44043
  historyManager,
43752
44044
  startNewSession,
44045
+ clearPendingState: clearPendingStateFromRef,
43753
44046
  setSessionName,
43754
44047
  remount: refreshStatic
43755
44048
  });
@@ -43758,6 +44051,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43758
44051
  settings,
43759
44052
  historyManager,
43760
44053
  startNewSession,
44054
+ clearPendingState: clearPendingStateFromRef,
43761
44055
  setSessionName,
43762
44056
  remount: refreshStatic
43763
44057
  });
@@ -43922,7 +44216,8 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
43922
44216
  handleResume,
43923
44217
  handleBranch,
43924
44218
  openDeleteDialog,
43925
- openHelpDialog
44219
+ openHelpDialog,
44220
+ clearPendingState: /* @__PURE__ */ __name(() => clearPendingStateRef.current(), "clearPendingState")
43926
44221
  }),
43927
44222
  [
43928
44223
  openAuthDialog,
@@ -44154,6 +44449,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44154
44449
  submitQuery,
44155
44450
  initError,
44156
44451
  pendingHistoryItems: pendingGeminiHistoryItems,
44452
+ clearPendingState,
44157
44453
  thought,
44158
44454
  cancelOngoingRequest,
44159
44455
  preemptGoalTurn,
@@ -44192,6 +44488,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44192
44488
  goalQueueRef
44193
44489
  );
44194
44490
  cancelOngoingRequestRef.current = cancelOngoingRequest;
44491
+ clearPendingStateRef.current = clearPendingState;
44195
44492
  isIdleRef.current = streamingState === "idle" /* Idle */;
44196
44493
  (0, import_react161.useEffect)(() => {
44197
44494
  if (streamingState === "idle" /* Idle */) {
@@ -44762,6 +45059,7 @@ ${currentText}` : popped.modelText
44762
45059
  ]
44763
45060
  );
44764
45061
  const handleClearScreen = (0, import_react161.useCallback)(() => {
45062
+ clearPendingStateRef.current();
44765
45063
  historyManager.clearItems();
44766
45064
  clearScreen();
44767
45065
  remountStaticHistory();
@@ -45179,6 +45477,7 @@ ${currentText}` : popped.modelText
45179
45477
  const truncatedUi = expandCollapsedHistory(
45180
45478
  originalHistory.filter((h) => h.id < userItem.id)
45181
45479
  );
45480
+ clearPendingStateRef.current();
45182
45481
  historyManager.loadHistory(truncatedUi);
45183
45482
  refreshStatic();
45184
45483
  if (userItem.type === "user" && userItem.text) {