@qwen-code/qwen-code 0.20.0-nightly.20260721.cda0e0348 → 0.20.0-preview.0

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 (328) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  2. package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
  3. package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
  4. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  5. package/bundled/review/DESIGN.md +2 -2
  6. package/bundled/review/SKILL.md +4 -4
  7. package/chunks/{MaxSizedBox-EE76OHAP.js → MaxSizedBox-53BTJ3JK.js} +41 -34
  8. package/chunks/{StandaloneSessionPicker-WZH4PC3K.js → StandaloneSessionPicker-VMFIXQ44.js} +57 -50
  9. package/chunks/{acpAgent-2ATF4LMP.js → acpAgent-5WYAVSFG.js} +1135 -428
  10. package/chunks/{agent-KTOOFWMV.js → agent-44FM7PBX.js} +37 -30
  11. package/chunks/agent-headless-CDBMKM44.js +68 -0
  12. package/chunks/{anthropicContentGenerator-W4JLNYWQ.js → anthropicContentGenerator-NMSS7IMV.js} +13 -12
  13. package/chunks/{artifact-tool-WBCAMD3O.js → artifact-tool-56T5IMBP.js} +3 -3
  14. package/chunks/{askUserQuestion-6DZC4UV5.js → askUserQuestion-E25OBIC2.js} +3 -3
  15. package/chunks/{bridge-T4TLAZSJ.js → bridge-IQZT3KU2.js} +42 -35
  16. package/chunks/{build-SSCNEHZZ.js → build-GHIZ4MSZ.js} +1 -1
  17. package/chunks/{ca-ISKASTR5.js → ca-N6VVUFVB.js} +5 -1
  18. package/chunks/{channel-worker-group-QZV2SP5U.js → channel-worker-group-LFBT7K64.js} +3 -3
  19. package/chunks/{channel-worker-manager-3GMAU45H.js → channel-worker-manager-3RUPERG2.js} +3 -3
  20. package/chunks/{channel-worker-supervisor-QCXSXCRY.js → channel-worker-supervisor-A3KVATD3.js} +2 -2
  21. package/chunks/{chunk-OV2KB55J.js → chunk-22OH7L7I.js} +5 -5
  22. package/chunks/chunk-2RFKHEXL.js +74 -0
  23. package/chunks/{chunk-KRI4VCHX.js → chunk-45AIVIUL.js} +9 -9
  24. package/chunks/{chunk-2GFRA3MN.js → chunk-45DNGJKC.js} +3 -3
  25. package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
  26. package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
  27. package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
  28. package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
  29. package/chunks/{chunk-6EFTQYW7.js → chunk-5I5BM454.js} +1 -1
  30. package/chunks/{chunk-JR6UJ24K.js → chunk-5JX7FPHW.js} +2 -2
  31. package/chunks/{chunk-25Y6JSH2.js → chunk-5MZSD2JX.js} +6 -6
  32. package/chunks/{chunk-GPILFVPY.js → chunk-66RKDODM.js} +1 -1
  33. package/chunks/{chunk-L4YSPHR4.js → chunk-6AWRQ4T2.js} +8 -6
  34. package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
  35. package/chunks/{chunk-JQMBPGOU.js → chunk-6NHK6HS7.js} +3 -3
  36. package/chunks/{chunk-EDMGFJ3E.js → chunk-6OHCY3OB.js} +2 -2
  37. package/chunks/chunk-6PVPNMXU.js +29 -0
  38. package/chunks/{chunk-NO6XTCYT.js → chunk-6RQ5IPUX.js} +18366 -16879
  39. package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
  40. package/chunks/chunk-7362QS5B.js +2256 -0
  41. package/chunks/{chunk-USTF7LPI.js → chunk-7KZ2KYAD.js} +27 -23
  42. package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
  43. package/chunks/{chunk-ABIL4ZQU.js → chunk-A7CUSHP7.js} +1 -1
  44. package/chunks/{chunk-246TW4IX.js → chunk-BEKZWVJJ.js} +3 -373
  45. package/chunks/{chunk-LC5CAVMS.js → chunk-BKZEHVPV.js} +171 -169
  46. package/chunks/{chunk-4CWPMWCD.js → chunk-BRHHXGWL.js} +6 -4
  47. package/chunks/{chunk-AY3CSB6F.js → chunk-BXXWWCLA.js} +4 -4
  48. package/chunks/{chunk-G45NOBV7.js → chunk-C3YZ5CLY.js} +7 -6
  49. package/chunks/{chunk-XCHUDLER.js → chunk-CHLNJN3C.js} +1 -1
  50. package/chunks/{chunk-JRW46GQX.js → chunk-CJTAUXKG.js} +3 -3
  51. package/chunks/{chunk-KTNIZG2C.js → chunk-CMRYLH67.js} +2 -2
  52. package/chunks/{chunk-WQQDJE2P.js → chunk-DKZISEDB.js} +54 -51
  53. package/chunks/{chunk-2ITGJJE2.js → chunk-DORJSBMF.js} +6 -6
  54. package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
  55. package/chunks/{chunk-7KGXAXF7.js → chunk-E5MVGARW.js} +1 -1
  56. package/chunks/{chunk-FYA3Y5JR.js → chunk-EJFHUF3D.js} +5 -5
  57. package/chunks/{chunk-CG2HPAVD.js → chunk-EPN5MKRH.js} +2 -2
  58. package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
  59. package/chunks/chunk-FMXMKPI5.js +1780 -0
  60. package/chunks/{chunk-FEOZBUMT.js → chunk-FODK6UMO.js} +0 -27
  61. package/chunks/{chunk-DZZIOIVF.js → chunk-FSXCGBXB.js} +1 -1
  62. package/chunks/chunk-GLNBDYUX.js +38 -0
  63. package/chunks/{chunk-6MC5ASQK.js → chunk-GOWMC4CS.js} +4 -4
  64. package/chunks/{chunk-OONJNQ42.js → chunk-GPSKDNEE.js} +3 -3
  65. package/chunks/{chunk-W3BKN3LO.js → chunk-GZBHRTNM.js} +1 -1
  66. package/chunks/{chunk-XVVH63JG.js → chunk-H4AR2JQF.js} +3 -3
  67. package/chunks/{chunk-LWQ4IAOJ.js → chunk-H4OWOFZL.js} +2 -2
  68. package/chunks/chunk-HTR4WV6U.js +327 -0
  69. package/chunks/{chunk-IYZENXFW.js → chunk-IE7TPOXP.js} +1 -1
  70. package/chunks/{chunk-R3VZNHRX.js → chunk-IT27F3ES.js} +290 -80
  71. package/chunks/{chunk-5JX5EWR5.js → chunk-J3VSRG5Y.js} +61 -21
  72. package/chunks/{chunk-R5N7NF5D.js → chunk-J63IP5ZT.js} +7 -7
  73. package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
  74. package/chunks/{chunk-U4VGYZN7.js → chunk-JD5FHQ3N.js} +3 -3
  75. package/chunks/{chunk-5WG2K5RH.js → chunk-JIHHXJFH.js} +90 -31
  76. package/chunks/{chunk-AWVS63WA.js → chunk-JJEFX6U5.js} +28 -1766
  77. package/chunks/{chunk-5PZ6R37W.js → chunk-JT7HACMQ.js} +2 -2
  78. package/chunks/{chunk-2GOPPEHK.js → chunk-JWJVZHT5.js} +2 -2
  79. package/chunks/{chunk-FZVSFBNW.js → chunk-JYS55H6Z.js} +41 -1
  80. package/chunks/{chunk-6DHWO5ZF.js → chunk-K4VB66QF.js} +11 -11
  81. package/chunks/{chunk-EIAK6Q2B.js → chunk-KHOVYUHX.js} +2 -2
  82. package/chunks/{chunk-2CWOJ2FA.js → chunk-KNTYRZD4.js} +8 -8
  83. package/chunks/{chunk-ACW3VNUE.js → chunk-KQQ757OQ.js} +1 -1
  84. package/chunks/chunk-KWK7UE6L.js +6194 -0
  85. package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
  86. package/chunks/{chunk-4RA7PWIY.js → chunk-LMQNDPVP.js} +3 -3
  87. package/chunks/chunk-M7WBGLYP.js +151 -0
  88. package/chunks/chunk-NABLFI57.js +82 -0
  89. package/chunks/{chunk-EZVDJFZ7.js → chunk-NPQDJGKU.js} +1 -1
  90. package/chunks/{chunk-GH7OEOYU.js → chunk-NYPUWHHC.js} +4 -4
  91. package/chunks/{chunk-DMRO4GU2.js → chunk-OAGG6CRR.js} +1 -1
  92. package/chunks/chunk-OQ5SYCPE.js +10017 -0
  93. package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
  94. package/chunks/chunk-OZYV6F53.js +391 -0
  95. package/chunks/{chunk-EAUYY7SS.js → chunk-Q2YKNMLS.js} +3 -3
  96. package/chunks/{chunk-PYNCSQSI.js → chunk-Q6DEGTYO.js} +50 -1493
  97. package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
  98. package/chunks/{chunk-32F7BZSK.js → chunk-QD6BRERJ.js} +2 -2
  99. package/chunks/{chunk-6RVJRVQR.js → chunk-QF4DPYPH.js} +1 -1
  100. package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
  101. package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
  102. package/chunks/{chunk-XZOBDSDG.js → chunk-QTROYZUC.js} +83 -39
  103. package/chunks/{chunk-BWK3FX3K.js → chunk-RAUHV362.js} +3 -3
  104. package/chunks/{chunk-JPRLCXAO.js → chunk-RUNR5DAE.js} +4 -4
  105. package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
  106. package/chunks/{chunk-E5QFCC4X.js → chunk-RWCQJC5W.js} +51 -35
  107. package/chunks/{chunk-BUKOHGBE.js → chunk-S4BT3PX3.js} +3 -3
  108. package/chunks/{chunk-PFKNXN67.js → chunk-SOMSZ6W3.js} +13 -8
  109. package/chunks/{chunk-JNWZQ27S.js → chunk-SP5WRGVG.js} +3 -3
  110. package/chunks/{chunk-FSL5W5TI.js → chunk-T2L47JJK.js} +3 -3
  111. package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
  112. package/chunks/chunk-TJQXJJX7.js +121 -0
  113. package/chunks/chunk-U7ZFW55U.js +2098 -0
  114. package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
  115. package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
  116. package/chunks/{chunk-WRRF6TEQ.js → chunk-VHYCUGOT.js} +5 -1
  117. package/chunks/{chunk-LLDGOZMJ.js → chunk-VI7UU7ZI.js} +4 -4
  118. package/chunks/{chunk-IM2A6YO3.js → chunk-VLBJ7ZUG.js} +1 -1
  119. package/chunks/{chunk-CUJX3F4X.js → chunk-VTKWURCJ.js} +5 -5
  120. package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
  121. package/chunks/chunk-WHGVTP7Q.js +1049 -0
  122. package/chunks/{chunk-5YVZ2XLV.js → chunk-X6KLM4LZ.js} +8 -8
  123. package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
  124. package/chunks/{chunk-B452RETY.js → chunk-XFWD3PCA.js} +1 -1
  125. package/chunks/chunk-XHATNRQA.js +1500 -0
  126. package/chunks/{chunk-YGIUIIIF.js → chunk-XP32LURS.js} +3 -3
  127. package/chunks/{chunk-FCUUJKZF.js → chunk-YDLVKCZJ.js} +496 -278
  128. package/chunks/{chunk-OP4MOGXF.js → chunk-YM3SZTH4.js} +8 -1
  129. package/chunks/{chunk-GKY2OJ7R.js → chunk-ZHERRXZJ.js} +1 -1
  130. package/chunks/chunk-ZJVVETCV.js +20600 -0
  131. package/chunks/{computer-use-M6MGRJF2.js → computer-use-FMEBQMCB.js} +42 -35
  132. package/chunks/{config-utils-MOGE4EVB.js → config-utils-WYUQ7II4.js} +1 -1
  133. package/chunks/contextCommand-5YK3QNNJ.js +73 -0
  134. package/chunks/{create-sub-session-P26FE5GG.js → create-sub-session-AZ77LBL3.js} +3 -3
  135. package/chunks/{create-sub-session-MB35IHCR.js → create-sub-session-MLELTOCW.js} +37 -30
  136. package/chunks/{cron-create-JWFHBDRQ.js → cron-create-KTWJM7QT.js} +5 -5
  137. package/chunks/{cron-delete-GDX4E26G.js → cron-delete-2P3I5ULL.js} +5 -5
  138. package/chunks/{cron-list-USMAIWPT.js → cron-list-PXDPGEDQ.js} +5 -5
  139. package/chunks/daemon-status-provider-FXMOD242.js +81 -0
  140. package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
  141. package/chunks/{dist-VGJTZL4E.js → dist-XRYV6TJP.js} +32 -3
  142. package/chunks/{earlyInputCapture-7QJX25AC.js → earlyInputCapture-N3J42S2G.js} +38 -31
  143. package/chunks/{edit-BTPQWGAA.js → edit-T6GO7VPW.js} +42 -37
  144. package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
  145. package/chunks/{enter-worktree-N3SEYKOO.js → enter-worktree-OL3FMR3A.js} +42 -35
  146. package/chunks/{enterPlanMode-TN2JV5MY.js → enterPlanMode-LEP7BSBX.js} +42 -35
  147. package/chunks/{environment-HP6RK262.js → environment-6LNBH2LJ.js} +39 -32
  148. package/chunks/{errors-VHGRDDOQ.js → errors-IM3H4DNG.js} +39 -32
  149. package/chunks/{exit-worktree-FI3SQY3U.js → exit-worktree-6MOANJMY.js} +42 -35
  150. package/chunks/{exitPlanMode-NZWRVIIY.js → exitPlanMode-VLBSWDJK.js} +42 -35
  151. package/chunks/{fast-path-EGP7AXNR.js → fast-path-3Z3JY4BL.js} +3 -3
  152. package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-XB3CPUJT.js} +2 -2
  153. package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
  154. package/chunks/{gemini-AN5YMD5O.js → gemini-VDE6O6CX.js} +89 -82
  155. package/chunks/{geminiContentGenerator-ABTMU4FE.js → geminiContentGenerator-NN4ZWALY.js} +5 -5
  156. package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
  157. package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
  158. package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
  159. package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
  160. package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
  161. package/chunks/{glob-5YABOPJB.js → glob-7AZHIY3Z.js} +42 -35
  162. package/chunks/{grep-U67FKUJT.js → grep-E2KEORSD.js} +42 -35
  163. package/chunks/handleAutoUpdate-BCNVTQWW.js +74 -0
  164. package/chunks/{i18n-GMQV324P.js → i18n-VP4NCTZN.js} +38 -31
  165. package/chunks/initializer-5UB4SRPK.js +79 -0
  166. package/chunks/installationInfo-LNYJCXN3.js +73 -0
  167. package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
  168. package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
  169. package/chunks/list-NIZ77KPE.js +82 -0
  170. package/chunks/loadedSettingsAdapter-IQPRO2SO.js +76 -0
  171. package/chunks/{loop-wakeup-5GLTUBHA.js → loop-wakeup-RNMRVA66.js} +6 -6
  172. package/chunks/{ls-FHBY3Y7I.js → ls-J2ZI5XYK.js} +5 -5
  173. package/chunks/{lsp-B6VMEW6Y.js → lsp-UMS3NUB5.js} +3 -3
  174. package/chunks/managed-npm-update-GFRDCD77.js +333 -0
  175. package/chunks/mcp-TCUL7LT2.js +76 -0
  176. package/chunks/{monitor-Z7NZNNRC.js → monitor-NDYKU5VS.js} +42 -35
  177. package/chunks/nonInteractiveCli-UHSHJDFD.js +133 -0
  178. package/chunks/{notebook-edit-GFOYAQAZ.js → notebook-edit-GF3HSMXN.js} +43 -38
  179. package/chunks/{openaiContentGenerator-XAAYV6WR.js → openaiContentGenerator-GE2I3C2T.js} +22 -17
  180. package/chunks/{pidfile-ILI37KRQ.js → pidfile-KS4IGGNX.js} +38 -31
  181. package/chunks/{processUtils-LIPJMLVZ.js → processUtils-TEQQ47A2.js} +2 -2
  182. package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
  183. package/chunks/{qwenContentGenerator-DLJ3KKGZ.js → qwenContentGenerator-NDYOEIUY.js} +44 -35
  184. package/chunks/{qwenOAuth2-J47FU5PW.js → qwenOAuth2-CXDOBPSK.js} +18 -15
  185. package/chunks/{read-file-LCQ2KNNP.js → read-file-QDVJX75S.js} +13 -11
  186. package/chunks/{read-mcp-resource-AKCL7I43.js → read-mcp-resource-F6HYMDUY.js} +3 -3
  187. package/chunks/{record-artifact-PEUB7727.js → record-artifact-7GCFLDD7.js} +3 -3
  188. package/chunks/{resumeHistoryUtils-PSCSAKA6.js → resumeHistoryUtils-5EAQ76W4.js} +43 -36
  189. package/chunks/ripGrep-WANMXNVT.js +66 -0
  190. package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
  191. package/chunks/{run-qwen-serve-DQ5ZIR36.js → run-qwen-serve-TC6M3WTJ.js} +85 -80
  192. package/chunks/{runtime-6MQFF2A6.js → runtime-BB73E3Z3.js} +45 -38
  193. package/chunks/{scheduler-K4S7NY3G.js → scheduler-NDU5OFSJ.js} +37 -30
  194. package/chunks/sdk-exporters-grpc-ETLH47EP.js +23214 -0
  195. package/chunks/sdk-exporters-http-T3POX73F.js +563 -0
  196. package/chunks/sdk-impl-NSLPDH6I.js +9193 -0
  197. package/chunks/{send-message-3RHE7HSM.js → send-message-PYIJ2PZL.js} +6 -4
  198. package/chunks/{serve-JFAAPC5J.js → serve-BTIRWZJ4.js} +43 -36
  199. package/chunks/{server-QB6CHRZN.js → server-JKAQBE2E.js} +277 -208
  200. package/chunks/{session-FKPVXAAB.js → session-66QFVVDS.js} +81 -74
  201. package/chunks/{settings-CADELKSU.js → settings-NBN6GY7E.js} +46 -39
  202. package/chunks/{shell-EON6WVVH.js → shell-JDSLAQVH.js} +37 -30
  203. package/chunks/{skill-FKSYXJ5U.js → skill-TNMHTO3C.js} +24 -20
  204. package/chunks/{spawnChannel-VM5IHLJO.js → spawnChannel-TFLHHXOC.js} +39 -32
  205. package/chunks/{src-Q4XB6SVD.js → src-YFXMPRBL.js} +254 -210
  206. package/chunks/{standalone-update-KGZHPBMA.js → standalone-update-2CQVQRSC.js} +39 -32
  207. package/chunks/{startInteractiveUI-EYDJIIIZ.js → startInteractiveUI-6C6PENRW.js} +370 -266
  208. package/chunks/{syntheticOutput-FG5PQKIR.js → syntheticOutput-H7RTI5KL.js} +4 -4
  209. package/chunks/{task-create-HX32YXO7.js → task-create-7474AJJD.js} +10 -8
  210. package/chunks/{task-list-QWSY4ZIU.js → task-list-633HGOIB.js} +6 -6
  211. package/chunks/{task-stop-GWC6UWAL.js → task-stop-MNUGHPIA.js} +3 -3
  212. package/chunks/{task-update-NCTAB73Q.js → task-update-66GQB5LI.js} +10 -8
  213. package/chunks/{team-create-CYP3YKYT.js → team-create-IPBHD26Z.js} +42 -35
  214. package/chunks/{team-delete-KK37HTOG.js → team-delete-BB3CG3QF.js} +6 -6
  215. package/chunks/{team-plan-approval-5LXIFKNV.js → team-plan-approval-WIGEJXXM.js} +42 -35
  216. package/chunks/theme-manager-OZYKJG3W.js +70 -0
  217. package/chunks/{todoWrite-ERCAMLFS.js → todoWrite-KRAUN54W.js} +5 -5
  218. package/chunks/{tool-search-Q27QHQU3.js → tool-search-J3CBYJRB.js} +21 -17
  219. package/chunks/total-session-admission-CNBQRM44.js +76 -0
  220. package/chunks/{trustedFolders-C6664IQC.js → trustedFolders-5FJRCHGN.js} +38 -31
  221. package/chunks/{update-relaunch-QC3E4FZW.js → update-relaunch-S5APSFJS.js} +13 -13
  222. package/chunks/{updateCheck-MVUKJMBX.js → updateCheck-BPSMOZXS.js} +46 -34
  223. package/chunks/{useAutoAcceptIndicator-J234IFIS.js → useAutoAcceptIndicator-WZVJ52U3.js} +47 -40
  224. package/chunks/{validateNonInterActiveAuth-YPPEKX4N.js → validateNonInterActiveAuth-64SVMELJ.js} +75 -68
  225. package/chunks/{version-5IXFQ4PT.js → version-SQL27GUA.js} +1 -1
  226. package/chunks/{web-fetch-L62NQVKN.js → web-fetch-K7QCHIOJ.js} +100 -41
  227. package/chunks/web-search-KQPQFM7A.js +731 -0
  228. package/chunks/{workflow-6MHBBFQU.js → workflow-BFTW72A5.js} +47 -39
  229. package/chunks/workspace-providers-status-4PLI2VFC.js +79 -0
  230. package/chunks/{workspace-registration-store-P6QHCSMU.js → workspace-registration-store-VAVPVIF3.js} +2 -2
  231. package/chunks/workspace-registry-I4ZRHGBS.js +80 -0
  232. package/chunks/workspace-service-RXYBWBDJ.js +91 -0
  233. package/chunks/workspace-skills-status-35Z2FU4I.js +78 -0
  234. package/chunks/write-file-KCL5RI2I.js +66 -0
  235. package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-BM47YBFH.js} +5 -1
  236. package/chunks/{zh-6ANG2HTL.js → zh-WY5DWYZD.js} +5 -1
  237. package/cli-entry.js +164 -12
  238. package/cli.js +18 -11
  239. package/locales/ca.js +10 -3
  240. package/locales/de.js +8 -2
  241. package/locales/en.js +8 -2
  242. package/locales/fr.js +8 -2
  243. package/locales/ja.js +8 -2
  244. package/locales/pt.js +8 -2
  245. package/locales/ru.js +8 -2
  246. package/locales/zh-TW.js +8 -2
  247. package/locales/zh.js +8 -2
  248. package/package.json +3 -3
  249. package/web-shell/assets/{arc-B0iTWRo2.js → arc-ByltRugA.js} +1 -1
  250. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DSQP4-9D.js → architectureDiagram-3BPJPVTR-CCRTto5d.js} +1 -1
  251. package/web-shell/assets/{blockDiagram-GPEHLZMM-BNPVXVT3.js → blockDiagram-GPEHLZMM-Jfy36u1L.js} +1 -1
  252. package/web-shell/assets/{c4Diagram-AAUBKEIU-DEHfJFiD.js → c4Diagram-AAUBKEIU-4d5FfEZ0.js} +1 -1
  253. package/web-shell/assets/channel-4N2UIFcG.js +1 -0
  254. package/web-shell/assets/{chunk-2J33WTMH-VZ0uL1p9.js → chunk-2J33WTMH-BPwxCEro.js} +1 -1
  255. package/web-shell/assets/{chunk-4BX2VUAB-D5TKmvwG.js → chunk-4BX2VUAB-jY7ZmJWY.js} +1 -1
  256. package/web-shell/assets/{chunk-55IACEB6-BDW1Lcq-.js → chunk-55IACEB6-C98HgCsS.js} +1 -1
  257. package/web-shell/assets/{chunk-727SXJPM-Cj4h85iM.js → chunk-727SXJPM-cDu-ge-q.js} +1 -1
  258. package/web-shell/assets/{chunk-AQP2D5EJ-5LeqiOhZ.js → chunk-AQP2D5EJ-BKdJwxXK.js} +1 -1
  259. package/web-shell/assets/{chunk-FMBD7UC4-BaTgsco7.js → chunk-FMBD7UC4-DnuxqwMu.js} +1 -1
  260. package/web-shell/assets/{chunk-ND2GUHAM-t3uGlIUk.js → chunk-ND2GUHAM-C4fZNPv0.js} +1 -1
  261. package/web-shell/assets/{chunk-QZHKN3VN-rOnNXL2Q.js → chunk-QZHKN3VN-Cf4XWOmz.js} +1 -1
  262. package/web-shell/assets/classDiagram-4FO5ZUOK-Q4dYOtsh.js +1 -0
  263. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Q4dYOtsh.js +1 -0
  264. package/web-shell/assets/{cose-bilkent-S5V4N54A-CcqXykgA.js → cose-bilkent-S5V4N54A-C82mFiqj.js} +1 -1
  265. package/web-shell/assets/{dagre-BM42HDAG-Dkjrchoy.js → dagre-BM42HDAG-Df8KACER.js} +1 -1
  266. package/web-shell/assets/{diagram-2AECGRRQ-B6lcra9M.js → diagram-2AECGRRQ-EzNs7s_2.js} +1 -1
  267. package/web-shell/assets/{diagram-5GNKFQAL-bAIzq3PT.js → diagram-5GNKFQAL-BRLNvreg.js} +1 -1
  268. package/web-shell/assets/{diagram-KO2AKTUF-G9MAZDNW.js → diagram-KO2AKTUF-2HLYHRjC.js} +1 -1
  269. package/web-shell/assets/{diagram-LMA3HP47-DVLF1uWZ.js → diagram-LMA3HP47-DeH0NzSp.js} +1 -1
  270. package/web-shell/assets/{diagram-OG6HWLK6-Cf7y20Tc.js → diagram-OG6HWLK6-k5Gn47-G.js} +1 -1
  271. package/web-shell/assets/{erDiagram-TEJ5UH35-C7ETZB3o.js → erDiagram-TEJ5UH35-gPHFo79f.js} +1 -1
  272. package/web-shell/assets/{flowDiagram-I6XJVG4X-Cl2xgL6J.js → flowDiagram-I6XJVG4X-DYBOiTRW.js} +1 -1
  273. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgjbMs3q.js → ganttDiagram-6RSMTGT7-cxjAuic9.js} +1 -1
  274. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-JVX34Omm.js → gitGraphDiagram-PVQCEYII-3nPqpmCP.js} +1 -1
  275. package/web-shell/assets/index-B7jzUZ_s.css +5 -0
  276. package/web-shell/assets/{index-BG7Zc4f_.js → index-Cl8d-1bK.js} +1 -1
  277. package/web-shell/assets/index-gE8OWwj_.js +1197 -0
  278. package/web-shell/assets/{infoDiagram-5YYISTIA-3NYyMeZU.js → infoDiagram-5YYISTIA-Dph21pR5.js} +1 -1
  279. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C03VCu-U.js → ishikawaDiagram-YF4QCWOH-Cjg1hSaG.js} +1 -1
  280. package/web-shell/assets/{journeyDiagram-JHISSGLW-C9PuBRZW.js → journeyDiagram-JHISSGLW-CR-IzvnU.js} +1 -1
  281. package/web-shell/assets/{kanban-definition-UN3LZRKU-C3LvioWR.js → kanban-definition-UN3LZRKU-BYmuybuC.js} +1 -1
  282. package/web-shell/assets/{linear-Du6Yw8N_.js → linear-CngEEoy8.js} +1 -1
  283. package/web-shell/assets/{mermaid.core-BXY5D2-X.js → mermaid.core-G6fbZRPf.js} +5 -5
  284. package/web-shell/assets/{mindmap-definition-RKZ34NQL-2UrHLaDp.js → mindmap-definition-RKZ34NQL-BtnqnUwJ.js} +1 -1
  285. package/web-shell/assets/{pieDiagram-4H26LBE5-dC03ml45.js → pieDiagram-4H26LBE5-XTq6UHIA.js} +1 -1
  286. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CD6jARrp.js → quadrantDiagram-W4KKPZXB-D1J5PrsS.js} +1 -1
  287. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BrK8aXfv.js → requirementDiagram-4Y6WPE33-CLcBUy3t.js} +1 -1
  288. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-B5Vitki_.js → sankeyDiagram-5OEKKPKP-iwKV02_6.js} +1 -1
  289. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CBy2t6Bo.js → sequenceDiagram-3UESZ5HK-7NFYQcEX.js} +1 -1
  290. package/web-shell/assets/{stateDiagram-AJRCARHV-Enrka6T2.js → stateDiagram-AJRCARHV-Bvm4Wih6.js} +1 -1
  291. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-xXU_zO2Z.js +1 -0
  292. package/web-shell/assets/{timeline-definition-PNZ67QCA-CwFq78ss.js → timeline-definition-PNZ67QCA-B4FZFE9O.js} +1 -1
  293. package/web-shell/assets/{vennDiagram-CIIHVFJN-BkOidM0g.js → vennDiagram-CIIHVFJN-CvMBpmtL.js} +1 -1
  294. package/web-shell/assets/{wardley-L42UT6IY-D_j13hQW.js → wardley-L42UT6IY-E3ag2327.js} +1 -1
  295. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-7EveB1w6.js → wardleyDiagram-YWT4CUSO-BEXWlgxC.js} +1 -1
  296. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DRkBhMXr.js → xychartDiagram-2RQKCTM6-CICK05gI.js} +1 -1
  297. package/web-shell/index.html +2 -2
  298. package/chunks/agent-headless-WVJCQ27D.js +0 -61
  299. package/chunks/chunk-CPCVCKKF.js +0 -358
  300. package/chunks/chunk-P64HXIC5.js +0 -74712
  301. package/chunks/chunk-RF34V75B.js +0 -45
  302. package/chunks/chunk-W7FJ3N32.js +0 -49
  303. package/chunks/contextCommand-HTRJJYNE.js +0 -66
  304. package/chunks/daemon-status-provider-67EKK6S3.js +0 -74
  305. package/chunks/handleAutoUpdate-OOKBP5VD.js +0 -67
  306. package/chunks/initializer-NWALZGQ5.js +0 -72
  307. package/chunks/installationInfo-Y3M433E7.js +0 -66
  308. package/chunks/list-CQDDWHTS.js +0 -75
  309. package/chunks/loadedSettingsAdapter-I5KG37EI.js +0 -69
  310. package/chunks/mcp-24HHCBSP.js +0 -69
  311. package/chunks/nonInteractiveCli-GVF2XDJT.js +0 -126
  312. package/chunks/ripGrep-Y2XW4EFC.js +0 -59
  313. package/chunks/theme-manager-QOUMDWMP.js +0 -63
  314. package/chunks/total-session-admission-HWVCZ2WR.js +0 -69
  315. package/chunks/workspace-providers-status-ZTW2B5QU.js +0 -72
  316. package/chunks/workspace-registry-R54M5O3W.js +0 -73
  317. package/chunks/workspace-service-WYLRGM4A.js +0 -84
  318. package/chunks/workspace-skills-status-NN5QFU3A.js +0 -71
  319. package/chunks/write-file-EAT3CHUK.js +0 -596
  320. package/web-shell/assets/channel-tVz-qNSq.js +0 -1
  321. package/web-shell/assets/classDiagram-4FO5ZUOK-CWuaBxYV.js +0 -1
  322. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CWuaBxYV.js +0 -1
  323. package/web-shell/assets/index-48bIcdqF.js +0 -1197
  324. package/web-shell/assets/index-BI-JAO07.css +0 -5
  325. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DUtYfXpW.js +0 -1
  326. package/chunks/{chunk-H24SOJIQ.js → chunk-D7WXIW7H.js} +3 -3
  327. package/chunks/{chunk-PEJWA3QQ.js → chunk-QZJY47IE.js} +5 -5
  328. package/chunks/{dist-XBJVSWS2.js → dist-HMU6CYS4.js} +1 -1
@@ -3,16 +3,84 @@
3
3
  import {
4
4
  buildPermissionSuggestions
5
5
  } from "./chunk-43T5WDQ7.js";
6
+ import {
7
+ startPostRenderPrefetches
8
+ } from "./chunk-7KZ2KYAD.js";
9
+ import {
10
+ stopAndGetCapturedInput
11
+ } from "./chunk-E4IMU4Y5.js";
12
+ import {
13
+ useAutoAcceptIndicator
14
+ } from "./chunk-XP32LURS.js";
15
+ import {
16
+ classifyApiError
17
+ } from "./chunk-V7RNNPGC.js";
6
18
  import {
7
19
  TUI_CHAT_RECORDING_FAILURE_MESSAGE,
8
20
  reportChatRecordingFailureToAdapter
9
- } from "./chunk-EDMGFJ3E.js";
21
+ } from "./chunk-6OHCY3OB.js";
22
+ import {
23
+ MAX_SUGGESTIONS_TO_SHOW,
24
+ buildMcpResourceRef,
25
+ buildMcpServerRef,
26
+ getExtensionSuggestions,
27
+ handleAtCommand,
28
+ matchMcpServerPrefix,
29
+ resolveAtCommandQuery,
30
+ sanitizeDisplayText
31
+ } from "./chunk-BXXWWCLA.js";
10
32
  import {
11
33
  StreamJsonOutputAdapter
12
- } from "./chunk-BUKOHGBE.js";
34
+ } from "./chunk-S4BT3PX3.js";
13
35
  import {
14
- startPostRenderPrefetches
15
- } from "./chunk-USTF7LPI.js";
36
+ BuiltinCommandLoader,
37
+ BundledSkillLoader,
38
+ CommandService,
39
+ DISPLAY_HOOK_EVENTS,
40
+ FileCommandLoader,
41
+ MAX_STACKED_SKILLS,
42
+ McpPromptLoader,
43
+ SavedWorkflowLoader,
44
+ SkillCommandLoader,
45
+ addConfigToMatcherGroup,
46
+ appendUserPromptExpansionAdditionalContext,
47
+ copyToClipboard,
48
+ createEmptyHookEventInfo,
49
+ findMidInputSlashCommand,
50
+ findSlashCommandTokens,
51
+ formatApprovalModeDescription,
52
+ formatApprovalModeName,
53
+ formatUserPromptExpansionBlockedMessage,
54
+ getAllConfigs,
55
+ getBestSlashCommandMatch,
56
+ getTranslatedSourceDisplayMap,
57
+ hasBlockingBackgroundWork,
58
+ hasSlashCommandPathSeparator,
59
+ isAtCommand,
60
+ isBtwCommand,
61
+ isMidInputCompletableCommand,
62
+ isSlashCommand,
63
+ normalizePartList,
64
+ parseSlashCommand,
65
+ parseStackedSlashCommands,
66
+ refreshExtensionContentRuntime,
67
+ resetBackgroundStateForSessionSwitch,
68
+ serializeUserPromptExpansionPrompt,
69
+ supportsMatchers
70
+ } from "./chunk-DKZISEDB.js";
71
+ import {
72
+ EXTENSION_RELOAD_FAILED_REASON,
73
+ ExtensionRefreshState,
74
+ appEvents,
75
+ cleanupReviewWorktreeLeases,
76
+ loadHierarchicalGeminiMemory
77
+ } from "./chunk-YDLVKCZJ.js";
78
+ import {
79
+ disableKittyProtocol,
80
+ isKittyProtocolEnabled,
81
+ isKittyProtocolSupported
82
+ } from "./chunk-5DTTYNB7.js";
83
+ import "./chunk-X6KLM4LZ.js";
16
84
  import {
17
85
  AboutBox,
18
86
  BaseSelectionList,
@@ -88,100 +156,21 @@ import {
88
156
  useTextBuffer,
89
157
  useUIActions,
90
158
  useUIState
91
- } from "./chunk-XZOBDSDG.js";
92
- import {
93
- GeminiRespondingSpinner,
94
- GeminiSpinner,
95
- SCREEN_READER_USER_PREFIX,
96
- SHELL_COMMAND_NAME,
97
- StreamingContext,
98
- applyCollapsePolicyAndSummary,
99
- buildResumedHistoryItems,
100
- build_default,
101
- expandCollapsedHistory,
102
- isCollapsibleTool,
103
- useStreamingContext
104
- } from "./chunk-2ITGJJE2.js";
105
- import {
106
- stopAndGetCapturedInput
107
- } from "./chunk-5SCI6E3E.js";
108
- import {
109
- useAutoAcceptIndicator
110
- } from "./chunk-YGIUIIIF.js";
159
+ } from "./chunk-QTROYZUC.js";
111
160
  import {
112
161
  KeypressProvider,
113
162
  useFocus,
114
163
  useKeypress,
115
164
  useKeypressContext
116
- } from "./chunk-R5N7NF5D.js";
117
- import {
118
- classifyApiError
119
- } from "./chunk-V7RNNPGC.js";
120
- import {
121
- MAX_SUGGESTIONS_TO_SHOW,
122
- buildMcpResourceRef,
123
- buildMcpServerRef,
124
- getExtensionSuggestions,
125
- handleAtCommand,
126
- matchMcpServerPrefix,
127
- resolveAtCommandQuery,
128
- sanitizeDisplayText
129
- } from "./chunk-AY3CSB6F.js";
130
- import {
131
- BuiltinCommandLoader,
132
- BundledSkillLoader,
133
- CommandService,
134
- DISPLAY_HOOK_EVENTS,
135
- FileCommandLoader,
136
- MAX_STACKED_SKILLS,
137
- McpPromptLoader,
138
- SavedWorkflowLoader,
139
- SkillCommandLoader,
140
- addConfigToMatcherGroup,
141
- appendUserPromptExpansionAdditionalContext,
142
- copyToClipboard,
143
- createEmptyHookEventInfo,
144
- findMidInputSlashCommand,
145
- findSlashCommandTokens,
146
- formatApprovalModeDescription,
147
- formatApprovalModeName,
148
- formatUserPromptExpansionBlockedMessage,
149
- getAllConfigs,
150
- getBestSlashCommandMatch,
151
- getTranslatedSourceDisplayMap,
152
- hasBlockingBackgroundWork,
153
- hasSlashCommandPathSeparator,
154
- isAtCommand,
155
- isBtwCommand,
156
- isMidInputCompletableCommand,
157
- isSlashCommand,
158
- normalizePartList,
159
- parseSlashCommand,
160
- parseStackedSlashCommands,
161
- refreshExtensionContentRuntime,
162
- resetBackgroundStateForSessionSwitch,
163
- serializeUserPromptExpansionPrompt,
164
- supportsMatchers
165
- } from "./chunk-WQQDJE2P.js";
166
- import {
167
- EXTENSION_RELOAD_FAILED_REASON,
168
- ExtensionRefreshState,
169
- appEvents,
170
- loadHierarchicalGeminiMemory
171
- } from "./chunk-FCUUJKZF.js";
165
+ } from "./chunk-J63IP5ZT.js";
172
166
  import {
173
167
  getCommandDisplayName,
174
168
  getCommandSourceBadge
175
- } from "./chunk-7KGXAXF7.js";
169
+ } from "./chunk-E5MVGARW.js";
176
170
  import {
177
171
  computeSessionStats,
178
172
  levelLabel
179
- } from "./chunk-2GOPPEHK.js";
180
- import {
181
- disableKittyProtocol,
182
- isKittyProtocolEnabled,
183
- isKittyProtocolSupported
184
- } from "./chunk-5DTTYNB7.js";
173
+ } from "./chunk-JWJVZHT5.js";
185
174
  import {
186
175
  BEL,
187
176
  OSC_PREFIX,
@@ -195,27 +184,32 @@ import {
195
184
  saveClipboardImage,
196
185
  wrapForMultiplexer,
197
186
  writeOsc52
198
- } from "./chunk-QKYTTBYW.js";
199
- import "./chunk-5YVZ2XLV.js";
187
+ } from "./chunk-4LVZNIDO.js";
200
188
  import "./chunk-4WGODMVR.js";
201
- import "./chunk-FYA3Y5JR.js";
202
- import "./chunk-KW7NOTN6.js";
203
189
  import {
204
190
  MaxSizedBox,
205
191
  OverflowProvider,
206
192
  useOverflowState
207
- } from "./chunk-JNWZQ27S.js";
193
+ } from "./chunk-SP5WRGVG.js";
194
+ import {
195
+ GeminiRespondingSpinner,
196
+ GeminiSpinner,
197
+ SCREEN_READER_USER_PREFIX,
198
+ SHELL_COMMAND_NAME,
199
+ StreamingContext,
200
+ applyCollapsePolicyAndSummary,
201
+ buildResumedHistoryItems,
202
+ build_default,
203
+ expandCollapsedHistory,
204
+ isCollapsibleTool,
205
+ useStreamingContext
206
+ } from "./chunk-DORJSBMF.js";
208
207
  import {
209
208
  theme
210
- } from "./chunk-GMGDLUC7.js";
209
+ } from "./chunk-6IL7KRLE.js";
211
210
  import {
212
211
  require_jsx_runtime
213
212
  } from "./chunk-SV5PQVQE.js";
214
- import {
215
- AUTO_THEME_NAME,
216
- DEFAULT_THEME,
217
- themeManager
218
- } from "./chunk-AYCDXHZB.js";
219
213
  import {
220
214
  Box_default,
221
215
  Static,
@@ -229,33 +223,43 @@ import {
229
223
  use_is_screen_reader_enabled_default,
230
224
  use_stdin_default,
231
225
  use_stdout_default
232
- } from "./chunk-NEEB7UEN.js";
226
+ } from "./chunk-FFFM6NJV.js";
233
227
  import {
234
228
  require_react
235
229
  } from "./chunk-5QWWOFGG.js";
236
- import "./chunk-JPRLCXAO.js";
237
- import "./chunk-PYNCSQSI.js";
230
+ import "./chunk-Q6DEGTYO.js";
238
231
  import "./chunk-NHDKSOEY.js";
239
232
  import {
240
233
  relaunchApp
241
- } from "./chunk-W3BKN3LO.js";
234
+ } from "./chunk-GZBHRTNM.js";
242
235
  import {
243
236
  setUpdateHandler
244
- } from "./chunk-E5QFCC4X.js";
245
- import "./chunk-5PZ6R37W.js";
246
- import "./chunk-BWK3FX3K.js";
237
+ } from "./chunk-RWCQJC5W.js";
238
+ import "./chunk-RAUHV362.js";
247
239
  import "./chunk-YAF2MQZ6.js";
240
+ import "./chunk-EJFHUF3D.js";
241
+ import {
242
+ AUTO_THEME_NAME,
243
+ DEFAULT_THEME,
244
+ themeManager
245
+ } from "./chunk-7Z6JQEL6.js";
246
+ import "./chunk-KW7NOTN6.js";
247
+ import "./chunk-BRHHXGWL.js";
248
+ import "./chunk-6H67XLET.js";
249
+ import "./chunk-RUNR5DAE.js";
250
+ import {
251
+ getErrorMessage as getErrorMessage2
252
+ } from "./chunk-45DNGJKC.js";
248
253
  import {
249
254
  openQwenAsrRealtimeStream,
250
255
  openVoiceStream,
251
256
  openVoiceStreamWithRetry
252
- } from "./chunk-GKY2OJ7R.js";
257
+ } from "./chunk-ZHERRXZJ.js";
253
258
  import {
254
259
  recordGoalStatusItem,
255
260
  restoreGoalFromHistory
256
- } from "./chunk-PFKNXN67.js";
257
- import "./chunk-KTUQMDEP.js";
258
- import "./chunk-6RVJRVQR.js";
261
+ } from "./chunk-SOMSZ6W3.js";
262
+ import "./chunk-4K7VDKAD.js";
259
263
  import {
260
264
  cpLen,
261
265
  cpSlice,
@@ -268,6 +272,7 @@ import {
268
272
  stripUnsafeCharacters,
269
273
  toCodePoints
270
274
  } from "./chunk-RS7MT2QG.js";
275
+ import "./chunk-QF4DPYPH.js";
271
276
  import {
272
277
  stringWidth
273
278
  } from "./chunk-H2XVO6NE.js";
@@ -277,14 +282,9 @@ import {
277
282
  } from "./chunk-QTERJVPZ.js";
278
283
  import "./chunk-L573Z2QZ.js";
279
284
  import "./chunk-RXFQM6FQ.js";
280
- import "./chunk-4CWPMWCD.js";
281
- import "./chunk-6H67XLET.js";
282
- import {
283
- getErrorMessage as getErrorMessage2
284
- } from "./chunk-2GFRA3MN.js";
285
285
  import {
286
286
  getExtendedSystemInfo
287
- } from "./chunk-GH7OEOYU.js";
287
+ } from "./chunk-NYPUWHHC.js";
288
288
  import {
289
289
  formatDuration,
290
290
  formatMemoryUsage,
@@ -293,44 +293,43 @@ import {
293
293
  } from "./chunk-E5Z2AVNV.js";
294
294
  import {
295
295
  isInlineModelOverrideAllowed
296
- } from "./chunk-L4YSPHR4.js";
296
+ } from "./chunk-6AWRQ4T2.js";
297
297
  import {
298
298
  assertVoiceBaseUrlNetworkAllowed,
299
299
  isKeytermEcho,
300
300
  isStreamingVoiceModel,
301
301
  resolveVoiceStreamConfig,
302
302
  transcribeVoiceAudio
303
- } from "./chunk-U4VGYZN7.js";
303
+ } from "./chunk-JD5FHQ3N.js";
304
304
  import {
305
305
  formatUnsupportedVoiceModelMessage,
306
306
  isSelectableVoiceModel
307
- } from "./chunk-GPILFVPY.js";
308
- import "./chunk-BVLROR2T.js";
309
- import "./chunk-6RLROE6G.js";
310
- import "./chunk-COH43MRJ.js";
311
- import "./chunk-CUJX3F4X.js";
307
+ } from "./chunk-66RKDODM.js";
308
+ import "./chunk-QLJUC7TG.js";
309
+ import "./chunk-VTKWURCJ.js";
312
310
  import {
313
311
  requestConsentInteractive,
314
312
  requestConsentOrFail
315
- } from "./chunk-6MC5ASQK.js";
313
+ } from "./chunk-GOWMC4CS.js";
316
314
  import "./chunk-57OAHC2Y.js";
317
- import "./chunk-32F7BZSK.js";
315
+ import "./chunk-QD6BRERJ.js";
318
316
  import "./chunk-6ZBPS62S.js";
319
317
  import "./chunk-V6WHFGST.js";
320
318
  import {
321
319
  createLoadedSettingsAdapter
322
- } from "./chunk-B452RETY.js";
323
- import "./chunk-W7FJ3N32.js";
320
+ } from "./chunk-XFWD3PCA.js";
321
+ import "./chunk-6RLROE6G.js";
322
+ import "./chunk-COH43MRJ.js";
324
323
  import "./chunk-QKTHJXCS.js";
325
324
  import "./chunk-TJTKSVIV.js";
326
325
  import "./chunk-M5GB774H.js";
327
- import "./chunk-RFIAR4YL.js";
326
+ import "./chunk-RV4C2ZFG.js";
328
327
  import "./chunk-2LI23QA6.js";
329
328
  import "./chunk-RVLZCXEE.js";
330
329
  import "./chunk-UDXSXLER.js";
331
330
  import {
332
331
  loadMcpApprovals
333
- } from "./chunk-G45NOBV7.js";
332
+ } from "./chunk-C3YZ5CLY.js";
334
333
  import {
335
334
  CORRUPTED_SUFFIX,
336
335
  SettingScope,
@@ -353,26 +352,31 @@ import {
353
352
  settingExistsInScope,
354
353
  validateSettingValue,
355
354
  writeOutputLanguageAndRegisterPath
356
- } from "./chunk-5JX5EWR5.js";
355
+ } from "./chunk-J3VSRG5Y.js";
357
356
  import "./chunk-RKUWKYED.js";
358
- import "./chunk-GOXKNSDZ.js";
359
- import "./chunk-IDS7MSUP.js";
360
357
  import {
361
358
  getCurrentLanguage,
362
359
  localizeToolDisplayName,
363
360
  t,
364
361
  ta
365
- } from "./chunk-6DHWO5ZF.js";
366
- import "./chunk-KTNIZG2C.js";
362
+ } from "./chunk-K4VB66QF.js";
363
+ import "./chunk-CMRYLH67.js";
364
+ import "./chunk-XHATNRQA.js";
365
+ import "./chunk-JT7HACMQ.js";
366
+ import "./chunk-GOXKNSDZ.js";
367
367
  import "./chunk-QRUIS3DN.js";
368
+ import "./chunk-2RFKHEXL.js";
369
+ import "./chunk-IDS7MSUP.js";
370
+ import "./chunk-XFSFZCM5.js";
371
+ import "./chunk-URK542T4.js";
368
372
  import {
369
373
  getCliVersion
370
- } from "./chunk-XCHUDLER.js";
374
+ } from "./chunk-CHLNJN3C.js";
371
375
  import "./chunk-VJNBRRZG.js";
372
376
  import {
373
377
  isWorkspaceTrusted,
374
378
  loadTrustedFolders
375
- } from "./chunk-4RA7PWIY.js";
379
+ } from "./chunk-LMQNDPVP.js";
376
380
  import {
377
381
  require_strip_json_comments
378
382
  } from "./chunk-ALGGS7UH.js";
@@ -381,8 +385,6 @@ import {
381
385
  clearScreen,
382
386
  writeStderrLine
383
387
  } from "./chunk-OWAK7LMW.js";
384
- import "./chunk-XFSFZCM5.js";
385
- import "./chunk-URK542T4.js";
386
388
  import {
387
389
  ALIBABA_PROVIDERS,
388
390
  AsyncFzf,
@@ -433,6 +435,7 @@ import {
433
435
  detectAutonomousSentinel,
434
436
  fetchGitDiff,
435
437
  fetchGitDiffHunks,
438
+ finalizeToolResponses,
436
439
  findExistingProviderModels,
437
440
  findProviderByCredentials,
438
441
  findProviderById,
@@ -447,7 +450,6 @@ import {
447
450
  getExtensionDisplayName,
448
451
  getGitBranch,
449
452
  getProjectSummaryInfo,
450
- getStartupContextLength,
451
453
  getTimeRangeBounds,
452
454
  getToolResponseDisplayText,
453
455
  getWelcomeBackState,
@@ -460,7 +462,6 @@ import {
460
462
  isSessionRuntimeActive,
461
463
  isSettledStatus,
462
464
  isSuccessStatus,
463
- isSystemReminderContent,
464
465
  isTerminalStatus,
465
466
  loadUsageHistory,
466
467
  markDuplicateProviderToolCallResponseSent,
@@ -479,7 +480,6 @@ import {
479
480
  resolveBaseUrl,
480
481
  resolveBranchName,
481
482
  resolveMetadataKey,
482
- resolveModelId,
483
483
  restoreWorktreeContext,
484
484
  saveWelcomeBackRestartChoice,
485
485
  saveWorkflowScript,
@@ -491,38 +491,57 @@ import {
491
491
  validateWorkflowName,
492
492
  watchRepoBranch,
493
493
  writeRuntimeStatus
494
- } from "./chunk-NO6XTCYT.js";
495
- import "./chunk-5M6IDOMF.js";
494
+ } from "./chunk-6RQ5IPUX.js";
496
495
  import "./chunk-T4TZQJ7W.js";
497
496
  import "./chunk-H6XPXXMH.js";
498
- import "./chunk-EAUYY7SS.js";
499
- import "./chunk-FSL5W5TI.js";
500
- import "./chunk-OONJNQ42.js";
501
- import "./chunk-D2VIDMVM.js";
497
+ import "./chunk-5M6IDOMF.js";
498
+ import "./chunk-T2L47JJK.js";
499
+ import "./chunk-GPSKDNEE.js";
500
+ import "./chunk-X6N25LXS.js";
502
501
  import "./chunk-E2UVIFI2.js";
502
+ import "./chunk-Q2YKNMLS.js";
503
503
  import "./chunk-XU457J4V.js";
504
504
  import "./chunk-VDDGDZMA.js";
505
- import "./chunk-EIAK6Q2B.js";
505
+ import "./chunk-KHOVYUHX.js";
506
506
  import "./chunk-SZRN75WQ.js";
507
- import "./chunk-HTO4JFDZ.js";
508
- import "./chunk-CPBF7KYF.js";
507
+ import "./chunk-6PVPNMXU.js";
509
508
  import {
510
- APPROVAL_MODES
511
- } from "./chunk-CPCVCKKF.js";
512
- import "./chunk-6AM5D4ME.js";
513
- import "./chunk-G45X5TRN.js";
509
+ resolveModelId
510
+ } from "./chunk-TJQXJJX7.js";
511
+ import "./chunk-CPBF7KYF.js";
512
+ import "./chunk-NABLFI57.js";
514
513
  import {
515
514
  HOOKS_CONFIG_FIELDS
516
- } from "./chunk-PBATSWUQ.js";
515
+ } from "./chunk-QBUDF33N.js";
516
+ import "./chunk-LIZRAKPB.js";
517
+ import {
518
+ APPROVAL_MODES,
519
+ getStartupContextLength,
520
+ isSystemReminderContent,
521
+ runOutsideAgentContext
522
+ } from "./chunk-WHGVTP7Q.js";
523
+ import "./chunk-6AM5D4ME.js";
524
+ import "./chunk-JCW2R7WC.js";
517
525
  import {
518
526
  isPathWithinRoot
519
- } from "./chunk-ZEOZL37W.js";
520
- import "./chunk-OOCI5VVU.js";
527
+ } from "./chunk-57FIIFJN.js";
528
+ import "./chunk-HTO4JFDZ.js";
529
+ import {
530
+ REASONING_EFFORT_TIERS
531
+ } from "./chunk-XVNQMZ2I.js";
532
+ import {
533
+ getUnsupportedImageFormatWarning,
534
+ isSupportedImageMimeType
535
+ } from "./chunk-FODK6UMO.js";
536
+ import "./chunk-GLNBDYUX.js";
521
537
  import {
522
538
  qwenOAuth2Events
523
- } from "./chunk-25Y6JSH2.js";
524
- import "./chunk-246TW4IX.js";
539
+ } from "./chunk-5MZSD2JX.js";
525
540
  import "./chunk-JESCGQM3.js";
541
+ import "./chunk-OZYV6F53.js";
542
+ import "./chunk-BEKZWVJJ.js";
543
+ import "./chunk-DJ2GSRLV.js";
544
+ import "./chunk-5I5BM454.js";
526
545
  import {
527
546
  ApiCancelEvent,
528
547
  AuthEvent,
@@ -564,9 +583,7 @@ import {
564
583
  runVisionBridge,
565
584
  shouldRunVisionBridge,
566
585
  splitImageParts
567
- } from "./chunk-P64HXIC5.js";
568
- import "./chunk-4WKAA4KS.js";
569
- import "./chunk-CR3C7WXL.js";
586
+ } from "./chunk-ZJVVETCV.js";
570
587
  import "./chunk-VGC4I5JJ.js";
571
588
  import {
572
589
  AUTO_MEMORY_INDEX_FILENAME,
@@ -574,35 +591,30 @@ import {
574
591
  getAutoMemoryRoot,
575
592
  getUserAutoMemoryRoot,
576
593
  isAnyAutoMemPath
577
- } from "./chunk-JD3MKVKL.js";
578
- import "./chunk-UEY4AYUL.js";
579
- import {
580
- atomicWriteFileSync
581
- } from "./chunk-BDBMYST4.js";
582
- import "./chunk-EZVDJFZ7.js";
583
- import {
584
- ToolNames,
585
- isShellProgressData
586
- } from "./chunk-OP4MOGXF.js";
587
- import {
588
- REASONING_EFFORT_TIERS
589
- } from "./chunk-XVNQMZ2I.js";
590
- import {
591
- getUnsupportedImageFormatWarning,
592
- isSupportedImageMimeType
593
- } from "./chunk-FEOZBUMT.js";
594
- import "./chunk-DJ2GSRLV.js";
595
- import "./chunk-6EFTQYW7.js";
594
+ } from "./chunk-4K56OJFJ.js";
596
595
  import {
597
596
  DEFAULT_TOKEN_LIMIT
598
- } from "./chunk-FZVSFBNW.js";
597
+ } from "./chunk-JYS55H6Z.js";
599
598
  import "./chunk-A4UCTEB5.js";
600
599
  import "./chunk-XWRJCPHC.js";
600
+ import "./chunk-QNLNLENL.js";
601
+ import {
602
+ atomicWriteFileSync
603
+ } from "./chunk-6X4GWOPW.js";
601
604
  import {
602
605
  FinishReason
603
606
  } from "./chunk-TYQMGACW.js";
604
607
  import "./chunk-TYAMGABM.js";
605
608
  import "./chunk-FCMNKVXT.js";
609
+ import "./chunk-7362QS5B.js";
610
+ import "./chunk-HTR4WV6U.js";
611
+ import "./chunk-M7WBGLYP.js";
612
+ import "./chunk-U7ZFW55U.js";
613
+ import "./chunk-NPQDJGKU.js";
614
+ import {
615
+ ToolNames,
616
+ isShellProgressData
617
+ } from "./chunk-YM3SZTH4.js";
606
618
  import {
607
619
  Storage,
608
620
  UnauthorizedError,
@@ -614,8 +626,8 @@ import {
614
626
  isNodeError,
615
627
  shortenPath,
616
628
  tildeifyPath
617
- } from "./chunk-C27BYUX6.js";
618
- import "./chunk-ABIL4ZQU.js";
629
+ } from "./chunk-OQB4EXO4.js";
630
+ import "./chunk-A7CUSHP7.js";
619
631
  import {
620
632
  finalizeStartupProfile,
621
633
  profileCheckpoint
@@ -624,11 +636,11 @@ import "./chunk-Q7YDKOGY.js";
624
636
  import {
625
637
  registerCleanup,
626
638
  runExitCleanup
627
- } from "./chunk-WRRF6TEQ.js";
639
+ } from "./chunk-VHYCUGOT.js";
628
640
  import "./chunk-75DOP5OR.js";
629
641
  import "./chunk-DMTGGOSA.js";
630
642
  import "./chunk-YQ3U5MUC.js";
631
- import "./chunk-TB6UDU4T.js";
643
+ import "./chunk-THJNPLI4.js";
632
644
  import {
633
645
  init_esbuild_shims
634
646
  } from "./chunk-5O2XNYP6.js";
@@ -1386,30 +1398,15 @@ var useAppContext = /* @__PURE__ */ __name(() => {
1386
1398
  return context;
1387
1399
  }, "useAppContext");
1388
1400
 
1389
- // packages/cli/src/ui/components/UpdateNotification.tsx
1390
- init_esbuild_shims();
1391
- var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
1392
- var UpdateNotification = /* @__PURE__ */ __name(({ message }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1393
- Box_default,
1394
- {
1395
- borderStyle: "round",
1396
- borderColor: theme.status.warning,
1397
- paddingX: 1,
1398
- marginY: 1,
1399
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { color: theme.status.warning, children: message })
1400
- }
1401
- ), "UpdateNotification");
1402
-
1403
1401
  // packages/cli/src/ui/components/Notifications.tsx
1404
- var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
1402
+ var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
1405
1403
  var Notifications = /* @__PURE__ */ __name(() => {
1406
1404
  const { startupWarnings } = useAppContext();
1407
- const { initError, streamingState, updateInfo } = useUIState();
1405
+ const { initError, streamingState } = useUIState();
1408
1406
  const showStartupWarnings = startupWarnings.length > 0;
1409
1407
  const showInitError = initError && streamingState !== "responding" /* Responding */;
1410
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
1411
- updateInfo && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(UpdateNotification, { message: updateInfo.message }),
1412
- showStartupWarnings && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1408
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_jsx_runtime3.Fragment, { children: [
1409
+ showStartupWarnings && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
1413
1410
  Box_default,
1414
1411
  {
1415
1412
  borderStyle: "round",
@@ -1417,10 +1414,10 @@ var Notifications = /* @__PURE__ */ __name(() => {
1417
1414
  paddingX: 1,
1418
1415
  marginY: 1,
1419
1416
  flexDirection: "column",
1420
- children: startupWarnings.map((warning, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: theme.status.warning, children: warning }, index))
1417
+ children: startupWarnings.map((warning, index) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Text, { color: theme.status.warning, children: warning }, index))
1421
1418
  }
1422
1419
  ),
1423
- showInitError && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
1420
+ showInitError && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
1424
1421
  Box_default,
1425
1422
  {
1426
1423
  borderStyle: "round",
@@ -1428,11 +1425,11 @@ var Notifications = /* @__PURE__ */ __name(() => {
1428
1425
  paddingX: 1,
1429
1426
  marginBottom: 1,
1430
1427
  children: [
1431
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Text, { color: theme.status.error, children: [
1428
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text, { color: theme.status.error, children: [
1432
1429
  "Initialization Error: ",
1433
1430
  initError
1434
1431
  ] }),
1435
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Text, { color: theme.status.error, children: [
1432
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(Text, { color: theme.status.error, children: [
1436
1433
  " ",
1437
1434
  "Please check API key and configuration."
1438
1435
  ] })
@@ -1442,6 +1439,20 @@ var Notifications = /* @__PURE__ */ __name(() => {
1442
1439
  ] });
1443
1440
  }, "Notifications");
1444
1441
 
1442
+ // packages/cli/src/ui/components/UpdateNotification.tsx
1443
+ init_esbuild_shims();
1444
+ var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
1445
+ var UpdateNotification = /* @__PURE__ */ __name(({ message }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
1446
+ Box_default,
1447
+ {
1448
+ borderStyle: "round",
1449
+ borderColor: theme.status.warning,
1450
+ paddingX: 1,
1451
+ marginY: 1,
1452
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Text, { color: theme.status.warning, children: message })
1453
+ }
1454
+ ), "UpdateNotification");
1455
+
1445
1456
  // packages/cli/src/ui/components/MainContent.tsx
1446
1457
  init_esbuild_shims();
1447
1458
  var import_react14 = __toESM(require_react(), 1);
@@ -31466,6 +31477,7 @@ var ScreenReaderAppLayout = /* @__PURE__ */ __name(() => {
31466
31477
  const dialogHeight = uiState.constrainHeight ? dialogMaxHeight : void 0;
31467
31478
  const shouldShowStickyTodos = uiState.stickyTodos !== null && !uiState.dialogsVisible && !uiState.isFeedbackDialogOpen && uiState.streamingState === "responding" /* Responding */;
31468
31479
  return /* @__PURE__ */ (0, import_jsx_runtime122.jsxs)(Box_default, { flexDirection: "column", width: "90%", height: "100%", children: [
31480
+ !uiState.dialogsVisible && uiState.updateInfo && /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(UpdateNotification, { message: uiState.updateInfo.message }),
31469
31481
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Notifications, {}),
31470
31482
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Footer, {}),
31471
31483
  /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(Box_default, { flexGrow: 1, overflow: "hidden", children: /* @__PURE__ */ (0, import_jsx_runtime122.jsx)(MainContent, {}) }),
@@ -32547,12 +32559,14 @@ var DefaultAppLayout = /* @__PURE__ */ __name(() => {
32547
32559
  isAgentTab ? /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_jsx_runtime130.Fragment, { children: [
32548
32560
  /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(AgentChatView, { agentId: activeView }),
32549
32561
  /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(Box_default, { flexDirection: "column", ref: uiState.mainControlsRef, children: [
32562
+ !uiState.dialogsVisible && uiState.updateInfo && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(UpdateNotification, { message: uiState.updateInfo.message }),
32550
32563
  /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(AgentComposer, { agentId: activeView }, activeView),
32551
32564
  /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(ExitWarning, {})
32552
32565
  ] })
32553
32566
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(import_jsx_runtime130.Fragment, { children: [
32554
32567
  /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(MainContent, {}),
32555
32568
  /* @__PURE__ */ (0, import_jsx_runtime130.jsxs)(Box_default, { flexDirection: "column", ref: uiState.mainControlsRef, children: [
32569
+ !uiState.dialogsVisible && uiState.updateInfo && /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(UpdateNotification, { message: uiState.updateInfo.message }),
32556
32570
  uiState.dialogsVisible ? /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
32557
32571
  Box_default,
32558
32572
  {
@@ -35277,7 +35291,6 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
35277
35291
  const scheduler = (0, import_react134.useMemo)(
35278
35292
  () => new CoreToolScheduler({
35279
35293
  config,
35280
- chatRecordingService: config.getChatRecordingService(),
35281
35294
  outputUpdateHandler,
35282
35295
  onAllToolCallsComplete: allToolCallsCompleteHandler,
35283
35296
  onToolCallsUpdate: toolCallsUpdateHandler,
@@ -35320,13 +35333,6 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
35320
35333
  message,
35321
35334
  message
35322
35335
  );
35323
- config.getChatRecordingService()?.recordToolResult(responseParts, {
35324
- callId: toolRequest.callId,
35325
- status: "error",
35326
- resultDisplay: message,
35327
- error: toolError,
35328
- errorType: "unhandled_exception" /* UNHANDLED_EXCEPTION */
35329
- });
35330
35336
  return {
35331
35337
  status: "error",
35332
35338
  request: toolRequest,
@@ -36856,7 +36862,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36856
36862
  flushBufferedStreamEvents();
36857
36863
  toolCallRequests.length = 0;
36858
36864
  handleUserCancelledEvent(userMessageTimestamp);
36859
- break;
36865
+ return 1 /* UserCancelled */;
36860
36866
  case "error" /* Error */:
36861
36867
  flushBufferedStreamEvents();
36862
36868
  handleErrorEvent(event.value, userMessageTimestamp);
@@ -36981,11 +36987,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
36981
36987
  commitPendingThought(userMessageTimestamp);
36982
36988
  discardBufferedStreamEvents();
36983
36989
  flushBufferedStreamEventsRef.current.delete(flushBufferedStreamEvents);
36990
+ dualOutput?.finalizeAssistantMessage();
36984
36991
  }
36985
- dualOutput?.finalizeAssistantMessage();
36986
36992
  if (toolCallRequests.length > 0 && !signal.aborted && !loopDetectedRef.current) {
36987
36993
  const executableToolCallRequests = [];
36988
- const duplicateResponseParts = [];
36994
+ const duplicateResponses = [];
36989
36995
  let duplicatePromptId;
36990
36996
  const historyCallIdsWithResponse = geminiClient ? geminiClient.getHistoryFunctionResponseIds() : /* @__PURE__ */ new Set();
36991
36997
  const handledProviderIds = /* @__PURE__ */ new Set([
@@ -37021,26 +37027,27 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37021
37027
  `[processGeminiStreamEvents] Suppressing duplicate provider tool-call id: ${providerCallId} (tool: ${request.name})`
37022
37028
  );
37023
37029
  dualOutput?.emitToolResult(request, response);
37024
- duplicateResponseParts.push(...response.responseParts);
37030
+ duplicateResponses.push({ request, response });
37025
37031
  duplicatePromptId ??= request.prompt_id;
37026
37032
  continue;
37027
37033
  }
37028
37034
  handledProviderToolCallIdsRef.current.add(providerCallId);
37029
37035
  executableToolCallRequests.push(request);
37030
37036
  }
37031
- if (duplicateResponseParts.length > 0) {
37037
+ if (duplicateResponses.length > 0) {
37032
37038
  if (executableToolCallRequests.length > 0) {
37033
37039
  pendingDuplicateToolResponsesRef.current.push({
37034
37040
  executableCallIds: new Set(
37035
37041
  executableToolCallRequests.map((request) => request.callId)
37036
37042
  ),
37037
37043
  promptId: duplicatePromptId ?? executableToolCallRequests[0]?.prompt_id,
37038
- responseParts: duplicateResponseParts
37044
+ callOrder: toolCallRequests.map((request) => request.callId),
37045
+ duplicateResponses
37039
37046
  });
37040
37047
  } else {
37041
37048
  immediateDuplicateToolResponsesRef.current = {
37042
37049
  promptId: duplicatePromptId,
37043
- responseParts: duplicateResponseParts
37050
+ responses: duplicateResponses
37044
37051
  };
37045
37052
  }
37046
37053
  }
@@ -37401,6 +37408,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37401
37408
  if (!isTurnContinuation) {
37402
37409
  streamingResponseLengthRef.current = 0;
37403
37410
  }
37411
+ let cleanupReviewLease = false;
37404
37412
  try {
37405
37413
  if (dualOutput && submitType !== "toolResult" /* ToolResult */) {
37406
37414
  const rawParts = typeof finalQueryToSend === "string" ? [finalQueryToSend] : Array.isArray(finalQueryToSend) ? finalQueryToSend : [finalQueryToSend];
@@ -37427,6 +37435,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37427
37435
  abortSignal
37428
37436
  );
37429
37437
  if (processingStatus === 1 /* UserCancelled */) {
37438
+ cleanupReviewLease = true;
37430
37439
  submitPromptOnCompleteRef.current = null;
37431
37440
  isSubmittingQueryRef.current = false;
37432
37441
  metadata?.onDeliveryFailed?.();
@@ -37439,8 +37448,33 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37439
37448
  const immediateDuplicateToolResponses = immediateDuplicateToolResponsesRef.current;
37440
37449
  if (immediateDuplicateToolResponses) {
37441
37450
  immediateDuplicateToolResponsesRef.current = null;
37451
+ const finalized = await finalizeToolResponses(
37452
+ config,
37453
+ immediateDuplicateToolResponses.responses.map(
37454
+ ({ request, response }) => ({
37455
+ callId: request.callId,
37456
+ toolName: request.name,
37457
+ responseParts: response.responseParts,
37458
+ persistedOutputFiles: response.persistedOutputFiles
37459
+ })
37460
+ )
37461
+ );
37462
+ const responseParts = finalized.flatMap(
37463
+ (entry) => entry.responseParts
37464
+ );
37465
+ immediateDuplicateToolResponses.responses.forEach(
37466
+ ({ request, response }, index) => {
37467
+ config.getChatRecordingService?.()?.recordToolResult?.(finalized[index].responseParts, {
37468
+ callId: request.callId,
37469
+ status: response.error ? "error" : "success",
37470
+ resultDisplay: response.resultDisplay,
37471
+ error: response.error,
37472
+ errorType: response.errorType
37473
+ });
37474
+ }
37475
+ );
37442
37476
  await submitQuery(
37443
- immediateDuplicateToolResponses.responseParts,
37477
+ responseParts,
37444
37478
  "toolResult" /* ToolResult */,
37445
37479
  immediateDuplicateToolResponses.promptId
37446
37480
  );
@@ -37450,6 +37484,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37450
37484
  }
37451
37485
  const loopDetected = loopDetectedRef.current;
37452
37486
  if (loopDetected) {
37487
+ cleanupReviewLease = true;
37453
37488
  loopDetectedRef.current = false;
37454
37489
  handleLoopDetectedEvent();
37455
37490
  }
@@ -37483,6 +37518,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37483
37518
  }
37484
37519
  }
37485
37520
  } catch (error) {
37521
+ cleanupReviewLease = true;
37486
37522
  metadata?.onDeliveryFailed?.();
37487
37523
  if (error instanceof UnauthorizedError) {
37488
37524
  onAuthError("Session expired or is unauthorized.");
@@ -37499,6 +37535,13 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37499
37535
  });
37500
37536
  }
37501
37537
  } finally {
37538
+ if (cleanupReviewLease) {
37539
+ cleanupReviewWorktreeLeases({
37540
+ sessionId: config.getSessionId(),
37541
+ promptId: prompt_id,
37542
+ repositoryRoot: config.getProjectRoot()
37543
+ });
37544
+ }
37502
37545
  submitPromptOnCompleteRef.current = null;
37503
37546
  activeModelStreamsRef.current = Math.max(
37504
37547
  0,
@@ -37676,8 +37719,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37676
37719
  }
37677
37720
  return !isReady;
37678
37721
  });
37679
- const pendingDuplicateResponseParts = readyDuplicateBatches.flatMap(
37680
- (batch) => batch.responseParts
37722
+ const pendingDuplicateResponses = readyDuplicateBatches.flatMap(
37723
+ (batch) => batch.duplicateResponses
37681
37724
  );
37682
37725
  const pendingDuplicatePromptId = readyDuplicateBatches[0]?.promptId;
37683
37726
  for (const toolCall of geminiTools) {
@@ -37686,9 +37729,67 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37686
37729
  toolCall.request.args
37687
37730
  );
37688
37731
  }
37689
- if (geminiTools.length === 0 && pendingDuplicateResponseParts.length === 0) {
37732
+ if (geminiTools.length === 0 && pendingDuplicateResponses.length === 0) {
37690
37733
  return;
37691
37734
  }
37735
+ const executableQueues = /* @__PURE__ */ new Map();
37736
+ for (const toolCall of geminiTools) {
37737
+ const queue = executableQueues.get(toolCall.request.callId) ?? [];
37738
+ queue.push({
37739
+ request: toolCall.request,
37740
+ response: toolCall.response,
37741
+ status: toolCall.status
37742
+ });
37743
+ executableQueues.set(toolCall.request.callId, queue);
37744
+ }
37745
+ const duplicateQueues = /* @__PURE__ */ new Map();
37746
+ for (const duplicate of pendingDuplicateResponses) {
37747
+ const queue = duplicateQueues.get(duplicate.request.callId) ?? [];
37748
+ queue.push({
37749
+ ...duplicate,
37750
+ status: duplicate.response.error ? "error" : "success"
37751
+ });
37752
+ duplicateQueues.set(duplicate.request.callId, queue);
37753
+ }
37754
+ const orderedResponses = [];
37755
+ for (const batch of readyDuplicateBatches) {
37756
+ for (const callId of batch.callOrder) {
37757
+ const executable = executableQueues.get(callId)?.shift();
37758
+ if (executable) {
37759
+ orderedResponses.push(executable);
37760
+ continue;
37761
+ }
37762
+ const duplicate = duplicateQueues.get(callId)?.shift();
37763
+ if (duplicate) orderedResponses.push(duplicate);
37764
+ }
37765
+ }
37766
+ for (const queue of executableQueues.values()) {
37767
+ orderedResponses.push(...queue);
37768
+ }
37769
+ for (const queue of duplicateQueues.values()) {
37770
+ orderedResponses.push(...queue);
37771
+ }
37772
+ const finalizedResponses = await finalizeToolResponses(
37773
+ config,
37774
+ orderedResponses.map(({ request, response }) => ({
37775
+ callId: request.callId,
37776
+ toolName: request.name,
37777
+ responseParts: response.responseParts,
37778
+ persistedOutputFiles: response.persistedOutputFiles
37779
+ }))
37780
+ );
37781
+ const responsesToSend = finalizedResponses.flatMap(
37782
+ (entry) => entry.responseParts
37783
+ );
37784
+ orderedResponses.forEach(({ request, response, status }, index) => {
37785
+ config.getChatRecordingService?.()?.recordToolResult?.(finalizedResponses[index].responseParts, {
37786
+ callId: request.callId,
37787
+ status,
37788
+ resultDisplay: response.resultDisplay,
37789
+ error: response.error,
37790
+ errorType: response.errorType
37791
+ });
37792
+ });
37692
37793
  if (turnCancelledRef.current || abortControllerRef.current?.signal.aborted) {
37693
37794
  markToolsAsSubmitted(
37694
37795
  geminiTools.map((toolCall) => toolCall.request.callId)
@@ -37698,14 +37799,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37698
37799
  const allToolsCancelled = geminiTools.every(
37699
37800
  (tc) => tc.status === "cancelled"
37700
37801
  );
37701
- if (allToolsCancelled && pendingDuplicateResponseParts.length === 0) {
37802
+ if (allToolsCancelled && pendingDuplicateResponses.length === 0) {
37702
37803
  if (geminiClient) {
37703
- const combinedParts = geminiTools.flatMap(
37704
- (toolCall) => toolCall.response.responseParts
37705
- );
37706
37804
  geminiClient.addHistory({
37707
37805
  role: "user",
37708
- parts: combinedParts
37806
+ parts: responsesToSend
37709
37807
  });
37710
37808
  config.getArenaAgentClient()?.reportCancelled();
37711
37809
  }
@@ -37715,10 +37813,6 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37715
37813
  markToolsAsSubmitted(callIdsToMarkAsSubmitted2);
37716
37814
  return;
37717
37815
  }
37718
- const responsesToSend = geminiTools.flatMap(
37719
- (toolCall) => toolCall.response.responseParts
37720
- );
37721
- responsesToSend.push(...pendingDuplicateResponseParts);
37722
37816
  const callIdsToMarkAsSubmitted = geminiTools.map(
37723
37817
  (toolCall) => toolCall.request.callId
37724
37818
  );
@@ -38053,34 +38147,39 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38053
38147
  }, [config]);
38054
38148
  (0, import_react136.useEffect)(() => {
38055
38149
  if (streamingState === "idle" /* Idle */ && !isSubmittingQueryRef.current && notificationQueueRef.current.length > 0) {
38056
- const queue = notificationQueueRef.current;
38057
- const targetType = queue[0].sendMessageType;
38058
- if (targetType === "cron" /* Cron */) {
38059
- const item = queue.shift();
38060
- addItem(
38061
- { type: "notification", text: item.displayText },
38062
- Date.now()
38063
- );
38064
- submitQuery(item.modelText, item.sendMessageType, void 0, {
38065
- notificationDisplayText: item.displayText,
38066
- onDelivered: item.onDelivered,
38067
- onDeliveryFailed: item.onDeliveryFailed
38150
+ runOutsideAgentContext(() => {
38151
+ const queue = notificationQueueRef.current;
38152
+ const targetType = queue[0].sendMessageType;
38153
+ if (targetType === "cron" /* Cron */) {
38154
+ const item = queue.shift();
38155
+ addItem(
38156
+ { type: "notification", text: item.displayText },
38157
+ Date.now()
38158
+ );
38159
+ submitQuery(item.modelText, item.sendMessageType, void 0, {
38160
+ notificationDisplayText: item.displayText,
38161
+ onDelivered: item.onDelivered,
38162
+ onDeliveryFailed: item.onDeliveryFailed
38163
+ });
38164
+ return;
38165
+ }
38166
+ let splitIdx = 0;
38167
+ while (splitIdx < queue.length && queue[splitIdx].sendMessageType === targetType) {
38168
+ splitIdx++;
38169
+ }
38170
+ const batch = queue.splice(0, splitIdx);
38171
+ const now = Date.now();
38172
+ for (const item of batch) {
38173
+ addItem(
38174
+ { type: "notification", text: item.displayText },
38175
+ now
38176
+ );
38177
+ }
38178
+ const combinedModelText = batch.map((e) => e.modelText).join("\n\n");
38179
+ const combinedDisplayText = batch.map((e) => e.displayText).join("; ");
38180
+ submitQuery(combinedModelText, targetType, void 0, {
38181
+ notificationDisplayText: combinedDisplayText
38068
38182
  });
38069
- return;
38070
- }
38071
- let splitIdx = 0;
38072
- while (splitIdx < queue.length && queue[splitIdx].sendMessageType === targetType) {
38073
- splitIdx++;
38074
- }
38075
- const batch = queue.splice(0, splitIdx);
38076
- const now = Date.now();
38077
- for (const item of batch) {
38078
- addItem({ type: "notification", text: item.displayText }, now);
38079
- }
38080
- const combinedModelText = batch.map((e) => e.modelText).join("\n\n");
38081
- const combinedDisplayText = batch.map((e) => e.displayText).join("; ");
38082
- submitQuery(combinedModelText, targetType, void 0, {
38083
- notificationDisplayText: combinedDisplayText
38084
38183
  });
38085
38184
  }
38086
38185
  }, [streamingState, submitQuery, notificationTrigger, addItem]);
@@ -41778,8 +41877,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
41778
41877
  seedPromptCount
41779
41878
  } = useSessionStats();
41780
41879
  const logger = useLogger(config.storage, sessionStats.sessionId);
41781
- const branchName = useGitBranchName(config.getTargetDir());
41782
41880
  const worktreeSession = useWorktreeSession(config);
41881
+ const branchName = useGitBranchName(
41882
+ worktreeSession?.worktreePath ?? config.getTargetDir()
41883
+ );
41783
41884
  const [showWorktreeExitDialog, setShowWorktreeExitDialog] = (0, import_react165.useState)(false);
41784
41885
  const [workflowKeywordActive, setWorkflowKeywordActive] = (0, import_react165.useState)(false);
41785
41886
  const pendingWorktreeNoticeRef = (0, import_react165.useRef)(null);
@@ -43317,10 +43418,13 @@ ${currentText}` : popped);
43317
43418
  dialogsVisible,
43318
43419
  stickyTodosLayoutKey,
43319
43420
  liveAgentPanelLayoutKey,
43320
- // Composer height also shifts with these; without them the footer isn't
43321
- // re-measured during a streaming turn and the VP viewport bottom clips.
43421
+ // Composer and update notification height also shift with these; without
43422
+ // them the footer isn't re-measured during a streaming turn and the VP
43423
+ // viewport bottom clips.
43322
43424
  // (elapsedTime/currentLoadingPhrase excluded: they tick without changing rows.)
43323
43425
  streamingState,
43426
+ updateInfo,
43427
+ agentViewState.activeView,
43324
43428
  embeddedShellFocused,
43325
43429
  messageQueue.length,
43326
43430
  isInputActive