@qwen-code/qwen-code 0.21.13 → 0.21.14-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 (293) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +13 -7
  2. package/bundled/qc-helper/docs/features/code-review.md +5 -1
  3. package/bundled/qc-helper/docs/features/commands.md +120 -8
  4. package/bundled/qc-helper/docs/features/sub-agents.md +2 -2
  5. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +1 -1
  6. package/bundled/qc-helper/docs/qwen-serve.md +20 -3
  7. package/bundled/review/SKILL.md +50 -30
  8. package/chunks/{MaxSizedBox-UQALOVVT.js → MaxSizedBox-3PZITE2Y.js} +24 -23
  9. package/chunks/{StandaloneSessionPicker-KEGXNUG6.js → StandaloneSessionPicker-2C34PNGO.js} +41 -40
  10. package/chunks/{acp-startup-profiler-NMDXYGDN.js → acp-startup-profiler-HUYGO57H.js} +2 -2
  11. package/chunks/{acpAgent-XPES32S7.js → acpAgent-3J4NHAYT.js} +626 -141
  12. package/chunks/{agent-DPTOZFEM.js → agent-VFX4RPP5.js} +22 -21
  13. package/chunks/{agent-headless-GJCQMURW.js → agent-headless-6WCF4J6N.js} +22 -21
  14. package/chunks/{anthropicContentGenerator-G7BVXTKN.js → anthropicContentGenerator-M7XRJMSK.js} +3 -3
  15. package/chunks/{bridge-YNQBAA4Z.js → bridge-XR5ZSR7U.js} +26 -25
  16. package/chunks/{ca-4CQ6MYNQ.js → ca-SLZJD6QH.js} +8 -0
  17. package/chunks/{channel-management-service-GWY2GAIC.js → channel-management-service-X6LCQUAD.js} +1 -1
  18. package/chunks/{channel-settings-store-WNWYFHG7.js → channel-settings-store-Z7BUEUJE.js} +30 -29
  19. package/chunks/{channel-worker-group-7LXCMZ77.js → channel-worker-group-TJ35JDPE.js} +2 -2
  20. package/chunks/{channel-worker-manager-RYEME4ZZ.js → channel-worker-manager-G5LKWGOG.js} +2 -2
  21. package/chunks/{chunk-MLPXSYXR.js → chunk-25GHLMQQ.js} +25 -16
  22. package/chunks/chunk-2C6HJMG3.js +757 -0
  23. package/chunks/{chunk-TUGSVUJB.js → chunk-2JXDFSVE.js} +5 -5
  24. package/chunks/{chunk-AS5IN4GK.js → chunk-2OA3JMRD.js} +3 -3
  25. package/chunks/chunk-3PWCMXIR.js +9169 -0
  26. package/chunks/{chunk-U3VNBPUO.js → chunk-4KQ2TI2K.js} +2 -2
  27. package/chunks/{chunk-NEFOOD54.js → chunk-4V4DFJBS.js} +2 -2
  28. package/chunks/{chunk-OMLJNPBE.js → chunk-4ZMS3JCR.js} +1 -0
  29. package/chunks/{chunk-PP4FUZNV.js → chunk-55PIFSP2.js} +2 -2
  30. package/chunks/{chunk-3U3VAL47.js → chunk-57KOJ2KZ.js} +1 -1
  31. package/chunks/{chunk-A4QRWUDE.js → chunk-5IYS4WWR.js} +1 -1
  32. package/chunks/{chunk-TS6625XH.js → chunk-5MK45KZ3.js} +9 -5
  33. package/chunks/{chunk-CU6GJD55.js → chunk-6DFPR7CS.js} +1 -1
  34. package/chunks/{chunk-V57QC6WW.js → chunk-6LAPGPVA.js} +5 -3
  35. package/chunks/{chunk-OOQUVWIG.js → chunk-6PDOHRN6.js} +4 -4
  36. package/chunks/{chunk-UZPM4XHR.js → chunk-6VDPDHIP.js} +29 -8
  37. package/chunks/{chunk-O4D7SPJN.js → chunk-73G3Z7QS.js} +3 -3
  38. package/chunks/{chunk-QIH2HAEN.js → chunk-7OCSX7FC.js} +1 -1
  39. package/chunks/{chunk-OVZPVYZB.js → chunk-AKBOLMUF.js} +95 -17
  40. package/chunks/{chunk-DGK6P3BQ.js → chunk-AQBHJ2IG.js} +10 -10
  41. package/chunks/{chunk-JNDY2MDR.js → chunk-BOJNAPUE.js} +1 -1
  42. package/chunks/{chunk-NHDR76JX.js → chunk-BQWNIPTE.js} +1 -1
  43. package/chunks/{chunk-AA2BEKV3.js → chunk-CH5OFRV7.js} +1 -1
  44. package/chunks/{chunk-MS7GNABG.js → chunk-CXJHQVEK.js} +8 -0
  45. package/chunks/{chunk-K5IDV3PC.js → chunk-D34RDOLP.js} +12 -2
  46. package/chunks/{chunk-OXCMMLED.js → chunk-DGJ7O55J.js} +1 -1
  47. package/chunks/{chunk-BKPPWD33.js → chunk-DRKYT2TR.js} +1 -1
  48. package/chunks/{chunk-P7MPQI75.js → chunk-DVR7XKO5.js} +1 -1
  49. package/chunks/{chunk-MRMJCLIY.js → chunk-DZCV3ZYU.js} +2 -2
  50. package/chunks/{chunk-EZ5RP345.js → chunk-E5RS7LF4.js} +40 -9
  51. package/chunks/{chunk-4NFY2S7N.js → chunk-E7REAOTN.js} +15 -0
  52. package/chunks/chunk-EOCQCNV4.js +3887 -0
  53. package/chunks/{chunk-BVJS5BSP.js → chunk-FCTLOVYW.js} +1 -1
  54. package/chunks/{chunk-DGZEMW5R.js → chunk-FS5NGKWC.js} +1 -1
  55. package/chunks/{chunk-XHRY7BXD.js → chunk-G6FFFICU.js} +3 -3
  56. package/chunks/{chunk-NM5V5OVW.js → chunk-GV3OIADZ.js} +2 -2
  57. package/chunks/{chunk-QV5YN5YD.js → chunk-HGPMOXLZ.js} +5 -5
  58. package/chunks/{chunk-GMIEIY3Y.js → chunk-I3N2Z25H.js} +1 -1
  59. package/chunks/{chunk-RIAABG2K.js → chunk-I7NTHW4C.js} +1 -1
  60. package/chunks/{chunk-HUTNYWBG.js → chunk-IOTPI425.js} +18 -10
  61. package/chunks/{chunk-ZYYTZUI2.js → chunk-ISRHAMNL.js} +3 -3
  62. package/chunks/{chunk-BHILXOC3.js → chunk-J63PKMYA.js} +1 -1
  63. package/chunks/{chunk-KD5BOPLP.js → chunk-J6YS7Z25.js} +98 -4
  64. package/chunks/{chunk-GO7STP6N.js → chunk-K3CECR5C.js} +4 -4
  65. package/chunks/{chunk-RVOJ2FBP.js → chunk-KC4WMLZO.js} +1486 -10574
  66. package/chunks/{chunk-IGGGG5CX.js → chunk-KSGWAYNE.js} +4580 -1652
  67. package/chunks/{chunk-X26JYGTD.js → chunk-L6CCLB3G.js} +1 -1
  68. package/chunks/{chunk-M6NDLY2T.js → chunk-LD5VIJ7S.js} +1 -1
  69. package/chunks/{chunk-ZYBBISBY.js → chunk-LLR424CQ.js} +15 -12
  70. package/chunks/{chunk-JUEPY766.js → chunk-LRDB2OLB.js} +2 -2
  71. package/chunks/{chunk-PQ36L4F5.js → chunk-MCG53LWC.js} +1 -1
  72. package/chunks/{chunk-OD2WU5QY.js → chunk-NRPXRNN4.js} +1 -1
  73. package/chunks/{chunk-76J3IJ3M.js → chunk-NV6LW6FT.js} +3 -3
  74. package/chunks/{chunk-CKSJECTU.js → chunk-NVRMCWTP.js} +8 -4
  75. package/chunks/{chunk-Y3YCSWG5.js → chunk-OBJYN4MX.js} +1 -1
  76. package/chunks/{chunk-WFSTRPRO.js → chunk-OJOP26ET.js} +1 -1
  77. package/chunks/{chunk-A267JX7H.js → chunk-OLZSWUZR.js} +6 -6
  78. package/chunks/{chunk-TIGA2IVL.js → chunk-OO4FKHLO.js} +2 -2
  79. package/chunks/{chunk-OY5RNSV4.js → chunk-OSAFWBNR.js} +3 -3
  80. package/chunks/{chunk-BZ263IKX.js → chunk-OVY67CYC.js} +1 -1
  81. package/chunks/{chunk-YEYY7TEP.js → chunk-P425IVUK.js} +5 -5
  82. package/chunks/{chunk-AFSG32D5.js → chunk-PMS7O6SA.js} +1 -1
  83. package/chunks/{chunk-6ORZ2EDC.js → chunk-PPTM4O4R.js} +1 -1
  84. package/chunks/{chunk-JOOFMXGF.js → chunk-QECSDJET.js} +5 -5
  85. package/chunks/{chunk-CZBYX5MY.js → chunk-QEJZUXSK.js} +1 -1
  86. package/chunks/{chunk-4PKCUT7F.js → chunk-QIHHJKXT.js} +6 -6
  87. package/chunks/{chunk-QRCNA3SR.js → chunk-RAQBBGS6.js} +49 -69
  88. package/chunks/{chunk-M732YJPW.js → chunk-RXHBTKMG.js} +2 -2
  89. package/chunks/{chunk-XIT3GURH.js → chunk-S6CXQKDD.js} +3 -3
  90. package/chunks/{chunk-GGDBMYGZ.js → chunk-SA7GBPEA.js} +3 -3
  91. package/chunks/{chunk-7UXUJ5T3.js → chunk-SBRIBTYN.js} +1 -1
  92. package/chunks/{chunk-MC4TLKEI.js → chunk-SGLPDKRT.js} +2 -2
  93. package/chunks/{chunk-WSH6GRKG.js → chunk-SLILKYV2.js} +2 -2
  94. package/chunks/{chunk-DXIBNLBZ.js → chunk-SNQZZ765.js} +1 -1
  95. package/chunks/{chunk-5EYKMUUY.js → chunk-SR2LYSMT.js} +1 -1
  96. package/chunks/{chunk-AW4TRXOC.js → chunk-TNPWODIZ.js} +1 -1
  97. package/chunks/{chunk-QF2NHSPB.js → chunk-U6RZRKNM.js} +233 -184
  98. package/chunks/{chunk-QNQAPSN2.js → chunk-UC67T4SF.js} +3 -1
  99. package/chunks/{chunk-O565M6A4.js → chunk-UYDGFWIJ.js} +199 -14
  100. package/chunks/{chunk-LJQAUZMR.js → chunk-VGAAAMRD.js} +925 -92
  101. package/chunks/{chunk-UKMR3CKV.js → chunk-VHPMDDPT.js} +3 -3
  102. package/chunks/{chunk-S5DWMTHO.js → chunk-WP4WIUOJ.js} +2 -0
  103. package/chunks/{chunk-25EYDK42.js → chunk-WPVUOVYX.js} +1 -1
  104. package/chunks/{chunk-AXN7UPYQ.js → chunk-WSSH2BNO.js} +1 -1
  105. package/chunks/{chunk-6YKYPVDV.js → chunk-WVIABDXV.js} +3 -3
  106. package/chunks/chunk-WZAD4ZNJ.js +59 -0
  107. package/chunks/{chunk-N5YPT6PH.js → chunk-X3YA3YGG.js} +7 -4
  108. package/chunks/{chunk-4S5337WV.js → chunk-XC377TLN.js} +4312 -2704
  109. package/chunks/{chunk-NNHNLJ2X.js → chunk-XO24LIZC.js} +240 -42
  110. package/chunks/{chunk-EL5SXY3T.js → chunk-XT4RKHVE.js} +2 -2
  111. package/chunks/{chunk-FDGGZIYW.js → chunk-YECDICIO.js} +2 -2
  112. package/chunks/{chunk-E23IPNGS.js → chunk-YFPZ3NNC.js} +12 -3
  113. package/chunks/{chunk-46UV252V.js → chunk-YHC2EYYG.js} +35 -38
  114. package/chunks/{chunk-V26NVGAU.js → chunk-YIWH3MKK.js} +8 -3
  115. package/chunks/{chunk-IWPYVAO2.js → chunk-YXC7JYUI.js} +2 -2
  116. package/chunks/{chunk-A4MFR4C5.js → chunk-ZIGC3MUS.js} +2 -4
  117. package/chunks/{chunk-ZZO74WKW.js → chunk-ZXEAEZFN.js} +24 -18
  118. package/chunks/{computer-use-77C5FHMW.js → computer-use-ABECHPS5.js} +22 -21
  119. package/chunks/{config-utils-IVHRSXWI.js → config-utils-NJQA5YLJ.js} +2 -2
  120. package/chunks/{contextCommand-PJ77GBWL.js → contextCommand-4CD5HZQQ.js} +24 -23
  121. package/chunks/{core-runtime-7VMIKUTG.js → core-runtime-2MOVQ4VX.js} +22 -21
  122. package/chunks/{create-sub-session-2L5MQRN4.js → create-sub-session-L6NNHG5N.js} +26 -24
  123. package/chunks/{cron-create-H7UEPDSN.js → cron-create-NFRZEOQX.js} +2 -2
  124. package/chunks/{cron-delete-6SZK7YFM.js → cron-delete-GFVSVO7C.js} +2 -2
  125. package/chunks/{cron-list-H25JIHEZ.js → cron-list-NRW34CLU.js} +2 -2
  126. package/chunks/{daemon-2KTG7ZBN.js → daemon-XH76IXOC.js} +356 -21
  127. package/chunks/{daemon-git-worktree-guard-DXYIMWFT.js → daemon-git-worktree-guard-BLXFEG4Q.js} +24 -23
  128. package/chunks/{daemon-status-provider-ZDOYJCU6.js → daemon-status-provider-XGD3TPTO.js} +31 -30
  129. package/chunks/{daemon-trust-policy-E67OYUK2.js → daemon-trust-policy-THEGCWPO.js} +29 -28
  130. package/chunks/{daemon-trust-policy-monitor-RYYGCQ3J.js → daemon-trust-policy-monitor-L7L4ACWQ.js} +29 -28
  131. package/chunks/{de-UBEBKG6V.js → de-AH4LGCF5.js} +8 -0
  132. package/chunks/{deferred-core-runtime-3SGXFXEQ.js → deferred-core-runtime-YQLHDUGE.js} +22 -21
  133. package/chunks/{discovery-ORA5J7YP.js → discovery-X2NV535U.js} +1 -1
  134. package/chunks/{dist-WJ4BHIEW.js → dist-ESS34DHC.js} +72 -0
  135. package/chunks/{earlyInputCapture-KJMLFVQV.js → earlyInputCapture-PCTXNW7N.js} +22 -21
  136. package/chunks/{edit-I4LQFAEC.js → edit-QX2EGWYW.js} +25 -23
  137. package/chunks/{en-X6YV7GME.js → en-MD3GP5YL.js} +8 -0
  138. package/chunks/{enter-worktree-YNPOJSRH.js → enter-worktree-EM3ZZ2SB.js} +22 -21
  139. package/chunks/{enterPlanMode-XCPK62ER.js → enterPlanMode-ESCMVAKB.js} +22 -21
  140. package/chunks/{environment-S7CTIHMX.js → environment-TOJI56YV.js} +25 -24
  141. package/chunks/{errors-7HB2AIDS.js → errors-DZ5FWWEM.js} +24 -23
  142. package/chunks/{exit-worktree-AIIY7SR6.js → exit-worktree-KUIJ36XA.js} +22 -21
  143. package/chunks/{exitPlanMode-R4JY7V2O.js → exitPlanMode-NFVY54FV.js} +22 -21
  144. package/chunks/{fast-path-NDJV3ZFJ.js → fast-path-JLQXJSH6.js} +3 -3
  145. package/chunks/{fast-path-settings-LNOFM2YP.js → fast-path-settings-WHX3J3ZI.js} +2 -2
  146. package/chunks/{fr-VENTC2BS.js → fr-ZEML2JWS.js} +8 -0
  147. package/chunks/{gemini-RSUFP5OE.js → gemini-I7OT4FWL.js} +62 -61
  148. package/chunks/{geminiContentGenerator-SQ5XBPZ7.js → geminiContentGenerator-GRIS77NJ.js} +3 -3
  149. package/chunks/{glob-J4RUJAHX.js → glob-7TBUUV6R.js} +22 -21
  150. package/chunks/{goal-tools-VHTNVOKK.js → goal-tools-K5OHOJ6B.js} +1 -1
  151. package/chunks/{grep-VJWPLFOT.js → grep-743SYWCZ.js} +22 -21
  152. package/chunks/{handleAutoUpdate-POCX2MNB.js → handleAutoUpdate-GAOYUYOD.js} +26 -25
  153. package/chunks/{i18n-RM5YOICI.js → i18n-2ITURYX6.js} +23 -22
  154. package/chunks/{image-gen-EXECB5XM.js → image-gen-4OIWDZD6.js} +2 -2
  155. package/chunks/{initializer-Z2AFGBNR.js → initializer-OC7LWA6X.js} +29 -28
  156. package/chunks/{installationInfo-4I5FXNMH.js → installationInfo-CO47QX3Q.js} +23 -22
  157. package/chunks/{ja-QHT4EQTO.js → ja-UM5B2HMD.js} +8 -0
  158. package/chunks/{list-ZMBFIGZA.js → list-ATR2SFWT.js} +32 -31
  159. package/chunks/{loadedSettingsAdapter-T6TV4YJ7.js → loadedSettingsAdapter-NK4B7AGK.js} +29 -28
  160. package/chunks/{loggingContentGenerator-WF4ZOJEZ.js → loggingContentGenerator-3WXBU5TQ.js} +12 -10
  161. package/chunks/{loop-wakeup-WQS6JYAG.js → loop-wakeup-HWVUU5CF.js} +3 -3
  162. package/chunks/{managed-npm-update-E7IW6N7V.js → managed-npm-update-4SSBWI2D.js} +23 -22
  163. package/chunks/{mcp-6UNYX4HG.js → mcp-C62AE2QI.js} +29 -28
  164. package/chunks/{monitor-EE2UYMGE.js → monitor-FEYEGASA.js} +22 -21
  165. package/chunks/{nonInteractiveCli-WAY237O4.js → nonInteractiveCli-AJEV5ZWO.js} +59 -57
  166. package/chunks/{notebook-edit-NTDY4QDU.js → notebook-edit-SLLTEY4O.js} +26 -24
  167. package/chunks/{openaiContentGenerator-YNFVJMRJ.js → openaiContentGenerator-WLUGIAPX.js} +12 -11
  168. package/chunks/{pidfile-4XSFLYBZ.js → pidfile-TV2VWUMB.js} +22 -21
  169. package/chunks/{processUtils-WDA2MJFD.js → processUtils-3IN2ZR55.js} +2 -2
  170. package/chunks/{pt-VL3I5RNY.js → pt-5BMJ3XYH.js} +8 -0
  171. package/chunks/{qwenContentGenerator-434M7QKY.js → qwenContentGenerator-GSGRFPJE.js} +25 -24
  172. package/chunks/{qwenOAuth2-GMYZOO6A.js → qwenOAuth2-JLSTIS4Z.js} +3 -3
  173. package/chunks/{read-file-TAFBKMNI.js → read-file-6PZZRGZZ.js} +9 -7
  174. package/chunks/{record-artifact-SEYFJEJF.js → record-artifact-GLU3UWBV.js} +3 -1
  175. package/chunks/{resumeHistoryUtils-EVG3WYK2.js → resumeHistoryUtils-5GEWKOOO.js} +25 -24
  176. package/chunks/{ripGrep-WOEK2PXS.js → ripGrep-FX7GBGFN.js} +22 -21
  177. package/chunks/{ru-4RCKL4PY.js → ru-6GL66ORV.js} +8 -0
  178. package/chunks/{run-qwen-serve-3QSGRXAN.js → run-qwen-serve-7RHU3NSV.js} +49 -40
  179. package/chunks/{runtime-5MLLZ7DC.js → runtime-EPOXAMLP.js} +32 -31
  180. package/chunks/{scheduler-RPBJ63CH.js → scheduler-F4Y7ENVV.js} +24 -23
  181. package/chunks/{sdk-exporters-http-XUVP63H6.js → sdk-exporters-http-NC746HLT.js} +2 -2
  182. package/chunks/{sdk-impl-YXUEN2Z2.js → sdk-impl-YVL7BP6Y.js} +2 -2
  183. package/chunks/{send-message-VZENRWRH.js → send-message-TNBG5EVA.js} +1 -1
  184. package/chunks/{serve-HS3XLPXU.js → serve-LQV4TN5A.js} +29 -30
  185. package/chunks/{server-TC4A7AAZ.js → server-IZCKLIYQ.js} +1267 -165
  186. package/chunks/{session-UBOFXVMN.js → session-52ZGTDVB.js} +60 -58
  187. package/chunks/{settings-D5644OM5.js → settings-WCVB34HW.js} +28 -27
  188. package/chunks/{shell-3PZULQQV.js → shell-33BIUBLH.js} +22 -21
  189. package/chunks/{skill-PEVVXQ3L.js → skill-IYVQ2QNK.js} +11 -9
  190. package/chunks/{skill-settings-J65JKKES.js → skill-settings-YG4ZS4OZ.js} +28 -27
  191. package/chunks/{spawnChannel-IYGXRHSQ.js → spawnChannel-BLA4YT4W.js} +24 -23
  192. package/chunks/{standalone-update-IFM53PE7.js → standalone-update-ALRIPWSM.js} +24 -23
  193. package/chunks/{startInteractiveUI-3AVH7L6H.js → startInteractiveUI-PISBXWKA.js} +262 -191
  194. package/chunks/{task-create-FCBDX7UH.js → task-create-EILHJJB7.js} +4 -4
  195. package/chunks/{task-list-YIYIUFUA.js → task-list-WGJR6YL5.js} +18 -4
  196. package/chunks/{task-update-MYPFVOVM.js → task-update-XZAHVXJ5.js} +79 -8
  197. package/chunks/{team-create-ZAIA7KAV.js → team-create-CIQDCC6A.js} +23 -23
  198. package/chunks/{team-delete-6UMU4XLS.js → team-delete-UEP4QOOT.js} +3 -3
  199. package/chunks/{team-plan-approval-UNIUS7OD.js → team-plan-approval-664XCRB4.js} +22 -21
  200. package/chunks/{terminal-image-renderer-G343P2RV.js → terminal-image-renderer-TEBO6ONY.js} +22 -21
  201. package/chunks/{theme-manager-Z3RIT7DB.js → theme-manager-3CIFH2JV.js} +22 -21
  202. package/chunks/{todoWrite-U2R4NVF4.js → todoWrite-ATS62CAP.js} +1 -1
  203. package/chunks/{tool-search-5R2OE4C7.js → tool-search-IJX5JHJB.js} +9 -7
  204. package/chunks/{total-session-admission-4KBHMQQ2.js → total-session-admission-XBK2NVRV.js} +26 -25
  205. package/chunks/{trustedFolders-LK6T4XC7.js → trustedFolders-OOFNLRWK.js} +23 -22
  206. package/chunks/{update-relaunch-UBKROIC6.js → update-relaunch-EIG7EYAQ.js} +5 -5
  207. package/chunks/{updateCheck-W4Y2GFSD.js → updateCheck-KYDCBLSF.js} +25 -24
  208. package/chunks/{useAutoAcceptIndicator-C7BEICBF.js → useAutoAcceptIndicator-RFX3KNBN.js} +31 -30
  209. package/chunks/{validateNonInterActiveAuth-LTEI2TB6.js → validateNonInterActiveAuth-MZXSAITU.js} +56 -54
  210. package/chunks/{version-G5A5DGVS.js → version-PJC6ZNXV.js} +1 -1
  211. package/chunks/{web-fetch-RTEQTR5Z.js → web-fetch-XXICVGKQ.js} +11 -8
  212. package/chunks/{web-search-5OXHEZPV.js → web-search-LHPM6QWC.js} +2 -2
  213. package/chunks/{workflow-ISQJHPG2.js → workflow-4CUO2BV7.js} +139 -37
  214. package/chunks/{workspace-providers-status-2ZPZPUPZ.js → workspace-providers-status-G4MUGH3X.js} +32 -31
  215. package/chunks/{workspace-registration-store-CYNY6IP6.js → workspace-registration-store-QMDMFWBE.js} +1 -1
  216. package/chunks/{workspace-registry-34GTUUHB.js → workspace-registry-FKBB4MZK.js} +26 -25
  217. package/chunks/{workspace-service-XCDQLE2Y.js → workspace-service-TIDTTA65.js} +33 -32
  218. package/chunks/{workspace-skills-status-RS4O7AIJ.js → workspace-skills-status-LBC2TZKM.js} +30 -29
  219. package/chunks/{workspace-trust-reconciler-AYGXC7A3.js → workspace-trust-reconciler-4KJ567XP.js} +33 -32
  220. package/chunks/{write-file-EWXKVVXF.js → write-file-R6LAEER5.js} +22 -21
  221. package/chunks/{zh-TW-SQ4HTSCW.js → zh-TW-LVLBK4KF.js} +8 -0
  222. package/chunks/{zh-LMSTK4WD.js → zh-UBMWS2BJ.js} +8 -0
  223. package/chunks/{zoom-image-4BFYJ3HG.js → zoom-image-XLCK6DDK.js} +14 -11
  224. package/cli.js +13 -13
  225. package/locales/ca.js +13 -0
  226. package/locales/de.js +12 -0
  227. package/locales/en.js +11 -0
  228. package/locales/fr.js +13 -0
  229. package/locales/ja.js +13 -0
  230. package/locales/pt.js +12 -0
  231. package/locales/ru.js +12 -0
  232. package/locales/zh-TW.js +11 -0
  233. package/locales/zh.js +11 -0
  234. package/package.json +3 -3
  235. package/web-shell/assets/{arc-CgOpDKvm.js → arc-DItbX0DI.js} +1 -1
  236. package/web-shell/assets/{architectureDiagram-3BPJPVTR-0Ag_m34F.js → architectureDiagram-3BPJPVTR-CmnIlH8y.js} +1 -1
  237. package/web-shell/assets/{blockDiagram-GPEHLZMM-IwTwFau0.js → blockDiagram-GPEHLZMM-pObnB9kw.js} +1 -1
  238. package/web-shell/assets/{c4Diagram-AAUBKEIU-DLa5GUv8.js → c4Diagram-AAUBKEIU-BNBmMS0Y.js} +1 -1
  239. package/web-shell/assets/channel-hZnMfWA9.js +1 -0
  240. package/web-shell/assets/{chunk-2J33WTMH-DcYP-WFG.js → chunk-2J33WTMH-Dz4JBOO6.js} +1 -1
  241. package/web-shell/assets/{chunk-4BX2VUAB-C8MVPMiQ.js → chunk-4BX2VUAB-Cz2GnvAR.js} +1 -1
  242. package/web-shell/assets/{chunk-55IACEB6-BUi4Yfv3.js → chunk-55IACEB6-CC6kOQYx.js} +1 -1
  243. package/web-shell/assets/{chunk-727SXJPM-Cy3Su2YY.js → chunk-727SXJPM-Z4lY4gbh.js} +1 -1
  244. package/web-shell/assets/{chunk-AQP2D5EJ-Dp8Teqv6.js → chunk-AQP2D5EJ-Yz0hZr3D.js} +1 -1
  245. package/web-shell/assets/{chunk-FMBD7UC4-BDTDM-4j.js → chunk-FMBD7UC4-nKmTWTv9.js} +1 -1
  246. package/web-shell/assets/{chunk-ND2GUHAM-7HfDt0r2.js → chunk-ND2GUHAM-CjZz0f6Y.js} +1 -1
  247. package/web-shell/assets/{chunk-QZHKN3VN-BIBU0uCF.js → chunk-QZHKN3VN-Bab3FpuS.js} +1 -1
  248. package/web-shell/assets/classDiagram-4FO5ZUOK-BRnxm8DX.js +1 -0
  249. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BRnxm8DX.js +1 -0
  250. package/web-shell/assets/{cose-bilkent-S5V4N54A-DRLdcg9p.js → cose-bilkent-S5V4N54A-BuSAGFox.js} +1 -1
  251. package/web-shell/assets/{dagre-BM42HDAG-DCCgDwqW.js → dagre-BM42HDAG-CRZXTg3g.js} +1 -1
  252. package/web-shell/assets/{diagram-2AECGRRQ-CsBTBmk3.js → diagram-2AECGRRQ-BFx1Ayrz.js} +1 -1
  253. package/web-shell/assets/{diagram-5GNKFQAL-C9qjH8Lt.js → diagram-5GNKFQAL-B2hMZ3gS.js} +1 -1
  254. package/web-shell/assets/{diagram-KO2AKTUF-Brjs_lj2.js → diagram-KO2AKTUF-DKxAQLmc.js} +1 -1
  255. package/web-shell/assets/{diagram-LMA3HP47-DtiWCl_F.js → diagram-LMA3HP47-Bo1xGqVY.js} +1 -1
  256. package/web-shell/assets/{diagram-OG6HWLK6-DmfKLkBT.js → diagram-OG6HWLK6-B9NG78d-.js} +1 -1
  257. package/web-shell/assets/{erDiagram-TEJ5UH35-Bve_4deH.js → erDiagram-TEJ5UH35-DltQKiqQ.js} +1 -1
  258. package/web-shell/assets/{flowDiagram-I6XJVG4X-C2_kXCcV.js → flowDiagram-I6XJVG4X-5xXGmS4I.js} +1 -1
  259. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BSBIjiTF.js → ganttDiagram-6RSMTGT7-bhGL5n0l.js} +1 -1
  260. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CyebwI55.js → gitGraphDiagram-PVQCEYII-ZYnz9hgh.js} +1 -1
  261. package/web-shell/assets/{index-d0yfnV1M.js → index-CBBeUArD.js} +1 -1
  262. package/web-shell/assets/index-CbgU-jUo.css +5 -0
  263. package/web-shell/assets/index-_nhzXqab.js +1750 -0
  264. package/web-shell/assets/{infoDiagram-5YYISTIA-CSDGnWxU.js → infoDiagram-5YYISTIA-Cg-jamQf.js} +1 -1
  265. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK4jU13p.js → ishikawaDiagram-YF4QCWOH-CcmvKlyq.js} +1 -1
  266. package/web-shell/assets/{journeyDiagram-JHISSGLW-D_W6j-oF.js → journeyDiagram-JHISSGLW-BRsOQZp1.js} +1 -1
  267. package/web-shell/assets/{kanban-definition-UN3LZRKU-C7xf-SdC.js → kanban-definition-UN3LZRKU-xW-dmEHK.js} +1 -1
  268. package/web-shell/assets/{linear-DQmzxpxd.js → linear-ClBfEZH2.js} +1 -1
  269. package/web-shell/assets/{mermaid.core-9P7AGOLG.js → mermaid.core-D65NDkzc.js} +5 -5
  270. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DgcgMyPk.js → mindmap-definition-RKZ34NQL-CyvFslYa.js} +1 -1
  271. package/web-shell/assets/{pieDiagram-4H26LBE5-3wWGb9eG.js → pieDiagram-4H26LBE5-BwSefMyG.js} +1 -1
  272. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BeCXnQw9.js → quadrantDiagram-W4KKPZXB-GqBJspFS.js} +1 -1
  273. package/web-shell/assets/{requirementDiagram-4Y6WPE33-Bi1UOHDz.js → requirementDiagram-4Y6WPE33-B137PlTJ.js} +1 -1
  274. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-lrLUjjbb.js → sankeyDiagram-5OEKKPKP-maHkkt8i.js} +1 -1
  275. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-BFuqKz6Q.js → sequenceDiagram-3UESZ5HK-DJ1mRaG3.js} +1 -1
  276. package/web-shell/assets/{stateDiagram-AJRCARHV-8DemQLhu.js → stateDiagram-AJRCARHV-aRmP7Q4i.js} +1 -1
  277. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Db39gvZ_.js +1 -0
  278. package/web-shell/assets/{timeline-definition-PNZ67QCA-uzEuVQXg.js → timeline-definition-PNZ67QCA-CIQ3BRPA.js} +1 -1
  279. package/web-shell/assets/{vennDiagram-CIIHVFJN-BQTeZ_-o.js → vennDiagram-CIIHVFJN-DR9VPd5h.js} +1 -1
  280. package/web-shell/assets/{wardley-L42UT6IY-B6yM5Im7.js → wardley-L42UT6IY-ZcfIbT4D.js} +1 -1
  281. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-ChM8bmgn.js → wardleyDiagram-YWT4CUSO-D0jgPi4T.js} +1 -1
  282. package/web-shell/assets/{xychartDiagram-2RQKCTM6-oNG6HyB1.js → xychartDiagram-2RQKCTM6-BGWU4s5o.js} +1 -1
  283. package/web-shell/index.html +2 -2
  284. package/chunks/chunk-MPHPFVKK.js +0 -48
  285. package/chunks/chunk-RLKC46YT.js +0 -3582
  286. package/chunks/chunk-UPDOZBWO.js +0 -358
  287. package/web-shell/assets/channel-BrGVBa2L.js +0 -1
  288. package/web-shell/assets/classDiagram-4FO5ZUOK-B5TUzJzI.js +0 -1
  289. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B5TUzJzI.js +0 -1
  290. package/web-shell/assets/index-CIDsgxTe.js +0 -1792
  291. package/web-shell/assets/index-DiQnWi_E.css +0 -5
  292. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DhM5ixYd.js +0 -1
  293. /package/chunks/{chunk-NTTBXH7U.js → chunk-UGK4K2N2.js} +0 -0
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  TUI_CHAT_RECORDING_FAILURE_MESSAGE,
12
12
  reportChatRecordingFailureToAdapter
13
- } from "./chunk-RIAABG2K.js";
13
+ } from "./chunk-I7NTHW4C.js";
14
14
  import {
15
15
  MAX_SUGGESTIONS_TO_SHOW,
16
16
  SESSION_MENTION_PREFIX,
@@ -22,10 +22,10 @@ import {
22
22
  matchMcpServerPrefix,
23
23
  resolveAtCommandQuery,
24
24
  sanitizeDisplayText
25
- } from "./chunk-76J3IJ3M.js";
25
+ } from "./chunk-NV6LW6FT.js";
26
26
  import {
27
27
  StreamJsonOutputAdapter
28
- } from "./chunk-UZPM4XHR.js";
28
+ } from "./chunk-6VDPDHIP.js";
29
29
  import {
30
30
  BuiltinCommandLoader,
31
31
  BundledSkillLoader,
@@ -34,6 +34,7 @@ import {
34
34
  FileCommandLoader,
35
35
  MAX_STACKED_SKILLS,
36
36
  McpPromptLoader,
37
+ SLASH_COMMANDS_SKIP_RECORDING,
37
38
  SavedWorkflowLoader,
38
39
  SkillCommandLoader,
39
40
  addConfigToMatcherGroup,
@@ -69,18 +70,18 @@ import {
69
70
  resetBackgroundStateForSessionSwitch,
70
71
  serializeUserPromptExpansionPrompt,
71
72
  supportsMatchers
72
- } from "./chunk-NNHNLJ2X.js";
73
- import "./chunk-N5YPT6PH.js";
73
+ } from "./chunk-XO24LIZC.js";
74
+ import "./chunk-X3YA3YGG.js";
74
75
  import {
75
76
  startPostRenderPrefetches
76
- } from "./chunk-DGK6P3BQ.js";
77
+ } from "./chunk-AQBHJ2IG.js";
77
78
  import {
78
79
  EXTENSION_RELOAD_FAILED_REASON,
79
80
  ExtensionRefreshState,
80
81
  appEvents,
81
82
  cleanupReviewWorktreeLeases,
82
83
  loadHierarchicalGeminiMemory
83
- } from "./chunk-IGGGG5CX.js";
84
+ } from "./chunk-KSGWAYNE.js";
84
85
  import {
85
86
  AboutBox,
86
87
  BaseSelectionList,
@@ -158,21 +159,21 @@ import {
158
159
  useUIActions,
159
160
  useUIState,
160
161
  useVirtualViewport
161
- } from "./chunk-QF2NHSPB.js";
162
+ } from "./chunk-U6RZRKNM.js";
162
163
  import {
163
164
  getCommandDisplayName,
164
165
  getCommandSourceBadge
165
- } from "./chunk-AFSG32D5.js";
166
+ } from "./chunk-PMS7O6SA.js";
166
167
  import {
167
168
  computeSessionStats,
168
169
  levelLabel
169
- } from "./chunk-O4D7SPJN.js";
170
+ } from "./chunk-73G3Z7QS.js";
170
171
  import "./chunk-4WGODMVR.js";
171
172
  import {
172
173
  MaxSizedBox,
173
174
  OverflowProvider,
174
175
  useOverflowState
175
- } from "./chunk-BHILXOC3.js";
176
+ } from "./chunk-J63PKMYA.js";
176
177
  import {
177
178
  GeminiRespondingSpinner,
178
179
  GeminiSpinner,
@@ -189,7 +190,7 @@ import {
189
190
  useStreamingContext,
190
191
  waitForGoalRuntime,
191
192
  wrapAnsi
192
- } from "./chunk-ZYBBISBY.js";
193
+ } from "./chunk-LLR424CQ.js";
193
194
  import {
194
195
  formatDuration,
195
196
  formatRelativeTime,
@@ -209,13 +210,13 @@ import {
209
210
  } from "./chunk-NYX53SV4.js";
210
211
  import {
211
212
  useAutoAcceptIndicator
212
- } from "./chunk-MRMJCLIY.js";
213
+ } from "./chunk-DZCV3ZYU.js";
213
214
  import {
214
215
  KeypressProvider,
215
216
  useFocus,
216
217
  useKeypress,
217
218
  useKeypressContext
218
- } from "./chunk-M732YJPW.js";
219
+ } from "./chunk-RXHBTKMG.js";
219
220
  import {
220
221
  BEL,
221
222
  OSC_PREFIX,
@@ -228,7 +229,7 @@ import {
228
229
  oscKittyNotify,
229
230
  saveClipboardImage,
230
231
  writeOsc52
231
- } from "./chunk-DXIBNLBZ.js";
232
+ } from "./chunk-SNQZZ765.js";
232
233
  import {
233
234
  require_jsx_runtime
234
235
  } from "./chunk-SV5PQVQE.js";
@@ -248,14 +249,14 @@ import {
248
249
  } from "./chunk-2IIJTXYF.js";
249
250
  import {
250
251
  relaunchApp
251
- } from "./chunk-PQ36L4F5.js";
252
+ } from "./chunk-MCG53LWC.js";
252
253
  import {
253
254
  setUpdateHandler
254
- } from "./chunk-UKMR3CKV.js";
255
+ } from "./chunk-VHPMDDPT.js";
255
256
  import {
256
257
  isHistoryItemVisibleAfterRestore
257
258
  } from "./chunk-EKTCKZV5.js";
258
- import "./chunk-AS5IN4GK.js";
259
+ import "./chunk-2OA3JMRD.js";
259
260
  import {
260
261
  AUTO_THEME_NAME,
261
262
  DEFAULT_THEME,
@@ -265,12 +266,12 @@ import "./chunk-KW7NOTN6.js";
265
266
  import {
266
267
  require_react
267
268
  } from "./chunk-5QWWOFGG.js";
268
- import "./chunk-GO7STP6N.js";
269
+ import "./chunk-K3CECR5C.js";
269
270
  import {
270
271
  getErrorMessage as getErrorMessage2
271
- } from "./chunk-JUEPY766.js";
272
- import "./chunk-U3VNBPUO.js";
273
- import "./chunk-NEFOOD54.js";
272
+ } from "./chunk-LRDB2OLB.js";
273
+ import "./chunk-4KQ2TI2K.js";
274
+ import "./chunk-4V4DFJBS.js";
274
275
  import "./chunk-YAF2MQZ6.js";
275
276
  import "./chunk-IA2K2HJE.js";
276
277
  import {
@@ -278,15 +279,15 @@ import {
278
279
  collectInlineImages,
279
280
  getInlineImageData
280
281
  } from "./chunk-SXCOEJO4.js";
281
- import "./chunk-QRCNA3SR.js";
282
+ import "./chunk-RAQBBGS6.js";
282
283
  import "./chunk-6H67XLET.js";
283
284
  import {
284
285
  openQwenAsrRealtimeStream,
285
286
  openVoiceStream,
286
287
  openVoiceStreamWithRetry
287
- } from "./chunk-AXN7UPYQ.js";
288
- import "./chunk-RLKC46YT.js";
289
- import "./chunk-BZ263IKX.js";
288
+ } from "./chunk-WSSH2BNO.js";
289
+ import "./chunk-EOCQCNV4.js";
290
+ import "./chunk-OVY67CYC.js";
290
291
  import {
291
292
  cpLen,
292
293
  cpSlice,
@@ -298,8 +299,8 @@ import {
298
299
  sanitizeTerminalText,
299
300
  stripUnsafeCharacters,
300
301
  toCodePoints
301
- } from "./chunk-4NFY2S7N.js";
302
- import "./chunk-3U3VAL47.js";
302
+ } from "./chunk-E7REAOTN.js";
303
+ import "./chunk-57KOJ2KZ.js";
303
304
  import {
304
305
  stringWidth
305
306
  } from "./chunk-2MIN6GRR.js";
@@ -315,41 +316,42 @@ import {
315
316
  isStreamingVoiceModel,
316
317
  resolveVoiceStreamConfig,
317
318
  transcribeVoiceAudio
318
- } from "./chunk-6ORZ2EDC.js";
319
+ } from "./chunk-PPTM4O4R.js";
319
320
  import {
320
321
  formatUnsupportedVoiceModelMessage,
321
322
  isSelectableVoiceModel
322
- } from "./chunk-QIH2HAEN.js";
323
+ } from "./chunk-7OCSX7FC.js";
323
324
  import "./chunk-WGHHA7ZH.js";
324
325
  import {
325
326
  getExtendedSystemInfo
326
- } from "./chunk-XHRY7BXD.js";
327
+ } from "./chunk-G6FFFICU.js";
327
328
  import "./chunk-7U5G6JXI.js";
328
329
  import "./chunk-WCCLLK7X.js";
329
330
  import {
330
331
  isInlineModelOverrideAllowed
331
- } from "./chunk-ZYYTZUI2.js";
332
+ } from "./chunk-ISRHAMNL.js";
332
333
  import {
333
334
  computeWorkspaceSkillListUpdates,
334
335
  resolveSkillSettings,
335
336
  skillSettingStrings
336
337
  } from "./chunk-Z4X5MTRT.js";
337
- import "./chunk-TUGSVUJB.js";
338
+ import "./chunk-2JXDFSVE.js";
338
339
  import {
339
340
  requestConsentInteractive,
340
341
  requestConsentOrFail
341
- } from "./chunk-QV5YN5YD.js";
342
+ } from "./chunk-HGPMOXLZ.js";
342
343
  import "./chunk-57OAHC2Y.js";
343
- import "./chunk-OD2WU5QY.js";
344
+ import "./chunk-NRPXRNN4.js";
344
345
  import "./chunk-45NQKMYB.js";
345
- import "./chunk-A4QRWUDE.js";
346
+ import "./chunk-5IYS4WWR.js";
346
347
  import "./chunk-V6WHFGST.js";
347
348
  import {
348
349
  createLoadedSettingsAdapter
349
- } from "./chunk-BVJS5BSP.js";
350
+ } from "./chunk-FCTLOVYW.js";
350
351
  import "./chunk-ZLCT4C5A.js";
351
352
  import "./chunk-2AUM35J5.js";
352
- import "./chunk-BKPPWD33.js";
353
+ import "./chunk-DRKYT2TR.js";
354
+ import "./chunk-WP4WIUOJ.js";
353
355
  import "./chunk-6PLDPT2C.js";
354
356
  import "./chunk-FYJ7W2PI.js";
355
357
  import "./chunk-YP5KH5Y7.js";
@@ -363,7 +365,7 @@ import "./chunk-IW6RQPQB.js";
363
365
  import "./chunk-H4A72DE5.js";
364
366
  import {
365
367
  loadMcpApprovals
366
- } from "./chunk-JOOFMXGF.js";
368
+ } from "./chunk-QECSDJET.js";
367
369
  import {
368
370
  CORRUPTED_SUFFIX,
369
371
  SettingScope,
@@ -385,11 +387,11 @@ import {
385
387
  settingExistsInScope,
386
388
  validateSettingValue,
387
389
  writeOutputLanguageAndRegisterPath
388
- } from "./chunk-A267JX7H.js";
390
+ } from "./chunk-OLZSWUZR.js";
389
391
  import "./chunk-RKUWKYED.js";
390
392
  import {
391
393
  TOGGLE_TYPES
392
- } from "./chunk-E23IPNGS.js";
394
+ } from "./chunk-YFPZ3NNC.js";
393
395
  import "./chunk-GOXKNSDZ.js";
394
396
  import "./chunk-IDS7MSUP.js";
395
397
  import {
@@ -397,19 +399,19 @@ import {
397
399
  localizeToolDisplayName,
398
400
  t,
399
401
  ta
400
- } from "./chunk-HUTNYWBG.js";
402
+ } from "./chunk-IOTPI425.js";
401
403
  import "./chunk-5EJZE3FP.js";
402
- import "./chunk-MC4TLKEI.js";
403
- import "./chunk-MS7GNABG.js";
404
+ import "./chunk-SGLPDKRT.js";
405
+ import "./chunk-CXJHQVEK.js";
404
406
  import "./chunk-NF5J2WFA.js";
405
407
  import {
406
408
  getCliVersion
407
- } from "./chunk-CU6GJD55.js";
409
+ } from "./chunk-6DFPR7CS.js";
408
410
  import "./chunk-WZMH7II3.js";
409
411
  import {
410
412
  isWorkspaceTrusted,
411
413
  loadTrustedFolders
412
- } from "./chunk-IWPYVAO2.js";
414
+ } from "./chunk-YXC7JYUI.js";
413
415
  import {
414
416
  require_strip_json_comments
415
417
  } from "./chunk-NPQ5ZKRP.js";
@@ -507,6 +509,7 @@ import {
507
509
  readWorktreeSessionMarker,
508
510
  refreshMemoryAfterManagedWrite,
509
511
  refreshMemoryInstruction,
512
+ registerSession,
510
513
  resolveBaseUrl,
511
514
  resolveBranchName,
512
515
  resolveMetadataKey,
@@ -520,25 +523,25 @@ import {
520
523
  validateWorkflowName,
521
524
  watchRepoBranch,
522
525
  writeRuntimeStatus
523
- } from "./chunk-4S5337WV.js";
526
+ } from "./chunk-XC377TLN.js";
524
527
  import "./chunk-GOFAQQZA.js";
525
528
  import "./chunk-5M6IDOMF.js";
526
529
  import {
527
530
  stripAnsi
528
531
  } from "./chunk-TWPJO254.js";
529
532
  import "./chunk-CQ35AJ4Z.js";
530
- import "./chunk-DGZEMW5R.js";
531
- import "./chunk-WSH6GRKG.js";
532
- import "./chunk-CKSJECTU.js";
533
- import "./chunk-OVZPVYZB.js";
533
+ import "./chunk-FS5NGKWC.js";
534
+ import "./chunk-SLILKYV2.js";
535
+ import "./chunk-NVRMCWTP.js";
536
+ import "./chunk-AKBOLMUF.js";
534
537
  import "./chunk-6PVPNMXU.js";
535
538
  import {
536
539
  resolveModelId
537
- } from "./chunk-5EYKMUUY.js";
540
+ } from "./chunk-SR2LYSMT.js";
538
541
  import "./chunk-IRH27ZC2.js";
539
542
  import "./chunk-QHWCP53L.js";
540
- import "./chunk-Y3YCSWG5.js";
541
- import "./chunk-UPDOZBWO.js";
543
+ import "./chunk-OBJYN4MX.js";
544
+ import "./chunk-2C6HJMG3.js";
542
545
  import {
543
546
  promptIdContext
544
547
  } from "./chunk-O6GEWCJA.js";
@@ -548,7 +551,7 @@ import "./chunk-CPBF7KYF.js";
548
551
  import {
549
552
  APPROVAL_MODES
550
553
  } from "./chunk-RWDNJBWN.js";
551
- import "./chunk-25EYDK42.js";
554
+ import "./chunk-WPVUOVYX.js";
552
555
  import {
553
556
  HOOKS_CONFIG_FIELDS
554
557
  } from "./chunk-MIPFDQAF.js";
@@ -558,9 +561,9 @@ import "./chunk-E3DYKPYZ.js";
558
561
  import {
559
562
  elapsedActiveTime,
560
563
  goalRequiresExactPermit
561
- } from "./chunk-OMLJNPBE.js";
562
- import "./chunk-OXCMMLED.js";
563
- import "./chunk-TIGA2IVL.js";
564
+ } from "./chunk-4ZMS3JCR.js";
565
+ import "./chunk-DGJ7O55J.js";
566
+ import "./chunk-OO4FKHLO.js";
564
567
  import "./chunk-SAH4BD2J.js";
565
568
  import "./chunk-XLLKYULU.js";
566
569
  import {
@@ -583,7 +586,7 @@ import {
583
586
  sanitizeForOsc,
584
587
  supportsHyperlinks,
585
588
  wrapForMultiplexer
586
- } from "./chunk-GMIEIY3Y.js";
589
+ } from "./chunk-I3N2Z25H.js";
587
590
  import "./chunk-NAVJD2PQ.js";
588
591
  import "./chunk-ROIYNTHJ.js";
589
592
  import "./chunk-2B2BF7P7.js";
@@ -594,10 +597,6 @@ import {
594
597
  REASONING_EFFORT_TIERS,
595
598
  applyReasoningEffort
596
599
  } from "./chunk-KM73TBQ4.js";
597
- import {
598
- getUnsupportedImageFormatWarning,
599
- isSupportedImageMimeType
600
- } from "./chunk-MPHPFVKK.js";
601
600
  import "./chunk-AXMWHKXA.js";
602
601
  import "./chunk-GLCZKT5V.js";
603
602
  import "./chunk-DJ2GSRLV.js";
@@ -617,7 +616,6 @@ import {
617
616
  addMCPStatusChangeListener,
618
617
  formatFullTurnVisionNotice,
619
618
  formatVisionBridgeNotice,
620
- getAllGeminiMdFilenames,
621
619
  getAllMCPServerStatuses,
622
620
  getFullTurnVisionModelSelector,
623
621
  getMCPServerStatus,
@@ -641,9 +639,12 @@ import {
641
639
  runVisionBridge,
642
640
  shouldRunVisionBridge,
643
641
  splitImageParts
644
- } from "./chunk-RVOJ2FBP.js";
642
+ } from "./chunk-KC4WMLZO.js";
645
643
  import "./chunk-YRLW2MSX.js";
646
644
  import "./chunk-VGC4I5JJ.js";
645
+ import {
646
+ getAllGeminiMdFilenames
647
+ } from "./chunk-3PWCMXIR.js";
647
648
  import {
648
649
  AUTO_MEMORY_INDEX_FILENAME,
649
650
  getAutoMemoryProjectStateDir,
@@ -659,27 +660,31 @@ import {
659
660
  ToolNames,
660
661
  isShellProgressData
661
662
  } from "./chunk-6HY6IF3Z.js";
662
- import "./chunk-4PKCUT7F.js";
663
+ import "./chunk-QIHHJKXT.js";
663
664
  import {
664
665
  MAINLINE_CODER_MODEL
665
666
  } from "./chunk-F6WFNA7U.js";
666
- import "./chunk-46UV252V.js";
667
+ import "./chunk-WZAD4ZNJ.js";
667
668
  import {
668
669
  DEFAULT_TOKEN_LIMIT
669
670
  } from "./chunk-FPGTNKCP.js";
671
+ import {
672
+ getUnsupportedImageFormatWarning,
673
+ isSupportedImageMimeType
674
+ } from "./chunk-YHC2EYYG.js";
670
675
  import "./chunk-CPHEPGAO.js";
671
- import "./chunk-P7MPQI75.js";
676
+ import "./chunk-DVR7XKO5.js";
672
677
  import {
673
678
  atomicWriteFileSync
674
- } from "./chunk-FDGGZIYW.js";
679
+ } from "./chunk-YECDICIO.js";
675
680
  import {
676
681
  endInteractionSpan,
677
682
  getActiveInteractionSpan,
678
683
  isBinary,
679
684
  redactUrlCredentials
680
- } from "./chunk-EL5SXY3T.js";
685
+ } from "./chunk-XT4RKHVE.js";
681
686
  import "./chunk-HHJLM3WQ.js";
682
- import "./chunk-K5IDV3PC.js";
687
+ import "./chunk-D34RDOLP.js";
683
688
  import {
684
689
  Storage,
685
690
  UnauthorizedError,
@@ -693,11 +698,11 @@ import {
693
698
  tildeifyPath
694
699
  } from "./chunk-BUQDLC2G.js";
695
700
  import "./chunk-VOQXFAY5.js";
696
- import "./chunk-AW4TRXOC.js";
701
+ import "./chunk-TNPWODIZ.js";
697
702
  import {
698
703
  registerCleanup,
699
704
  runExitCleanup
700
- } from "./chunk-X26JYGTD.js";
705
+ } from "./chunk-L6CCLB3G.js";
701
706
  import {
702
707
  finalizeStartupProfile,
703
708
  profileCheckpoint
@@ -2376,6 +2381,7 @@ function isSyntheticHistoryItem(item) {
2376
2381
  case "gemini_content":
2377
2382
  case "tool_group":
2378
2383
  case "btw":
2384
+ case "advisor":
2379
2385
  case "memory_saved":
2380
2386
  case "about":
2381
2387
  case "help":
@@ -27867,6 +27873,7 @@ function AgentViewProvider({
27867
27873
  const switchToAgent = (0, import_react94.useCallback)(
27868
27874
  (agentId) => {
27869
27875
  if (agents.has(agentId)) {
27876
+ setAgentShellFocused(false);
27870
27877
  setActiveView(agentId);
27871
27878
  }
27872
27879
  },
@@ -27876,14 +27883,24 @@ function AgentViewProvider({
27876
27883
  const ids = ["main", ...agents.keys()];
27877
27884
  const currentIndex = ids.indexOf(activeView);
27878
27885
  const nextIndex = (currentIndex + 1) % ids.length;
27886
+ setAgentShellFocused(false);
27879
27887
  setActiveView(ids[nextIndex]);
27880
27888
  }, [agents, activeView]);
27881
27889
  const switchToPrevious = (0, import_react94.useCallback)(() => {
27882
27890
  const ids = ["main", ...agents.keys()];
27883
27891
  const currentIndex = ids.indexOf(activeView);
27884
27892
  const prevIndex = (currentIndex - 1 + ids.length) % ids.length;
27893
+ setAgentShellFocused(false);
27885
27894
  setActiveView(ids[prevIndex]);
27886
27895
  }, [agents, activeView]);
27896
+ const initialViewRef = (0, import_react94.useRef)(true);
27897
+ (0, import_react94.useEffect)(() => {
27898
+ if (initialViewRef.current) {
27899
+ initialViewRef.current = false;
27900
+ return;
27901
+ }
27902
+ setAgentShellFocused(false);
27903
+ }, [activeView]);
27887
27904
  const registerAgent = (0, import_react94.useCallback)(
27888
27905
  (agentId, interactiveAgent, modelId, color, modelName) => {
27889
27906
  setAgents((prev) => {
@@ -33015,22 +33032,54 @@ var AgentChatMissing = /* @__PURE__ */ __name(({ label }) => /* @__PURE__ */ (0,
33015
33032
 
33016
33033
  // packages/cli/src/ui/components/agent-view/AgentChatView.tsx
33017
33034
  var import_jsx_runtime126 = __toESM(require_jsx_runtime(), 1);
33035
+ var debugLogger31 = createDebugLogger("AGENT_TAB_RENDER");
33018
33036
  var AgentChatView = /* @__PURE__ */ __name(({ agentId }) => {
33019
33037
  const { agents } = useAgentViewState();
33038
+ const { setAgentShellFocused } = useAgentViewActions();
33020
33039
  const agent = agents.get(agentId);
33021
33040
  const interactiveAgent = agent?.interactiveAgent;
33022
33041
  const core = interactiveAgent?.getCore();
33023
33042
  if (!agent || !interactiveAgent || !core) {
33024
33043
  return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(AgentChatMissing, { label: `Agent "${agentId}" not found.` });
33025
33044
  }
33026
- return /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
33027
- AgentChatContent,
33028
- {
33029
- core,
33030
- interactiveAgent,
33031
- instanceKey: agentId,
33032
- modelName: agent.modelName
33033
- }
33045
+ return (
33046
+ // Non-fatal per-tab containment (#9290): the app-level boundary is
33047
+ // FATAL — a render error that reaches it logs [FATAL_RENDER_ERROR]
33048
+ // and exits the whole session. An errored or incomplete teammate
33049
+ // whose transcript throws during render must degrade THIS tab only,
33050
+ // keeping the session and the other tabs alive. Keyed by agentId so
33051
+ // switching tabs starts from fresh boundary state: one crashed tab
33052
+ // must not strand every later tab in its fallback.
33053
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
33054
+ ErrorBoundary,
33055
+ {
33056
+ fallback: (error) => /* @__PURE__ */ (0, import_jsx_runtime126.jsxs)(Box_default, { flexDirection: "column", paddingX: 1, children: [
33057
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Text, { color: theme.status.error, bold: true, children: "Something went wrong while rendering this agent tab." }),
33058
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Text, { color: theme.text.secondary, children: sanitizeTerminalText(error.message) }),
33059
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Text, { color: theme.text.secondary, dimColor: true, children: "The session is still running; other tabs are unaffected." }),
33060
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Text, { color: theme.text.secondary, dimColor: true, children: "Switch to another tab and back to retry rendering this tab." }),
33061
+ /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(Text, { color: theme.text.secondary, dimColor: true, children: "Set QWEN_DEBUG_LOG_FILE=1 and reproduce for a full log." })
33062
+ ] }),
33063
+ onError: (error, info) => {
33064
+ setAgentShellFocused(false);
33065
+ debugLogger31.error(
33066
+ `[AGENT_TAB_RENDER_ERROR] agentId=${agentId} ${error.message}
33067
+ ${info.componentStack ?? ""}
33068
+ ${error.stack ?? ""}`
33069
+ );
33070
+ },
33071
+ children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(
33072
+ AgentChatContent,
33073
+ {
33074
+ core,
33075
+ interactiveAgent,
33076
+ instanceKey: agentId,
33077
+ modelName: agent.modelName
33078
+ }
33079
+ )
33080
+ },
33081
+ agentId
33082
+ )
33034
33083
  );
33035
33084
  }, "AgentChatView");
33036
33085
 
@@ -33857,7 +33906,7 @@ function installTerminalRedrawOptimizer(stdout) {
33857
33906
  __name(installTerminalRedrawOptimizer, "installTerminalRedrawOptimizer");
33858
33907
 
33859
33908
  // packages/cli/src/ui/utils/terminal-resize-reflow.ts
33860
- var debugLogger31 = createDebugLogger("RESIZE_REFLOW");
33909
+ var debugLogger32 = createDebugLogger("RESIZE_REFLOW");
33861
33910
  var CLEAR_VIEWPORT = base_exports.clearViewport;
33862
33911
  var ESC2 = "\x1B[";
33863
33912
  var CLEAR_TERMINAL = base_exports.clearTerminal;
@@ -33935,7 +33984,7 @@ function installTerminalResizeReflow(stdout, options = {}) {
33935
33984
  let barePrintableCount = 0;
33936
33985
  let handoffUntil = 0;
33937
33986
  let clearUntil = 0;
33938
- debugLogger31.debug("installed", { width: lastWidth, isVP });
33987
+ debugLogger32.debug("installed", { width: lastWidth, isVP });
33939
33988
  const modelFrame = /* @__PURE__ */ __name((content, bypassMin = false) => {
33940
33989
  if (!bypassMin && content.split("\n").length < MIN_FRAME_LINES) return;
33941
33990
  model.content = content;
@@ -33944,7 +33993,7 @@ function installTerminalResizeReflow(stdout, options = {}) {
33944
33993
  }, "modelFrame");
33945
33994
  const onResize = /* @__PURE__ */ __name(() => {
33946
33995
  const width = stdout.columns ?? lastWidth;
33947
- debugLogger31.debug("resize-event", {
33996
+ debugLogger32.debug("resize-event", {
33948
33997
  width,
33949
33998
  lastWidth,
33950
33999
  modeled: model.content.length > 0
@@ -33955,7 +34004,7 @@ function installTerminalResizeReflow(stdout, options = {}) {
33955
34004
  } else {
33956
34005
  pendingAmplify = reflowModel(model, width);
33957
34006
  }
33958
- debugLogger31.debug("shrink", {
34007
+ debugLogger32.debug("shrink", {
33959
34008
  from: lastWidth,
33960
34009
  to: width,
33961
34010
  pendingAmplify,
@@ -33983,9 +34032,9 @@ function installTerminalResizeReflow(stdout, options = {}) {
33983
34032
  barePrintableCount = 0;
33984
34033
  handoffUntil = Date.now() + HANDOFF_WINDOW_MS;
33985
34034
  }
33986
- debugLogger31.debug("match", { printable });
34035
+ debugLogger32.debug("match", { printable });
33987
34036
  if (isVP && Date.now() < clearUntil) {
33988
- debugLogger31.debug("clear-viewport");
34037
+ debugLogger32.debug("clear-viewport");
33989
34038
  chunk = chunk.slice(0, match.index) + CLEAR_VIEWPORT + chunk.slice(match.index + match[0].length);
33990
34039
  } else if (pendingAmplify > 0) {
33991
34040
  const count = countOccurrences(match[0], ERASE_LINE);
@@ -33997,7 +34046,7 @@ function installTerminalResizeReflow(stdout, options = {}) {
33997
34046
  CURSOR_DOWN_PATTERN,
33998
34047
  (_m, n) => `${ESC2}${Number(n) + delta}B`
33999
34048
  );
34000
- debugLogger31.debug("amplify", { original: count, target });
34049
+ debugLogger32.debug("amplify", { original: count, target });
34001
34050
  chunk = prefix + base_exports.eraseLines(target) + chunk.slice(match.index + match[0].length);
34002
34051
  }
34003
34052
  }
@@ -34050,7 +34099,7 @@ var import_react117 = __toESM(require_react(), 1);
34050
34099
  import process12 from "node:process";
34051
34100
  import os4 from "node:os";
34052
34101
  import v8 from "v8";
34053
- var debugLogger32 = createDebugLogger("MEMORY_MONITOR");
34102
+ var debugLogger33 = createDebugLogger("MEMORY_MONITOR");
34054
34103
  var MEMORY_WARNING_THRESHOLD = Math.min(
34055
34104
  7 * 1024 * 1024 * 1024,
34056
34105
  Math.floor(os4.totalmem() * 0.85)
@@ -34072,23 +34121,23 @@ var useMemoryMonitor = /* @__PURE__ */ __name(({
34072
34121
  const rss = memUsage.rss / 1024 / 1024;
34073
34122
  const external = memUsage.external / 1024 / 1024;
34074
34123
  const arrayBuffers = memUsage.arrayBuffers / 1024 / 1024;
34075
- if (debugLogger32.isEnabled()) {
34076
- debugLogger32.debug(
34124
+ if (debugLogger33.isEnabled()) {
34125
+ debugLogger33.debug(
34077
34126
  `[MEMORY_USAGE] heapUsed=${heapUsed.toFixed(1)}MB, heapTotal=${heapTotal.toFixed(1)}MB, rss=${rss.toFixed(1)}MB, external=${external.toFixed(1)}MB, arrayBuffers=${arrayBuffers.toFixed(1)}MB, heapUtilization=${(heapUsed / heapTotal * 100).toFixed(1)}%`
34078
34127
  );
34079
34128
  }
34080
34129
  const now = Date.now();
34081
34130
  if (compactOldItems && memUsage.heapUsed > MEMORY_UI_COMPACT_THRESHOLD() && now - lastCompactRef.current > UI_COMPACT_COOLDOWN_MS) {
34082
34131
  lastCompactRef.current = now;
34083
- if (debugLogger32.isEnabled()) {
34084
- debugLogger32.debug(
34132
+ if (debugLogger33.isEnabled()) {
34133
+ debugLogger33.debug(
34085
34134
  `[UI_COMPACT] heapUsed=${heapUsed.toFixed(1)}MB exceeds ${(MEMORY_UI_COMPACT_THRESHOLD() / 1024 / 1024).toFixed(0)}MB threshold, compacting UI history`
34086
34135
  );
34087
34136
  }
34088
34137
  try {
34089
34138
  compactOldItems();
34090
34139
  } catch (err) {
34091
- debugLogger32.error(
34140
+ debugLogger33.error(
34092
34141
  `[UI_COMPACT] compactOldItems failed: ${err instanceof Error ? err.message : String(err)}`
34093
34142
  );
34094
34143
  }
@@ -34097,7 +34146,7 @@ var useMemoryMonitor = /* @__PURE__ */ __name(({
34097
34146
  const warningIntervalId = setInterval(() => {
34098
34147
  const usage = process12.memoryUsage();
34099
34148
  if (usage.rss > MEMORY_WARNING_THRESHOLD) {
34100
- debugLogger32.warn(
34149
+ debugLogger33.warn(
34101
34150
  `[MEMORY_WARNING] High memory usage detected: ${(usage.rss / (1024 * 1024 * 1024)).toFixed(2)} GB`
34102
34151
  );
34103
34152
  addItem(
@@ -34250,7 +34299,7 @@ var FEEDBACK_SHOW_PROBABILITY = 0.25;
34250
34299
  var MIN_TOOL_CALLS = 10;
34251
34300
  var MIN_USER_MESSAGES = 5;
34252
34301
  var FEEDBACK_COOLDOWN_HOURS = 24;
34253
- var debugLogger33 = createDebugLogger("FEEDBACK_DIALOG");
34302
+ var debugLogger34 = createDebugLogger("FEEDBACK_DIALOG");
34254
34303
  var lastMessageIsAIResponse = /* @__PURE__ */ __name((history) => history.length > 0 && history[history.length - 1].type === "gemini" /* GEMINI */, "lastMessageIsAIResponse");
34255
34304
  var getFeedbackLastShownTimestampFromFile = /* @__PURE__ */ __name(() => {
34256
34305
  try {
@@ -34262,7 +34311,7 @@ var getFeedbackLastShownTimestampFromFile = /* @__PURE__ */ __name(() => {
34262
34311
  }
34263
34312
  } catch (error) {
34264
34313
  if (isNodeError(error) && error.code !== "ENOENT") {
34265
- debugLogger33.warn(
34314
+ debugLogger34.warn(
34266
34315
  "Failed to read feedbackLastShownTimestamp from settings file:",
34267
34316
  error
34268
34317
  );
@@ -35111,7 +35160,7 @@ __name(useDeleteCommand, "useDeleteCommand");
35111
35160
  init_esbuild_shims();
35112
35161
  var import_react129 = __toESM(require_react(), 1);
35113
35162
  import process15 from "node:process";
35114
- var debugLogger34 = createDebugLogger("SLASH_COMMAND_PROCESSOR");
35163
+ var debugLogger35 = createDebugLogger("SLASH_COMMAND_PROCESSOR");
35115
35164
  function hasUserPromptExpansionHooks(config) {
35116
35165
  return !!config && !config.getDisableAllHooks?.() && (config.hasHooksForEvent?.("UserPromptExpansion") ?? false);
35117
35166
  }
@@ -35124,18 +35173,6 @@ function serializeHistoryItemForRecording(item) {
35124
35173
  return clone;
35125
35174
  }
35126
35175
  __name(serializeHistoryItemForRecording, "serializeHistoryItemForRecording");
35127
- var SLASH_COMMANDS_SKIP_RECORDING = /* @__PURE__ */ new Set([
35128
- "quit",
35129
- "exit",
35130
- "clear",
35131
- "reset",
35132
- "new",
35133
- "resume",
35134
- "delete",
35135
- "branch",
35136
- "btw",
35137
- "history"
35138
- ]);
35139
35176
  var SLASH_COMMAND_ROOTS_HIDE_INVOCATION = /* @__PURE__ */ new Set([
35140
35177
  "auth",
35141
35178
  "diff",
@@ -35694,7 +35731,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
35694
35731
  }
35695
35732
  setCommands(commandService.getCommandsForMode("interactive"));
35696
35733
  } catch (error) {
35697
- debugLogger34.error("Failed to load slash commands:", error);
35734
+ debugLogger35.error("Failed to load slash commands:", error);
35698
35735
  } finally {
35699
35736
  if (!controller.signal.aborted) {
35700
35737
  resolveCommandReloads(reloadTrigger);
@@ -36126,7 +36163,7 @@ var useSlashCommandProcessor = /* @__PURE__ */ __name((config, settings, history
36126
36163
  }
36127
36164
  invocationSentToModel = true;
36128
36165
  if (invocationItemId !== void 0) {
36129
- debugLogger34.debug(
36166
+ debugLogger35.debug(
36130
36167
  `Marked slash command invocation as model-sent: /${resolvedCommandPath.join(
36131
36168
  " "
36132
36169
  )}`
@@ -36258,7 +36295,8 @@ ${commandToExecute.subCommands.map((sc) => ` - ${sc.name}: ${sc.description ||
36258
36295
  if (config?.getChatRecordingService) {
36259
36296
  const chatRecorder = config.getChatRecordingService();
36260
36297
  const primaryCommand = resolvedCommandPath[0] || trimmed.replace(/^[/?]/, "").split(/\s+/u)[0] || trimmed;
36261
- const shouldRecord = !delegatedToRecursiveInvocation && !SLASH_COMMANDS_SKIP_RECORDING.has(primaryCommand);
36298
+ const isBuiltInAdvisor = primaryCommand === "advisor" && commandToExecute?.kind === "built-in" /* BUILT_IN */;
36299
+ const shouldRecord = !delegatedToRecursiveInvocation && !isBuiltInAdvisor && !SLASH_COMMANDS_SKIP_RECORDING.has(primaryCommand);
36262
36300
  try {
36263
36301
  if (shouldRecord) {
36264
36302
  chatRecorder?.recordSlashCommand({
@@ -36275,7 +36313,7 @@ ${commandToExecute.subCommands.map((sc) => ` - ${sc.name}: ${sc.description ||
36275
36313
  });
36276
36314
  }
36277
36315
  } catch (recordError) {
36278
- debugLogger34.error(
36316
+ debugLogger35.error(
36279
36317
  "[slashCommand] Failed to record slash command:",
36280
36318
  recordError
36281
36319
  );
@@ -36452,7 +36490,7 @@ import os5 from "node:os";
36452
36490
  import fs16 from "node:fs";
36453
36491
  var OUTPUT_UPDATE_INTERVAL_MS = 1e3;
36454
36492
  var MAX_OUTPUT_LENGTH = 1e4;
36455
- var debugLogger35 = createDebugLogger("SHELL_COMMAND_PROCESSOR");
36493
+ var debugLogger36 = createDebugLogger("SHELL_COMMAND_PROCESSOR");
36456
36494
  function copyString(value) {
36457
36495
  return value.split("").join("");
36458
36496
  }
@@ -36603,7 +36641,7 @@ var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPend
36603
36641
  config.getShouldUseNodePtyShell(),
36604
36642
  shellExecutionConfig
36605
36643
  );
36606
- debugLogger35.debug(terminalHeight, terminalWidth);
36644
+ debugLogger36.debug(terminalHeight, terminalWidth);
36607
36645
  executionPid = pid;
36608
36646
  if (pid) {
36609
36647
  setActiveShellPtyId(pid);
@@ -36757,7 +36795,7 @@ var useStateAndRef = /* @__PURE__ */ __name((initialValue) => {
36757
36795
  init_esbuild_shims();
36758
36796
  var import_react134 = __toESM(require_react(), 1);
36759
36797
  import * as path11 from "node:path";
36760
- var debugLogger36 = createDebugLogger("REACT_TOOL_SCHEDULER");
36798
+ var debugLogger37 = createDebugLogger("REACT_TOOL_SCHEDULER");
36761
36799
  function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorClose, onToolResultFullTurnModel) {
36762
36800
  const [toolCallsForDisplay, setToolCallsForDisplay] = (0, import_react134.useState)([]);
36763
36801
  const outputUpdateHandler = (0, import_react134.useCallback)(
@@ -36836,7 +36874,7 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
36836
36874
  if (!modelOverride?.endsWith("\0")) {
36837
36875
  void scheduler.schedule(request, signal).catch((error) => {
36838
36876
  if (signal.aborted) return;
36839
- debugLogger36.error(
36877
+ debugLogger37.error(
36840
36878
  `Tool scheduling failed: ${error instanceof Error ? error.message : String(error)}`
36841
36879
  );
36842
36880
  });
@@ -36849,7 +36887,7 @@ function useReactToolScheduler(onComplete, config, getPreferredEditor, onEditorC
36849
36887
  });
36850
36888
  await scheduler.schedule(request, signal, runtimeView);
36851
36889
  } catch (error) {
36852
- debugLogger36.error(
36890
+ debugLogger37.error(
36853
36891
  `Full-turn tool scheduling failed: ${error instanceof Error ? error.message : String(error)}`
36854
36892
  );
36855
36893
  const message = "Full-turn tool scheduling failed. The tool was not executed.";
@@ -36917,7 +36955,7 @@ function mapCoreStatusToDisplayStatus(coreStatus) {
36917
36955
  return "Pending" /* Pending */;
36918
36956
  default: {
36919
36957
  const exhaustiveCheck = coreStatus;
36920
- debugLogger36.warn(`Unknown core status encountered: ${exhaustiveCheck}`);
36958
+ debugLogger37.warn(`Unknown core status encountered: ${exhaustiveCheck}`);
36921
36959
  return "Error" /* Error */;
36922
36960
  }
36923
36961
  }
@@ -37265,11 +37303,11 @@ function useMessageQueue() {
37265
37303
  __name(useMessageQueue, "useMessageQueue");
37266
37304
 
37267
37305
  // packages/cli/src/ui/hooks/useGeminiStream.ts
37268
- var debugLogger37 = createDebugLogger("GEMINI_STREAM");
37306
+ var debugLogger38 = createDebugLogger("GEMINI_STREAM");
37269
37307
  function applyModelOverride(modelOverrideRef, inlineActiveRef, value, isInline) {
37270
37308
  modelOverrideRef.current = value;
37271
37309
  inlineActiveRef.current = isInline;
37272
- debugLogger37.debug(
37310
+ debugLogger38.debug(
37273
37311
  `model override ${value === void 0 ? "cleared" : `set to ${value}`} (inline=${isInline})`
37274
37312
  );
37275
37313
  }
@@ -37478,20 +37516,20 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37478
37516
  expectedRevision: binding.permit.revision
37479
37517
  });
37480
37518
  } catch (error) {
37481
- debugLogger37.warn("Failed to pause invalid Goal tool batch", error);
37519
+ debugLogger38.warn("Failed to pause invalid Goal tool batch", error);
37482
37520
  }
37483
37521
  }
37484
37522
  try {
37485
37523
  await config.getChatRecordingService()?.flush();
37486
37524
  } catch (error) {
37487
- debugLogger37.warn("Failed to flush invalid Goal tool batch", error);
37525
+ debugLogger38.warn("Failed to flush invalid Goal tool batch", error);
37488
37526
  }
37489
37527
  const currentPermit = runtime.permitForTurn(binding.turnKey);
37490
37528
  if (currentPermit && sameGoalPermit(currentPermit, binding.permit)) {
37491
37529
  await runtime.finishTurn(binding.permit);
37492
37530
  }
37493
37531
  } catch (error) {
37494
- debugLogger37.warn("Failed to close invalid Goal tool batch", error);
37532
+ debugLogger38.warn("Failed to close invalid Goal tool batch", error);
37495
37533
  } finally {
37496
37534
  releaseGoalTurn(binding);
37497
37535
  }
@@ -37505,7 +37543,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37505
37543
  const runtime = await config.getGoalRuntimeReady();
37506
37544
  await runtime.releaseTurn(turnKey);
37507
37545
  } catch (error) {
37508
- debugLogger37.warn(
37546
+ debugLogger38.warn(
37509
37547
  `Failed to release undelivered Goal turn ${turnKey}`,
37510
37548
  error
37511
37549
  );
@@ -37944,7 +37982,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37944
37982
  if (signal.aborted) {
37945
37983
  return { parts: null, shouldProceed: false };
37946
37984
  }
37947
- debugLogger37.debug("vision bridge: gate matched, running conversion");
37985
+ debugLogger38.debug("vision bridge: gate matched, running conversion");
37948
37986
  const fullTurnModel = config.getDefaultVisionBridgeModel();
37949
37987
  if (fullTurnModel?.agentCapable) {
37950
37988
  const fullTurnParts = (Array.isArray(parts) ? parts : [parts]).map(
@@ -37969,7 +38007,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
37969
38007
  return { parts: fullTurnParts, shouldProceed: true };
37970
38008
  }
37971
38009
  const bridgeResult = await runVisionBridge({ config, parts, signal });
37972
- debugLogger37.debug(
38010
+ debugLogger38.debug(
37973
38011
  `vision bridge: status=${bridgeResult.status} applied=${bridgeResult.applied} model=${bridgeResult.modelId ?? "(none)"}`
37974
38012
  );
37975
38013
  if (bridgeResult.status !== "skipped" || bridgeResult.egressOccurred) {
@@ -38058,7 +38096,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38058
38096
  true
38059
38097
  );
38060
38098
  } else {
38061
- debugLogger37.warn(
38099
+ debugLogger38.warn(
38062
38100
  `ignoring model override '${slashCommandResult.modelOverride}': not a model on the active provider`
38063
38101
  );
38064
38102
  }
@@ -38295,8 +38333,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38295
38333
  setThought((prev) => {
38296
38334
  const incomingDescription = incoming.description ? clampLoadingThoughtDescription(incoming.description) : incoming.description;
38297
38335
  if (!prev) {
38298
- if (debugLogger37.isEnabled()) {
38299
- debugLogger37.debug(
38336
+ if (debugLogger38.isEnabled()) {
38337
+ debugLogger38.debug(
38300
38338
  `[THOUGHT_MERGE] New thought: subjectLength=${incoming.subject?.length ?? 0}, description length=${incomingDescription?.length ?? 0}`
38301
38339
  );
38302
38340
  }
@@ -38309,8 +38347,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38309
38347
  const description = clampLoadingThoughtDescription(
38310
38348
  `${prev.description ?? ""}${incomingDescription ?? ""}`
38311
38349
  );
38312
- if (debugLogger37.isEnabled()) {
38313
- debugLogger37.debug(
38350
+ if (debugLogger38.isEnabled()) {
38351
+ debugLogger38.debug(
38314
38352
  `[THOUGHT_MERGE] Accumulating thought: prev length=${prev.description?.length ?? 0}, incoming length=${incomingDescription?.length ?? 0}, total length=${description.length}`
38315
38353
  );
38316
38354
  }
@@ -38471,7 +38509,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
38471
38509
  eventValue.error.message,
38472
38510
  formattedErrorText
38473
38511
  ).catch((err) => {
38474
- debugLogger37.warn(`StopFailure hook failed: ${err}`);
38512
+ debugLogger38.warn(`StopFailure hook failed: ${err}`);
38475
38513
  });
38476
38514
  },
38477
38515
  [
@@ -39077,7 +39115,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39077
39115
  duplicateProviderToolCallResponseIdsRef.current
39078
39116
  );
39079
39117
  if (repeatedDuplicateRequest?.providerCallId) {
39080
- debugLogger37.debug(
39118
+ debugLogger38.debug(
39081
39119
  `[processGeminiStreamEvents] Dropping batch after repeated duplicate provider tool-call id: ${repeatedDuplicateRequest.providerCallId} (tool: ${repeatedDuplicateRequest.name})`
39082
39120
  );
39083
39121
  loopDetectedRef.current = true;
@@ -39098,7 +39136,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39098
39136
  duplicateProviderToolCallResponseIdsRef.current
39099
39137
  );
39100
39138
  const response = createDuplicateProviderToolCallResponse(request);
39101
- debugLogger37.debug(
39139
+ debugLogger38.debug(
39102
39140
  `[processGeminiStreamEvents] Suppressing duplicate provider tool-call id: ${providerCallId} (tool: ${request.name})`
39103
39141
  );
39104
39142
  dualOutput?.emitToolResult(request, response);
@@ -39738,8 +39776,17 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39738
39776
  callId: request.callId,
39739
39777
  toolName: request.name,
39740
39778
  responseParts: response.responseParts,
39741
- persistedOutputFiles: response.persistedOutputFiles
39779
+ persistedOutputFiles: response.persistedOutputFiles,
39780
+ artifacts: response.artifacts
39742
39781
  })
39782
+ ),
39783
+ new Map(
39784
+ immediateDuplicateToolResponses.responses.flatMap(
39785
+ ({ request }) => {
39786
+ const promptId = request.prompt_id ?? immediateDuplicateToolResponses.promptId;
39787
+ return promptId ? [[request.callId, promptId]] : [];
39788
+ }
39789
+ )
39743
39790
  )
39744
39791
  );
39745
39792
  const responseParts = finalized.flatMap(
@@ -39754,6 +39801,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39754
39801
  callId: request.callId,
39755
39802
  status: response.error ? "error" : "success",
39756
39803
  resultDisplay: response.resultDisplay,
39804
+ persistedOutputFiles: finalized[index].persistedOutputFiles,
39805
+ artifacts: finalized[index].artifacts,
39757
39806
  error: response.error,
39758
39807
  errorType: response.errorType,
39759
39808
  executionStatus: response.executionStatus
@@ -39795,7 +39844,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39795
39844
  if (onComplete) {
39796
39845
  submitPromptOnCompleteRef.current = null;
39797
39846
  void onComplete().catch((err) => {
39798
- debugLogger37.error("onComplete callback failed:", err);
39847
+ debugLogger38.error("onComplete callback failed:", err);
39799
39848
  });
39800
39849
  }
39801
39850
  if (geminiClient) {
@@ -39982,7 +40031,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
39982
40031
  "proceed_once" /* ProceedOnce */
39983
40032
  );
39984
40033
  } catch (error) {
39985
- debugLogger37.error(
40034
+ debugLogger38.error(
39986
40035
  `Failed to auto-approve tool call ${call.request.callId}:`,
39987
40036
  error
39988
40037
  );
@@ -40011,7 +40060,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40011
40060
  );
40012
40061
  const dedupedCallIds = dedupedTools.map((tc) => tc.request.callId);
40013
40062
  if (dedupedCallIds.length > 0) {
40014
- debugLogger37.warn(
40063
+ debugLogger38.warn(
40015
40064
  `[REPAIR] Dropping ${dedupedCallIds.length} late tool result(s) whose callId already has a functionResponse in history: ${dedupedCallIds.join(", ")}`
40016
40065
  );
40017
40066
  for (const tc of dedupedTools) {
@@ -40289,11 +40338,11 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40289
40338
  memoryWriteCandidates,
40290
40339
  config.getProjectRoot()
40291
40340
  );
40292
- debugLogger37.debug(
40341
+ debugLogger38.debug(
40293
40342
  `Checked marked context-file memory tool batch; matched=${matchedContextFileWrite}`
40294
40343
  );
40295
40344
  if (matchedContextFileWrite) {
40296
- debugLogger37.debug(
40345
+ debugLogger38.debug(
40297
40346
  "Refreshing memory after context-file memory write"
40298
40347
  );
40299
40348
  await refreshMemoryInstruction(config, {
@@ -40304,7 +40353,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40304
40353
  if (newSuccessfulMemorySaves.length > 0) {
40305
40354
  if (!didRefreshManagedMemory) {
40306
40355
  void performMemoryRefresh().catch((err) => {
40307
- debugLogger37.warn(`save_memory refresh failed: ${err}`);
40356
+ debugLogger38.warn(`save_memory refresh failed: ${err}`);
40308
40357
  });
40309
40358
  }
40310
40359
  newSuccessfulMemorySaves.forEach(
@@ -40413,8 +40462,14 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40413
40462
  callId: request.callId,
40414
40463
  toolName: request.name,
40415
40464
  responseParts: response.responseParts,
40416
- persistedOutputFiles: response.persistedOutputFiles
40417
- }))
40465
+ persistedOutputFiles: response.persistedOutputFiles,
40466
+ artifacts: response.artifacts
40467
+ })),
40468
+ new Map(
40469
+ orderedResponses.flatMap(
40470
+ ({ request }) => request.prompt_id ? [[request.callId, request.prompt_id]] : []
40471
+ )
40472
+ )
40418
40473
  );
40419
40474
  const responsesToSend = finalizedResponses.flatMap(
40420
40475
  (entry) => entry.responseParts
@@ -40427,6 +40482,8 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40427
40482
  callId: request.callId,
40428
40483
  status,
40429
40484
  resultDisplay: response.resultDisplay,
40485
+ persistedOutputFiles: finalizedResponses[index].persistedOutputFiles,
40486
+ artifacts: finalizedResponses[index].artifacts,
40430
40487
  error: response.error,
40431
40488
  errorType: response.errorType,
40432
40489
  executionStatus: response.executionStatus
@@ -40480,7 +40537,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40480
40537
  for (const toolCall of geminiTools) {
40481
40538
  if ("modelOverride" in toolCall.response) {
40482
40539
  if (inlineModelOverrideActiveRef.current || modelOverrideRef.current?.endsWith("\0")) {
40483
- debugLogger37.debug(
40540
+ debugLogger38.debug(
40484
40541
  `skill-tool model override (${String(
40485
40542
  toolCall.response.modelOverride
40486
40543
  )}) blocked: ${inlineModelOverrideActiveRef.current ? "inline override active" : "full-turn override active"}`
@@ -40853,7 +40910,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
40853
40910
  try {
40854
40911
  await scheduler.enableDurable(cronSessionIdRef.current);
40855
40912
  } catch (err) {
40856
- debugLogger37.warn(
40913
+ debugLogger38.warn(
40857
40914
  `Durable cron init failed \u2014 persistent tasks will not fire in this session: ${err}`
40858
40915
  );
40859
40916
  }
@@ -41004,7 +41061,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
41004
41061
  setNotificationTrigger((n) => n + 1);
41005
41062
  }, "onGoalClaimDeferred")
41006
41063
  }).catch((error) => {
41007
- debugLogger37.warn("Failed to admit cron notification", error);
41064
+ debugLogger38.warn("Failed to admit cron notification", error);
41008
41065
  });
41009
41066
  return;
41010
41067
  }
@@ -41037,7 +41094,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
41037
41094
  setNotificationTrigger((n) => n + 1);
41038
41095
  }, "onGoalClaimDeferred")
41039
41096
  }).catch((error) => {
41040
- debugLogger37.warn("Failed to admit background notification", error);
41097
+ debugLogger38.warn("Failed to admit background notification", error);
41041
41098
  });
41042
41099
  });
41043
41100
  }
@@ -41110,7 +41167,7 @@ var useGeminiStream = /* @__PURE__ */ __name((geminiClient, history, addItem, co
41110
41167
  setTeammateTrigger((n) => n + 1);
41111
41168
  }, "onGoalClaimDeferred")
41112
41169
  }).catch((error) => {
41113
- debugLogger37.warn("Failed to admit teammate notification", error);
41170
+ debugLogger38.warn("Failed to admit teammate notification", error);
41114
41171
  });
41115
41172
  });
41116
41173
  }
@@ -41149,7 +41206,7 @@ var DIGIT_MULTIPLIER = 10;
41149
41206
  var DEFAULT_COUNT = 1;
41150
41207
  var MAX_COUNT = 9999;
41151
41208
  var DIGIT_1_TO_9 = /^[1-9]$/;
41152
- var debugLogger38 = createDebugLogger("VIM_MODE");
41209
+ var debugLogger39 = createDebugLogger("VIM_MODE");
41153
41210
  var CMD_TYPES = {
41154
41211
  DELETE_WORD_FORWARD: "dw",
41155
41212
  DELETE_WORD_BACKWARD: "db",
@@ -41292,7 +41349,7 @@ function readClipboard() {
41292
41349
  }
41293
41350
  return "";
41294
41351
  } catch (e) {
41295
- debugLogger38.warn("readClipboard failed:", e);
41352
+ debugLogger39.warn("readClipboard failed:", e);
41296
41353
  return "";
41297
41354
  }
41298
41355
  }
@@ -41338,7 +41395,7 @@ function writeClipboard(text) {
41338
41395
  const [bin, ...args] = linuxWriteCmd;
41339
41396
  const child = execFile7(bin, args, { timeout: 500 }, (err) => {
41340
41397
  if (err && !writeOsc52(text)) {
41341
- debugLogger38.warn(
41398
+ debugLogger39.warn(
41342
41399
  "writeClipboard: cached tool and OSC 52 both failed"
41343
41400
  );
41344
41401
  }
@@ -41347,11 +41404,11 @@ function writeClipboard(text) {
41347
41404
  child.unref();
41348
41405
  } else {
41349
41406
  if (!writeOsc52(text)) {
41350
- debugLogger38.warn("OSC 52 clipboard write failed - no TTY available");
41407
+ debugLogger39.warn("OSC 52 clipboard write failed - no TTY available");
41351
41408
  }
41352
41409
  }
41353
41410
  } catch (e) {
41354
- debugLogger38.warn("writeClipboard failed:", e);
41411
+ debugLogger39.warn("writeClipboard failed:", e);
41355
41412
  }
41356
41413
  }
41357
41414
  __name(writeClipboard, "writeClipboard");
@@ -42066,7 +42123,7 @@ function useVim(buffer, onSubmit) {
42066
42123
  try {
42067
42124
  normalizedKey = normalizeKey(key);
42068
42125
  } catch (error) {
42069
- debugLogger38.warn("Malformed key input in vim mode:", key, error);
42126
+ debugLogger39.warn("Malformed key input in vim mode:", key, error);
42070
42127
  return false;
42071
42128
  }
42072
42129
  const s = stateRef.current;
@@ -43399,7 +43456,7 @@ __name(useCommandMigration, "useCommandMigration");
43399
43456
 
43400
43457
  // packages/cli/src/services/notificationService.ts
43401
43458
  init_esbuild_shims();
43402
- var debugLogger39 = createDebugLogger("NOTIFICATION_SERVICE");
43459
+ var debugLogger40 = createDebugLogger("NOTIFICATION_SERVICE");
43403
43460
  var DEFAULT_TITLE = "Qwen Code";
43404
43461
  function sendNotification(opts, terminal, enabled) {
43405
43462
  if (!enabled) {
@@ -43427,7 +43484,7 @@ function sendNotification(opts, terminal, enabled) {
43427
43484
  return "terminal_bell";
43428
43485
  }
43429
43486
  } catch (error) {
43430
- debugLogger39.warn("Failed to send notification:", error);
43487
+ debugLogger40.warn("Failed to send notification:", error);
43431
43488
  return "error";
43432
43489
  }
43433
43490
  }
@@ -44379,7 +44436,7 @@ var import_jsx_runtime132 = __toESM(require_jsx_runtime(), 1);
44379
44436
  var MCP_BATCH_FLUSH_MS = 16;
44380
44437
  var STARTUP_PROFILE_FINALIZE_CAP_MS = 35e3;
44381
44438
  var CTRL_EXIT_PROMPT_DURATION_MS = 1e3;
44382
- var debugLogger40 = createDebugLogger("APP_CONTAINER");
44439
+ var debugLogger41 = createDebugLogger("APP_CONTAINER");
44383
44440
  function isRenderModeToggleKey(key) {
44384
44441
  return keyMatchers["toggleRenderMode" /* TOGGLE_RENDER_MODE */](key) || key.name === "m" && key.meta && !key.ctrl && !key.paste;
44385
44442
  }
@@ -44531,7 +44588,7 @@ function useQueuedSubmissionDrain({
44531
44588
  }
44532
44589
  );
44533
44590
  void Promise.resolve(request).catch((error) => {
44534
- debugLogger40.warn("Queued submission failed during admission", error);
44591
+ debugLogger41.warn("Queued submission failed during admission", error);
44535
44592
  }).finally(() => {
44536
44593
  queueDrainingRef.current = false;
44537
44594
  if (!admissionFailed) {
@@ -44773,7 +44830,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44773
44830
  const staticExtraHeight = 3;
44774
44831
  (0, import_react162.useEffect)(() => {
44775
44832
  void loadLowlight().catch((err) => {
44776
- debugLogger40.warn(
44833
+ debugLogger41.warn(
44777
44834
  `Failed to load lowlight chunk; code blocks will render as plain text: ${err instanceof Error ? err.message : String(err)}`
44778
44835
  );
44779
44836
  });
@@ -44855,9 +44912,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44855
44912
  registerCleanup(async () => {
44856
44913
  try {
44857
44914
  await config.getHookSystem()?.fireSessionEndEvent("prompt_input_exit" /* PromptInputExit */);
44858
- debugLogger40.debug("SessionEnd event completed successfully!!!");
44915
+ debugLogger41.debug("SessionEnd event completed successfully!!!");
44859
44916
  } catch (err) {
44860
- debugLogger40.error(`SessionEnd hook failed: ${err}`);
44917
+ debugLogger41.error(`SessionEnd hook failed: ${err}`);
44861
44918
  }
44862
44919
  });
44863
44920
  registerCleanup(async () => {
@@ -44883,7 +44940,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44883
44940
  flushTimer = null;
44884
44941
  }
44885
44942
  return geminiClient2.setTools().catch((err) => {
44886
- debugLogger40.error(
44943
+ debugLogger41.error(
44887
44944
  `setTools() batch-flush failed: ${err instanceof Error ? err.message : String(err)}`
44888
44945
  );
44889
44946
  });
@@ -44901,7 +44958,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
44901
44958
  failureSurfaced = true;
44902
44959
  const failedNames = typeof config.getFailedMcpServerNames === "function" ? config.getFailedMcpServerNames() : [];
44903
44960
  if (failedNames.length > 0) {
44904
- debugLogger40.warn(
44961
+ debugLogger41.warn(
44905
44962
  `MCP server(s) failed to start: ${failedNames.join(", ")}. Continuing with built-in tools and any servers that did connect.`
44906
44963
  );
44907
44964
  }
@@ -45359,7 +45416,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45359
45416
  try {
45360
45417
  cancelOngoingRequestRef.current();
45361
45418
  } catch (error) {
45362
- debugLogger40.debug("Failed to cancel request while quitting:", error);
45419
+ debugLogger41.debug("Failed to cancel request while quitting:", error);
45363
45420
  }
45364
45421
  setQuittingMessages(messages);
45365
45422
  config.getGeminiClient()?.requestShutdown();
@@ -45577,7 +45634,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45577
45634
  },
45578
45635
  Date.now()
45579
45636
  );
45580
- debugLogger40.debug(
45637
+ debugLogger41.debug(
45581
45638
  `[DEBUG] Refreshed memory content in config: ${memoryContent.substring(
45582
45639
  0,
45583
45640
  200
@@ -45592,7 +45649,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45592
45649
  },
45593
45650
  Date.now()
45594
45651
  );
45595
- debugLogger40.error("Error refreshing memory:", error);
45652
+ debugLogger41.error("Error refreshing memory:", error);
45596
45653
  }
45597
45654
  }, [config, historyManager, settings.merged]);
45598
45655
  const cancelHandlerRef = (0, import_react162.useRef)(() => {
@@ -45762,7 +45819,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
45762
45819
  );
45763
45820
  });
45764
45821
  goalReservationSettlementRef.current = settlement.catch((error) => {
45765
- debugLogger40.warn(
45822
+ debugLogger41.warn(
45766
45823
  `Failed to release queued Goal turns: ${getErrorMessage(error)}`
45767
45824
  );
45768
45825
  });
@@ -45960,7 +46017,7 @@ ${buildWorkflowSteeringNotice()}
45960
46017
  }, "onAdmissionFailed")
45961
46018
  })
45962
46019
  ).catch((error) => {
45963
- debugLogger40.warn("Failed to admit /btw submission", error);
46020
+ debugLogger41.warn("Failed to admit /btw submission", error);
45964
46021
  });
45965
46022
  return;
45966
46023
  }
@@ -46054,7 +46111,7 @@ ${buildWorkflowSteeringNotice()}
46054
46111
  submittedPrompt === void 0 ? void 0 : { submittedPrompt }
46055
46112
  )
46056
46113
  ).catch((error) => {
46057
- debugLogger40.warn("Failed to admit slash command", error);
46114
+ debugLogger41.warn("Failed to admit slash command", error);
46058
46115
  });
46059
46116
  return;
46060
46117
  }
@@ -46131,18 +46188,18 @@ ${currentText}` : popped.modelText
46131
46188
  geminiClient?.stripOrphanedUserEntriesFromHistory?.();
46132
46189
  }
46133
46190
  if (!draftWasEmpty) {
46134
- debugLogger40.debug("auto-restore bail: buffer was non-empty");
46191
+ debugLogger41.debug("auto-restore bail: buffer was non-empty");
46135
46192
  return;
46136
46193
  }
46137
46194
  if (popped !== null) {
46138
- debugLogger40.debug(
46195
+ debugLogger41.debug(
46139
46196
  "auto-restore bail: queue had items (drained to buffer)"
46140
46197
  );
46141
46198
  return;
46142
46199
  }
46143
46200
  const cancelledTurnUserItem = info?.lastTurnUserItem;
46144
46201
  if (cancelledTurnUserItem == null) {
46145
- debugLogger40.debug(
46202
+ debugLogger41.debug(
46146
46203
  "auto-restore bail: cancelled turn did not add a user history item"
46147
46204
  );
46148
46205
  return;
@@ -46156,20 +46213,20 @@ ${currentText}` : popped.modelText
46156
46213
  buffer.setText(cancelledTurnUserItem.text);
46157
46214
  }, "restoreCancelledPrompt");
46158
46215
  if (pendingHistoryItems2.some((item) => item.type === "tool_group")) {
46159
- debugLogger40.debug(
46216
+ debugLogger41.debug(
46160
46217
  "auto-restore bail: tool execution is pending or committed"
46161
46218
  );
46162
46219
  return;
46163
46220
  }
46164
46221
  if (info?.turnProducedMeaningfulContent) {
46165
- debugLogger40.debug(
46222
+ debugLogger41.debug(
46166
46223
  "auto-restore: preserving streamed output and restoring prompt text"
46167
46224
  );
46168
46225
  restoreCancelledPrompt();
46169
46226
  return;
46170
46227
  }
46171
46228
  if (pendingHistoryItems2.some((item) => !isSyntheticHistoryItem(item))) {
46172
- debugLogger40.debug(
46229
+ debugLogger41.debug(
46173
46230
  "auto-restore bail: pending stream item has meaningful content"
46174
46231
  );
46175
46232
  return;
@@ -46177,11 +46234,11 @@ ${currentText}` : popped.modelText
46177
46234
  const history = historyRef.current;
46178
46235
  const lastUserIdx = findLastUserItemIndex(history);
46179
46236
  if (lastUserIdx === -1) {
46180
- debugLogger40.debug("auto-restore bail: no user item in history");
46237
+ debugLogger41.debug("auto-restore bail: no user item in history");
46181
46238
  return;
46182
46239
  }
46183
46240
  if (!itemsAfterAreOnlySynthetic(history, lastUserIdx)) {
46184
- debugLogger40.debug(
46241
+ debugLogger41.debug(
46185
46242
  "auto-restore: preserving committed output and restoring prompt text"
46186
46243
  );
46187
46244
  restoreCancelledPrompt();
@@ -46189,18 +46246,18 @@ ${currentText}` : popped.modelText
46189
46246
  }
46190
46247
  const lastUserItem = history[lastUserIdx];
46191
46248
  if (lastUserItem.type !== "user") {
46192
- debugLogger40.debug(
46249
+ debugLogger41.debug(
46193
46250
  "auto-restore bail: lastUserItem type narrowing failed (unexpected)"
46194
46251
  );
46195
46252
  return;
46196
46253
  }
46197
46254
  if (lastUserItem.id !== cancelledTurnUserItem.id || lastUserItem.text !== cancelledTurnUserItem.text) {
46198
- debugLogger40.debug(
46255
+ debugLogger41.debug(
46199
46256
  "auto-restore bail: lastUserItem identity does not match cancelled-turn user item"
46200
46257
  );
46201
46258
  return;
46202
46259
  }
46203
- debugLogger40.debug(
46260
+ debugLogger41.debug(
46204
46261
  "auto-restore: rewinding cancelled turn and restoring prompt"
46205
46262
  );
46206
46263
  historyManager.truncateToItem(lastUserItem.id);
@@ -46209,7 +46266,7 @@ ${currentText}` : popped.modelText
46209
46266
  geminiClient?.stripOrphanedUserEntriesFromHistory?.();
46210
46267
  if (info?.canUndoLastLoggedUserMessage) {
46211
46268
  void logger?.removeLastUserMessage().catch((err) => {
46212
- debugLogger40.debug("Failed to undo cancelled prompt from log:", err);
46269
+ debugLogger41.debug("Failed to undo cancelled prompt from log:", err);
46213
46270
  });
46214
46271
  }
46215
46272
  },
@@ -46300,7 +46357,13 @@ ${currentText}` : popped.modelText
46300
46357
  suggestionAbortRef.current = ac;
46301
46358
  const conversationHistory = geminiClient.getHistoryTail(40, true);
46302
46359
  generatePromptSuggestion(config, conversationHistory, ac.signal, {
46303
- enableCacheSharing: settings.merged.ui?.enableCacheSharing === true
46360
+ // On by default: the schema declares `default: true`, but
46361
+ // `mergeSettings` doesn't apply schema defaults, so an unset value is
46362
+ // `undefined` and a `=== true` gate left the cache-aware fork as dead
46363
+ // code unless the flag was explicitly set (#9230). Same treatment as
46364
+ // `enableFollowupSuggestions` above — only an explicit `false` opts
46365
+ // out.
46366
+ enableCacheSharing: settings.merged.ui?.enableCacheSharing !== false
46304
46367
  }).then((result) => {
46305
46368
  if (ac.signal.aborted) return;
46306
46369
  if (result.suggestion) {
@@ -46925,7 +46988,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
46925
46988
  const handleGlobalKeypress = (0, import_react162.useCallback)(
46926
46989
  (key) => {
46927
46990
  if (settings.merged.general?.debugKeystrokeLogging) {
46928
- debugLogger40.debug("[DEBUG] Keystroke:", JSON.stringify(key));
46991
+ debugLogger41.debug("[DEBUG] Keystroke:", JSON.stringify(key));
46929
46992
  }
46930
46993
  if (keyMatchers["toggleThinkingExpanded" /* TOGGLE_THINKING_EXPANDED */](key)) {
46931
46994
  setThoughtExpanded((prev) => !prev);
@@ -47043,7 +47106,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
47043
47106
  );
47044
47107
  if (promotableShells.length === 1) {
47045
47108
  const executingShell = promotableShells[0];
47046
- debugLogger40.debug(
47109
+ debugLogger41.debug(
47047
47110
  `Ctrl+B promote: matched executing shell tool call ${executingShell.request.callId}`
47048
47111
  );
47049
47112
  executingShell.promoteAbortController.abort({
@@ -47051,7 +47114,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
47051
47114
  });
47052
47115
  return;
47053
47116
  }
47054
- debugLogger40.debug(
47117
+ debugLogger41.debug(
47055
47118
  `Ctrl+B promote: expected exactly one executing shell tool call; falling through (streamingState=${streamingState}, pendingToolCalls=${pendingToolCallsRef.current.length}, promotableShells=${promotableShells.length})`
47056
47119
  );
47057
47120
  }
@@ -47742,7 +47805,7 @@ __name(installSynchronizedOutput, "installSynchronizedOutput");
47742
47805
 
47743
47806
  // packages/cli/src/ui/startInteractiveUI.tsx
47744
47807
  var import_jsx_runtime133 = __toESM(require_jsx_runtime(), 1);
47745
- var debugLogger41 = createDebugLogger("STARTUP");
47808
+ var debugLogger42 = createDebugLogger("STARTUP");
47746
47809
  var PRESSURE_CHECK_INTERVAL_MS = 3e4;
47747
47810
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), initializationResult, options = {}) {
47748
47811
  const version = await getCliVersion();
@@ -47780,7 +47843,7 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
47780
47843
  );
47781
47844
  }
47782
47845
  } catch (err) {
47783
- debugLogger41.error("Failed to initialize dual output bridge:", err);
47846
+ debugLogger42.error("Failed to initialize dual output bridge:", err);
47784
47847
  writeStderrLine(
47785
47848
  `Warning: dual output disabled \u2014 ${err instanceof Error ? err.message : String(err)}`
47786
47849
  );
@@ -47791,7 +47854,7 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
47791
47854
  try {
47792
47855
  remoteInputWatcher = new RemoteInputWatcher(inputFile);
47793
47856
  } catch (err) {
47794
- debugLogger41.error("Failed to initialize remote input watcher:", err);
47857
+ debugLogger42.error("Failed to initialize remote input watcher:", err);
47795
47858
  writeStderrLine(
47796
47859
  `Warning: remote input disabled \u2014 ${err instanceof Error ? err.message : String(err)}`
47797
47860
  );
@@ -47842,7 +47905,7 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
47842
47905
  {
47843
47906
  recordForExitEcho: true,
47844
47907
  onError: (error, info) => {
47845
- debugLogger41.error(
47908
+ debugLogger42.error(
47846
47909
  `[FATAL_RENDER_ERROR] ${error.message}
47847
47910
  ${info.componentStack ?? ""}
47848
47911
  ${error.stack ?? ""}`
@@ -47920,6 +47983,14 @@ qwen --resume ${sessionId}`
47920
47983
  } catch {
47921
47984
  }
47922
47985
  });
47986
+ config.trackSessionRegistration(
47987
+ registerSession({
47988
+ sessionId: config.getSessionId(),
47989
+ cwd: config.getTargetDir(),
47990
+ qwenVersion: version
47991
+ })
47992
+ );
47993
+ registerCleanup(() => config.unregisterSessionRegistry());
47923
47994
  }
47924
47995
  __name(startInteractiveUI, "startInteractiveUI");
47925
47996
  function setWindowTitle(settings, folderName) {