@qwen-code/qwen-code 0.21.13 → 0.21.14

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-67IDQILY.js} +24 -23
  9. package/chunks/{StandaloneSessionPicker-KEGXNUG6.js → StandaloneSessionPicker-G4QJIRMH.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-BS3YYO33.js} +626 -141
  12. package/chunks/{agent-DPTOZFEM.js → agent-EHHEXKWN.js} +22 -21
  13. package/chunks/{agent-headless-GJCQMURW.js → agent-headless-UT2ZF76T.js} +22 -21
  14. package/chunks/{anthropicContentGenerator-G7BVXTKN.js → anthropicContentGenerator-M7XRJMSK.js} +3 -3
  15. package/chunks/{bridge-YNQBAA4Z.js → bridge-WQ4IL2RF.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-ZDFXY7VY.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-4PKCUT7F.js → chunk-2A6VQJYK.js} +6 -6
  22. package/chunks/chunk-2C6HJMG3.js +757 -0
  23. package/chunks/chunk-3PWCMXIR.js +9169 -0
  24. package/chunks/{chunk-BVJS5BSP.js → chunk-3PWNVF6N.js} +1 -1
  25. package/chunks/{chunk-X26JYGTD.js → chunk-3SL2P3WX.js} +1 -1
  26. package/chunks/{chunk-ZYBBISBY.js → chunk-3YRVPHT3.js} +15 -12
  27. package/chunks/{chunk-AS5IN4GK.js → chunk-47L5MLB5.js} +3 -3
  28. package/chunks/{chunk-3U3VAL47.js → chunk-4SR45OM4.js} +1 -1
  29. package/chunks/{chunk-OMLJNPBE.js → chunk-4ZMS3JCR.js} +1 -0
  30. package/chunks/{chunk-UKMR3CKV.js → chunk-4ZS3BLER.js} +3 -3
  31. package/chunks/{chunk-5EYKMUUY.js → chunk-544KT7X4.js} +1 -1
  32. package/chunks/{chunk-TUGSVUJB.js → chunk-55VKMB7X.js} +5 -5
  33. package/chunks/{chunk-GO7STP6N.js → chunk-5IJSFWQO.js} +4 -4
  34. package/chunks/{chunk-A4QRWUDE.js → chunk-5IYS4WWR.js} +1 -1
  35. package/chunks/{chunk-TS6625XH.js → chunk-5MK45KZ3.js} +9 -5
  36. package/chunks/{chunk-MLPXSYXR.js → chunk-6BJSYAML.js} +25 -16
  37. package/chunks/{chunk-V57QC6WW.js → chunk-6LAPGPVA.js} +5 -3
  38. package/chunks/{chunk-NNHNLJ2X.js → chunk-6RDZLBSJ.js} +240 -42
  39. package/chunks/{chunk-ZZO74WKW.js → chunk-73JUK3ZW.js} +24 -18
  40. package/chunks/{chunk-N5YPT6PH.js → chunk-7VNHO4MN.js} +7 -4
  41. package/chunks/{chunk-OVZPVYZB.js → chunk-AKBOLMUF.js} +95 -17
  42. package/chunks/{chunk-NHDR76JX.js → chunk-BQWNIPTE.js} +1 -1
  43. package/chunks/{chunk-IWPYVAO2.js → chunk-C3T6M24E.js} +2 -2
  44. package/chunks/{chunk-NM5V5OVW.js → chunk-CEXU72GE.js} +2 -2
  45. package/chunks/{chunk-AA2BEKV3.js → chunk-CH5OFRV7.js} +1 -1
  46. package/chunks/{chunk-MS7GNABG.js → chunk-CXJHQVEK.js} +8 -0
  47. package/chunks/{chunk-E23IPNGS.js → chunk-CZK622ZK.js} +12 -3
  48. package/chunks/{chunk-K5IDV3PC.js → chunk-D34RDOLP.js} +12 -2
  49. package/chunks/{chunk-OXCMMLED.js → chunk-DGJ7O55J.js} +1 -1
  50. package/chunks/{chunk-DGK6P3BQ.js → chunk-DHUPMYMC.js} +10 -10
  51. package/chunks/{chunk-O4D7SPJN.js → chunk-DRAONPUW.js} +3 -3
  52. package/chunks/{chunk-P7MPQI75.js → chunk-DVR7XKO5.js} +1 -1
  53. package/chunks/{chunk-PP4FUZNV.js → chunk-E5WQMF3K.js} +2 -2
  54. package/chunks/{chunk-4NFY2S7N.js → chunk-E7REAOTN.js} +15 -0
  55. package/chunks/{chunk-ZYYTZUI2.js → chunk-EOPBFLA5.js} +3 -3
  56. package/chunks/{chunk-OOQUVWIG.js → chunk-FN6M5WUL.js} +4 -4
  57. package/chunks/{chunk-DGZEMW5R.js → chunk-FS5NGKWC.js} +1 -1
  58. package/chunks/{chunk-MRMJCLIY.js → chunk-G6KI5UOJ.js} +2 -2
  59. package/chunks/{chunk-6ORZ2EDC.js → chunk-H3SHU2XU.js} +1 -1
  60. package/chunks/{chunk-GMIEIY3Y.js → chunk-I3N2Z25H.js} +1 -1
  61. package/chunks/{chunk-BHILXOC3.js → chunk-J63PKMYA.js} +1 -1
  62. package/chunks/{chunk-KD5BOPLP.js → chunk-J6YS7Z25.js} +98 -4
  63. package/chunks/chunk-K2Y45XXS.js +3887 -0
  64. package/chunks/{chunk-RVOJ2FBP.js → chunk-KC4WMLZO.js} +1486 -10574
  65. package/chunks/{chunk-LJQAUZMR.js → chunk-L3T4V5GZ.js} +925 -92
  66. package/chunks/{chunk-M6NDLY2T.js → chunk-LD5VIJ7S.js} +1 -1
  67. package/chunks/{chunk-RIAABG2K.js → chunk-LSO6EL4Y.js} +1 -1
  68. package/chunks/{chunk-XHRY7BXD.js → chunk-MDIGJH5X.js} +3 -3
  69. package/chunks/{chunk-MC4TLKEI.js → chunk-MVHJZ3FZ.js} +2 -2
  70. package/chunks/{chunk-YEYY7TEP.js → chunk-N6RSOOWJ.js} +5 -5
  71. package/chunks/{chunk-OD2WU5QY.js → chunk-NRPXRNN4.js} +1 -1
  72. package/chunks/{chunk-CKSJECTU.js → chunk-NVRMCWTP.js} +8 -4
  73. package/chunks/{chunk-Y3YCSWG5.js → chunk-OBJYN4MX.js} +1 -1
  74. package/chunks/{chunk-GGDBMYGZ.js → chunk-OEYAK5O6.js} +3 -3
  75. package/chunks/{chunk-6YKYPVDV.js → chunk-OEZCXK7Y.js} +3 -3
  76. package/chunks/{chunk-4S5337WV.js → chunk-OFTPCOGR.js} +4312 -2704
  77. package/chunks/{chunk-7UXUJ5T3.js → chunk-OJB5FYVK.js} +1 -1
  78. package/chunks/{chunk-WFSTRPRO.js → chunk-OJOP26ET.js} +1 -1
  79. package/chunks/{chunk-TIGA2IVL.js → chunk-OO4FKHLO.js} +2 -2
  80. package/chunks/{chunk-BZ263IKX.js → chunk-OVY67CYC.js} +1 -1
  81. package/chunks/{chunk-PQ36L4F5.js → chunk-P3AA6S7O.js} +1 -1
  82. package/chunks/{chunk-CU6GJD55.js → chunk-PCETXVVV.js} +1 -1
  83. package/chunks/{chunk-AFSG32D5.js → chunk-PHN4R2ZV.js} +1 -1
  84. package/chunks/{chunk-QF2NHSPB.js → chunk-PJSD2FOR.js} +233 -184
  85. package/chunks/{chunk-NEFOOD54.js → chunk-QAVTWAHL.js} +2 -2
  86. package/chunks/{chunk-AW4TRXOC.js → chunk-QEHH23OM.js} +1 -1
  87. package/chunks/{chunk-CZBYX5MY.js → chunk-QEJZUXSK.js} +1 -1
  88. package/chunks/{chunk-XIT3GURH.js → chunk-QRVHGEVY.js} +3 -3
  89. package/chunks/{chunk-M732YJPW.js → chunk-RXHBTKMG.js} +2 -2
  90. package/chunks/{chunk-JOOFMXGF.js → chunk-S7N3HUIB.js} +5 -5
  91. package/chunks/{chunk-76J3IJ3M.js → chunk-SCZU65AI.js} +3 -3
  92. package/chunks/{chunk-QIH2HAEN.js → chunk-SFJMFZT5.js} +1 -1
  93. package/chunks/{chunk-JNDY2MDR.js → chunk-SFTKAX4O.js} +1 -1
  94. package/chunks/{chunk-WSH6GRKG.js → chunk-SLILKYV2.js} +2 -2
  95. package/chunks/{chunk-DXIBNLBZ.js → chunk-SNQZZ765.js} +1 -1
  96. package/chunks/{chunk-V26NVGAU.js → chunk-TSMPNGBC.js} +8 -3
  97. package/chunks/{chunk-QV5YN5YD.js → chunk-U657UZJN.js} +5 -5
  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-OY5RNSV4.js → chunk-V6WEMZPD.js} +3 -3
  101. package/chunks/{chunk-A267JX7H.js → chunk-VFP5YOHJ.js} +6 -6
  102. package/chunks/{chunk-HUTNYWBG.js → chunk-VTOLYFWM.js} +18 -10
  103. package/chunks/{chunk-EZ5RP345.js → chunk-W7EYJGN7.js} +40 -9
  104. package/chunks/{chunk-BKPPWD33.js → chunk-WAO53ZQF.js} +1 -1
  105. package/chunks/{chunk-S5DWMTHO.js → chunk-WP4WIUOJ.js} +2 -0
  106. package/chunks/{chunk-25EYDK42.js → chunk-WPVUOVYX.js} +1 -1
  107. package/chunks/{chunk-AXN7UPYQ.js → chunk-WSSH2BNO.js} +1 -1
  108. package/chunks/chunk-WZAD4ZNJ.js +59 -0
  109. package/chunks/{chunk-JUEPY766.js → chunk-XITLNXLX.js} +2 -2
  110. package/chunks/{chunk-EL5SXY3T.js → chunk-XT4RKHVE.js} +2 -2
  111. package/chunks/{chunk-IGGGG5CX.js → chunk-XYRBK56E.js} +4635 -1655
  112. package/chunks/{chunk-UZPM4XHR.js → chunk-Y4RVDOXV.js} +29 -8
  113. package/chunks/{chunk-QRCNA3SR.js → chunk-Y7QY6DKW.js} +49 -69
  114. package/chunks/{chunk-FDGGZIYW.js → chunk-YECDICIO.js} +2 -2
  115. package/chunks/{chunk-46UV252V.js → chunk-YHC2EYYG.js} +35 -38
  116. package/chunks/{chunk-U3VNBPUO.js → chunk-YHXQK4SR.js} +2 -2
  117. package/chunks/{chunk-A4MFR4C5.js → chunk-ZIGC3MUS.js} +2 -4
  118. package/chunks/{computer-use-77C5FHMW.js → computer-use-YORZJQE5.js} +22 -21
  119. package/chunks/{config-utils-IVHRSXWI.js → config-utils-NJQA5YLJ.js} +2 -2
  120. package/chunks/{contextCommand-PJ77GBWL.js → contextCommand-PACHGIF4.js} +24 -23
  121. package/chunks/{core-runtime-7VMIKUTG.js → core-runtime-6HD5DSPX.js} +22 -21
  122. package/chunks/{create-sub-session-2L5MQRN4.js → create-sub-session-IQFIPUQA.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-6P27GKSU.js} +24 -23
  128. package/chunks/{daemon-status-provider-ZDOYJCU6.js → daemon-status-provider-SXS66ZIR.js} +31 -30
  129. package/chunks/{daemon-trust-policy-E67OYUK2.js → daemon-trust-policy-5QJHAS3N.js} +29 -28
  130. package/chunks/{daemon-trust-policy-monitor-RYYGCQ3J.js → daemon-trust-policy-monitor-JA2WZRZ3.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-R2VWOVG3.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-PQEEOFKJ.js} +22 -21
  136. package/chunks/{edit-I4LQFAEC.js → edit-RASZHTU2.js} +25 -23
  137. package/chunks/{en-X6YV7GME.js → en-MD3GP5YL.js} +8 -0
  138. package/chunks/{enter-worktree-YNPOJSRH.js → enter-worktree-CH5OMHJE.js} +22 -21
  139. package/chunks/{enterPlanMode-XCPK62ER.js → enterPlanMode-AQKR3CAH.js} +22 -21
  140. package/chunks/{environment-S7CTIHMX.js → environment-7QRYIEBA.js} +25 -24
  141. package/chunks/{errors-7HB2AIDS.js → errors-P2LL5452.js} +24 -23
  142. package/chunks/{exit-worktree-AIIY7SR6.js → exit-worktree-WUDL26CY.js} +22 -21
  143. package/chunks/{exitPlanMode-R4JY7V2O.js → exitPlanMode-JM75SAUI.js} +22 -21
  144. package/chunks/{fast-path-NDJV3ZFJ.js → fast-path-KVNSOHVA.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-ADMD2EOS.js} +62 -61
  148. package/chunks/{geminiContentGenerator-SQ5XBPZ7.js → geminiContentGenerator-CS3M7SOS.js} +3 -3
  149. package/chunks/{glob-J4RUJAHX.js → glob-WIJOGYVV.js} +22 -21
  150. package/chunks/{goal-tools-VHTNVOKK.js → goal-tools-K5OHOJ6B.js} +1 -1
  151. package/chunks/{grep-VJWPLFOT.js → grep-CIFRQBR7.js} +22 -21
  152. package/chunks/{handleAutoUpdate-POCX2MNB.js → handleAutoUpdate-KJ4SN7DM.js} +26 -25
  153. package/chunks/{i18n-RM5YOICI.js → i18n-36SZUO4C.js} +23 -22
  154. package/chunks/{image-gen-EXECB5XM.js → image-gen-R4B5VUYB.js} +2 -2
  155. package/chunks/{initializer-Z2AFGBNR.js → initializer-CW5YCAOL.js} +29 -28
  156. package/chunks/{installationInfo-4I5FXNMH.js → installationInfo-NMQIOUGY.js} +23 -22
  157. package/chunks/{ja-QHT4EQTO.js → ja-UM5B2HMD.js} +8 -0
  158. package/chunks/{list-ZMBFIGZA.js → list-HHGT3S4P.js} +32 -31
  159. package/chunks/{loadedSettingsAdapter-T6TV4YJ7.js → loadedSettingsAdapter-SJ2MJF35.js} +29 -28
  160. package/chunks/{loggingContentGenerator-WF4ZOJEZ.js → loggingContentGenerator-GR2QQ2C5.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-ADQJHKTO.js} +23 -22
  163. package/chunks/{mcp-6UNYX4HG.js → mcp-QW3OTL5W.js} +29 -28
  164. package/chunks/{monitor-EE2UYMGE.js → monitor-RJKPVERH.js} +22 -21
  165. package/chunks/{nonInteractiveCli-WAY237O4.js → nonInteractiveCli-MROMHSTL.js} +59 -57
  166. package/chunks/{notebook-edit-NTDY4QDU.js → notebook-edit-2ENWDBZO.js} +26 -24
  167. package/chunks/{openaiContentGenerator-YNFVJMRJ.js → openaiContentGenerator-Z3GPWJU4.js} +12 -11
  168. package/chunks/{pidfile-4XSFLYBZ.js → pidfile-5G42YSTP.js} +22 -21
  169. package/chunks/{processUtils-WDA2MJFD.js → processUtils-ZDMXYKQY.js} +2 -2
  170. package/chunks/{pt-VL3I5RNY.js → pt-5BMJ3XYH.js} +8 -0
  171. package/chunks/{qwenContentGenerator-434M7QKY.js → qwenContentGenerator-NLEMBZVU.js} +25 -24
  172. package/chunks/{qwenOAuth2-GMYZOO6A.js → qwenOAuth2-EBV52DWJ.js} +3 -3
  173. package/chunks/{read-file-TAFBKMNI.js → read-file-5BYIF53O.js} +9 -7
  174. package/chunks/{record-artifact-SEYFJEJF.js → record-artifact-GLU3UWBV.js} +3 -1
  175. package/chunks/{resumeHistoryUtils-EVG3WYK2.js → resumeHistoryUtils-AFTBRS3G.js} +25 -24
  176. package/chunks/{ripGrep-WOEK2PXS.js → ripGrep-NN7AOLQY.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-UR3DYDAF.js} +49 -40
  179. package/chunks/{runtime-5MLLZ7DC.js → runtime-PR5RKGNH.js} +32 -31
  180. package/chunks/{scheduler-RPBJ63CH.js → scheduler-GPMLVKJM.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-E7V2JVA2.js} +29 -30
  185. package/chunks/{server-TC4A7AAZ.js → server-YXB3DBN7.js} +1267 -165
  186. package/chunks/{session-UBOFXVMN.js → session-DZEAUT7S.js} +60 -58
  187. package/chunks/{settings-D5644OM5.js → settings-ESZ3NWAP.js} +28 -27
  188. package/chunks/{shell-3PZULQQV.js → shell-JMSK5WIL.js} +22 -21
  189. package/chunks/{skill-PEVVXQ3L.js → skill-5K5CSUJV.js} +11 -9
  190. package/chunks/{skill-settings-J65JKKES.js → skill-settings-V64NIOTI.js} +28 -27
  191. package/chunks/{spawnChannel-IYGXRHSQ.js → spawnChannel-S63APBZZ.js} +24 -23
  192. package/chunks/{standalone-update-IFM53PE7.js → standalone-update-P42HDFXX.js} +24 -23
  193. package/chunks/{startInteractiveUI-3AVH7L6H.js → startInteractiveUI-LFBLFHJ4.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-EDNOUM2U.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-QRSNK2DX.js} +22 -21
  200. package/chunks/{terminal-image-renderer-G343P2RV.js → terminal-image-renderer-6J2NPL32.js} +22 -21
  201. package/chunks/{theme-manager-Z3RIT7DB.js → theme-manager-WJMLRBXS.js} +22 -21
  202. package/chunks/{todoWrite-U2R4NVF4.js → todoWrite-ATS62CAP.js} +1 -1
  203. package/chunks/{tool-search-5R2OE4C7.js → tool-search-MZ6WU7DM.js} +9 -7
  204. package/chunks/{total-session-admission-4KBHMQQ2.js → total-session-admission-DQVW2LIP.js} +26 -25
  205. package/chunks/{trustedFolders-LK6T4XC7.js → trustedFolders-QMH25GOX.js} +23 -22
  206. package/chunks/{update-relaunch-UBKROIC6.js → update-relaunch-EG75LLW5.js} +5 -5
  207. package/chunks/{updateCheck-W4Y2GFSD.js → updateCheck-MTZIVGT5.js} +25 -24
  208. package/chunks/{useAutoAcceptIndicator-C7BEICBF.js → useAutoAcceptIndicator-IGCW5EPO.js} +31 -30
  209. package/chunks/{validateNonInterActiveAuth-LTEI2TB6.js → validateNonInterActiveAuth-D5FPAB2C.js} +56 -54
  210. package/chunks/{version-G5A5DGVS.js → version-UOLDLLRB.js} +1 -1
  211. package/chunks/{web-fetch-RTEQTR5Z.js → web-fetch-QKKW6CWH.js} +11 -8
  212. package/chunks/{web-search-5OXHEZPV.js → web-search-JYRBZMCW.js} +2 -2
  213. package/chunks/{workflow-ISQJHPG2.js → workflow-SR7SEAU7.js} +139 -37
  214. package/chunks/{workspace-providers-status-2ZPZPUPZ.js → workspace-providers-status-OXGV4EFF.js} +32 -31
  215. package/chunks/{workspace-registration-store-CYNY6IP6.js → workspace-registration-store-V5EGKLBH.js} +1 -1
  216. package/chunks/{workspace-registry-34GTUUHB.js → workspace-registry-KJVIYTF5.js} +26 -25
  217. package/chunks/{workspace-service-XCDQLE2Y.js → workspace-service-6RLSGUB5.js} +33 -32
  218. package/chunks/{workspace-skills-status-RS4O7AIJ.js → workspace-skills-status-BHFEPDGH.js} +30 -29
  219. package/chunks/{workspace-trust-reconciler-AYGXC7A3.js → workspace-trust-reconciler-DB5ERSUN.js} +33 -32
  220. package/chunks/{write-file-EWXKVVXF.js → write-file-IUP4GTZ4.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-SRBDTIVA.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
@@ -6,7 +6,7 @@ import {
6
6
  getCommandSourceBadge,
7
7
  getCommandSourceGroup,
8
8
  getCommandSubcommandNames
9
- } from "./chunk-AFSG32D5.js";
9
+ } from "./chunk-PHN4R2ZV.js";
10
10
  import {
11
11
  INLINE_CODE_SPAN_PATTERN_SOURCE,
12
12
  calculateAverageLatency,
@@ -21,11 +21,11 @@ import {
21
21
  readInlineMathSpanAt,
22
22
  unescapeMarkdownBeforeMath,
23
23
  unescapeMarkdownDollars
24
- } from "./chunk-O4D7SPJN.js";
24
+ } from "./chunk-DRAONPUW.js";
25
25
  import {
26
26
  MINIMUM_MAX_HEIGHT,
27
27
  MaxSizedBox
28
- } from "./chunk-BHILXOC3.js";
28
+ } from "./chunk-J63PKMYA.js";
29
29
  import {
30
30
  CompactToolGroupDisplay,
31
31
  ICON,
@@ -41,7 +41,7 @@ import {
41
41
  estimateCompactToolGroupHeight,
42
42
  isCollapsibleTool,
43
43
  wrapAnsi
44
- } from "./chunk-ZYBBISBY.js";
44
+ } from "./chunk-3YRVPHT3.js";
45
45
  import {
46
46
  formatDuration,
47
47
  formatRelativeTime,
@@ -55,7 +55,7 @@ import {
55
55
  enableMouseEvents,
56
56
  useKeypress,
57
57
  useKeypressContext
58
- } from "./chunk-M732YJPW.js";
58
+ } from "./chunk-RXHBTKMG.js";
59
59
  import {
60
60
  require_jsx_runtime
61
61
  } from "./chunk-SV5PQVQE.js";
@@ -70,7 +70,7 @@ import {
70
70
  } from "./chunk-2IIJTXYF.js";
71
71
  import {
72
72
  relaunchApp
73
- } from "./chunk-PQ36L4F5.js";
73
+ } from "./chunk-P3AA6S7O.js";
74
74
  import {
75
75
  isTerminalGoalStatusKind
76
76
  } from "./chunk-EKTCKZV5.js";
@@ -83,7 +83,7 @@ import {
83
83
  } from "./chunk-5QWWOFGG.js";
84
84
  import {
85
85
  getErrorMessage
86
- } from "./chunk-JUEPY766.js";
86
+ } from "./chunk-XITLNXLX.js";
87
87
  import {
88
88
  markKittyImageWritten,
89
89
  prepareInlineTerminalImage,
@@ -106,7 +106,7 @@ import {
106
106
  stripUnsafeCharacters,
107
107
  toCodePoints,
108
108
  truncateToWidth
109
- } from "./chunk-4NFY2S7N.js";
109
+ } from "./chunk-E7REAOTN.js";
110
110
  import {
111
111
  stringWidth
112
112
  } from "./chunk-2MIN6GRR.js";
@@ -116,18 +116,18 @@ import {
116
116
  } from "./chunk-57OAHC2Y.js";
117
117
  import {
118
118
  createLoadedSettingsAdapter
119
- } from "./chunk-BVJS5BSP.js";
119
+ } from "./chunk-3PWNVF6N.js";
120
120
  import {
121
121
  getPersistScopeForModelSelection
122
- } from "./chunk-A267JX7H.js";
122
+ } from "./chunk-VFP5YOHJ.js";
123
123
  import {
124
124
  getCurrentLanguage,
125
125
  localizeToolDisplayName,
126
126
  t
127
- } from "./chunk-HUTNYWBG.js";
127
+ } from "./chunk-VTOLYFWM.js";
128
128
  import {
129
129
  isWorkspaceTrusted
130
- } from "./chunk-IWPYVAO2.js";
130
+ } from "./chunk-C3T6M24E.js";
131
131
  import {
132
132
  ALL_PROVIDERS,
133
133
  IdeClient,
@@ -150,7 +150,7 @@ import {
150
150
  resolveBaseUrl,
151
151
  resolveMetadataKey,
152
152
  resolveOwnsModel
153
- } from "./chunk-4S5337WV.js";
153
+ } from "./chunk-OFTPCOGR.js";
154
154
  import {
155
155
  stripAnsi
156
156
  } from "./chunk-TWPJO254.js";
@@ -158,14 +158,14 @@ import {
158
158
  sanitizeForOsc,
159
159
  supportsHyperlinks,
160
160
  wrapForMultiplexer
161
- } from "./chunk-GMIEIY3Y.js";
161
+ } from "./chunk-I3N2Z25H.js";
162
162
  import {
163
163
  MAIN_SOURCE,
164
164
  formatVisionBridgeNoticeDisplay,
165
165
  getMCPServerStatus,
166
166
  isVisionBridgeNoticeDisplay,
167
167
  uiTelemetryService
168
- } from "./chunk-RVOJ2FBP.js";
168
+ } from "./chunk-KC4WMLZO.js";
169
169
  import {
170
170
  ToolDisplayNames,
171
171
  ToolNames,
@@ -2741,11 +2741,11 @@ __name(useTerminalSize, "useTerminalSize");
2741
2741
 
2742
2742
  // packages/cli/src/ui/components/SessionPreview.tsx
2743
2743
  init_esbuild_shims();
2744
- var import_react45 = __toESM(require_react(), 1);
2744
+ var import_react46 = __toESM(require_react(), 1);
2745
2745
 
2746
2746
  // packages/cli/src/ui/components/HistoryItemDisplay.tsx
2747
2747
  init_esbuild_shims();
2748
- var import_react44 = __toESM(require_react(), 1);
2748
+ var import_react45 = __toESM(require_react(), 1);
2749
2749
 
2750
2750
  // packages/cli/src/ui/components/messages/ConversationMessages.tsx
2751
2751
  init_esbuild_shims();
@@ -16782,18 +16782,58 @@ var BtwMessageInternal = /* @__PURE__ */ __name(({
16782
16782
  }, "BtwMessageInternal");
16783
16783
  var BtwMessage = import_react41.default.memo(BtwMessageInternal);
16784
16784
 
16785
- // packages/cli/src/ui/components/messages/MemorySavedMessage.tsx
16785
+ // packages/cli/src/ui/components/messages/AdvisorMessage.tsx
16786
16786
  init_esbuild_shims();
16787
+ var import_react42 = __toESM(require_react(), 1);
16787
16788
  var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
16789
+ var ADVISOR_SELF_CHROME = 4;
16790
+ var AdvisorMessageInternal = /* @__PURE__ */ __name(({
16791
+ text,
16792
+ model,
16793
+ containerWidth
16794
+ }) => {
16795
+ const { columns: terminalWidth } = useTerminalSize();
16796
+ const baseWidth = containerWidth ?? terminalWidth;
16797
+ const contentWidth = Math.max(2, baseWidth - ADVISOR_SELF_CHROME);
16798
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
16799
+ Box_default,
16800
+ {
16801
+ flexDirection: "column",
16802
+ borderStyle: "round",
16803
+ borderColor: Colors.AccentCyan,
16804
+ paddingX: 1,
16805
+ width: "100%",
16806
+ children: [
16807
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { flexDirection: "row", children: [
16808
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { color: Colors.AccentCyan, bold: true, children: "/advisor" }),
16809
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { color: Colors.AccentCyan, children: ` \xB7 ${model}` })
16810
+ ] }),
16811
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
16812
+ MarkdownDisplay,
16813
+ {
16814
+ text,
16815
+ isPending: false,
16816
+ contentWidth
16817
+ }
16818
+ ) })
16819
+ ]
16820
+ }
16821
+ );
16822
+ }, "AdvisorMessageInternal");
16823
+ var AdvisorMessage = import_react42.default.memo(AdvisorMessageInternal);
16824
+
16825
+ // packages/cli/src/ui/components/messages/MemorySavedMessage.tsx
16826
+ init_esbuild_shims();
16827
+ var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
16788
16828
  var MemorySavedMessage = /* @__PURE__ */ __name(({
16789
16829
  item
16790
16830
  }) => {
16791
16831
  const verb = item.verb ?? "Saved";
16792
16832
  const n = item.writtenCount;
16793
16833
  const label = n === 1 ? "memory" : "memories";
16794
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { flexDirection: "row", children: [
16795
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
16796
- /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Text, { dimColor: true, children: [
16834
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Box_default, { flexDirection: "row", children: [
16835
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
16836
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { dimColor: true, children: [
16797
16837
  verb,
16798
16838
  " ",
16799
16839
  n,
@@ -16805,28 +16845,28 @@ var MemorySavedMessage = /* @__PURE__ */ __name(({
16805
16845
 
16806
16846
  // packages/cli/src/ui/components/messages/DiffStatsDisplay.tsx
16807
16847
  init_esbuild_shims();
16808
- var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
16848
+ var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
16809
16849
  var DiffStatsDisplay = /* @__PURE__ */ __name(({
16810
16850
  model
16811
16851
  }) => {
16812
16852
  const { filesCount, linesAdded, linesRemoved, rows, hiddenCount } = model;
16813
16853
  const { addWidth, remWidth, statColumnWidth } = computeDiffColumnWidths(rows);
16814
16854
  const headerLabel = filesCount === 1 ? t("{{count}} file changed", { count: String(filesCount) }) : t("{{count}} files changed", { count: String(filesCount) });
16815
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Box_default, { flexDirection: "column", children: [
16816
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { children: [
16817
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: headerLabel }),
16818
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.secondary, children: ", " }),
16819
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.status.success, children: [
16855
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "column", children: [
16856
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { children: [
16857
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: headerLabel }),
16858
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: ", " }),
16859
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.status.success, children: [
16820
16860
  "+",
16821
16861
  linesAdded
16822
16862
  ] }),
16823
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.secondary, children: " / " }),
16824
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.status.error, children: [
16863
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: " / " }),
16864
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.status.error, children: [
16825
16865
  "-",
16826
16866
  linesRemoved
16827
16867
  ] })
16828
16868
  ] }),
16829
- rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
16869
+ rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
16830
16870
  DiffRow,
16831
16871
  {
16832
16872
  row,
@@ -16836,7 +16876,7 @@ var DiffStatsDisplay = /* @__PURE__ */ __name(({
16836
16876
  },
16837
16877
  row.filename
16838
16878
  )),
16839
- hiddenCount > 0 && rows.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.text.secondary, children: [
16879
+ hiddenCount > 0 && rows.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
16840
16880
  " ",
16841
16881
  t("\u2026and {{hidden}} more (showing first {{shown}})", {
16842
16882
  hidden: String(hiddenCount),
@@ -16856,16 +16896,16 @@ var DiffRow = /* @__PURE__ */ __name(({
16856
16896
  if (row.isBinary) {
16857
16897
  const marker = padRight("~", statColumnWidth);
16858
16898
  const suffix2 = row.isUntracked ? t("(binary, new)") : row.isDeleted ? t("(binary, deleted)") : t("(binary)");
16859
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { children: [
16860
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: " " }),
16861
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.secondary, children: marker }),
16862
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: " " }),
16863
- safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.text.secondary, children: [
16899
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { children: [
16900
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: " " }),
16901
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: marker }),
16902
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: " " }),
16903
+ safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
16864
16904
  safeOldPath,
16865
16905
  " \u2192 "
16866
16906
  ] }) : null,
16867
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: safeName }),
16868
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.text.secondary, children: [
16907
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: safeName }),
16908
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
16869
16909
  " ",
16870
16910
  suffix2
16871
16911
  ] })
@@ -16879,24 +16919,24 @@ var DiffRow = /* @__PURE__ */ __name(({
16879
16919
  } else if (row.isDeleted) {
16880
16920
  suffix = t("(deleted)");
16881
16921
  }
16882
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { children: [
16883
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: " " }),
16884
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.status.success, children: [
16922
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { children: [
16923
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: " " }),
16924
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.status.success, children: [
16885
16925
  "+",
16886
16926
  added
16887
16927
  ] }),
16888
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: " " }),
16889
- /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.status.error, children: [
16928
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: " " }),
16929
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.status.error, children: [
16890
16930
  "-",
16891
16931
  removed
16892
16932
  ] }),
16893
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: " " }),
16894
- safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.text.secondary, children: [
16933
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: " " }),
16934
+ safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
16895
16935
  safeOldPath,
16896
16936
  " \u2192 "
16897
16937
  ] }) : null,
16898
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: theme.text.primary, children: safeName }),
16899
- suffix && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Text, { color: theme.text.secondary, children: [
16938
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.primary, children: safeName }),
16939
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
16900
16940
  " ",
16901
16941
  suffix
16902
16942
  ] })
@@ -16909,8 +16949,8 @@ __name(padRight, "padRight");
16909
16949
 
16910
16950
  // packages/cli/src/ui/components/messages/GoalStatusMessage.tsx
16911
16951
  init_esbuild_shims();
16912
- var import_react42 = __toESM(require_react(), 1);
16913
- var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
16952
+ var import_react43 = __toESM(require_react(), 1);
16953
+ var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
16914
16954
  var pluralTurns = /* @__PURE__ */ __name((n) => n === 1 ? "turn" : "turns", "pluralTurns");
16915
16955
  function assertNeverGoalStatusKind(kind) {
16916
16956
  throw new Error(`Unexpected goal status kind: ${kind}`);
@@ -16923,9 +16963,9 @@ var GoalStateCard = /* @__PURE__ */ __name(({
16923
16963
  const goal = snapshot.goal;
16924
16964
  if (!goal) {
16925
16965
  if (cause !== "clear") return null;
16926
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
16927
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
16928
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: "Goal cleared" })
16966
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
16967
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
16968
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: "Goal cleared" })
16929
16969
  ] });
16930
16970
  }
16931
16971
  const lifecycle = (() => {
@@ -16983,21 +17023,21 @@ var GoalStateCard = /* @__PURE__ */ __name(({
16983
17023
  }
16984
17024
  const subtitle = stats.length > 0 ? stats.join(" \xB7 ") : null;
16985
17025
  const reason = goal.status !== "active" || snapshot.activity === "verifying" ? goal.lastReason?.trim() : void 0;
16986
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
16987
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: lifecycle.color, children: lifecycle.prefix }) }),
16988
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
16989
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: lifecycle.color, children: [
17026
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17027
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: lifecycle.color, children: lifecycle.prefix }) }),
17028
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
17029
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: lifecycle.color, children: [
16990
17030
  lifecycle.title,
16991
- subtitle ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
17031
+ subtitle ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
16992
17032
  " \xB7 ",
16993
17033
  subtitle
16994
17034
  ] }) : null
16995
17035
  ] }),
16996
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
16997
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
16998
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { wrap: "wrap", children: goal.objective }) })
17036
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17037
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
17038
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { wrap: "wrap", children: goal.objective }) })
16999
17039
  ] }),
17000
- reason ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17040
+ reason ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17001
17041
  "Reason: ",
17002
17042
  reason
17003
17043
  ] }) : null
@@ -17005,24 +17045,24 @@ var GoalStateCard = /* @__PURE__ */ __name(({
17005
17045
  ] });
17006
17046
  }, "GoalStateCard");
17007
17047
  var GoalStatusMessageInternal = /* @__PURE__ */ __name((props) => {
17008
- if (props.snapshot) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(GoalStateCard, { ...props });
17048
+ if (props.snapshot) return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(GoalStateCard, { ...props });
17009
17049
  const { kind, condition, iterations, durationMs, lastReason } = props;
17010
17050
  if (kind === "checking") {
17011
17051
  const reason = lastReason?.trim();
17012
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
17013
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
17014
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
17015
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
17052
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17053
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
17054
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
17055
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
17016
17056
  "Goal check",
17017
17057
  typeof iterations === "number" && iterations > 0 ? ` \xB7 turn ${iterations}` : "",
17018
17058
  " ",
17019
17059
  "\xB7 not yet met"
17020
17060
  ] }),
17021
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17061
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17022
17062
  "Goal: ",
17023
17063
  condition
17024
17064
  ] }),
17025
- reason ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17065
+ reason ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17026
17066
  "Judge: ",
17027
17067
  reason
17028
17068
  ] }) : null
@@ -17079,44 +17119,44 @@ var GoalStatusMessageInternal = /* @__PURE__ */ __name((props) => {
17079
17119
  stats.push(formatDuration(durationMs, { hideTrailingZeros: true }));
17080
17120
  }
17081
17121
  const subtitle = stats.length > 0 ? stats.join(" \xB7 ") : null;
17082
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
17083
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: prefixColor, children: prefix }) }),
17084
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
17085
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: prefixColor, children: [
17122
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17123
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: prefixColor, children: prefix }) }),
17124
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
17125
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: prefixColor, children: [
17086
17126
  title,
17087
- subtitle ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, children: [
17127
+ subtitle ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
17088
17128
  " \xB7 ",
17089
17129
  subtitle
17090
17130
  ] }) : null
17091
17131
  ] }),
17092
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
17093
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
17094
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { wrap: "wrap", children: condition }) })
17132
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17133
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
17134
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { wrap: "wrap", children: condition }) })
17095
17135
  ] }),
17096
- isTerminalGoalStatusKind(kind) && lastReason?.trim() ? /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17136
+ isTerminalGoalStatusKind(kind) && lastReason?.trim() ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
17097
17137
  "Last check: ",
17098
17138
  lastReason.trim()
17099
17139
  ] }) : null
17100
17140
  ] })
17101
17141
  ] });
17102
17142
  }, "GoalStatusMessageInternal");
17103
- var GoalStatusMessage = import_react42.default.memo(GoalStatusMessageInternal);
17143
+ var GoalStatusMessage = import_react43.default.memo(GoalStatusMessageInternal);
17104
17144
 
17105
17145
  // packages/cli/src/ui/contexts/ThoughtExpandedContext.tsx
17106
17146
  init_esbuild_shims();
17107
- var import_react43 = __toESM(require_react(), 1);
17147
+ var import_react44 = __toESM(require_react(), 1);
17108
17148
  var EMPTY_IDS = /* @__PURE__ */ new Set();
17109
- var ThoughtExpandedContext = (0, import_react43.createContext)({
17149
+ var ThoughtExpandedContext = (0, import_react44.createContext)({
17110
17150
  allExpanded: false,
17111
17151
  expandedHeadIds: EMPTY_IDS,
17112
17152
  toggle: /* @__PURE__ */ __name(() => {
17113
17153
  }, "toggle")
17114
17154
  });
17115
- var useThoughtExpanded = /* @__PURE__ */ __name(() => (0, import_react43.useContext)(ThoughtExpandedContext), "useThoughtExpanded");
17155
+ var useThoughtExpanded = /* @__PURE__ */ __name(() => (0, import_react44.useContext)(ThoughtExpandedContext), "useThoughtExpanded");
17116
17156
  var ThoughtExpandedProvider = ThoughtExpandedContext.Provider;
17117
17157
 
17118
17158
  // packages/cli/src/ui/components/HistoryItemDisplay.tsx
17119
- var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
17159
+ var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
17120
17160
  var ClickableThinkMessage = /* @__PURE__ */ __name(({
17121
17161
  text,
17122
17162
  isPending,
@@ -17126,15 +17166,15 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
17126
17166
  durationMs,
17127
17167
  onToggle
17128
17168
  }) => {
17129
- const ref = (0, import_react44.useRef)(null);
17130
- const pressRef = (0, import_react44.useRef)(null);
17169
+ const ref = (0, import_react45.useRef)(null);
17170
+ const pressRef = (0, import_react45.useRef)(null);
17131
17171
  const { rows: terminalHeight } = useTerminalSize();
17132
17172
  const settings = useSettings();
17133
17173
  const mouseTrackingEnabled = useMouseTrackingEnabled();
17134
17174
  const clickable = useVirtualViewport(settings.merged.ui?.useTerminalBuffer) && mouseTrackingEnabled;
17135
17175
  const isActive = !isPending;
17136
17176
  useMouseEvents(
17137
- (0, import_react44.useCallback)(
17177
+ (0, import_react45.useCallback)(
17138
17178
  (event) => {
17139
17179
  if (!ref.current) return;
17140
17180
  if (event.name === "move") {
@@ -17165,7 +17205,7 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
17165
17205
  ),
17166
17206
  { isActive }
17167
17207
  );
17168
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { ref: isActive ? ref : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17208
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { ref: isActive ? ref : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17169
17209
  ThinkMessage,
17170
17210
  {
17171
17211
  text,
@@ -17198,6 +17238,7 @@ function getHistoryItemMarginTop(item) {
17198
17238
  case "summary":
17199
17239
  case "insight_progress":
17200
17240
  case "btw":
17241
+ case "advisor":
17201
17242
  case "away_recap":
17202
17243
  case "user":
17203
17244
  case "user_prompt_submit_blocked":
@@ -17238,10 +17279,10 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17238
17279
  const resolvedThoughtExpanded = fullDetail || (thoughtExpanded ?? (allExpanded || expandedHeadIds.has(thoughtGroupHeadId)));
17239
17280
  const settings = useSettings();
17240
17281
  const showTimestamps = settings.merged.output?.showTimestamps === true;
17241
- const itemForDisplay = (0, import_react44.useMemo)(() => escapeAnsiCtrlCodes(item), [item]);
17282
+ const itemForDisplay = (0, import_react45.useMemo)(() => escapeAnsiCtrlCodes(item), [item]);
17242
17283
  const contentWidth = terminalWidth - 4;
17243
17284
  const boxWidth = mainAreaWidth || contentWidth;
17244
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
17285
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
17245
17286
  Box_default,
17246
17287
  {
17247
17288
  flexDirection: "column",
@@ -17249,11 +17290,11 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17249
17290
  marginLeft: 2,
17250
17291
  marginRight: 2,
17251
17292
  children: [
17252
- itemForDisplay.type === "user" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(UserMessage, { text: itemForDisplay.text }),
17253
- itemForDisplay.type === "notification" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(InfoMessage, { text: itemForDisplay.text }),
17254
- itemForDisplay.type === "user_shell" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(UserShellMessage, { text: itemForDisplay.text }),
17255
- itemForDisplay.type === "gemini" && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
17256
- showTimestamps && itemForDisplay.timestamp != null && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { dimColor: true, children: [
17293
+ itemForDisplay.type === "user" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserMessage, { text: itemForDisplay.text }),
17294
+ itemForDisplay.type === "notification" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(InfoMessage, { text: itemForDisplay.text }),
17295
+ itemForDisplay.type === "user_shell" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(UserShellMessage, { text: itemForDisplay.text }),
17296
+ itemForDisplay.type === "gemini" && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
17297
+ showTimestamps && itemForDisplay.timestamp != null && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { dimColor: true, children: [
17257
17298
  "[",
17258
17299
  new Date(itemForDisplay.timestamp).toLocaleTimeString("en-US", {
17259
17300
  hour12: false,
@@ -17263,7 +17304,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17263
17304
  }),
17264
17305
  "]"
17265
17306
  ] }),
17266
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17307
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17267
17308
  AssistantMessage,
17268
17309
  {
17269
17310
  text: itemForDisplay.text,
@@ -17276,7 +17317,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17276
17317
  }
17277
17318
  )
17278
17319
  ] }),
17279
- itemForDisplay.type === "gemini_content" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17320
+ itemForDisplay.type === "gemini_content" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17280
17321
  AssistantMessageContent,
17281
17322
  {
17282
17323
  text: itemForDisplay.text,
@@ -17288,7 +17329,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17288
17329
  sourceCopyIndexOffsets
17289
17330
  }
17290
17331
  ),
17291
- itemForDisplay.type === "gemini_thought" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17332
+ itemForDisplay.type === "gemini_thought" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17292
17333
  ClickableThinkMessage,
17293
17334
  {
17294
17335
  text: itemForDisplay.text.trimEnd(),
@@ -17300,7 +17341,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17300
17341
  onToggle: () => toggleThought(thoughtGroupHeadId)
17301
17342
  }
17302
17343
  ),
17303
- itemForDisplay.type === "gemini_thought_content" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17344
+ itemForDisplay.type === "gemini_thought_content" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17304
17345
  ThinkMessageContent,
17305
17346
  {
17306
17347
  text: itemForDisplay.text.trimEnd(),
@@ -17310,7 +17351,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17310
17351
  contentWidth
17311
17352
  }
17312
17353
  ),
17313
- itemForDisplay.type === "info" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17354
+ itemForDisplay.type === "info" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17314
17355
  InfoMessage,
17315
17356
  {
17316
17357
  text: itemForDisplay.text,
@@ -17318,26 +17359,26 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17318
17359
  linkText: itemForDisplay.linkText
17319
17360
  }
17320
17361
  ),
17321
- itemForDisplay.type === "success" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SuccessMessage, { text: itemForDisplay.text }),
17322
- itemForDisplay.type === "warning" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(WarningMessage, { text: itemForDisplay.text }),
17323
- itemForDisplay.type === "error" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ErrorMessage, { text: itemForDisplay.text, hint: itemForDisplay.hint }),
17324
- itemForDisplay.type === "retry_countdown" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(RetryCountdownMessage, { text: itemForDisplay.text }),
17325
- itemForDisplay.type === "vision_notice" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(VisionNoticeMessage, { text: itemForDisplay.text }),
17326
- itemForDisplay.type === "about" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AboutBox, { ...itemForDisplay.systemInfo, width: boxWidth }),
17327
- itemForDisplay.type === "help" && commands && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Help, { commands, width: boxWidth }),
17328
- itemForDisplay.type === "stats" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StatsDisplay, { duration: itemForDisplay.duration, width: boxWidth }),
17329
- itemForDisplay.type === "diff_stats" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DiffStatsDisplay, { model: itemForDisplay.model }),
17330
- itemForDisplay.type === "model_stats" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ModelStatsDisplay, { width: boxWidth }),
17331
- itemForDisplay.type === "tool_stats" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToolStatsDisplay, { width: boxWidth }),
17332
- itemForDisplay.type === "skill_stats" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SkillStatsDisplay, { width: boxWidth }),
17333
- itemForDisplay.type === "quit" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17362
+ itemForDisplay.type === "success" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SuccessMessage, { text: itemForDisplay.text }),
17363
+ itemForDisplay.type === "warning" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(WarningMessage, { text: itemForDisplay.text }),
17364
+ itemForDisplay.type === "error" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ErrorMessage, { text: itemForDisplay.text, hint: itemForDisplay.hint }),
17365
+ itemForDisplay.type === "retry_countdown" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(RetryCountdownMessage, { text: itemForDisplay.text }),
17366
+ itemForDisplay.type === "vision_notice" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(VisionNoticeMessage, { text: itemForDisplay.text }),
17367
+ itemForDisplay.type === "about" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AboutBox, { ...itemForDisplay.systemInfo, width: boxWidth }),
17368
+ itemForDisplay.type === "help" && commands && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Help, { commands, width: boxWidth }),
17369
+ itemForDisplay.type === "stats" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(StatsDisplay, { duration: itemForDisplay.duration, width: boxWidth }),
17370
+ itemForDisplay.type === "diff_stats" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(DiffStatsDisplay, { model: itemForDisplay.model }),
17371
+ itemForDisplay.type === "model_stats" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ModelStatsDisplay, { width: boxWidth }),
17372
+ itemForDisplay.type === "tool_stats" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ToolStatsDisplay, { width: boxWidth }),
17373
+ itemForDisplay.type === "skill_stats" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SkillStatsDisplay, { width: boxWidth }),
17374
+ itemForDisplay.type === "quit" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17334
17375
  SessionSummaryDisplay,
17335
17376
  {
17336
17377
  duration: itemForDisplay.duration,
17337
17378
  width: boxWidth
17338
17379
  }
17339
17380
  ),
17340
- itemForDisplay.type === "tool_group" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17381
+ itemForDisplay.type === "tool_group" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17341
17382
  ToolGroupMessage,
17342
17383
  {
17343
17384
  toolCalls: itemForDisplay.tools,
@@ -17354,14 +17395,14 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17354
17395
  fullDetail
17355
17396
  }
17356
17397
  ),
17357
- itemForDisplay.type === "tool_use_summary" && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "row", children: [
17358
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
17359
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { dimColor: true, children: itemForDisplay.summary })
17398
+ itemForDisplay.type === "tool_use_summary" && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
17399
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
17400
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { dimColor: true, children: itemForDisplay.summary })
17360
17401
  ] }),
17361
- itemForDisplay.type === "compression" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CompressionMessage, { compression: itemForDisplay.compression }),
17362
- itemForDisplay.type === "summary" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SummaryMessage, { summary: itemForDisplay.summary }),
17363
- itemForDisplay.type === "extensions_list" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ExtensionsList, {}),
17364
- itemForDisplay.type === "tools_list" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17402
+ itemForDisplay.type === "compression" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CompressionMessage, { compression: itemForDisplay.compression }),
17403
+ itemForDisplay.type === "summary" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SummaryMessage, { summary: itemForDisplay.summary }),
17404
+ itemForDisplay.type === "extensions_list" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ExtensionsList, {}),
17405
+ itemForDisplay.type === "tools_list" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17365
17406
  ToolsList,
17366
17407
  {
17367
17408
  contentWidth,
@@ -17369,9 +17410,9 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17369
17410
  showDescriptions: itemForDisplay.showDescriptions
17370
17411
  }
17371
17412
  ),
17372
- itemForDisplay.type === "skills_list" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(SkillsList, { skills: itemForDisplay.skills }),
17373
- itemForDisplay.type === "mcp_status" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(McpStatus, { ...itemForDisplay, serverStatus: getMCPServerStatus }),
17374
- itemForDisplay.type === "context_usage" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17413
+ itemForDisplay.type === "skills_list" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(SkillsList, { skills: itemForDisplay.skills }),
17414
+ itemForDisplay.type === "mcp_status" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(McpStatus, { ...itemForDisplay, serverStatus: getMCPServerStatus }),
17415
+ itemForDisplay.type === "context_usage" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17375
17416
  ContextUsage,
17376
17417
  {
17377
17418
  modelName: itemForDisplay.modelName,
@@ -17386,7 +17427,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17386
17427
  showDetails: itemForDisplay.showDetails
17387
17428
  }
17388
17429
  ),
17389
- itemForDisplay.type === "doctor" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17430
+ itemForDisplay.type === "doctor" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17390
17431
  DoctorReport,
17391
17432
  {
17392
17433
  checks: itemForDisplay.checks,
@@ -17394,8 +17435,8 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17394
17435
  width: boxWidth
17395
17436
  }
17396
17437
  ),
17397
- itemForDisplay.type === "arena_agent_complete" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ArenaAgentCard, { agent: itemForDisplay.agent, width: boxWidth }),
17398
- itemForDisplay.type === "arena_session_complete" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17438
+ itemForDisplay.type === "arena_agent_complete" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ArenaAgentCard, { agent: itemForDisplay.agent, width: boxWidth }),
17439
+ itemForDisplay.type === "arena_session_complete" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17399
17440
  ArenaSessionCard,
17400
17441
  {
17401
17442
  sessionStatus: itemForDisplay.sessionStatus,
@@ -17405,22 +17446,30 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
17405
17446
  width: boxWidth
17406
17447
  }
17407
17448
  ),
17408
- itemForDisplay.type === "insight_progress" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(InsightProgressMessage, { progress: itemForDisplay.progress }),
17409
- itemForDisplay.type === "btw" && itemForDisplay.btw && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(BtwMessage, { btw: itemForDisplay.btw, containerWidth: contentWidth }),
17410
- itemForDisplay.type === "user_prompt_submit_blocked" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.status.warning, children: `\u2715 UserPromptSubmit operation blocked by hook:
17449
+ itemForDisplay.type === "insight_progress" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(InsightProgressMessage, { progress: itemForDisplay.progress }),
17450
+ itemForDisplay.type === "btw" && itemForDisplay.btw && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(BtwMessage, { btw: itemForDisplay.btw, containerWidth: contentWidth }),
17451
+ itemForDisplay.type === "advisor" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17452
+ AdvisorMessage,
17453
+ {
17454
+ text: itemForDisplay.text,
17455
+ model: itemForDisplay.model,
17456
+ containerWidth: contentWidth
17457
+ }
17458
+ ),
17459
+ itemForDisplay.type === "user_prompt_submit_blocked" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.status.warning, children: `\u2715 UserPromptSubmit operation blocked by hook:
17411
17460
  ${itemForDisplay.reason}
17412
17461
 
17413
17462
  Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
17414
- itemForDisplay.type === "stop_hook_loop" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17463
+ itemForDisplay.type === "stop_hook_loop" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17415
17464
  InfoMessage,
17416
17465
  {
17417
17466
  text: `Ran ${itemForDisplay.stopHookCount} stop hooks
17418
17467
  \u23BF Stop hook error: ${itemForDisplay.reasons[itemForDisplay.reasons.length - 1]}`
17419
17468
  }
17420
17469
  ),
17421
- itemForDisplay.type === "stop_hook_system_message" && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "column", children: [
17422
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " \u23BF Stop says:" }),
17423
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { marginLeft: 4, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17470
+ itemForDisplay.type === "stop_hook_system_message" && /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "column", children: [
17471
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.primary, children: " \u23BF Stop says:" }),
17472
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { marginLeft: 4, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17424
17473
  MarkdownDisplay,
17425
17474
  {
17426
17475
  text: itemForDisplay.message,
@@ -17429,9 +17478,9 @@ Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
17429
17478
  }
17430
17479
  ) })
17431
17480
  ] }),
17432
- itemForDisplay.type === "memory_saved" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(MemorySavedMessage, { item: itemForDisplay }),
17433
- itemForDisplay.type === "away_recap" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(AwayRecapMessage, { text: itemForDisplay.text }),
17434
- itemForDisplay.type === "goal_status" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17481
+ itemForDisplay.type === "memory_saved" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(MemorySavedMessage, { item: itemForDisplay }),
17482
+ itemForDisplay.type === "away_recap" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(AwayRecapMessage, { text: itemForDisplay.text }),
17483
+ itemForDisplay.type === "goal_status" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17435
17484
  GoalStatusMessage,
17436
17485
  {
17437
17486
  kind: itemForDisplay.kind,
@@ -17441,7 +17490,7 @@ Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
17441
17490
  lastReason: itemForDisplay.lastReason
17442
17491
  }
17443
17492
  ),
17444
- itemForDisplay.type === "goal_state" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17493
+ itemForDisplay.type === "goal_state" && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17445
17494
  GoalStatusMessage,
17446
17495
  {
17447
17496
  snapshot: itemForDisplay.snapshot,
@@ -17453,11 +17502,11 @@ Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
17453
17502
  itemForDisplay.id
17454
17503
  );
17455
17504
  }, "HistoryItemDisplayComponent");
17456
- var HistoryItemDisplay = (0, import_react44.memo)(HistoryItemDisplayComponent);
17505
+ var HistoryItemDisplay = (0, import_react45.memo)(HistoryItemDisplayComponent);
17457
17506
  HistoryItemDisplay.displayName = "HistoryItemDisplay";
17458
17507
 
17459
17508
  // packages/cli/src/ui/components/SessionPreview.tsx
17460
- var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
17509
+ var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
17461
17510
  function SessionPreview(props) {
17462
17511
  const {
17463
17512
  sessionService,
@@ -17470,9 +17519,9 @@ function SessionPreview(props) {
17470
17519
  onResume
17471
17520
  } = props;
17472
17521
  const { columns } = useTerminalSize();
17473
- const [data, setData] = (0, import_react45.useState)(null);
17474
- const [error, setError] = (0, import_react45.useState)(null);
17475
- (0, import_react45.useEffect)(() => {
17522
+ const [data, setData] = (0, import_react46.useState)(null);
17523
+ const [error, setError] = (0, import_react46.useState)(null);
17524
+ (0, import_react46.useEffect)(() => {
17476
17525
  let cancelled = false;
17477
17526
  setData(null);
17478
17527
  setError(null);
@@ -17491,11 +17540,11 @@ function SessionPreview(props) {
17491
17540
  cancelled = true;
17492
17541
  };
17493
17542
  }, [sessionService, sessionId]);
17494
- const items = (0, import_react45.useMemo)(() => {
17543
+ const items = (0, import_react46.useMemo)(() => {
17495
17544
  if (!data) return [];
17496
17545
  return buildResumedHistoryItems(data, null);
17497
17546
  }, [data]);
17498
- const computedMessageCount = (0, import_react45.useMemo)(() => {
17547
+ const computedMessageCount = (0, import_react46.useMemo)(() => {
17499
17548
  if (!data) return void 0;
17500
17549
  const seen = /* @__PURE__ */ new Set();
17501
17550
  for (const msg of data.conversation.messages) {
@@ -17532,19 +17581,19 @@ function SessionPreview(props) {
17532
17581
  metaParts.push(gitBranch);
17533
17582
  }
17534
17583
  const metaLine = metaParts.join(" \xB7 ");
17535
- const header = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { bold: true, color: theme.text.primary, children: sessionTitle ?? t("Session Preview") }) }, "header");
17536
- const topSeparator = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "top-separator");
17537
- const footerSeparator = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "footer-separator");
17538
- const meta = metaLine ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: metaLine }) }, "meta") : null;
17539
- const footer = /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: t("Enter to resume \xB7 Esc to back") }) }, "footer");
17584
+ const header = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { bold: true, color: theme.text.primary, children: sessionTitle ?? t("Session Preview") }) }, "header");
17585
+ const topSeparator = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "top-separator");
17586
+ const footerSeparator = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "footer-separator");
17587
+ const meta = metaLine ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: metaLine }) }, "meta") : null;
17588
+ const footer = /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Enter to resume \xB7 Esc to back") }) }, "footer");
17540
17589
  if (data && !error) {
17541
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexDirection: "column", width: boxWidth, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17590
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { flexDirection: "column", width: boxWidth, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17542
17591
  Static,
17543
17592
  {
17544
17593
  items: [
17545
17594
  header,
17546
17595
  topSeparator,
17547
- ...items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17596
+ ...items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17548
17597
  HistoryItemDisplay,
17549
17598
  {
17550
17599
  item,
@@ -17563,10 +17612,10 @@ function SessionPreview(props) {
17563
17612
  sessionId
17564
17613
  ) });
17565
17614
  }
17566
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "column", width: boxWidth, children: [
17615
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { flexDirection: "column", width: boxWidth, children: [
17567
17616
  header,
17568
17617
  topSeparator,
17569
- error ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.status.error, children: error }) }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: t("Loading session preview...") }) }),
17618
+ error ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.status.error, children: error }) }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Loading session preview...") }) }),
17570
17619
  footerSeparator,
17571
17620
  meta,
17572
17621
  footer
@@ -17575,7 +17624,7 @@ function SessionPreview(props) {
17575
17624
  __name(SessionPreview, "SessionPreview");
17576
17625
 
17577
17626
  // packages/cli/src/ui/components/SessionPicker.tsx
17578
- var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
17627
+ var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
17579
17628
  var PREFIX_CHARS = {
17580
17629
  selected: "\u203A ",
17581
17630
  scrollUp: "\u2191 ",
@@ -17608,9 +17657,9 @@ function SessionListItemView({
17608
17657
  Math.max(1, maxPromptWidth - checkboxWidth)
17609
17658
  );
17610
17659
  const isAutoTitle = session.titleSource === "auto" && Boolean(session.customTitle);
17611
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { flexDirection: "column", marginBottom: isLast ? 0 : 1, children: [
17612
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { children: [
17613
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17660
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Box_default, { flexDirection: "column", marginBottom: isLast ? 0 : 1, children: [
17661
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Box_default, { children: [
17662
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17614
17663
  Text,
17615
17664
  {
17616
17665
  color: isSelected ? theme.text.accent : showUpIndicator || showDownIndicator ? theme.text.secondary : void 0,
@@ -17618,7 +17667,7 @@ function SessionListItemView({
17618
17667
  children: prefix
17619
17668
  }
17620
17669
  ),
17621
- isChecked !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17670
+ isChecked !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17622
17671
  Text,
17623
17672
  {
17624
17673
  color: isDisabled ? theme.text.secondary : isChecked ? theme.text.accent : isSelected ? theme.text.accent : theme.text.secondary,
@@ -17626,7 +17675,7 @@ function SessionListItemView({
17626
17675
  children: isChecked ? "[x] " : "[ ] "
17627
17676
  }
17628
17677
  ),
17629
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17678
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17630
17679
  Text,
17631
17680
  {
17632
17681
  color: isDisabled ? theme.text.secondary : isSelected ? theme.text.accent : isAutoTitle ? theme.text.secondary : theme.text.primary,
@@ -17635,7 +17684,7 @@ function SessionListItemView({
17635
17684
  }
17636
17685
  )
17637
17686
  ] }),
17638
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { color: theme.text.secondary, children: [
17687
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text, { color: theme.text.secondary, children: [
17639
17688
  timeAgo,
17640
17689
  messageText !== void 0 && ` \xB7 ${messageText}`,
17641
17690
  session.gitBranch && ` \xB7 ${session.gitBranch}`,
@@ -17684,7 +17733,7 @@ function SessionPicker(props) {
17684
17733
  const previewed = picker.filteredSessions.find(
17685
17734
  (s) => s.sessionId === picker.previewSessionId
17686
17735
  );
17687
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17736
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17688
17737
  SessionPreview,
17689
17738
  {
17690
17739
  sessionService,
@@ -17698,14 +17747,14 @@ function SessionPicker(props) {
17698
17747
  }
17699
17748
  );
17700
17749
  }
17701
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17750
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17702
17751
  Box_default,
17703
17752
  {
17704
17753
  flexDirection: "column",
17705
17754
  width: boxWidth,
17706
17755
  height: height - 1,
17707
17756
  overflow: "hidden",
17708
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
17757
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
17709
17758
  Box_default,
17710
17759
  {
17711
17760
  flexDirection: "column",
@@ -17715,38 +17764,38 @@ function SessionPicker(props) {
17715
17764
  height: height - 1,
17716
17765
  overflow: "hidden",
17717
17766
  children: [
17718
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { paddingX: 1, children: [
17719
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { bold: true, color: theme.text.primary, children: title ?? t("Resume Session") }),
17720
- picker.filterByBranch && currentBranch && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { color: theme.text.secondary, children: [
17767
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Box_default, { paddingX: 1, children: [
17768
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { bold: true, color: theme.text.primary, children: title ?? t("Resume Session") }),
17769
+ picker.filterByBranch && currentBranch && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text, { color: theme.text.secondary, children: [
17721
17770
  " ",
17722
17771
  t("(branch: {{branch}})", { branch: currentBranch })
17723
17772
  ] }),
17724
- picker.searchQuery !== "" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { color: theme.text.secondary, children: [
17773
+ picker.searchQuery !== "" && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text, { color: theme.text.secondary, children: [
17725
17774
  " ",
17726
17775
  t("({{count}} matches)", {
17727
17776
  count: String(picker.filteredSessions.length)
17728
17777
  })
17729
17778
  ] })
17730
17779
  ] }),
17731
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingX: 1, children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
17732
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Search: ") }),
17733
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { color: theme.text.primary, children: [
17780
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingX: 1, children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
17781
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Search: ") }),
17782
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text, { color: theme.text.primary, children: [
17734
17783
  picker.searchQuery,
17735
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: "\u258C" })
17784
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: "\u258C" })
17736
17785
  ] })
17737
- ] }) : picker.searchQuery !== "" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
17738
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Filter: ") }),
17739
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.primary, children: picker.searchQuery })
17740
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Press / to search") }) }),
17741
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
17742
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { flexDirection: "column", flexGrow: 1, paddingX: 1, overflow: "hidden", children: !sessionService || picker.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Loading sessions...") }) }) : picker.filteredSessions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: picker.searchQuery !== "" ? t('No sessions match "{{query}}"', {
17786
+ ] }) : picker.searchQuery !== "" ? /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
17787
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Filter: ") }),
17788
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.primary, children: picker.searchQuery })
17789
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Press / to search") }) }),
17790
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
17791
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { flexDirection: "column", flexGrow: 1, paddingX: 1, overflow: "hidden", children: !sessionService || picker.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Loading sessions...") }) }) : picker.filteredSessions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: picker.searchQuery !== "" ? t('No sessions match "{{query}}"', {
17743
17792
  query: picker.searchQuery
17744
17793
  }) : picker.filterByBranch ? t('No sessions found for branch "{{branch}}"', {
17745
17794
  branch: currentBranch ?? ""
17746
17795
  }) : t("No sessions found") }) }) : picker.visibleSessions.map((session, visibleIndex) => {
17747
17796
  const actualIndex = picker.scrollOffset + visibleIndex;
17748
17797
  const isDisabled = picker.disabledIdSet.has(session.sessionId);
17749
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17798
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17750
17799
  SessionListItemView,
17751
17800
  {
17752
17801
  session,
@@ -17765,10 +17814,10 @@ function SessionPicker(props) {
17765
17814
  session.sessionId
17766
17815
  );
17767
17816
  }) }),
17768
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
17769
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { flexDirection: "row", children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Type to search \xB7 Enter to commit \xB7 Esc to clear") }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
17770
- currentBranch && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { color: theme.text.secondary, children: [
17771
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
17817
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
17818
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { flexDirection: "row", children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Type to search \xB7 Enter to commit \xB7 Esc to clear") }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
17819
+ currentBranch && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Text, { color: theme.text.secondary, children: [
17820
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17772
17821
  Text,
17773
17822
  {
17774
17823
  bold: picker.filterByBranch,
@@ -17778,7 +17827,7 @@ function SessionPicker(props) {
17778
17827
  ),
17779
17828
  t(" to toggle branch \xB7 ")
17780
17829
  ] }),
17781
- enablePreview && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("Space to preview \xB7 ") }),
17830
+ enablePreview && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Space to preview \xB7 ") }),
17782
17831
  enableMultiSelect && (() => {
17783
17832
  let committableCheckedCount = 0;
17784
17833
  for (const id of picker.checkedIds) {
@@ -17786,11 +17835,11 @@ function SessionPicker(props) {
17786
17835
  committableCheckedCount++;
17787
17836
  }
17788
17837
  }
17789
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: committableCheckedCount > 0 ? t("Space to toggle \xB7 {{count}} selected \xB7 ", {
17838
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: committableCheckedCount > 0 ? t("Space to toggle \xB7 {{count}} selected \xB7 ", {
17790
17839
  count: String(committableCheckedCount)
17791
17840
  }) : t("Space to select multiple \xB7 ") });
17792
17841
  })(),
17793
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.secondary, children: t("\u2191\u2193 to navigate \xB7 Type to search \xB7 Esc to cancel") })
17842
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("\u2191\u2193 to navigate \xB7 Type to search \xB7 Esc to cancel") })
17794
17843
  ] }) }) })
17795
17844
  ]
17796
17845
  }