@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260717.f8e6e8931

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 (275) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -6
  2. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +53 -17
  5. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  6. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  7. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
  8. package/bundled/qc-helper/docs/qwen-serve.md +53 -46
  9. package/bundled/review/SKILL.md +163 -403
  10. package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-JGTP7YJQ.js} +13 -13
  11. package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-2XQDOYZ5.js} +27 -27
  12. package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-RXRJA7GD.js} +1135 -373
  13. package/chunks/{agent-Z7NWL6XL.js → agent-UQP53UWQ.js} +10 -10
  14. package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-I52OXDCK.js} +10 -10
  15. package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-HBRXJSP4.js} +76 -14
  16. package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
  17. package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
  18. package/chunks/{bridge-XFKW6S7Q.js → bridge-3DVRNBSF.js} +14 -16
  19. package/chunks/{ca-C2JTT2N5.js → ca-CODEN7TD.js} +5 -0
  20. package/chunks/channel-worker-group-SOUWTFHC.js +21 -0
  21. package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-LOVSV3WW.js} +34 -10
  22. package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-XW6MHJBQ.js} +6 -4
  23. package/chunks/{chunk-BBNVFRGD.js → chunk-3DWIFU7L.js} +1 -1
  24. package/chunks/{chunk-ZQTZXVHP.js → chunk-3KSHYS4T.js} +4 -18
  25. package/chunks/{chunk-ZKMGAFYV.js → chunk-3LS57JZI.js} +1 -1
  26. package/chunks/{chunk-B5I2IIWY.js → chunk-46Y6SSQ7.js} +5 -5
  27. package/chunks/{chunk-GDQQRV43.js → chunk-4BJVSIS3.js} +2 -2
  28. package/chunks/{chunk-L37RC7MQ.js → chunk-4HTHLSIH.js} +1 -1
  29. package/chunks/{chunk-DPFBNG72.js → chunk-4UBEB74N.js} +1 -1
  30. package/chunks/{chunk-AAR5SGMD.js → chunk-4YR7FSAM.js} +7 -5
  31. package/chunks/{chunk-OATTJGPJ.js → chunk-5CNYZ7TN.js} +7 -7
  32. package/chunks/{chunk-JSJFKYWT.js → chunk-5VWYKIMW.js} +1 -1
  33. package/chunks/{chunk-6GETGQWP.js → chunk-5WWYHNAH.js} +39 -10
  34. package/chunks/{chunk-65N2J6V2.js → chunk-6ANLV27M.js} +2 -2
  35. package/chunks/{chunk-L62SEJWY.js → chunk-6RV42SFP.js} +4 -4
  36. package/chunks/{chunk-XXJKGHZV.js → chunk-6VMOP2Z7.js} +4 -4
  37. package/chunks/{chunk-URU5UEK6.js → chunk-6WGZDD67.js} +135 -68
  38. package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
  39. package/chunks/chunk-6WVLHULT.js +59 -0
  40. package/chunks/{chunk-N6FXRR6P.js → chunk-7ZFXHKKZ.js} +1 -1
  41. package/chunks/{chunk-E67NFMF4.js → chunk-A2HWMJVO.js} +35 -1
  42. package/chunks/{chunk-4FMG7EDJ.js → chunk-AEKHQ3E5.js} +77 -11
  43. package/chunks/{chunk-WIASPMLX.js → chunk-AH3YAJU6.js} +22 -33
  44. package/chunks/{chunk-6GKMJPOC.js → chunk-AHAH5H6D.js} +3 -3
  45. package/chunks/{chunk-3XJFUTNM.js → chunk-AVAU67KP.js} +57 -10
  46. package/chunks/{chunk-LNUXFLLJ.js → chunk-BDHYJ2MM.js} +53 -5
  47. package/chunks/{chunk-P6LART6G.js → chunk-BTSE2DUP.js} +957 -122
  48. package/chunks/{chunk-7MJAZMXK.js → chunk-BZ5D7OVV.js} +28 -77
  49. package/chunks/{chunk-WDWJ4OQJ.js → chunk-CC2UASQ4.js} +3 -3
  50. package/chunks/{chunk-WLXYAKV7.js → chunk-D7KYA6EY.js} +3 -3
  51. package/chunks/{chunk-5LROA5W4.js → chunk-DD45XVOQ.js} +3 -3
  52. package/chunks/{chunk-H3FQOPPS.js → chunk-DOPUYNXO.js} +2 -2
  53. package/chunks/{chunk-SPUYQB4T.js → chunk-DPXB3XRN.js} +1 -1
  54. package/chunks/{chunk-XLIRF7IK.js → chunk-E7ECGLZW.js} +1 -1
  55. package/chunks/{chunk-RDRVMDWV.js → chunk-EMJJBXS7.js} +10 -10
  56. package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
  57. package/chunks/chunk-FEOZBUMT.js +77 -0
  58. package/chunks/{chunk-YYPXHMWO.js → chunk-FEYHXPZG.js} +4 -4
  59. package/chunks/{chunk-ZRKBI3DP.js → chunk-FNX3LGAK.js} +1 -1
  60. package/chunks/chunk-FXK3QMRD.js +140 -0
  61. package/chunks/{chunk-422XAKCK.js → chunk-G5ZKRK2E.js} +2 -2
  62. package/chunks/{chunk-DK33QJ3V.js → chunk-GCRFH57X.js} +732 -13
  63. package/chunks/{chunk-EQY6POVO.js → chunk-GLEJW7T2.js} +1 -1
  64. package/chunks/{chunk-FXMC7SL2.js → chunk-I6NOSIVF.js} +1 -1
  65. package/chunks/{chunk-VBRRNQB7.js → chunk-IHJRUIWN.js} +109 -22
  66. package/chunks/{chunk-F7NXQH4Y.js → chunk-IIXEI2VE.js} +1 -1
  67. package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
  68. package/chunks/{chunk-5EBKKSBX.js → chunk-JY74T7PW.js} +1 -1
  69. package/chunks/chunk-KSZKSE23.js +226 -0
  70. package/chunks/{chunk-MO7O5722.js → chunk-KW46DBFM.js} +35 -2
  71. package/chunks/{chunk-TISZXPAX.js → chunk-L263ROM6.js} +1 -1
  72. package/chunks/chunk-LXXMOYPL.js +22 -0
  73. package/chunks/{chunk-YX4LLZ3D.js → chunk-NABT4VOY.js} +109 -35
  74. package/chunks/{chunk-W34A5MJH.js → chunk-NROLDLP4.js} +1 -1
  75. package/chunks/{chunk-V7EQTZYR.js → chunk-O3WCEZEN.js} +191 -44
  76. package/chunks/{chunk-K4PZ5F5T.js → chunk-OWT2CAEQ.js} +1 -1
  77. package/chunks/{chunk-4YWLED2A.js → chunk-PNCWEDF6.js} +7 -4
  78. package/chunks/{chunk-WDW64OW3.js → chunk-PSDTLRAV.js} +5 -5
  79. package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
  80. package/chunks/{chunk-K7CRWKOE.js → chunk-R6AO7HBQ.js} +4617 -4012
  81. package/chunks/{chunk-6OATMEYN.js → chunk-RTV5TUYB.js} +12 -4
  82. package/chunks/{chunk-6W6DI34P.js → chunk-SE6GSFAO.js} +159 -2
  83. package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
  84. package/chunks/chunk-T4TZQJ7W.js +48 -0
  85. package/chunks/{chunk-LTNI523B.js → chunk-T7CZYIAU.js} +28 -5
  86. package/chunks/{chunk-3MX7D6QN.js → chunk-TIOE2OPE.js} +32 -4
  87. package/chunks/{chunk-TTUO4DNG.js → chunk-UF6ZTWU5.js} +75 -710
  88. package/chunks/{chunk-Q5GLXH5Q.js → chunk-UJG4VV2O.js} +5 -5
  89. package/chunks/{chunk-CJFNEBYB.js → chunk-VFEZWI6F.js} +1 -1
  90. package/chunks/{chunk-UFOKA4PR.js → chunk-VHCSIMTF.js} +114 -4
  91. package/chunks/{chunk-TQBODCFD.js → chunk-VRR65QYW.js} +250 -2
  92. package/chunks/{chunk-CUUXANEQ.js → chunk-W6J7RSCK.js} +6 -1
  93. package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
  94. package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
  95. package/chunks/{chunk-GGJII3FM.js → chunk-WZJELXEU.js} +92 -3
  96. package/chunks/{chunk-OFEVHGVU.js → chunk-X5HZX4EP.js} +9 -11
  97. package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
  98. package/chunks/{chunk-7L4XBYVW.js → chunk-XK42MWWO.js} +9 -2
  99. package/chunks/{chunk-X362TMXZ.js → chunk-XQDPCQ3A.js} +7 -5
  100. package/chunks/{chunk-YU56QGXX.js → chunk-Y3TNSHKF.js} +1 -1
  101. package/chunks/{chunk-HHEFI4RP.js → chunk-YOJGIRTD.js} +714 -109
  102. package/chunks/{chunk-CEW4HDPK.js → chunk-ZK4AMPKI.js} +2459 -350
  103. package/chunks/{chunk-SXU3KKNI.js → chunk-ZQIYGQCG.js} +251 -54
  104. package/chunks/{computer-use-IYTX45WA.js → computer-use-LTW3VB6L.js} +10 -10
  105. package/chunks/{config-utils-CFT33LTP.js → config-utils-IQQT3GCI.js} +3 -3
  106. package/chunks/{contextCommand-272V77WU.js → contextCommand-GLMC6CTP.js} +12 -12
  107. package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
  108. package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-YMWQAWSN.js} +10 -10
  109. package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
  110. package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
  111. package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
  112. package/chunks/{daemon-RNGFPMAB.js → daemon-PRB64RP5.js} +303 -71
  113. package/chunks/{daemon-status-provider-L4STG5VO.js → daemon-status-provider-5OMM5JHF.js} +19 -20
  114. package/chunks/{de-2VCDRDGU.js → de-NOXPCSYN.js} +5 -0
  115. package/chunks/{dist-ERCPDVA6.js → dist-4WCQEZIN.js} +4 -51
  116. package/chunks/{dist-MOEC47TR.js → dist-DOPL5LSQ.js} +1 -1
  117. package/chunks/{dist-JZE7F6YR.js → dist-GXJVCOS7.js} +1 -1
  118. package/chunks/{dist-PHEPJLXD.js → dist-PX2ERZ6I.js} +2 -2
  119. package/chunks/{dist-HNN7DR2L.js → dist-V2YVLYOW.js} +58 -30
  120. package/chunks/{dist-3V3ZV6ML.js → dist-VYWUKURL.js} +1 -1
  121. package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-A3WSRN4T.js} +10 -10
  122. package/chunks/{edit-OMAF2QDR.js → edit-7PG4AH27.js} +10 -10
  123. package/chunks/{en-NJCA3TAA.js → en-JFVULHTB.js} +6 -0
  124. package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-QUSB44RE.js} +10 -10
  125. package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-NVSIEL7X.js} +10 -10
  126. package/chunks/{environment-7TEWMJYN.js → environment-AHHXHQTI.js} +12 -12
  127. package/chunks/{errors-I4VKVX3F.js → errors-NSWSRXC7.js} +12 -12
  128. package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-FXYEYHPL.js} +10 -10
  129. package/chunks/{exitPlanMode-IHCJ5EEI.js → exitPlanMode-JI5GK3F6.js} +10 -10
  130. package/chunks/{fast-path-ZA57TOH4.js → fast-path-X7EVDLKZ.js} +2 -2
  131. package/chunks/{fr-5F3E7WKD.js → fr-HVFNU42H.js} +5 -0
  132. package/chunks/{gemini-UOAKVXBG.js → gemini-YRLHY5KS.js} +162 -206
  133. package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-SPLFPV5E.js} +1 -1
  134. package/chunks/{glob-4GJQ2UFF.js → glob-WASUBCSA.js} +10 -10
  135. package/chunks/{grep-5QSYXF2E.js → grep-DUVG3NGA.js} +10 -10
  136. package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-NGE5AQ2N.js} +14 -14
  137. package/chunks/{i18n-CYDUTF6F.js → i18n-QNVR36NB.js} +11 -11
  138. package/chunks/{initializer-NRFKUGIO.js → initializer-ZY7ORPMH.js} +15 -15
  139. package/chunks/{installationInfo-WELKRHHE.js → installationInfo-4R75MFTB.js} +11 -11
  140. package/chunks/{ja-66J6B53L.js → ja-PY5AF544.js} +5 -0
  141. package/chunks/{list-JVDXEG2E.js → list-36JCMZRS.js} +18 -18
  142. package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-PQIOJUSJ.js} +15 -15
  143. package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-QXWZSCYM.js} +2 -2
  144. package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
  145. package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
  146. package/chunks/{mcp-YHOZN3ZM.js → mcp-QXY6XA6H.js} +15 -15
  147. package/chunks/{monitor-R7XZPJHQ.js → monitor-AVEKRSY3.js} +12 -11
  148. package/chunks/{nonInteractiveCli-NSOB6D74.js → nonInteractiveCli-YWIBKX4M.js} +50 -50
  149. package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-4SBTJX72.js} +10 -10
  150. package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-4EBAO7LR.js} +8 -8
  151. package/chunks/{pidfile-XE4RRR2P.js → pidfile-JMIUPXSU.js} +10 -10
  152. package/chunks/processUtils-EOINMEIH.js +29 -0
  153. package/chunks/{pt-TFZO5Y6T.js → pt-A3PRQXMU.js} +5 -0
  154. package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-M7UBL3JS.js} +12 -12
  155. package/chunks/{read-file-XSUWXSR7.js → read-file-DXSEFHCV.js} +5 -5
  156. package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
  157. package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
  158. package/chunks/{ripGrep-APB3CDMU.js → ripGrep-VTRVFMDJ.js} +10 -10
  159. package/chunks/{ru-4L4LFHIT.js → ru-IBCWUTOC.js} +5 -0
  160. package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-P7WQDZAS.js} +59 -38
  161. package/chunks/{runtime-EIO3NQKR.js → runtime-UHYO6JGN.js} +19 -19
  162. package/chunks/{scheduler-JJDZBDRN.js → scheduler-WTK7ZLV5.js} +10 -10
  163. package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
  164. package/chunks/{serve-WTIPB3EI.js → serve-AG2AOG56.js} +15 -15
  165. package/chunks/{server-NJPHQHLH.js → server-G5MM2BRI.js} +1157 -225
  166. package/chunks/{session-O4AO7FTS.js → session-NUAGEMVS.js} +51 -51
  167. package/chunks/{settings-HQNDK7TG.js → settings-VQA5PR2M.js} +14 -14
  168. package/chunks/{shell-UIXM6PWG.js → shell-X33RWGLP.js} +12 -10
  169. package/chunks/{skill-3XMB4ULV.js → skill-PHSU2OPP.js} +5 -5
  170. package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-D6TZN4W7.js} +12 -13
  171. package/chunks/{src-USZKPUOC.js → src-6OJFUPTL.js} +95 -34
  172. package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-ZARRW44Y.js} +12 -12
  173. package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-C6IZRTF3.js} +176 -158
  174. package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
  175. package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
  176. package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
  177. package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
  178. package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
  179. package/chunks/{team-create-XXPRF3IQ.js → team-create-H434NQP2.js} +10 -10
  180. package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
  181. package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-IIOHXZU6.js} +10 -10
  182. package/chunks/{theme-manager-P6UITO2L.js → theme-manager-IEOPHMX6.js} +10 -10
  183. package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
  184. package/chunks/{tool-search-DDNGK2LR.js → tool-search-WIIEDALL.js} +6 -6
  185. package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-WU3DORRW.js} +15 -17
  186. package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-JVUTUAJ3.js} +11 -11
  187. package/chunks/update-relaunch-X5EQKCH5.js +87 -0
  188. package/chunks/{updateCheck-QTVVISH7.js → updateCheck-TGO2X735.js} +14 -12
  189. package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-2MEUL2ME.js} +46 -46
  190. package/chunks/{version-U45RYOSD.js → version-KBGQKZWV.js} +1 -1
  191. package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-CFCWTCAP.js} +2 -3
  192. package/chunks/{workflow-TCIAQYOA.js → workflow-PAOSF4CG.js} +11 -11
  193. package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-AYHJYSVO.js} +18 -18
  194. package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-GZMR53QL.js} +1 -1
  195. package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-C2IXZWPF.js} +15 -17
  196. package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-KDDAW33F.js} +20 -21
  197. package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-WWEZBZXY.js} +16 -16
  198. package/chunks/{write-file-JGRQR5VM.js → write-file-ACN3TAIX.js} +10 -10
  199. package/chunks/{zh-FSAH32JB.js → zh-PAUNIMHQ.js} +6 -0
  200. package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-GNEUIUFF.js} +6 -0
  201. package/cli-entry.js +92 -8
  202. package/cli.js +11 -11
  203. package/locales/ca.js +10 -0
  204. package/locales/de.js +10 -0
  205. package/locales/en.js +11 -0
  206. package/locales/fr.js +10 -0
  207. package/locales/ja.js +10 -0
  208. package/locales/pt.js +10 -0
  209. package/locales/ru.js +10 -0
  210. package/locales/zh-TW.js +11 -0
  211. package/locales/zh.js +11 -0
  212. package/package.json +3 -3
  213. package/web-shell/assets/{arc-CUeDlxvE.js → arc-Blc5_CnD.js} +1 -1
  214. package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-Dyv1BvGP.js} +1 -1
  215. package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-CVAb8DyB.js} +1 -1
  216. package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-ClHPb_6S.js} +1 -1
  217. package/web-shell/assets/channel-DkPTtnGS.js +1 -0
  218. package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-Dad9g3ZA.js} +1 -1
  219. package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-IJJSSdDs.js} +1 -1
  220. package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-DRcc-Hl9.js} +1 -1
  221. package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-DOCFB-6a.js} +1 -1
  222. package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-CRZnSjHp.js} +1 -1
  223. package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-BwUI4Yes.js} +1 -1
  224. package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DLy8doxd.js} +1 -1
  225. package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-Bhz7iysj.js} +1 -1
  226. package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +1 -0
  227. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +1 -0
  228. package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-jT1e8KzN.js} +1 -1
  229. package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-C1veApQk.js} +1 -1
  230. package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-C_NOwKeT.js} +1 -1
  231. package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-Bigfuz1r.js} +1 -1
  232. package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-CpXltPpU.js} +1 -1
  233. package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DYawbYbH.js} +1 -1
  234. package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-D2t-ttd1.js} +1 -1
  235. package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-Buc53PB5.js} +1 -1
  236. package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-DwdFsCN7.js} +1 -1
  237. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-XhiEKGoP.js} +1 -1
  238. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-D6We014a.js} +1 -1
  239. package/web-shell/assets/index-BctAmeF3.js +1143 -0
  240. package/web-shell/assets/{index-DzHwQkQq.js → index-CAWqS-bZ.js} +1 -1
  241. package/web-shell/assets/index-DLyhlZZO.css +5 -0
  242. package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-C_iugRHQ.js} +1 -1
  243. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-CAn9Kaix.js} +1 -1
  244. package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-BjDYOkEB.js} +1 -1
  245. package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-Br_oI3Ob.js} +1 -1
  246. package/web-shell/assets/{linear-atZRE_L2.js → linear-BqnWHE9E.js} +1 -1
  247. package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-CT-sofSb.js} +5 -5
  248. package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-BbvrZR4B.js} +1 -1
  249. package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-gAwi3h_Q.js} +1 -1
  250. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CONvBIuO.js} +1 -1
  251. package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-lpkrcy1e.js} +1 -1
  252. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Bk6FJHqb.js} +1 -1
  253. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-B9b9bBzt.js} +1 -1
  254. package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-JqBGC-S3.js} +1 -1
  255. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +1 -0
  256. package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-CCCceXDP.js} +1 -1
  257. package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-EHRnmZ09.js} +1 -1
  258. package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-CYIcHx3_.js} +1 -1
  259. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-B81AuYRl.js} +1 -1
  260. package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-DOQ6E3z7.js} +1 -1
  261. package/web-shell/index.html +2 -2
  262. package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
  263. package/chunks/chunk-B7NUUEXC.js +0 -311
  264. package/chunks/chunk-CARU2RR2.js +0 -24
  265. package/chunks/chunk-GYTKQYDB.js +0 -23
  266. package/chunks/chunk-LQU7EVFA.js +0 -30
  267. package/chunks/chunk-OCPBI7J5.js +0 -18
  268. package/chunks/chunk-OJAMDVF5.js +0 -66
  269. package/chunks/chunk-TEGEBB2I.js +0 -122
  270. package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
  271. package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
  272. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
  273. package/web-shell/assets/index-Cnvv4VcI.css +0 -5
  274. package/web-shell/assets/index-D1Uyklxa.js +0 -1088
  275. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
@@ -1,12 +1,5 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- relaunchApp
5
- } from "./chunk-LQU7EVFA.js";
6
- import {
7
- MINIMUM_MAX_HEIGHT,
8
- MaxSizedBox
9
- } from "./chunk-H3FQOPPS.js";
10
3
  import {
11
4
  CODE_FENCE_RE,
12
5
  TABLE_MAX_ROW_LINES,
@@ -20,16 +13,17 @@ import {
20
13
  getCommandSubcommandNames,
21
14
  splitMarkdownTableRow,
22
15
  useSessionStats
23
- } from "./chunk-XXJKGHZV.js";
16
+ } from "./chunk-6VMOP2Z7.js";
24
17
  import {
25
18
  Colors,
26
19
  RowMouseController,
27
20
  SettingsContext,
21
+ layoutRowForEvent,
28
22
  measureElementPosition,
29
23
  useMouseEvents,
30
24
  useSettings,
31
25
  useTerminalSize
32
- } from "./chunk-422XAKCK.js";
26
+ } from "./chunk-G5ZKRK2E.js";
33
27
  import {
34
28
  CompactToolGroupDisplay,
35
29
  SCREEN_READER_MODEL_PREFIX,
@@ -47,12 +41,18 @@ import {
47
41
  calculateErrorRate,
48
42
  computeDiffColumnWidths,
49
43
  computeSessionStats,
44
+ estimateCompactToolGroupHeight,
50
45
  getSystemInfoFields,
51
46
  isCollapsibleTool,
52
47
  levelLabel,
53
48
  useKeypress,
49
+ wrapAnsi,
54
50
  wrapForMultiplexer
55
- } from "./chunk-DK33QJ3V.js";
51
+ } from "./chunk-GCRFH57X.js";
52
+ import {
53
+ MINIMUM_MAX_HEIGHT,
54
+ MaxSizedBox
55
+ } from "./chunk-DOPUYNXO.js";
56
56
  import {
57
57
  Box_default,
58
58
  Static,
@@ -62,7 +62,10 @@ import {
62
62
  theme,
63
63
  use_is_screen_reader_enabled_default,
64
64
  use_stdin_default
65
- } from "./chunk-K4PZ5F5T.js";
65
+ } from "./chunk-OWT2CAEQ.js";
66
+ import {
67
+ relaunchApp
68
+ } from "./chunk-6WVLHULT.js";
66
69
  import {
67
70
  isTerminalGoalStatusKind
68
71
  } from "./chunk-7X7TEQNX.js";
@@ -85,10 +88,7 @@ import {
85
88
  stripUnsafeCharacters,
86
89
  toCodePoints,
87
90
  wrapToVisualLines
88
- } from "./chunk-WTSXKLG5.js";
89
- import {
90
- eastAsianWidth
91
- } from "./chunk-QHTIBUWB.js";
91
+ } from "./chunk-SUARMD4Q.js";
92
92
  import {
93
93
  formatDuration,
94
94
  formatMemoryUsage,
@@ -101,18 +101,18 @@ import {
101
101
  } from "./chunk-57OAHC2Y.js";
102
102
  import {
103
103
  createLoadedSettingsAdapter
104
- } from "./chunk-W34A5MJH.js";
104
+ } from "./chunk-NROLDLP4.js";
105
105
  import {
106
106
  getPersistScopeForModelSelection
107
- } from "./chunk-6GETGQWP.js";
107
+ } from "./chunk-5WWYHNAH.js";
108
108
  import {
109
109
  getCurrentLanguage,
110
110
  localizeToolDisplayName,
111
111
  t
112
- } from "./chunk-RDRVMDWV.js";
112
+ } from "./chunk-EMJJBXS7.js";
113
113
  import {
114
114
  isWorkspaceTrusted
115
- } from "./chunk-4YWLED2A.js";
115
+ } from "./chunk-PNCWEDF6.js";
116
116
  import {
117
117
  ALL_PROVIDERS,
118
118
  IdeClient,
@@ -131,18 +131,22 @@ import {
131
131
  isValidEditorType,
132
132
  resolveBaseUrl,
133
133
  resolveMetadataKey,
134
- resolveOwnsModel,
134
+ resolveOwnsModel
135
+ } from "./chunk-R6AO7HBQ.js";
136
+ import {
135
137
  stripAnsi
136
- } from "./chunk-K7CRWKOE.js";
138
+ } from "./chunk-T4TZQJ7W.js";
137
139
  import {
138
140
  MAIN_SOURCE,
139
- getMCPServerStatus
140
- } from "./chunk-P6LART6G.js";
141
+ formatVisionBridgeNoticeDisplay,
142
+ getMCPServerStatus,
143
+ isVisionBridgeNoticeDisplay
144
+ } from "./chunk-BTSE2DUP.js";
141
145
  import {
142
146
  ToolDisplayNames,
143
147
  ToolNames,
144
148
  ToolNamesMigration
145
- } from "./chunk-2UUAIFQO.js";
149
+ } from "./chunk-JGUT3LWZ.js";
146
150
  import {
147
151
  createDebugLogger,
148
152
  escapePath,
@@ -2534,679 +2538,6 @@ __name(colorizeCode, "colorizeCode");
2534
2538
  // packages/cli/src/ui/utils/TableRenderer.tsx
2535
2539
  init_esbuild_shims();
2536
2540
 
2537
- // packages/cli/node_modules/wrap-ansi/index.js
2538
- init_esbuild_shims();
2539
-
2540
- // packages/cli/node_modules/wrap-ansi/node_modules/string-width/index.js
2541
- init_esbuild_shims();
2542
- var segmenter = new Intl.Segmenter();
2543
- var zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$", "v");
2544
- var leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+", "v");
2545
- var rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
2546
- var unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
2547
- var extendedPictographicRegex = new RegExp("\\p{Extended_Pictographic}", "gu");
2548
- function isDoubleWidthNonRgiEmojiSequence(segment) {
2549
- if (segment.length > 50) {
2550
- return false;
2551
- }
2552
- if (unqualifiedKeycapRegex.test(segment)) {
2553
- return true;
2554
- }
2555
- if (segment.includes("\u200D")) {
2556
- const pictographics = segment.match(extendedPictographicRegex);
2557
- return pictographics !== null && pictographics.length >= 2;
2558
- }
2559
- return false;
2560
- }
2561
- __name(isDoubleWidthNonRgiEmojiSequence, "isDoubleWidthNonRgiEmojiSequence");
2562
- function baseVisible(segment) {
2563
- return segment.replace(leadingNonPrintingRegex, "");
2564
- }
2565
- __name(baseVisible, "baseVisible");
2566
- function isZeroWidthCluster(segment) {
2567
- return zeroWidthClusterRegex.test(segment);
2568
- }
2569
- __name(isZeroWidthCluster, "isZeroWidthCluster");
2570
- function isHangulLeadingJamo(codePoint) {
2571
- return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
2572
- }
2573
- __name(isHangulLeadingJamo, "isHangulLeadingJamo");
2574
- function isHangulVowelJamo(codePoint) {
2575
- return codePoint >= 4448 && codePoint <= 4519 || codePoint >= 55216 && codePoint <= 55238;
2576
- }
2577
- __name(isHangulVowelJamo, "isHangulVowelJamo");
2578
- function isHangulTrailingJamo(codePoint) {
2579
- return codePoint >= 4520 && codePoint <= 4607 || codePoint >= 55243 && codePoint <= 55291;
2580
- }
2581
- __name(isHangulTrailingJamo, "isHangulTrailingJamo");
2582
- function isHangulJamo(codePoint) {
2583
- return isHangulLeadingJamo(codePoint) || isHangulVowelJamo(codePoint) || isHangulTrailingJamo(codePoint);
2584
- }
2585
- __name(isHangulJamo, "isHangulJamo");
2586
- function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
2587
- const codePoints = [];
2588
- for (const character of visibleSegment) {
2589
- if (zeroWidthClusterRegex.test(character)) {
2590
- continue;
2591
- }
2592
- codePoints.push(character.codePointAt(0));
2593
- }
2594
- if (codePoints.length === 0) {
2595
- return void 0;
2596
- }
2597
- let width = 0;
2598
- for (let index = 0; index < codePoints.length; index++) {
2599
- const codePoint = codePoints[index];
2600
- if (!isHangulJamo(codePoint)) {
2601
- if (width === 0) {
2602
- return void 0;
2603
- }
2604
- for (let remaining = index; remaining < codePoints.length; remaining++) {
2605
- width += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);
2606
- }
2607
- return width;
2608
- }
2609
- if (isHangulLeadingJamo(codePoint) && isHangulVowelJamo(codePoints[index + 1])) {
2610
- width += 2;
2611
- index += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;
2612
- continue;
2613
- }
2614
- width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2615
- }
2616
- return width;
2617
- }
2618
- __name(hangulClusterWidth, "hangulClusterWidth");
2619
- function trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions) {
2620
- let extra = 0;
2621
- let first = true;
2622
- for (const character of visibleSegment) {
2623
- if (first) {
2624
- first = false;
2625
- continue;
2626
- }
2627
- if (character >= "\uFF00" && character <= "\uFFEF") {
2628
- extra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);
2629
- }
2630
- }
2631
- return extra;
2632
- }
2633
- __name(trailingHalfwidthWidth, "trailingHalfwidthWidth");
2634
- function stringWidth2(input, options = {}) {
2635
- if (typeof input !== "string" || input.length === 0) {
2636
- return 0;
2637
- }
2638
- const {
2639
- ambiguousIsNarrow = true,
2640
- countAnsiEscapeCodes = false
2641
- } = options;
2642
- let string = input;
2643
- if (!countAnsiEscapeCodes && (string.includes("\x1B") || string.includes("\x9B"))) {
2644
- string = stripAnsi(string);
2645
- }
2646
- if (string.length === 0) {
2647
- return 0;
2648
- }
2649
- if (/^[\u0020-\u007E]*$/.test(string)) {
2650
- return string.length;
2651
- }
2652
- let width = 0;
2653
- const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
2654
- for (const { segment } of segmenter.segment(string)) {
2655
- if (isZeroWidthCluster(segment)) {
2656
- continue;
2657
- }
2658
- if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
2659
- width += 2;
2660
- continue;
2661
- }
2662
- const visibleSegment = baseVisible(segment);
2663
- const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
2664
- if (hangulWidth !== void 0) {
2665
- width += hangulWidth;
2666
- continue;
2667
- }
2668
- const codePoint = visibleSegment.codePointAt(0);
2669
- width += eastAsianWidth(codePoint, eastAsianWidthOptions);
2670
- width += trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions);
2671
- }
2672
- return width;
2673
- }
2674
- __name(stringWidth2, "stringWidth");
2675
-
2676
- // packages/cli/node_modules/ansi-styles/index.js
2677
- init_esbuild_shims();
2678
- var ANSI_BACKGROUND_OFFSET = 10;
2679
- var wrapAnsi16 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${code + offset}m`, "wrapAnsi16");
2680
- var wrapAnsi256 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, "wrapAnsi256");
2681
- var wrapAnsi16m = /* @__PURE__ */ __name((offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, "wrapAnsi16m");
2682
- var styles = {
2683
- modifier: {
2684
- reset: [0, 0],
2685
- // 21 isn't widely supported and 22 does the same thing
2686
- bold: [1, 22],
2687
- dim: [2, 22],
2688
- italic: [3, 23],
2689
- underline: [4, 24],
2690
- overline: [53, 55],
2691
- inverse: [7, 27],
2692
- hidden: [8, 28],
2693
- strikethrough: [9, 29]
2694
- },
2695
- color: {
2696
- black: [30, 39],
2697
- red: [31, 39],
2698
- green: [32, 39],
2699
- yellow: [33, 39],
2700
- blue: [34, 39],
2701
- magenta: [35, 39],
2702
- cyan: [36, 39],
2703
- white: [37, 39],
2704
- // Bright color
2705
- blackBright: [90, 39],
2706
- gray: [90, 39],
2707
- // Alias of `blackBright`
2708
- grey: [90, 39],
2709
- // Alias of `blackBright`
2710
- redBright: [91, 39],
2711
- greenBright: [92, 39],
2712
- yellowBright: [93, 39],
2713
- blueBright: [94, 39],
2714
- magentaBright: [95, 39],
2715
- cyanBright: [96, 39],
2716
- whiteBright: [97, 39]
2717
- },
2718
- bgColor: {
2719
- bgBlack: [40, 49],
2720
- bgRed: [41, 49],
2721
- bgGreen: [42, 49],
2722
- bgYellow: [43, 49],
2723
- bgBlue: [44, 49],
2724
- bgMagenta: [45, 49],
2725
- bgCyan: [46, 49],
2726
- bgWhite: [47, 49],
2727
- // Bright color
2728
- bgBlackBright: [100, 49],
2729
- bgGray: [100, 49],
2730
- // Alias of `bgBlackBright`
2731
- bgGrey: [100, 49],
2732
- // Alias of `bgBlackBright`
2733
- bgRedBright: [101, 49],
2734
- bgGreenBright: [102, 49],
2735
- bgYellowBright: [103, 49],
2736
- bgBlueBright: [104, 49],
2737
- bgMagentaBright: [105, 49],
2738
- bgCyanBright: [106, 49],
2739
- bgWhiteBright: [107, 49]
2740
- }
2741
- };
2742
- var modifierNames = Object.keys(styles.modifier);
2743
- var foregroundColorNames = Object.keys(styles.color);
2744
- var backgroundColorNames = Object.keys(styles.bgColor);
2745
- var colorNames = [...foregroundColorNames, ...backgroundColorNames];
2746
- function assembleStyles() {
2747
- const codes = /* @__PURE__ */ new Map();
2748
- for (const [groupName, group] of Object.entries(styles)) {
2749
- for (const [styleName, style] of Object.entries(group)) {
2750
- styles[styleName] = {
2751
- open: `\x1B[${style[0]}m`,
2752
- close: `\x1B[${style[1]}m`
2753
- };
2754
- group[styleName] = styles[styleName];
2755
- codes.set(style[0], style[1]);
2756
- }
2757
- Object.defineProperty(styles, groupName, {
2758
- value: group,
2759
- enumerable: false
2760
- });
2761
- }
2762
- Object.defineProperty(styles, "codes", {
2763
- value: codes,
2764
- enumerable: false
2765
- });
2766
- styles.color.close = "\x1B[39m";
2767
- styles.bgColor.close = "\x1B[49m";
2768
- styles.color.ansi = wrapAnsi16();
2769
- styles.color.ansi256 = wrapAnsi256();
2770
- styles.color.ansi16m = wrapAnsi16m();
2771
- styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
2772
- styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
2773
- styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
2774
- Object.defineProperties(styles, {
2775
- rgbToAnsi256: {
2776
- value(red, green, blue) {
2777
- if (red === green && green === blue) {
2778
- if (red < 8) {
2779
- return 16;
2780
- }
2781
- if (red > 248) {
2782
- return 231;
2783
- }
2784
- return Math.round((red - 8) / 247 * 24) + 232;
2785
- }
2786
- return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
2787
- },
2788
- enumerable: false
2789
- },
2790
- hexToRgb: {
2791
- value(hex) {
2792
- const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
2793
- if (!matches) {
2794
- return [0, 0, 0];
2795
- }
2796
- let [colorString] = matches;
2797
- if (colorString.length === 3) {
2798
- colorString = [...colorString].map((character) => character + character).join("");
2799
- }
2800
- const integer = Number.parseInt(colorString, 16);
2801
- return [
2802
- /* eslint-disable no-bitwise */
2803
- integer >> 16 & 255,
2804
- integer >> 8 & 255,
2805
- integer & 255
2806
- /* eslint-enable no-bitwise */
2807
- ];
2808
- },
2809
- enumerable: false
2810
- },
2811
- hexToAnsi256: {
2812
- value: /* @__PURE__ */ __name((hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)), "value"),
2813
- enumerable: false
2814
- },
2815
- ansi256ToAnsi: {
2816
- value(code) {
2817
- if (code < 8) {
2818
- return 30 + code;
2819
- }
2820
- if (code < 16) {
2821
- return 90 + (code - 8);
2822
- }
2823
- let red;
2824
- let green;
2825
- let blue;
2826
- if (code >= 232) {
2827
- red = ((code - 232) * 10 + 8) / 255;
2828
- green = red;
2829
- blue = red;
2830
- } else {
2831
- code -= 16;
2832
- const remainder = code % 36;
2833
- red = Math.floor(code / 36) / 5;
2834
- green = Math.floor(remainder / 6) / 5;
2835
- blue = remainder % 6 / 5;
2836
- }
2837
- const value = Math.max(red, green, blue) * 2;
2838
- if (value === 0) {
2839
- return 30;
2840
- }
2841
- let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
2842
- if (value === 2) {
2843
- result += 60;
2844
- }
2845
- return result;
2846
- },
2847
- enumerable: false
2848
- },
2849
- rgbToAnsi: {
2850
- value: /* @__PURE__ */ __name((red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)), "value"),
2851
- enumerable: false
2852
- },
2853
- hexToAnsi: {
2854
- value: /* @__PURE__ */ __name((hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)), "value"),
2855
- enumerable: false
2856
- }
2857
- });
2858
- return styles;
2859
- }
2860
- __name(assembleStyles, "assembleStyles");
2861
- var ansiStyles = assembleStyles();
2862
- var ansi_styles_default = ansiStyles;
2863
-
2864
- // packages/cli/node_modules/wrap-ansi/index.js
2865
- var ANSI_ESCAPE = "\x1B";
2866
- var ANSI_ESCAPE_CSI = "\x9B";
2867
- var ESCAPES = /* @__PURE__ */ new Set([
2868
- ANSI_ESCAPE,
2869
- ANSI_ESCAPE_CSI
2870
- ]);
2871
- var ANSI_ESCAPE_BELL = "\x07";
2872
- var ANSI_CSI = "[";
2873
- var ANSI_OSC = "]";
2874
- var ANSI_SGR_TERMINATOR = "m";
2875
- var ANSI_SGR_RESET = 0;
2876
- var ANSI_SGR_RESET_FOREGROUND = 39;
2877
- var ANSI_SGR_RESET_BACKGROUND = 49;
2878
- var ANSI_SGR_RESET_UNDERLINE_COLOR = 59;
2879
- var ANSI_SGR_FOREGROUND_EXTENDED = 38;
2880
- var ANSI_SGR_BACKGROUND_EXTENDED = 48;
2881
- var ANSI_SGR_UNDERLINE_COLOR_EXTENDED = 58;
2882
- var ANSI_SGR_COLOR_MODE_256 = 5;
2883
- var ANSI_SGR_COLOR_MODE_RGB = 2;
2884
- var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
2885
- var ANSI_ESCAPE_REGEX = new RegExp(`^\\u001B(?:\\${ANSI_CSI}(?<sgr>[0-9;]*)${ANSI_SGR_TERMINATOR}|${ANSI_ESCAPE_LINK}(?<uri>[^\\u0007\\u001B]*)(?:\\u0007|\\u001B\\\\))`);
2886
- var ANSI_ESCAPE_CSI_REGEX = new RegExp(`^\\u009B(?<sgr>[0-9;]*)${ANSI_SGR_TERMINATOR}`);
2887
- var ANSI_SGR_MODIFIER_CLOSE_CODES = new Set(ansi_styles_default.codes.values());
2888
- ANSI_SGR_MODIFIER_CLOSE_CODES.delete(ANSI_SGR_RESET);
2889
- var segmenter2 = new Intl.Segmenter();
2890
- var getGraphemes = /* @__PURE__ */ __name((string) => Array.from(segmenter2.segment(string), ({ segment }) => segment), "getGraphemes");
2891
- var TAB_SIZE = 8;
2892
- var wrapAnsiCode = /* @__PURE__ */ __name((code) => `${ANSI_ESCAPE}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`, "wrapAnsiCode");
2893
- var wrapAnsiHyperlink = /* @__PURE__ */ __name((url) => `${ANSI_ESCAPE}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`, "wrapAnsiHyperlink");
2894
- var getSgrTokens = /* @__PURE__ */ __name((sgrParameters) => {
2895
- const codes = sgrParameters.split(";").map((sgrParameter) => sgrParameter === "" ? ANSI_SGR_RESET : Number.parseInt(sgrParameter, 10));
2896
- const sgrTokens = [];
2897
- for (let index = 0; index < codes.length; index++) {
2898
- const code = codes[index];
2899
- if (!Number.isFinite(code)) {
2900
- continue;
2901
- }
2902
- if (code === ANSI_SGR_FOREGROUND_EXTENDED || code === ANSI_SGR_BACKGROUND_EXTENDED || code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED) {
2903
- if (index + 1 >= codes.length) {
2904
- break;
2905
- }
2906
- const mode = codes[index + 1];
2907
- if (mode === ANSI_SGR_COLOR_MODE_256 && Number.isFinite(codes[index + 2])) {
2908
- sgrTokens.push([code, mode, codes[index + 2]]);
2909
- index += 2;
2910
- continue;
2911
- }
2912
- const red = codes[index + 2];
2913
- const green = codes[index + 3];
2914
- const blue = codes[index + 4];
2915
- if (mode === ANSI_SGR_COLOR_MODE_RGB && Number.isFinite(red) && Number.isFinite(green) && Number.isFinite(blue)) {
2916
- sgrTokens.push([code, mode, red, green, blue]);
2917
- index += 4;
2918
- continue;
2919
- }
2920
- break;
2921
- }
2922
- sgrTokens.push([code]);
2923
- }
2924
- return sgrTokens;
2925
- }, "getSgrTokens");
2926
- var removeActiveStyle = /* @__PURE__ */ __name((activeStyles, family) => {
2927
- const activeStyleIndex = activeStyles.findIndex((activeStyle) => activeStyle.family === family);
2928
- if (activeStyleIndex !== -1) {
2929
- activeStyles.splice(activeStyleIndex, 1);
2930
- }
2931
- }, "removeActiveStyle");
2932
- var upsertActiveStyle = /* @__PURE__ */ __name((activeStyles, nextActiveStyle) => {
2933
- removeActiveStyle(activeStyles, nextActiveStyle.family);
2934
- activeStyles.push(nextActiveStyle);
2935
- }, "upsertActiveStyle");
2936
- var removeModifierStylesByClose = /* @__PURE__ */ __name((activeStyles, closeCode) => {
2937
- for (let index = activeStyles.length - 1; index >= 0; index--) {
2938
- const activeStyle = activeStyles[index];
2939
- if (activeStyle.family.startsWith("modifier-") && activeStyle.close === closeCode) {
2940
- activeStyles.splice(index, 1);
2941
- }
2942
- }
2943
- }, "removeModifierStylesByClose");
2944
- var getColorStyle = /* @__PURE__ */ __name((code, sgrToken) => {
2945
- if (code >= 30 && code <= 37 || code >= 90 && code <= 97 || code === ANSI_SGR_FOREGROUND_EXTENDED && sgrToken.length > 1) {
2946
- return {
2947
- family: "foreground",
2948
- open: sgrToken.join(";"),
2949
- close: ANSI_SGR_RESET_FOREGROUND
2950
- };
2951
- }
2952
- if (code >= 40 && code <= 47 || code >= 100 && code <= 107 || code === ANSI_SGR_BACKGROUND_EXTENDED && sgrToken.length > 1) {
2953
- return {
2954
- family: "background",
2955
- open: sgrToken.join(";"),
2956
- close: ANSI_SGR_RESET_BACKGROUND
2957
- };
2958
- }
2959
- if (code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED && sgrToken.length > 1) {
2960
- return {
2961
- family: "underlineColor",
2962
- open: sgrToken.join(";"),
2963
- close: ANSI_SGR_RESET_UNDERLINE_COLOR
2964
- };
2965
- }
2966
- }, "getColorStyle");
2967
- var applySgrResetCode = /* @__PURE__ */ __name((code, activeStyles) => {
2968
- if (code === ANSI_SGR_RESET) {
2969
- activeStyles.length = 0;
2970
- return true;
2971
- }
2972
- if (code === ANSI_SGR_RESET_FOREGROUND) {
2973
- removeActiveStyle(activeStyles, "foreground");
2974
- return true;
2975
- }
2976
- if (code === ANSI_SGR_RESET_BACKGROUND) {
2977
- removeActiveStyle(activeStyles, "background");
2978
- return true;
2979
- }
2980
- if (code === ANSI_SGR_RESET_UNDERLINE_COLOR) {
2981
- removeActiveStyle(activeStyles, "underlineColor");
2982
- return true;
2983
- }
2984
- if (ANSI_SGR_MODIFIER_CLOSE_CODES.has(code)) {
2985
- removeModifierStylesByClose(activeStyles, code);
2986
- return true;
2987
- }
2988
- return false;
2989
- }, "applySgrResetCode");
2990
- var applySgrToken = /* @__PURE__ */ __name((sgrToken, activeStyles) => {
2991
- const [code] = sgrToken;
2992
- if (applySgrResetCode(code, activeStyles)) {
2993
- return;
2994
- }
2995
- const colorStyle = getColorStyle(code, sgrToken);
2996
- if (colorStyle) {
2997
- upsertActiveStyle(activeStyles, colorStyle);
2998
- return;
2999
- }
3000
- const close = ansi_styles_default.codes.get(code);
3001
- if (close !== void 0 && close !== ANSI_SGR_RESET) {
3002
- upsertActiveStyle(activeStyles, {
3003
- family: `modifier-${code}`,
3004
- open: sgrToken.join(";"),
3005
- close
3006
- });
3007
- }
3008
- }, "applySgrToken");
3009
- var applySgrParameters = /* @__PURE__ */ __name((sgrParameters, activeStyles) => {
3010
- for (const sgrToken of getSgrTokens(sgrParameters)) {
3011
- applySgrToken(sgrToken, activeStyles);
3012
- }
3013
- }, "applySgrParameters");
3014
- var applySgrResets = /* @__PURE__ */ __name((sgrParameters, activeStyles) => {
3015
- for (const sgrToken of getSgrTokens(sgrParameters)) {
3016
- const [code] = sgrToken;
3017
- applySgrResetCode(code, activeStyles);
3018
- }
3019
- }, "applySgrResets");
3020
- var applyLeadingSgrResets = /* @__PURE__ */ __name((string, activeStyles) => {
3021
- let remainder = string;
3022
- while (remainder.length > 0) {
3023
- if (remainder.startsWith(ANSI_ESCAPE) && remainder[1] !== "\\") {
3024
- const match = ANSI_ESCAPE_REGEX.exec(remainder);
3025
- if (!match) {
3026
- break;
3027
- }
3028
- if (match.groups.sgr !== void 0) {
3029
- applySgrResets(match.groups.sgr, activeStyles);
3030
- }
3031
- remainder = remainder.slice(match[0].length);
3032
- continue;
3033
- }
3034
- if (remainder.startsWith(ANSI_ESCAPE_CSI)) {
3035
- const match = ANSI_ESCAPE_CSI_REGEX.exec(remainder);
3036
- if (!match || match.groups.sgr === void 0) {
3037
- break;
3038
- }
3039
- applySgrResets(match.groups.sgr, activeStyles);
3040
- remainder = remainder.slice(match[0].length);
3041
- continue;
3042
- }
3043
- break;
3044
- }
3045
- }, "applyLeadingSgrResets");
3046
- var getClosingSgrSequence = /* @__PURE__ */ __name((activeStyles) => [...activeStyles].reverse().map((activeStyle) => wrapAnsiCode(activeStyle.close)).join(""), "getClosingSgrSequence");
3047
- var getOpeningSgrSequence = /* @__PURE__ */ __name((activeStyles) => activeStyles.map((activeStyle) => wrapAnsiCode(activeStyle.open)).join(""), "getOpeningSgrSequence");
3048
- var wordLengths = /* @__PURE__ */ __name((string) => string.split(" ").map((word) => stringWidth2(word)), "wordLengths");
3049
- var wrapWord = /* @__PURE__ */ __name((rows, word, columns) => {
3050
- const characters = getGraphemes(word);
3051
- let isInsideEscape = false;
3052
- let isInsideLinkEscape = false;
3053
- let visible = stringWidth2(stripAnsi(rows.at(-1)));
3054
- for (const [index, character] of characters.entries()) {
3055
- const characterLength = stringWidth2(character);
3056
- if (visible + characterLength <= columns) {
3057
- rows[rows.length - 1] += character;
3058
- } else {
3059
- rows.push(character);
3060
- visible = 0;
3061
- }
3062
- if (ESCAPES.has(character) && !(isInsideLinkEscape && character === ANSI_ESCAPE && characters[index + 1] === "\\")) {
3063
- isInsideEscape = true;
3064
- const ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join("");
3065
- isInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;
3066
- }
3067
- if (isInsideEscape) {
3068
- if (isInsideLinkEscape) {
3069
- if (character === ANSI_ESCAPE_BELL || character === "\\" && index > 0 && characters[index - 1] === ANSI_ESCAPE) {
3070
- isInsideEscape = false;
3071
- isInsideLinkEscape = false;
3072
- }
3073
- } else if (character === ANSI_SGR_TERMINATOR) {
3074
- isInsideEscape = false;
3075
- }
3076
- continue;
3077
- }
3078
- visible += characterLength;
3079
- if (visible === columns && index < characters.length - 1) {
3080
- rows.push("");
3081
- visible = 0;
3082
- }
3083
- }
3084
- if (!visible && rows.at(-1).length > 0 && rows.length > 1) {
3085
- rows[rows.length - 2] += rows.pop();
3086
- }
3087
- }, "wrapWord");
3088
- var stringVisibleTrimSpacesRight = /* @__PURE__ */ __name((string) => {
3089
- const words = string.split(" ");
3090
- let last = words.length;
3091
- while (last > 0) {
3092
- if (stringWidth2(words[last - 1]) > 0) {
3093
- break;
3094
- }
3095
- last--;
3096
- }
3097
- if (last === words.length) {
3098
- return string;
3099
- }
3100
- return words.slice(0, last).join(" ") + words.slice(last).join("");
3101
- }, "stringVisibleTrimSpacesRight");
3102
- var expandTabs = /* @__PURE__ */ __name((line) => {
3103
- if (!line.includes(" ")) {
3104
- return line;
3105
- }
3106
- const segments = line.split(" ");
3107
- let visible = 0;
3108
- let expandedLine = "";
3109
- for (const [index, segment] of segments.entries()) {
3110
- expandedLine += segment;
3111
- visible += stringWidth2(segment);
3112
- if (index < segments.length - 1) {
3113
- const spaces = TAB_SIZE - visible % TAB_SIZE;
3114
- expandedLine += " ".repeat(spaces);
3115
- visible += spaces;
3116
- }
3117
- }
3118
- return expandedLine;
3119
- }, "expandTabs");
3120
- var exec = /* @__PURE__ */ __name((string, columns, options = {}) => {
3121
- if (options.trim !== false && string.trim() === "") {
3122
- return "";
3123
- }
3124
- let returnValue = "";
3125
- let escapeUrl;
3126
- const activeStyles = [];
3127
- const lengths = wordLengths(string);
3128
- let rows = [""];
3129
- for (const [index, word] of string.split(" ").entries()) {
3130
- if (options.trim !== false) {
3131
- rows[rows.length - 1] = rows.at(-1).trimStart();
3132
- }
3133
- let rowLength = stringWidth2(rows.at(-1));
3134
- if (index !== 0) {
3135
- if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
3136
- rows.push("");
3137
- rowLength = 0;
3138
- }
3139
- if (rowLength > 0 || options.trim === false) {
3140
- rows[rows.length - 1] += " ";
3141
- rowLength++;
3142
- }
3143
- }
3144
- if (options.hard && options.wordWrap !== false && lengths[index] > columns) {
3145
- const remainingColumns = columns - rowLength;
3146
- const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
3147
- const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
3148
- if (breaksStartingNextLine < breaksStartingThisLine) {
3149
- rows.push("");
3150
- }
3151
- wrapWord(rows, word, columns);
3152
- continue;
3153
- }
3154
- if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
3155
- if (options.wordWrap === false && rowLength < columns) {
3156
- wrapWord(rows, word, columns);
3157
- continue;
3158
- }
3159
- rows.push("");
3160
- }
3161
- if (rowLength + lengths[index] > columns && options.wordWrap === false) {
3162
- wrapWord(rows, word, columns);
3163
- continue;
3164
- }
3165
- rows[rows.length - 1] += word;
3166
- }
3167
- if (options.trim !== false) {
3168
- rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
3169
- }
3170
- const preString = rows.join("\n");
3171
- const pre = getGraphemes(preString);
3172
- let preStringIndex = 0;
3173
- for (const [index, character] of pre.entries()) {
3174
- returnValue += character;
3175
- if (character === ANSI_ESCAPE && pre[index + 1] !== "\\") {
3176
- const { groups } = ANSI_ESCAPE_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
3177
- if (groups.sgr !== void 0) {
3178
- applySgrParameters(groups.sgr, activeStyles);
3179
- } else if (groups.uri !== void 0) {
3180
- escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
3181
- }
3182
- } else if (character === ANSI_ESCAPE_CSI) {
3183
- const { groups } = ANSI_ESCAPE_CSI_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
3184
- if (groups.sgr !== void 0) {
3185
- applySgrParameters(groups.sgr, activeStyles);
3186
- }
3187
- }
3188
- if (pre[index + 1] === "\n") {
3189
- if (escapeUrl) {
3190
- returnValue += wrapAnsiHyperlink("");
3191
- }
3192
- returnValue += getClosingSgrSequence(activeStyles);
3193
- } else if (character === "\n") {
3194
- const openingStyles = [...activeStyles];
3195
- applyLeadingSgrResets(preString.slice(preStringIndex + 1), openingStyles);
3196
- returnValue += getOpeningSgrSequence(openingStyles);
3197
- if (escapeUrl) {
3198
- returnValue += wrapAnsiHyperlink(escapeUrl);
3199
- }
3200
- }
3201
- preStringIndex += character.length;
3202
- }
3203
- return returnValue;
3204
- }, "exec");
3205
- function wrapAnsi(string, columns, options) {
3206
- return String(string).normalize().replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs(line), columns, options)).join("\n");
3207
- }
3208
- __name(wrapAnsi, "wrapAnsi");
3209
-
3210
2541
  // packages/cli/src/ui/utils/latexRenderer.ts
3211
2542
  init_esbuild_shims();
3212
2543
  var COMMAND_REPLACEMENTS = {
@@ -6480,14 +5811,15 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
6480
5811
  availableTerminalHeight,
6481
5812
  contentWidth,
6482
5813
  textColor = theme.text.primary,
6483
- sourceCopyIndexOffsets
5814
+ sourceCopyIndexOffsets,
5815
+ enforceHeightBudget = false
6484
5816
  }) => {
6485
5817
  const { renderMode } = useRenderMode();
6486
5818
  if (!text) return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, {});
6487
5819
  const renderVisualBlocks = renderMode === "render";
6488
5820
  const displayText = isPending ? text.trimEnd() : text;
6489
5821
  const allLines = displayText.split(/\r?\n/);
6490
- const pendingRenderedBudget = isPending && availableTerminalHeight !== void 0 ? Math.max(MIN_PENDING_CONTENT_LINES, availableTerminalHeight - 2) : void 0;
5822
+ const pendingRenderedBudget = (isPending || enforceHeightBudget) && availableTerminalHeight !== void 0 ? Math.max(MIN_PENDING_CONTENT_LINES, availableTerminalHeight - 2) : void 0;
6491
5823
  const headerRegex = /^ *(#{1,4}) +(.*)/;
6492
5824
  const codeFenceRegex = CODE_FENCE_RE;
6493
5825
  const ulItemRegex = /^([ \t]*)([-*+]) +(.*)/;
@@ -6498,6 +5830,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
6498
5830
  const tableRowRegex = TABLE_ROW_RE;
6499
5831
  const tableSeparatorRegex = TABLE_SEPARATOR_RE;
6500
5832
  let lines = allLines;
5833
+ let droppedSourceLines = 0;
6501
5834
  if (pendingRenderedBudget !== void 0) {
6502
5835
  const tableClampRows = availableTerminalHeight !== void 0 ? Math.max(2, availableTerminalHeight - TABLE_PENDING_RESERVED_ROWS) : Number.MAX_SAFE_INTEGER;
6503
5836
  const { keptLines } = fitPendingSlice(
@@ -6508,8 +5841,10 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
6508
5841
  );
6509
5842
  if (keptLines < allLines.length) {
6510
5843
  lines = allLines.slice(0, keptLines);
5844
+ droppedSourceLines = allLines.length - keptLines;
6511
5845
  }
6512
5846
  }
5847
+ const showTruncationCue = enforceHeightBudget && !isPending && droppedSourceLines > 0;
6513
5848
  if (isPending && renderVisualBlocks && lines.length > 0) {
6514
5849
  let start = lines.length;
6515
5850
  while (start > 0 && /^\s*\|/.test(lines[start - 1])) start--;
@@ -6935,6 +6270,19 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
6935
6270
  )
6936
6271
  );
6937
6272
  }
6273
+ if (showTruncationCue) {
6274
+ contentBlocks.push(
6275
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
6276
+ Text,
6277
+ {
6278
+ color: theme.text.secondary,
6279
+ wrap: "truncate-end",
6280
+ children: `... ${droppedSourceLines} more line${droppedSourceLines === 1 ? "" : "s"} not shown (viewport too small) ...`
6281
+ },
6282
+ `truncation-cue-${contentBlocks.length}`
6283
+ )
6284
+ );
6285
+ }
6938
6286
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: contentBlocks });
6939
6287
  }, "MarkdownDisplayInternal");
6940
6288
  var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
@@ -9253,15 +8601,15 @@ var isCjkChar = /* @__PURE__ */ __name((char) => CJK_CHAR_REGEX.test(char), "isC
9253
8601
  var WORD_BOUNDARIES_CACHE_MAX = 500;
9254
8602
  var SEGMENTER_LENGTH_LIMIT = 1500;
9255
8603
  var wordBoundariesCache = null;
9256
- var segmenter3 = null;
8604
+ var segmenter = null;
9257
8605
  function ensureSegmenterLoaded() {
9258
- if (segmenter3 !== null) return;
8606
+ if (segmenter !== null) return;
9259
8607
  try {
9260
- segmenter3 = new Intl.Segmenter("zh", { granularity: "word" });
8608
+ segmenter = new Intl.Segmenter("zh", { granularity: "word" });
9261
8609
  debugLogger4.info("Intl.Segmenter: initialized successfully");
9262
8610
  } catch (err) {
9263
8611
  debugLogger4.warn("Intl.Segmenter: failed to initialize", err);
9264
- segmenter3 = false;
8612
+ segmenter = false;
9265
8613
  }
9266
8614
  }
9267
8615
  __name(ensureSegmenterLoaded, "ensureSegmenterLoaded");
@@ -9301,14 +8649,14 @@ function getWordBoundaries(line, codePoints) {
9301
8649
  return cached;
9302
8650
  }
9303
8651
  ensureSegmenterLoaded();
9304
- if (!segmenter3) {
8652
+ if (!segmenter) {
9305
8653
  const fallback = charByCharFallback(line);
9306
8654
  evictCacheIfNeeded();
9307
8655
  wordBoundariesCache.set(line, fallback);
9308
8656
  return fallback;
9309
8657
  }
9310
8658
  try {
9311
- const segments = segmenter3.segment(line);
8659
+ const segments = segmenter.segment(line);
9312
8660
  const cpToStrIdx = [];
9313
8661
  let strIdx = 0;
9314
8662
  for (let i = 0; i < cps.length; i++) {
@@ -12033,7 +11381,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
12033
11381
  text: planProps.plan,
12034
11382
  isPending: false,
12035
11383
  availableTerminalHeight: planHeight,
12036
- contentWidth
11384
+ contentWidth,
11385
+ enforceHeightBudget: true
12037
11386
  }
12038
11387
  ) });
12039
11388
  } else if (confirmationDetails.type === "info") {
@@ -12656,7 +12005,11 @@ var ToolMessage = /* @__PURE__ */ __name(({
12656
12005
  () => usingDetailedDisplay && typeof detailedDisplay === "string" ? sanitizeTerminalText(detailedDisplay) : detailedDisplay,
12657
12006
  [detailedDisplay, usingDetailedDisplay]
12658
12007
  );
12659
- const effectiveResultDisplay = usingDetailedDisplay ? sanitizedDetailedDisplay : resultDisplay;
12008
+ const visionBridgeNoticeDisplay = isVisionBridgeNoticeDisplay(resultDisplay) ? resultDisplay : void 0;
12009
+ const visionBridgeNoticeText = visionBridgeNoticeDisplay ? sanitizeTerminalText(
12010
+ formatVisionBridgeNoticeDisplay(visionBridgeNoticeDisplay)
12011
+ ) : void 0;
12012
+ const effectiveResultDisplay = usingDetailedDisplay ? sanitizedDetailedDisplay : visionBridgeNoticeDisplay ? void 0 : resultDisplay;
12660
12013
  if (usingDetailedDisplay) {
12661
12014
  renderOutputAsMarkdown = false;
12662
12015
  }
@@ -12687,6 +12040,14 @@ var ToolMessage = /* @__PURE__ */ __name(({
12687
12040
  ),
12688
12041
  emphasis === "high" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TrailingIndicator, {})
12689
12042
  ] }),
12043
+ visionBridgeNoticeText && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
12044
+ StringResultRenderer,
12045
+ {
12046
+ data: visionBridgeNoticeText,
12047
+ renderAsMarkdown: false,
12048
+ childWidth: innerWidth
12049
+ }
12050
+ ) }),
12690
12051
  effectiveDisplayRenderer.type !== "none" && !shouldCollapseResult && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Box_default, { flexDirection: "column", children: [
12691
12052
  effectiveDisplayRenderer.type === "todo" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TodoResultRenderer, { data: effectiveDisplayRenderer.data }),
12692
12053
  effectiveDisplayRenderer.type === "plan" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
@@ -13089,7 +12450,10 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
13089
12450
  memoryBadge
13090
12451
  ] });
13091
12452
  }
13092
- const collapsibleSummaryHeight = collapsibleTools.length > 0 ? 1 : 0;
12453
+ const collapsibleSummaryHeight = estimateCompactToolGroupHeight(
12454
+ collapsibleTools,
12455
+ contentWidth
12456
+ );
13093
12457
  const memoryBadgeHeight = hasMemoryBadge ? 1 : 0;
13094
12458
  const staticHeight = (
13095
12459
  /* marginBottom */
@@ -16987,6 +16351,7 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
16987
16351
  onToggle
16988
16352
  }) => {
16989
16353
  const ref = (0, import_react34.useRef)(null);
16354
+ const { rows: terminalHeight } = useTerminalSize();
16990
16355
  const settings = useSettings();
16991
16356
  const clickable = !!settings.merged.ui?.useTerminalBuffer;
16992
16357
  const isActive = !isPending;
@@ -16996,12 +16361,12 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
16996
16361
  if (event.name !== "left-press" || !ref.current) return;
16997
16362
  const metrics = measureElementPosition(ref.current);
16998
16363
  const col = event.col - 1;
16999
- const row = event.row - 1;
16364
+ const row = layoutRowForEvent(ref.current, event.row, terminalHeight);
17000
16365
  if (col >= metrics.x && col < metrics.x + metrics.width && row >= metrics.y && row < metrics.y + metrics.height) {
17001
16366
  onToggle();
17002
16367
  }
17003
16368
  },
17004
- [onToggle]
16369
+ [onToggle, terminalHeight]
17005
16370
  ),
17006
16371
  { isActive }
17007
16372
  );