@qwen-code/qwen-code 0.19.9 → 0.19.10-nightly.20260716.506ce0a1a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +14 -6
  2. package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +33 -0
  4. package/bundled/qc-helper/docs/features/channels/overview.md +64 -20
  5. package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
  6. package/bundled/qc-helper/docs/features/code-review.md +88 -44
  7. package/bundled/qc-helper/docs/features/commands.md +6 -6
  8. package/bundled/qc-helper/docs/features/hooks.md +29 -0
  9. package/bundled/qc-helper/docs/features/sandbox.md +2 -0
  10. package/bundled/qc-helper/docs/features/sub-agents.md +21 -0
  11. package/bundled/qc-helper/docs/qwen-serve.md +49 -20
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  13. package/bundled/review/DESIGN.md +219 -33
  14. package/bundled/review/SKILL.md +429 -382
  15. package/chunks/{MaxSizedBox-6HYJ3ZPJ.js → MaxSizedBox-WOC3YDWA.js} +31 -32
  16. package/chunks/{StandaloneSessionPicker-WS4GXYOG.js → StandaloneSessionPicker-H5HZCAFD.js} +49 -48
  17. package/chunks/{acpAgent-5FWSOZL5.js → acpAgent-55YDJDNM.js} +922 -550
  18. package/chunks/{agent-HOLHB3RT.js → agent-H6VE5W3L.js} +26 -27
  19. package/chunks/{agent-headless-SXL6H56A.js → agent-headless-T4XJOCRU.js} +26 -27
  20. package/chunks/{anthropicContentGenerator-L73TO3DB.js → anthropicContentGenerator-HBRXJSP4.js} +78 -16
  21. package/chunks/{artifact-tool-U7IRTLIV.js → artifact-tool-MIZLXBLF.js} +2 -2
  22. package/chunks/{askUserQuestion-2DLUUZZG.js → askUserQuestion-XMJVPNWM.js} +2 -2
  23. package/chunks/{bridge-BCJQ7BBB.js → bridge-FTB6ZP3R.js} +31 -34
  24. package/chunks/{ca-UJ6HC4H2.js → ca-CODEN7TD.js} +9 -1
  25. package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
  26. package/chunks/channel-worker-manager-CUDPU4CN.js +418 -0
  27. package/chunks/channel-worker-supervisor-4XTO2ZD3.js +20 -0
  28. package/chunks/{chunk-LXNEJD34.js → chunk-2FO5GFKZ.js} +1 -1
  29. package/chunks/{chunk-VA4KQY6V.js → chunk-2JNR4VP2.js} +3 -3
  30. package/chunks/{chunk-L36P3NBD.js → chunk-2W3OOD4W.js} +2 -0
  31. package/chunks/{chunk-7R3CZA3Q.js → chunk-2Z5UX4KI.js} +1 -1
  32. package/chunks/{chunk-CUMMSHH6.js → chunk-3DWIFU7L.js} +1 -1
  33. package/chunks/chunk-3MX7D6QN.js +516 -0
  34. package/chunks/{chunk-SJHDYNHF.js → chunk-4BJVSIS3.js} +3 -3
  35. package/chunks/{chunk-TO6QE22P.js → chunk-5CNYZ7TN.js} +26 -22
  36. package/chunks/{chunk-N3EMS75V.js → chunk-5DEJ4T6C.js} +1333 -1232
  37. package/chunks/chunk-5HBA2Z7V.js +28 -0
  38. package/chunks/{chunk-ZJE7NSL3.js → chunk-5M6IDOMF.js} +34 -97
  39. package/chunks/{chunk-SCGXUJBT.js → chunk-6LI3L22E.js} +3 -3
  40. package/chunks/{chunk-K434OPES.js → chunk-6WPJRYLZ.js} +3 -3
  41. package/chunks/{chunk-YAUFFXDS.js → chunk-7GM2RWCR.js} +12 -11
  42. package/chunks/{chunk-OQ4DRIOA.js → chunk-7HWE2W74.js} +2 -2
  43. package/chunks/{chunk-J4TSQ5EQ.js → chunk-7NFB7LBQ.js} +8 -1
  44. package/chunks/{chunk-MC23XKFE.js → chunk-A2HWMJVO.js} +37 -3
  45. package/chunks/{chunk-3G7CIHVV.js → chunk-ABNYOMDG.js} +4 -4
  46. package/chunks/{chunk-3AHXV67U.js → chunk-AGZLXLBY.js} +1 -1
  47. package/chunks/{chunk-RDJSGHZE.js → chunk-ALGGS7UH.js} +1 -38
  48. package/chunks/{chunk-Q4YQW46J.js → chunk-AMRZVQUY.js} +43 -40
  49. package/chunks/{chunk-W3JHSWRP.js → chunk-AN6C2U46.js} +4 -4
  50. package/chunks/{chunk-GWHYEOV2.js → chunk-ARKANCNX.js} +2 -1
  51. package/chunks/{chunk-5SFOMFG4.js → chunk-AVEOWVOM.js} +36 -2
  52. package/chunks/{chunk-34MW4KTI.js → chunk-BA5JGE5F.js} +2 -2
  53. package/chunks/{chunk-5HOMWMCL.js → chunk-BSJAQUFD.js} +5492 -1336
  54. package/chunks/{chunk-L6P4KPHR.js → chunk-BWJKL5DB.js} +58 -38
  55. package/chunks/{chunk-PVZM22CK.js → chunk-C32JFRGV.js} +5 -5
  56. package/chunks/{chunk-AKIVHSJR.js → chunk-CZIHPO7L.js} +163 -782
  57. package/chunks/chunk-DL7RCO6V.js +493 -0
  58. package/chunks/{chunk-KKNMOEZH.js → chunk-E2UVIFI2.js} +185 -398
  59. package/chunks/{chunk-5VXNZWGF.js → chunk-ENUQSKEY.js} +1 -1
  60. package/chunks/{chunk-PDZ7MBDG.js → chunk-EWILX3BM.js} +27 -6
  61. package/chunks/{chunk-BMGVRZN4.js → chunk-EZWX232B.js} +1 -1
  62. package/chunks/{chunk-4GORAUCN.js → chunk-F333XEAU.js} +1 -1
  63. package/chunks/{chunk-YLV3XXFB.js → chunk-FBU7WRZI.js} +17 -1
  64. package/chunks/chunk-FEOZBUMT.js +77 -0
  65. package/chunks/{chunk-5U27BZ72.js → chunk-FKEGVMPX.js} +269 -83
  66. package/chunks/chunk-FNX3LGAK.js +34 -0
  67. package/chunks/{chunk-LK7KUE55.js → chunk-FSA7ERJ2.js} +1 -1
  68. package/chunks/{chunk-PODM4SZ4.js → chunk-G3BIBPI7.js} +5 -5
  69. package/chunks/{chunk-A3XKDTSH.js → chunk-GA65O2TB.js} +4 -4
  70. package/chunks/{chunk-3BTRNWWD.js → chunk-GOXKNSDZ.js} +1 -64
  71. package/chunks/{channel-worker-supervisor-WSOAAYUO.js → chunk-GXGIM7QP.js} +67 -35
  72. package/chunks/{chunk-6PESIEKJ.js → chunk-GXUWGPYX.js} +68 -6
  73. package/chunks/chunk-GYTKQYDB.js +23 -0
  74. package/chunks/{chunk-GZRTYZ2R.js → chunk-H3XMJV7T.js} +218 -1
  75. package/chunks/{chunk-WQUQVGTF.js → chunk-HGRXW4HQ.js} +467 -106
  76. package/chunks/{chunk-YVEDCAUE.js → chunk-HGT6JR3U.js} +19 -0
  77. package/chunks/{chunk-ECNYL4AA.js → chunk-HUEWOHKV.js} +1 -1
  78. package/chunks/chunk-IDS7MSUP.js +74 -0
  79. package/chunks/{chunk-KHUQZZJ6.js → chunk-IHDRJLLR.js} +382 -36
  80. package/chunks/{chunk-CLFKOZEK.js → chunk-J4SEAF4X.js} +114 -4
  81. package/chunks/{chunk-B5ORX3FG.js → chunk-JGUT3LWZ.js} +6 -1
  82. package/chunks/{chunk-P67PFTUT.js → chunk-KEYEYCHZ.js} +4 -4
  83. package/chunks/{chunk-ORBGV7NJ.js → chunk-KKRTYONM.js} +6 -4
  84. package/chunks/{chunk-7PU4FYLG.js → chunk-KOXFAG6P.js} +4 -18
  85. package/chunks/{chunk-EGYZ275M.js → chunk-KWLVWNF5.js} +55 -7
  86. package/chunks/{chunk-XLA62MYB.js → chunk-KXECVZPD.js} +2 -2
  87. package/chunks/{chunk-IAVB3HM3.js → chunk-L4Y55KIS.js} +33 -1
  88. package/chunks/{chunk-4QLQE5WJ.js → chunk-L5U3ELZX.js} +1 -1
  89. package/chunks/{chunk-4ZVWQHEQ.js → chunk-LQIDP6K5.js} +1 -1
  90. package/chunks/{chunk-DC5Z3DU6.js → chunk-LXLTBIDP.js} +43 -6
  91. package/chunks/chunk-LXXMOYPL.js +22 -0
  92. package/chunks/{chunk-Q6I5QHMH.js → chunk-MFNKBXYH.js} +1 -1
  93. package/chunks/chunk-MR3PXB6E.js +48 -0
  94. package/chunks/{chunk-JZETEN3Z.js → chunk-N45S36AH.js} +3 -3
  95. package/chunks/{chunk-GWLSNBG4.js → chunk-NA3IG6XG.js} +748 -27
  96. package/chunks/{chunk-D5SKC4YG.js → chunk-O3M25JXE.js} +213 -29
  97. package/chunks/{chunk-EAXLGSFP.js → chunk-O6XGHDS5.js} +11 -11
  98. package/chunks/{chunk-WL4L7EZH.js → chunk-OA4JVLSA.js} +27 -1
  99. package/chunks/{chunk-X4NKFGFJ.js → chunk-OJAMDVF5.js} +0 -15
  100. package/chunks/{chunk-BZIFY5TF.js → chunk-OKAIGAYW.js} +3 -3
  101. package/chunks/{chunk-CNEIYWSA.js → chunk-OVIV236K.js} +5 -5
  102. package/chunks/{chunk-3SJSQXNS.js → chunk-PEJWA3QQ.js} +12 -8
  103. package/chunks/{chunk-E2IY465S.js → chunk-PWNOAWXB.js} +59 -12
  104. package/chunks/{chunk-B4G2WOFA.js → chunk-Q5MKHNIR.js} +28 -5
  105. package/chunks/{chunk-MXL5UP4X.js → chunk-Q6TUALBE.js} +1 -1
  106. package/chunks/{chunk-QYMQSECS.js → chunk-QAW7PIHT.js} +2 -2
  107. package/chunks/{chunk-HKMAENAO.js → chunk-QDTGDM2T.js} +14 -9
  108. package/chunks/{chunk-LUODI7WD.js → chunk-RCEEXIOO.js} +6 -4
  109. package/chunks/{chunk-W2UIXQDL.js → chunk-RTV5TUYB.js} +12 -4
  110. package/chunks/chunk-RW7DUKFO.js +91 -0
  111. package/chunks/{chunk-NVYTCB5Z.js → chunk-SA6QVLWI.js} +17325 -16259
  112. package/chunks/chunk-SJSI7PXU.js +59 -0
  113. package/chunks/{chunk-HVY356M2.js → chunk-SMGBWLNU.js} +3 -3
  114. package/chunks/{chunk-CEA3E3JB.js → chunk-SPJQO2CE.js} +2 -2
  115. package/chunks/{chunk-CC2ITGCF.js → chunk-STZQCNN3.js} +49 -6
  116. package/chunks/{chunk-HPDUL5MF.js → chunk-T2ZDAER2.js} +1 -1
  117. package/chunks/{chunk-XUOOWUZS.js → chunk-T3TQ3ACP.js} +1 -1
  118. package/chunks/{chunk-4C5BQ2D2.js → chunk-TIKDHS6V.js} +100 -17
  119. package/chunks/chunk-TV6K2FB4.js +224 -0
  120. package/chunks/{chunk-5XUCZNSY.js → chunk-TYLOFD2U.js} +1 -1
  121. package/chunks/{chunk-D2GFWEXB.js → chunk-UCUUH2JV.js} +6 -6
  122. package/chunks/{chunk-BAPGSC7U.js → chunk-UZP7K33Y.js} +23 -9
  123. package/chunks/{chunk-77XJ3SWN.js → chunk-VDAR6UO2.js} +8 -6
  124. package/chunks/{chunk-XYQSMABS.js → chunk-VKLVGA2D.js} +4 -4
  125. package/chunks/{chunk-JSG7ZSBC.js → chunk-VRR65QYW.js} +251 -3
  126. package/chunks/{chunk-U2NNEY4R.js → chunk-VT5AWJN4.js} +1 -1
  127. package/chunks/{chunk-ZLXQN2QS.js → chunk-WIEO4CWB.js} +1 -1
  128. package/chunks/{chunk-X6TJ3YZV.js → chunk-WKEO3GLZ.js} +160 -60
  129. package/chunks/{chunk-J3JA76CF.js → chunk-WTNZ6DXB.js} +1 -1
  130. package/chunks/{chunk-VWPVHAMO.js → chunk-XIWQ5QST.js} +8 -1
  131. package/chunks/{chunk-TDEXZKMT.js → chunk-Y66VOBRP.js} +2 -2
  132. package/chunks/{chunk-3VAGG5T5.js → chunk-YYBZUIPL.js} +1015 -100
  133. package/chunks/{chunk-CCDMCZPP.js → chunk-YZ3SBNP7.js} +1 -1
  134. package/chunks/{chunk-ATAKVRIF.js → chunk-Z3XA2TNG.js} +7 -7
  135. package/chunks/{chunk-EMDMPBJ4.js → chunk-Z7SVC7PJ.js} +10 -3
  136. package/chunks/{chunk-AURZZYMD.js → chunk-ZIVSSTUG.js} +4 -4
  137. package/chunks/{chunk-UOZWKTQG.js → chunk-ZPAHLFZU.js} +2 -2
  138. package/chunks/{chunk-34Z3U5RQ.js → chunk-ZQIYGQCG.js} +765 -168
  139. package/chunks/{computer-use-HM37RX6A.js → computer-use-NADT7ULB.js} +26 -27
  140. package/chunks/{config-utils-NV2SVGPB.js → config-utils-IQQT3GCI.js} +3 -2
  141. package/chunks/{contextCommand-OF5SFGH2.js → contextCommand-U7NEJYJ7.js} +28 -29
  142. package/chunks/{create-sub-session-INX7TXJI.js → create-sub-session-EAB2U5XW.js} +2 -2
  143. package/chunks/{create-sub-session-KPRT7ECJ.js → create-sub-session-SUN33INC.js} +26 -27
  144. package/chunks/{cron-create-AMBKGZX6.js → cron-create-GMVKSXZT.js} +4 -4
  145. package/chunks/{cron-delete-LRU4OJYG.js → cron-delete-VDZKUAVK.js} +4 -4
  146. package/chunks/{cron-list-WVP2JXER.js → cron-list-UG7C7RAR.js} +4 -4
  147. package/chunks/{daemon-ARHTSTXP.js → daemon-SJXEKP3H.js} +773 -126
  148. package/chunks/daemon-status-provider-WIIYLGZJ.js +74 -0
  149. package/chunks/{de-EBJN3OVN.js → de-NOXPCSYN.js} +9 -1
  150. package/chunks/{dist-XKU3ABM5.js → dist-4WCQEZIN.js} +4 -51
  151. package/chunks/{dist-QYCAEZIT.js → dist-DOPL5LSQ.js} +5 -1
  152. package/chunks/{dist-WKPOYU7O.js → dist-GXJVCOS7.js} +1 -1
  153. package/chunks/{dist-R7LN5AZE.js → dist-PX2ERZ6I.js} +2 -2
  154. package/chunks/{dist-PNVLTKTL.js → dist-V2YVLYOW.js} +215 -33
  155. package/chunks/{dist-VHV4EVHG.js → dist-VYWUKURL.js} +1 -1
  156. package/chunks/{earlyInputCapture-3VTHRC4C.js → earlyInputCapture-6FRM6UMU.js} +27 -28
  157. package/chunks/{edit-VNI4NJ73.js → edit-7GOIQTCZ.js} +27 -28
  158. package/chunks/{en-5A6LA7RK.js → en-JFVULHTB.js} +11 -1
  159. package/chunks/{enter-worktree-IYYBKPZT.js → enter-worktree-476E6WIK.js} +26 -27
  160. package/chunks/{enterPlanMode-GMC5FD5A.js → enterPlanMode-IRJM6W3C.js} +42 -28
  161. package/chunks/{environment-5HSSRMJ7.js → environment-ROMULS2X.js} +30 -30
  162. package/chunks/{errors-HMFCJJ7P.js → errors-OUIWPUDY.js} +28 -29
  163. package/chunks/{exit-worktree-6BHCMP5G.js → exit-worktree-PPSFK753.js} +26 -27
  164. package/chunks/{exitPlanMode-CJW7G74W.js → exitPlanMode-YKQMD4D7.js} +26 -27
  165. package/chunks/{fast-path-FRDMDVHG.js → fast-path-CNK2HHKH.js} +3 -3
  166. package/chunks/{fast-path-settings-5QZE64HR.js → fast-path-settings-DAOVFADC.js} +6 -4
  167. package/chunks/{fr-YXRABLYZ.js → fr-HVFNU42H.js} +9 -1
  168. package/chunks/{gemini-QYSEGHAX.js → gemini-WQNFT6TR.js} +216 -90
  169. package/chunks/{geminiContentGenerator-J7YNZDYP.js → geminiContentGenerator-4QJH2JDP.js} +4 -4
  170. package/chunks/{glob-BRCSGFOT.js → glob-36TVLBWW.js} +28 -28
  171. package/chunks/{grep-EE2DUOSY.js → grep-QTYLNO2M.js} +26 -27
  172. package/chunks/{handleAutoUpdate-5NWTLR67.js → handleAutoUpdate-36FQFODK.js} +30 -31
  173. package/chunks/{i18n-BASPENNQ.js → i18n-JUGYPVSP.js} +27 -28
  174. package/chunks/initializer-OBBJUS25.js +72 -0
  175. package/chunks/{installationInfo-W6V4DT7W.js → installationInfo-MCKTPX64.js} +27 -28
  176. package/chunks/{ja-7VQOANVG.js → ja-PY5AF544.js} +10 -2
  177. package/chunks/{keychain-token-storage-VKUBNCP4.js → keychain-token-storage-AU22CQI6.js} +2 -2
  178. package/chunks/list-VW5QY4VJ.js +75 -0
  179. package/chunks/loadedSettingsAdapter-IELOOXG6.js +69 -0
  180. package/chunks/{loop-wakeup-WX7BLWWP.js → loop-wakeup-QXWZSCYM.js} +5 -5
  181. package/chunks/{ls-ZB2BDP6T.js → ls-2OUTG3IZ.js} +4 -4
  182. package/chunks/{lsp-V5DN4YUJ.js → lsp-4VMNXZW6.js} +2 -2
  183. package/chunks/mcp-Q3EC37ZS.js +69 -0
  184. package/chunks/{monitor-X5Z3H4FY.js → monitor-DCZ27AFR.js} +26 -27
  185. package/chunks/nonInteractiveCli-KXD7PFO4.js +128 -0
  186. package/chunks/{notebook-edit-TRM2QIJK.js → notebook-edit-YU4XF5LI.js} +27 -28
  187. package/chunks/{openaiContentGenerator-AAYONPMF.js → openaiContentGenerator-KL5WER2D.js} +13 -13
  188. package/chunks/{pidfile-D4I4FTVA.js → pidfile-WBOD7EJV.js} +27 -28
  189. package/chunks/processUtils-AOV4R34M.js +29 -0
  190. package/chunks/{pt-2C6YCSHL.js → pt-A3PRQXMU.js} +9 -1
  191. package/chunks/{qwenContentGenerator-K3HZ2H76.js → qwenContentGenerator-YIGBHYE3.js} +28 -29
  192. package/chunks/{qwenOAuth2-PJQ27GSO.js → qwenOAuth2-LEYOU7RU.js} +5 -5
  193. package/chunks/{read-file-7SZSIZOL.js → read-file-WVL4Y76X.js} +9 -9
  194. package/chunks/{read-mcp-resource-SM5DA4RG.js → read-mcp-resource-JUFHCKSC.js} +2 -2
  195. package/chunks/{record-artifact-4XKZX3UW.js → record-artifact-DWSMBXYY.js} +2 -2
  196. package/chunks/{ripGrep-YNPFVCZP.js → ripGrep-6GSWJERP.js} +26 -27
  197. package/chunks/{ru-6BBHVZZV.js → ru-IBCWUTOC.js} +9 -1
  198. package/chunks/{run-qwen-serve-DMWV5N6L.js → run-qwen-serve-QYUQMEDT.js} +1233 -371
  199. package/chunks/{runtime-57WWRVHN.js → runtime-K2YZCNB3.js} +42 -38
  200. package/chunks/{scheduler-YBLGWSIL.js → scheduler-EQCSN7QV.js} +26 -27
  201. package/chunks/{send-message-F36YD6KQ.js → send-message-JZ752NWD.js} +3 -3
  202. package/chunks/{serve-R63NK3CV.js → serve-DX5UGZD4.js} +36 -35
  203. package/chunks/{server-Z22GCAXP.js → server-T6HJH3DR.js} +5869 -1398
  204. package/chunks/{session-HKAAI7BN.js → session-SNU6ACY6.js} +299 -100
  205. package/chunks/{settings-3EYN66GK.js → settings-AKHZZNEL.js} +34 -33
  206. package/chunks/{shell-6YXINTWJ.js → shell-EY74IEZK.js} +28 -27
  207. package/chunks/{skill-OO57P4X6.js → skill-DPU62O3H.js} +11 -11
  208. package/chunks/{spawnChannel-JD7G4VU6.js → spawnChannel-RQZRWJ2V.js} +28 -30
  209. package/chunks/{src-G5UPLZSZ.js → src-7FITDSVC.js} +164 -52
  210. package/chunks/{standalone-update-OB7F4JPZ.js → standalone-update-XO3RK6DO.js} +28 -29
  211. package/chunks/{startInteractiveUI-73EGLIIH.js → startInteractiveUI-DVWZRHYQ.js} +728 -382
  212. package/chunks/{syntheticOutput-34H7LGA7.js → syntheticOutput-LELY6HAI.js} +3 -3
  213. package/chunks/{task-create-FRGOEIKY.js → task-create-QY3BIMNM.js} +8 -7
  214. package/chunks/{task-list-OW766BXZ.js → task-list-D2U47WBJ.js} +6 -5
  215. package/chunks/{task-stop-SIR5SNBN.js → task-stop-N6E5IYLH.js} +2 -2
  216. package/chunks/{task-update-YRA532MT.js → task-update-HJCQILLB.js} +8 -7
  217. package/chunks/{team-create-PECAAPXK.js → team-create-FOSRT62K.js} +26 -27
  218. package/chunks/{team-delete-6OSECUZC.js → team-delete-RCWYDRF4.js} +6 -5
  219. package/chunks/{team-plan-approval-L6F434RY.js → team-plan-approval-6VUDV27J.js} +26 -27
  220. package/chunks/{theme-manager-ZG4RY6GU.js → theme-manager-6UT6IO5T.js} +27 -28
  221. package/chunks/{todoWrite-YDMFEV4G.js → todoWrite-FKCGATPJ.js} +4 -4
  222. package/chunks/{tool-search-THVIWAPB.js → tool-search-ASSFMMN5.js} +10 -10
  223. package/chunks/{total-session-admission-JOKNRIIA.js → total-session-admission-YYWUO23H.js} +32 -35
  224. package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
  225. package/chunks/{trustedFolders-EOGT3UVS.js → trustedFolders-4BWV2IBK.js} +29 -29
  226. package/chunks/types-ML3TRJQ5.js +16 -0
  227. package/chunks/update-relaunch-74DLGH73.js +87 -0
  228. package/chunks/{updateCheck-2KYEYVSB.js → updateCheck-CRFCGFO5.js} +31 -30
  229. package/chunks/{validateNonInterActiveAuth-EN6ZQSR2.js → validateNonInterActiveAuth-BTTEPBGQ.js} +76 -73
  230. package/chunks/{version-3UEA6ZIR.js → version-Y5JE5Q63.js} +1 -1
  231. package/chunks/{web-fetch-PAAEQKBW.js → web-fetch-CFCWTCAP.js} +5 -6
  232. package/chunks/{workflow-QCCCMYP3.js → workflow-6WC7VPQN.js} +27 -28
  233. package/chunks/workspace-providers-status-RVG2C5ZS.js +72 -0
  234. package/chunks/workspace-registration-store-SLEU3D3X.js +27 -0
  235. package/chunks/{workspace-registry-24QFLQYH.js → workspace-registry-QMWGVOTF.js} +32 -35
  236. package/chunks/workspace-service-G572JSEU.js +84 -0
  237. package/chunks/workspace-skills-status-VSSMSMNK.js +71 -0
  238. package/chunks/{write-file-I3MUDRIE.js → write-file-5XVDRORP.js} +27 -28
  239. package/chunks/{zh-RQE7I22T.js → zh-PAUNIMHQ.js} +12 -2
  240. package/chunks/{zh-TW-TBPQGHKH.js → zh-TW-GNEUIUFF.js} +12 -2
  241. package/cli-entry.js +92 -8
  242. package/cli.js +11 -11
  243. package/locales/ca.js +16 -0
  244. package/locales/de.js +16 -0
  245. package/locales/en.js +19 -0
  246. package/locales/fr.js +16 -0
  247. package/locales/ja.js +17 -1
  248. package/locales/pt.js +16 -0
  249. package/locales/ru.js +16 -0
  250. package/locales/zh-TW.js +20 -1
  251. package/locales/zh.js +20 -1
  252. package/package.json +3 -3
  253. package/web-shell/assets/{arc-C15hqnJe.js → arc-vx1tRwnX.js} +1 -1
  254. package/web-shell/assets/{architectureDiagram-3BPJPVTR-B-At37J_.js → architectureDiagram-3BPJPVTR-DBi6iUA1.js} +1 -1
  255. package/web-shell/assets/{blockDiagram-GPEHLZMM-B51wjcU7.js → blockDiagram-GPEHLZMM-Ga9JJ4Ak.js} +1 -1
  256. package/web-shell/assets/{c4Diagram-AAUBKEIU-xBK7BAwN.js → c4Diagram-AAUBKEIU-D8Vi5FYw.js} +1 -1
  257. package/web-shell/assets/channel-B29zQDTL.js +1 -0
  258. package/web-shell/assets/{chunk-2J33WTMH-xKmLg7Yr.js → chunk-2J33WTMH-CSV6yQpU.js} +1 -1
  259. package/web-shell/assets/{chunk-4BX2VUAB-BfkdKZCM.js → chunk-4BX2VUAB-toYlppdI.js} +1 -1
  260. package/web-shell/assets/{chunk-55IACEB6-DT713sZf.js → chunk-55IACEB6-DbjzuyAr.js} +1 -1
  261. package/web-shell/assets/{chunk-727SXJPM-CYEeAamv.js → chunk-727SXJPM-IkkSjSkk.js} +1 -1
  262. package/web-shell/assets/{chunk-AQP2D5EJ-DBN-5CFd.js → chunk-AQP2D5EJ-D5wUL6Zm.js} +1 -1
  263. package/web-shell/assets/{chunk-FMBD7UC4-CGZKk4PH.js → chunk-FMBD7UC4-C3o2DXG0.js} +1 -1
  264. package/web-shell/assets/{chunk-ND2GUHAM-qQbC2O-y.js → chunk-ND2GUHAM-CutIi14T.js} +1 -1
  265. package/web-shell/assets/{chunk-QZHKN3VN-B3zeXwsX.js → chunk-QZHKN3VN-DZ0NRHH-.js} +1 -1
  266. package/web-shell/assets/classDiagram-4FO5ZUOK-BNGI2SvC.js +1 -0
  267. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BNGI2SvC.js +1 -0
  268. package/web-shell/assets/{cose-bilkent-S5V4N54A-BKsl1Wvy.js → cose-bilkent-S5V4N54A-B3Dl88UJ.js} +1 -1
  269. package/web-shell/assets/{dagre-BM42HDAG-CuuuLiBK.js → dagre-BM42HDAG-DfTxfF6-.js} +1 -1
  270. package/web-shell/assets/{diagram-2AECGRRQ-CG4_eKiV.js → diagram-2AECGRRQ-CJyH98yO.js} +1 -1
  271. package/web-shell/assets/{diagram-5GNKFQAL-DSFTmZB1.js → diagram-5GNKFQAL-EbOiJNmW.js} +1 -1
  272. package/web-shell/assets/{diagram-KO2AKTUF-BxwlEHn8.js → diagram-KO2AKTUF-AYNqpqqA.js} +1 -1
  273. package/web-shell/assets/{diagram-LMA3HP47-BUAg-jMG.js → diagram-LMA3HP47-BY5VPa4H.js} +1 -1
  274. package/web-shell/assets/{diagram-OG6HWLK6-BFM2jlO5.js → diagram-OG6HWLK6-BhMYAKlk.js} +1 -1
  275. package/web-shell/assets/{erDiagram-TEJ5UH35-CerbFPa2.js → erDiagram-TEJ5UH35-Bp8S_F9l.js} +1 -1
  276. package/web-shell/assets/{flowDiagram-I6XJVG4X-BNeZz5Zz.js → flowDiagram-I6XJVG4X-az3TE9PU.js} +1 -1
  277. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CTOogLaM.js → ganttDiagram-6RSMTGT7-CfkAEpCe.js} +3 -3
  278. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-yxSFkXPj.js → gitGraphDiagram-PVQCEYII-D1QmjMCy.js} +1 -1
  279. package/web-shell/assets/index-C8sDwQUv.js +1130 -0
  280. package/web-shell/assets/index-CaBoc5bb.js +3 -0
  281. package/web-shell/assets/index-Dpg5Wymg.css +5 -0
  282. package/web-shell/assets/{infoDiagram-5YYISTIA-DYdAUevm.js → infoDiagram-5YYISTIA-D3ompLrG.js} +1 -1
  283. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CNuijZ90.js → ishikawaDiagram-YF4QCWOH-D3MRWp9I.js} +1 -1
  284. package/web-shell/assets/{journeyDiagram-JHISSGLW-BTyiuonf.js → journeyDiagram-JHISSGLW-DVkKCa44.js} +1 -1
  285. package/web-shell/assets/{kanban-definition-UN3LZRKU-DPJo0Uow.js → kanban-definition-UN3LZRKU-BLif81wF.js} +1 -1
  286. package/web-shell/assets/{linear-C8wKCbIC.js → linear-BDU96EGS.js} +1 -1
  287. package/web-shell/assets/{mermaid.core-BV5o7nW5.js → mermaid.core-B-CwC26B.js} +5 -5
  288. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BtLcBmSt.js → mindmap-definition-RKZ34NQL-CS1WOJ4G.js} +1 -1
  289. package/web-shell/assets/{pieDiagram-4H26LBE5-C22J7A9Q.js → pieDiagram-4H26LBE5-BzgtNXVP.js} +1 -1
  290. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DSL10wiL.js → quadrantDiagram-W4KKPZXB-BRfGC8MA.js} +1 -1
  291. package/web-shell/assets/{requirementDiagram-4Y6WPE33-feqh0UpX.js → requirementDiagram-4Y6WPE33-CPBZkC7g.js} +1 -1
  292. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Z4OVaWaZ.js → sankeyDiagram-5OEKKPKP-nqNvinIk.js} +1 -1
  293. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DIluIcb1.js → sequenceDiagram-3UESZ5HK-CM_Wdjh3.js} +1 -1
  294. package/web-shell/assets/{stateDiagram-AJRCARHV-hlhnuoYH.js → stateDiagram-AJRCARHV-L0y-48VE.js} +1 -1
  295. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BX1DdF8s.js +1 -0
  296. package/web-shell/assets/{timeline-definition-PNZ67QCA-Dqf_CqgL.js → timeline-definition-PNZ67QCA-B_n5rb3A.js} +1 -1
  297. package/web-shell/assets/{vennDiagram-CIIHVFJN-DD2QhaTX.js → vennDiagram-CIIHVFJN-C9NmLV5e.js} +1 -1
  298. package/web-shell/assets/{wardley-L42UT6IY-B2uI85U_.js → wardley-L42UT6IY-CrefK9gt.js} +1 -1
  299. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-U1aJX71g.js → wardleyDiagram-YWT4CUSO-BUccf-bC.js} +1 -1
  300. package/web-shell/assets/{xychartDiagram-2RQKCTM6-C0ODHUee.js → xychartDiagram-2RQKCTM6-DM6ef92l.js} +1 -1
  301. package/web-shell/index.html +2 -2
  302. package/chunks/chunk-524RQP4Q.js +0 -305
  303. package/chunks/chunk-CARU2RR2.js +0 -24
  304. package/chunks/chunk-CU3L64TP.js +0 -93
  305. package/chunks/chunk-OCPBI7J5.js +0 -18
  306. package/chunks/chunk-TEGEBB2I.js +0 -122
  307. package/chunks/chunk-VTU57BWZ.js +0 -30
  308. package/chunks/daemon-status-provider-B2UTZUJ2.js +0 -76
  309. package/chunks/initializer-UTQ7FB7G.js +0 -71
  310. package/chunks/list-DEICDL65.js +0 -74
  311. package/chunks/loadedSettingsAdapter-NOWEGDYJ.js +0 -68
  312. package/chunks/mcp-L5JXEEIA.js +0 -68
  313. package/chunks/nonInteractiveCli-LS2K4X6A.js +0 -124
  314. package/chunks/types-JNKGKUJT.js +0 -12
  315. package/chunks/workspace-providers-status-4KMGETOJ.js +0 -71
  316. package/chunks/workspace-service-RVLBMSMZ.js +0 -80
  317. package/chunks/workspace-skills-status-DS4ZVFTO.js +0 -70
  318. package/web-shell/assets/channel-CLiQD50f.js +0 -1
  319. package/web-shell/assets/classDiagram-4FO5ZUOK-D3sYqow5.js +0 -1
  320. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-D3sYqow5.js +0 -1
  321. package/web-shell/assets/index-D5IWFVk1.css +0 -5
  322. package/web-shell/assets/index-KFJRDhX7.js +0 -783
  323. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BhQMwgpl.js +0 -1
@@ -11,39 +11,44 @@ import {
11
11
  use_is_screen_reader_enabled_default,
12
12
  use_stdin_default,
13
13
  use_stdout_default
14
- } from "./chunk-CNEIYWSA.js";
14
+ } from "./chunk-OVIV236K.js";
15
15
  import {
16
16
  require_react
17
17
  } from "./chunk-HTHUX2T5.js";
18
18
  import {
19
19
  formatHistoryGapNotice,
20
20
  indexGapsByChild
21
- } from "./chunk-U2NNEY4R.js";
21
+ } from "./chunk-VT5AWJN4.js";
22
22
  import {
23
- sanitizeFilenameForDisplay
24
- } from "./chunk-Q6I5QHMH.js";
23
+ sanitizeFilenameForDisplay,
24
+ stringWidth
25
+ } from "./chunk-MFNKBXYH.js";
26
+ import {
27
+ eastAsianWidth
28
+ } from "./chunk-QHTIBUWB.js";
25
29
  import {
26
30
  formatDuration
27
31
  } from "./chunk-E5Z2AVNV.js";
28
32
  import {
29
33
  t
30
- } from "./chunk-YAUFFXDS.js";
34
+ } from "./chunk-7GM2RWCR.js";
31
35
  import {
32
36
  fetchGitDiff,
33
37
  findProviderByCredentials,
34
38
  getToolResponseDisplayText,
35
- resolveMetadataKey
36
- } from "./chunk-NVYTCB5Z.js";
39
+ resolveMetadataKey,
40
+ stripAnsi
41
+ } from "./chunk-SA6QVLWI.js";
37
42
  import {
38
43
  KittySequenceOverflowEvent,
39
44
  logKittySequenceOverflow
40
- } from "./chunk-3VAGG5T5.js";
45
+ } from "./chunk-YYBZUIPL.js";
41
46
  import {
42
47
  ToolDisplayNames
43
- } from "./chunk-B5ORX3FG.js";
48
+ } from "./chunk-JGUT3LWZ.js";
44
49
  import {
45
50
  createDebugLogger
46
- } from "./chunk-J4TSQ5EQ.js";
51
+ } from "./chunk-7NFB7LBQ.js";
47
52
  import {
48
53
  init_esbuild_shims
49
54
  } from "./chunk-5O2XNYP6.js";
@@ -1938,21 +1943,18 @@ function writeOsc52(text) {
1938
1943
  __name(writeOsc52, "writeOsc52");
1939
1944
  var linuxClipboardTool;
1940
1945
  var cachedWlPasteImageTypes = null;
1941
- var cachedClipboardModule = null;
1942
- var clipboardLoadAttempted = false;
1946
+ var clipboardModulePromise = null;
1943
1947
  async function getClipboardModule() {
1944
- if (clipboardLoadAttempted) return cachedClipboardModule;
1945
- clipboardLoadAttempted = true;
1946
- try {
1948
+ if (!clipboardModulePromise) {
1947
1949
  const modName = "@teddyzhu/clipboard";
1948
- cachedClipboardModule = await import(modName);
1949
- return cachedClipboardModule;
1950
- } catch (_e) {
1951
- debugLogger.error(
1952
- "Failed to load @teddyzhu/clipboard native module. Clipboard image features will be unavailable."
1953
- );
1954
- return null;
1950
+ clipboardModulePromise = import(modName).catch(() => {
1951
+ debugLogger.error(
1952
+ "Failed to load @teddyzhu/clipboard native module. Clipboard image features will be unavailable."
1953
+ );
1954
+ return null;
1955
+ });
1955
1956
  }
1957
+ return clipboardModulePromise;
1956
1958
  }
1957
1959
  __name(getClipboardModule, "getClipboardModule");
1958
1960
  function getLinuxClipboardTool() {
@@ -2101,7 +2103,7 @@ async function checkClipboardForImage(command, args) {
2101
2103
  });
2102
2104
  }
2103
2105
  __name(checkClipboardForImage, "checkClipboardForImage");
2104
- async function clipboardHasImage() {
2106
+ async function clipboardHasImage(onUnavailable) {
2105
2107
  cachedWlPasteImageTypes = null;
2106
2108
  if (process.platform === "linux") {
2107
2109
  try {
@@ -2125,7 +2127,10 @@ async function clipboardHasImage() {
2125
2127
  }
2126
2128
  try {
2127
2129
  const mod = await getClipboardModule();
2128
- if (!mod) return false;
2130
+ if (!mod) {
2131
+ onUnavailable?.();
2132
+ return false;
2133
+ }
2129
2134
  const clipboard = new mod.ClipboardManager();
2130
2135
  return clipboard.hasFormat("image");
2131
2136
  } catch (error) {
@@ -3010,7 +3015,10 @@ function KeypressProvider({
3010
3015
  sequence: pasteBuffer.toString()
3011
3016
  });
3012
3017
  } else {
3013
- const hasImage = await clipboardHasImage();
3018
+ let clipboardImageUnavailable = false;
3019
+ const hasImage = await clipboardHasImage(() => {
3020
+ clipboardImageUnavailable = true;
3021
+ });
3014
3022
  broadcast({
3015
3023
  name: "",
3016
3024
  ctrl: false,
@@ -3018,6 +3026,7 @@ function KeypressProvider({
3018
3026
  shift: false,
3019
3027
  paste: true,
3020
3028
  pasteImage: hasImage,
3029
+ clipboardImageUnavailable,
3021
3030
  sequence: pasteBuffer.toString()
3022
3031
  });
3023
3032
  }
@@ -3481,6 +3490,679 @@ import * as path2 from "node:path";
3481
3490
  // packages/cli/src/ui/components/messages/CompactToolGroupDisplay.tsx
3482
3491
  init_esbuild_shims();
3483
3492
 
3493
+ // packages/cli/node_modules/wrap-ansi/index.js
3494
+ init_esbuild_shims();
3495
+
3496
+ // packages/cli/node_modules/wrap-ansi/node_modules/string-width/index.js
3497
+ init_esbuild_shims();
3498
+ var segmenter = new Intl.Segmenter();
3499
+ var zeroWidthClusterRegex = new RegExp("^(?:\\p{Default_Ignorable_Code_Point}|\\p{Control}|\\p{Format}|\\p{Mark}|\\p{Surrogate})+$", "v");
3500
+ var leadingNonPrintingRegex = new RegExp("^[\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Mark}\\p{Surrogate}]+", "v");
3501
+ var rgiEmojiRegex = new RegExp("^\\p{RGI_Emoji}$", "v");
3502
+ var unqualifiedKeycapRegex = /^[\d#*]\u20E3$/;
3503
+ var extendedPictographicRegex = new RegExp("\\p{Extended_Pictographic}", "gu");
3504
+ function isDoubleWidthNonRgiEmojiSequence(segment) {
3505
+ if (segment.length > 50) {
3506
+ return false;
3507
+ }
3508
+ if (unqualifiedKeycapRegex.test(segment)) {
3509
+ return true;
3510
+ }
3511
+ if (segment.includes("\u200D")) {
3512
+ const pictographics = segment.match(extendedPictographicRegex);
3513
+ return pictographics !== null && pictographics.length >= 2;
3514
+ }
3515
+ return false;
3516
+ }
3517
+ __name(isDoubleWidthNonRgiEmojiSequence, "isDoubleWidthNonRgiEmojiSequence");
3518
+ function baseVisible(segment) {
3519
+ return segment.replace(leadingNonPrintingRegex, "");
3520
+ }
3521
+ __name(baseVisible, "baseVisible");
3522
+ function isZeroWidthCluster(segment) {
3523
+ return zeroWidthClusterRegex.test(segment);
3524
+ }
3525
+ __name(isZeroWidthCluster, "isZeroWidthCluster");
3526
+ function isHangulLeadingJamo(codePoint) {
3527
+ return codePoint >= 4352 && codePoint <= 4447 || codePoint >= 43360 && codePoint <= 43388;
3528
+ }
3529
+ __name(isHangulLeadingJamo, "isHangulLeadingJamo");
3530
+ function isHangulVowelJamo(codePoint) {
3531
+ return codePoint >= 4448 && codePoint <= 4519 || codePoint >= 55216 && codePoint <= 55238;
3532
+ }
3533
+ __name(isHangulVowelJamo, "isHangulVowelJamo");
3534
+ function isHangulTrailingJamo(codePoint) {
3535
+ return codePoint >= 4520 && codePoint <= 4607 || codePoint >= 55243 && codePoint <= 55291;
3536
+ }
3537
+ __name(isHangulTrailingJamo, "isHangulTrailingJamo");
3538
+ function isHangulJamo(codePoint) {
3539
+ return isHangulLeadingJamo(codePoint) || isHangulVowelJamo(codePoint) || isHangulTrailingJamo(codePoint);
3540
+ }
3541
+ __name(isHangulJamo, "isHangulJamo");
3542
+ function hangulClusterWidth(visibleSegment, eastAsianWidthOptions) {
3543
+ const codePoints = [];
3544
+ for (const character of visibleSegment) {
3545
+ if (zeroWidthClusterRegex.test(character)) {
3546
+ continue;
3547
+ }
3548
+ codePoints.push(character.codePointAt(0));
3549
+ }
3550
+ if (codePoints.length === 0) {
3551
+ return void 0;
3552
+ }
3553
+ let width = 0;
3554
+ for (let index = 0; index < codePoints.length; index++) {
3555
+ const codePoint = codePoints[index];
3556
+ if (!isHangulJamo(codePoint)) {
3557
+ if (width === 0) {
3558
+ return void 0;
3559
+ }
3560
+ for (let remaining = index; remaining < codePoints.length; remaining++) {
3561
+ width += eastAsianWidth(codePoints[remaining], eastAsianWidthOptions);
3562
+ }
3563
+ return width;
3564
+ }
3565
+ if (isHangulLeadingJamo(codePoint) && isHangulVowelJamo(codePoints[index + 1])) {
3566
+ width += 2;
3567
+ index += isHangulTrailingJamo(codePoints[index + 2]) ? 2 : 1;
3568
+ continue;
3569
+ }
3570
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
3571
+ }
3572
+ return width;
3573
+ }
3574
+ __name(hangulClusterWidth, "hangulClusterWidth");
3575
+ function trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions) {
3576
+ let extra = 0;
3577
+ let first = true;
3578
+ for (const character of visibleSegment) {
3579
+ if (first) {
3580
+ first = false;
3581
+ continue;
3582
+ }
3583
+ if (character >= "\uFF00" && character <= "\uFFEF") {
3584
+ extra += eastAsianWidth(character.codePointAt(0), eastAsianWidthOptions);
3585
+ }
3586
+ }
3587
+ return extra;
3588
+ }
3589
+ __name(trailingHalfwidthWidth, "trailingHalfwidthWidth");
3590
+ function stringWidth2(input, options = {}) {
3591
+ if (typeof input !== "string" || input.length === 0) {
3592
+ return 0;
3593
+ }
3594
+ const {
3595
+ ambiguousIsNarrow = true,
3596
+ countAnsiEscapeCodes = false
3597
+ } = options;
3598
+ let string = input;
3599
+ if (!countAnsiEscapeCodes && (string.includes("\x1B") || string.includes("\x9B"))) {
3600
+ string = stripAnsi(string);
3601
+ }
3602
+ if (string.length === 0) {
3603
+ return 0;
3604
+ }
3605
+ if (/^[\u0020-\u007E]*$/.test(string)) {
3606
+ return string.length;
3607
+ }
3608
+ let width = 0;
3609
+ const eastAsianWidthOptions = { ambiguousAsWide: !ambiguousIsNarrow };
3610
+ for (const { segment } of segmenter.segment(string)) {
3611
+ if (isZeroWidthCluster(segment)) {
3612
+ continue;
3613
+ }
3614
+ if (rgiEmojiRegex.test(segment) || isDoubleWidthNonRgiEmojiSequence(segment)) {
3615
+ width += 2;
3616
+ continue;
3617
+ }
3618
+ const visibleSegment = baseVisible(segment);
3619
+ const hangulWidth = hangulClusterWidth(visibleSegment, eastAsianWidthOptions);
3620
+ if (hangulWidth !== void 0) {
3621
+ width += hangulWidth;
3622
+ continue;
3623
+ }
3624
+ const codePoint = visibleSegment.codePointAt(0);
3625
+ width += eastAsianWidth(codePoint, eastAsianWidthOptions);
3626
+ width += trailingHalfwidthWidth(visibleSegment, eastAsianWidthOptions);
3627
+ }
3628
+ return width;
3629
+ }
3630
+ __name(stringWidth2, "stringWidth");
3631
+
3632
+ // packages/cli/node_modules/ansi-styles/index.js
3633
+ init_esbuild_shims();
3634
+ var ANSI_BACKGROUND_OFFSET = 10;
3635
+ var wrapAnsi16 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${code + offset}m`, "wrapAnsi16");
3636
+ var wrapAnsi256 = /* @__PURE__ */ __name((offset = 0) => (code) => `\x1B[${38 + offset};5;${code}m`, "wrapAnsi256");
3637
+ var wrapAnsi16m = /* @__PURE__ */ __name((offset = 0) => (red, green, blue) => `\x1B[${38 + offset};2;${red};${green};${blue}m`, "wrapAnsi16m");
3638
+ var styles = {
3639
+ modifier: {
3640
+ reset: [0, 0],
3641
+ // 21 isn't widely supported and 22 does the same thing
3642
+ bold: [1, 22],
3643
+ dim: [2, 22],
3644
+ italic: [3, 23],
3645
+ underline: [4, 24],
3646
+ overline: [53, 55],
3647
+ inverse: [7, 27],
3648
+ hidden: [8, 28],
3649
+ strikethrough: [9, 29]
3650
+ },
3651
+ color: {
3652
+ black: [30, 39],
3653
+ red: [31, 39],
3654
+ green: [32, 39],
3655
+ yellow: [33, 39],
3656
+ blue: [34, 39],
3657
+ magenta: [35, 39],
3658
+ cyan: [36, 39],
3659
+ white: [37, 39],
3660
+ // Bright color
3661
+ blackBright: [90, 39],
3662
+ gray: [90, 39],
3663
+ // Alias of `blackBright`
3664
+ grey: [90, 39],
3665
+ // Alias of `blackBright`
3666
+ redBright: [91, 39],
3667
+ greenBright: [92, 39],
3668
+ yellowBright: [93, 39],
3669
+ blueBright: [94, 39],
3670
+ magentaBright: [95, 39],
3671
+ cyanBright: [96, 39],
3672
+ whiteBright: [97, 39]
3673
+ },
3674
+ bgColor: {
3675
+ bgBlack: [40, 49],
3676
+ bgRed: [41, 49],
3677
+ bgGreen: [42, 49],
3678
+ bgYellow: [43, 49],
3679
+ bgBlue: [44, 49],
3680
+ bgMagenta: [45, 49],
3681
+ bgCyan: [46, 49],
3682
+ bgWhite: [47, 49],
3683
+ // Bright color
3684
+ bgBlackBright: [100, 49],
3685
+ bgGray: [100, 49],
3686
+ // Alias of `bgBlackBright`
3687
+ bgGrey: [100, 49],
3688
+ // Alias of `bgBlackBright`
3689
+ bgRedBright: [101, 49],
3690
+ bgGreenBright: [102, 49],
3691
+ bgYellowBright: [103, 49],
3692
+ bgBlueBright: [104, 49],
3693
+ bgMagentaBright: [105, 49],
3694
+ bgCyanBright: [106, 49],
3695
+ bgWhiteBright: [107, 49]
3696
+ }
3697
+ };
3698
+ var modifierNames = Object.keys(styles.modifier);
3699
+ var foregroundColorNames = Object.keys(styles.color);
3700
+ var backgroundColorNames = Object.keys(styles.bgColor);
3701
+ var colorNames = [...foregroundColorNames, ...backgroundColorNames];
3702
+ function assembleStyles() {
3703
+ const codes = /* @__PURE__ */ new Map();
3704
+ for (const [groupName, group] of Object.entries(styles)) {
3705
+ for (const [styleName, style] of Object.entries(group)) {
3706
+ styles[styleName] = {
3707
+ open: `\x1B[${style[0]}m`,
3708
+ close: `\x1B[${style[1]}m`
3709
+ };
3710
+ group[styleName] = styles[styleName];
3711
+ codes.set(style[0], style[1]);
3712
+ }
3713
+ Object.defineProperty(styles, groupName, {
3714
+ value: group,
3715
+ enumerable: false
3716
+ });
3717
+ }
3718
+ Object.defineProperty(styles, "codes", {
3719
+ value: codes,
3720
+ enumerable: false
3721
+ });
3722
+ styles.color.close = "\x1B[39m";
3723
+ styles.bgColor.close = "\x1B[49m";
3724
+ styles.color.ansi = wrapAnsi16();
3725
+ styles.color.ansi256 = wrapAnsi256();
3726
+ styles.color.ansi16m = wrapAnsi16m();
3727
+ styles.bgColor.ansi = wrapAnsi16(ANSI_BACKGROUND_OFFSET);
3728
+ styles.bgColor.ansi256 = wrapAnsi256(ANSI_BACKGROUND_OFFSET);
3729
+ styles.bgColor.ansi16m = wrapAnsi16m(ANSI_BACKGROUND_OFFSET);
3730
+ Object.defineProperties(styles, {
3731
+ rgbToAnsi256: {
3732
+ value(red, green, blue) {
3733
+ if (red === green && green === blue) {
3734
+ if (red < 8) {
3735
+ return 16;
3736
+ }
3737
+ if (red > 248) {
3738
+ return 231;
3739
+ }
3740
+ return Math.round((red - 8) / 247 * 24) + 232;
3741
+ }
3742
+ return 16 + 36 * Math.round(red / 255 * 5) + 6 * Math.round(green / 255 * 5) + Math.round(blue / 255 * 5);
3743
+ },
3744
+ enumerable: false
3745
+ },
3746
+ hexToRgb: {
3747
+ value(hex) {
3748
+ const matches = /[a-f\d]{6}|[a-f\d]{3}/i.exec(hex.toString(16));
3749
+ if (!matches) {
3750
+ return [0, 0, 0];
3751
+ }
3752
+ let [colorString] = matches;
3753
+ if (colorString.length === 3) {
3754
+ colorString = [...colorString].map((character) => character + character).join("");
3755
+ }
3756
+ const integer = Number.parseInt(colorString, 16);
3757
+ return [
3758
+ /* eslint-disable no-bitwise */
3759
+ integer >> 16 & 255,
3760
+ integer >> 8 & 255,
3761
+ integer & 255
3762
+ /* eslint-enable no-bitwise */
3763
+ ];
3764
+ },
3765
+ enumerable: false
3766
+ },
3767
+ hexToAnsi256: {
3768
+ value: /* @__PURE__ */ __name((hex) => styles.rgbToAnsi256(...styles.hexToRgb(hex)), "value"),
3769
+ enumerable: false
3770
+ },
3771
+ ansi256ToAnsi: {
3772
+ value(code) {
3773
+ if (code < 8) {
3774
+ return 30 + code;
3775
+ }
3776
+ if (code < 16) {
3777
+ return 90 + (code - 8);
3778
+ }
3779
+ let red;
3780
+ let green;
3781
+ let blue;
3782
+ if (code >= 232) {
3783
+ red = ((code - 232) * 10 + 8) / 255;
3784
+ green = red;
3785
+ blue = red;
3786
+ } else {
3787
+ code -= 16;
3788
+ const remainder = code % 36;
3789
+ red = Math.floor(code / 36) / 5;
3790
+ green = Math.floor(remainder / 6) / 5;
3791
+ blue = remainder % 6 / 5;
3792
+ }
3793
+ const value = Math.max(red, green, blue) * 2;
3794
+ if (value === 0) {
3795
+ return 30;
3796
+ }
3797
+ let result = 30 + (Math.round(blue) << 2 | Math.round(green) << 1 | Math.round(red));
3798
+ if (value === 2) {
3799
+ result += 60;
3800
+ }
3801
+ return result;
3802
+ },
3803
+ enumerable: false
3804
+ },
3805
+ rgbToAnsi: {
3806
+ value: /* @__PURE__ */ __name((red, green, blue) => styles.ansi256ToAnsi(styles.rgbToAnsi256(red, green, blue)), "value"),
3807
+ enumerable: false
3808
+ },
3809
+ hexToAnsi: {
3810
+ value: /* @__PURE__ */ __name((hex) => styles.ansi256ToAnsi(styles.hexToAnsi256(hex)), "value"),
3811
+ enumerable: false
3812
+ }
3813
+ });
3814
+ return styles;
3815
+ }
3816
+ __name(assembleStyles, "assembleStyles");
3817
+ var ansiStyles = assembleStyles();
3818
+ var ansi_styles_default = ansiStyles;
3819
+
3820
+ // packages/cli/node_modules/wrap-ansi/index.js
3821
+ var ANSI_ESCAPE = "\x1B";
3822
+ var ANSI_ESCAPE_CSI = "\x9B";
3823
+ var ESCAPES = /* @__PURE__ */ new Set([
3824
+ ANSI_ESCAPE,
3825
+ ANSI_ESCAPE_CSI
3826
+ ]);
3827
+ var ANSI_ESCAPE_BELL = "\x07";
3828
+ var ANSI_CSI = "[";
3829
+ var ANSI_OSC = "]";
3830
+ var ANSI_SGR_TERMINATOR = "m";
3831
+ var ANSI_SGR_RESET = 0;
3832
+ var ANSI_SGR_RESET_FOREGROUND = 39;
3833
+ var ANSI_SGR_RESET_BACKGROUND = 49;
3834
+ var ANSI_SGR_RESET_UNDERLINE_COLOR = 59;
3835
+ var ANSI_SGR_FOREGROUND_EXTENDED = 38;
3836
+ var ANSI_SGR_BACKGROUND_EXTENDED = 48;
3837
+ var ANSI_SGR_UNDERLINE_COLOR_EXTENDED = 58;
3838
+ var ANSI_SGR_COLOR_MODE_256 = 5;
3839
+ var ANSI_SGR_COLOR_MODE_RGB = 2;
3840
+ var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
3841
+ var ANSI_ESCAPE_REGEX = new RegExp(`^\\u001B(?:\\${ANSI_CSI}(?<sgr>[0-9;]*)${ANSI_SGR_TERMINATOR}|${ANSI_ESCAPE_LINK}(?<uri>[^\\u0007\\u001B]*)(?:\\u0007|\\u001B\\\\))`);
3842
+ var ANSI_ESCAPE_CSI_REGEX = new RegExp(`^\\u009B(?<sgr>[0-9;]*)${ANSI_SGR_TERMINATOR}`);
3843
+ var ANSI_SGR_MODIFIER_CLOSE_CODES = new Set(ansi_styles_default.codes.values());
3844
+ ANSI_SGR_MODIFIER_CLOSE_CODES.delete(ANSI_SGR_RESET);
3845
+ var segmenter2 = new Intl.Segmenter();
3846
+ var getGraphemes = /* @__PURE__ */ __name((string) => Array.from(segmenter2.segment(string), ({ segment }) => segment), "getGraphemes");
3847
+ var TAB_SIZE = 8;
3848
+ var wrapAnsiCode = /* @__PURE__ */ __name((code) => `${ANSI_ESCAPE}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`, "wrapAnsiCode");
3849
+ var wrapAnsiHyperlink = /* @__PURE__ */ __name((url) => `${ANSI_ESCAPE}${ANSI_ESCAPE_LINK}${url}${ANSI_ESCAPE_BELL}`, "wrapAnsiHyperlink");
3850
+ var getSgrTokens = /* @__PURE__ */ __name((sgrParameters) => {
3851
+ const codes = sgrParameters.split(";").map((sgrParameter) => sgrParameter === "" ? ANSI_SGR_RESET : Number.parseInt(sgrParameter, 10));
3852
+ const sgrTokens = [];
3853
+ for (let index = 0; index < codes.length; index++) {
3854
+ const code = codes[index];
3855
+ if (!Number.isFinite(code)) {
3856
+ continue;
3857
+ }
3858
+ if (code === ANSI_SGR_FOREGROUND_EXTENDED || code === ANSI_SGR_BACKGROUND_EXTENDED || code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED) {
3859
+ if (index + 1 >= codes.length) {
3860
+ break;
3861
+ }
3862
+ const mode = codes[index + 1];
3863
+ if (mode === ANSI_SGR_COLOR_MODE_256 && Number.isFinite(codes[index + 2])) {
3864
+ sgrTokens.push([code, mode, codes[index + 2]]);
3865
+ index += 2;
3866
+ continue;
3867
+ }
3868
+ const red = codes[index + 2];
3869
+ const green = codes[index + 3];
3870
+ const blue = codes[index + 4];
3871
+ if (mode === ANSI_SGR_COLOR_MODE_RGB && Number.isFinite(red) && Number.isFinite(green) && Number.isFinite(blue)) {
3872
+ sgrTokens.push([code, mode, red, green, blue]);
3873
+ index += 4;
3874
+ continue;
3875
+ }
3876
+ break;
3877
+ }
3878
+ sgrTokens.push([code]);
3879
+ }
3880
+ return sgrTokens;
3881
+ }, "getSgrTokens");
3882
+ var removeActiveStyle = /* @__PURE__ */ __name((activeStyles, family) => {
3883
+ const activeStyleIndex = activeStyles.findIndex((activeStyle) => activeStyle.family === family);
3884
+ if (activeStyleIndex !== -1) {
3885
+ activeStyles.splice(activeStyleIndex, 1);
3886
+ }
3887
+ }, "removeActiveStyle");
3888
+ var upsertActiveStyle = /* @__PURE__ */ __name((activeStyles, nextActiveStyle) => {
3889
+ removeActiveStyle(activeStyles, nextActiveStyle.family);
3890
+ activeStyles.push(nextActiveStyle);
3891
+ }, "upsertActiveStyle");
3892
+ var removeModifierStylesByClose = /* @__PURE__ */ __name((activeStyles, closeCode) => {
3893
+ for (let index = activeStyles.length - 1; index >= 0; index--) {
3894
+ const activeStyle = activeStyles[index];
3895
+ if (activeStyle.family.startsWith("modifier-") && activeStyle.close === closeCode) {
3896
+ activeStyles.splice(index, 1);
3897
+ }
3898
+ }
3899
+ }, "removeModifierStylesByClose");
3900
+ var getColorStyle = /* @__PURE__ */ __name((code, sgrToken) => {
3901
+ if (code >= 30 && code <= 37 || code >= 90 && code <= 97 || code === ANSI_SGR_FOREGROUND_EXTENDED && sgrToken.length > 1) {
3902
+ return {
3903
+ family: "foreground",
3904
+ open: sgrToken.join(";"),
3905
+ close: ANSI_SGR_RESET_FOREGROUND
3906
+ };
3907
+ }
3908
+ if (code >= 40 && code <= 47 || code >= 100 && code <= 107 || code === ANSI_SGR_BACKGROUND_EXTENDED && sgrToken.length > 1) {
3909
+ return {
3910
+ family: "background",
3911
+ open: sgrToken.join(";"),
3912
+ close: ANSI_SGR_RESET_BACKGROUND
3913
+ };
3914
+ }
3915
+ if (code === ANSI_SGR_UNDERLINE_COLOR_EXTENDED && sgrToken.length > 1) {
3916
+ return {
3917
+ family: "underlineColor",
3918
+ open: sgrToken.join(";"),
3919
+ close: ANSI_SGR_RESET_UNDERLINE_COLOR
3920
+ };
3921
+ }
3922
+ }, "getColorStyle");
3923
+ var applySgrResetCode = /* @__PURE__ */ __name((code, activeStyles) => {
3924
+ if (code === ANSI_SGR_RESET) {
3925
+ activeStyles.length = 0;
3926
+ return true;
3927
+ }
3928
+ if (code === ANSI_SGR_RESET_FOREGROUND) {
3929
+ removeActiveStyle(activeStyles, "foreground");
3930
+ return true;
3931
+ }
3932
+ if (code === ANSI_SGR_RESET_BACKGROUND) {
3933
+ removeActiveStyle(activeStyles, "background");
3934
+ return true;
3935
+ }
3936
+ if (code === ANSI_SGR_RESET_UNDERLINE_COLOR) {
3937
+ removeActiveStyle(activeStyles, "underlineColor");
3938
+ return true;
3939
+ }
3940
+ if (ANSI_SGR_MODIFIER_CLOSE_CODES.has(code)) {
3941
+ removeModifierStylesByClose(activeStyles, code);
3942
+ return true;
3943
+ }
3944
+ return false;
3945
+ }, "applySgrResetCode");
3946
+ var applySgrToken = /* @__PURE__ */ __name((sgrToken, activeStyles) => {
3947
+ const [code] = sgrToken;
3948
+ if (applySgrResetCode(code, activeStyles)) {
3949
+ return;
3950
+ }
3951
+ const colorStyle = getColorStyle(code, sgrToken);
3952
+ if (colorStyle) {
3953
+ upsertActiveStyle(activeStyles, colorStyle);
3954
+ return;
3955
+ }
3956
+ const close = ansi_styles_default.codes.get(code);
3957
+ if (close !== void 0 && close !== ANSI_SGR_RESET) {
3958
+ upsertActiveStyle(activeStyles, {
3959
+ family: `modifier-${code}`,
3960
+ open: sgrToken.join(";"),
3961
+ close
3962
+ });
3963
+ }
3964
+ }, "applySgrToken");
3965
+ var applySgrParameters = /* @__PURE__ */ __name((sgrParameters, activeStyles) => {
3966
+ for (const sgrToken of getSgrTokens(sgrParameters)) {
3967
+ applySgrToken(sgrToken, activeStyles);
3968
+ }
3969
+ }, "applySgrParameters");
3970
+ var applySgrResets = /* @__PURE__ */ __name((sgrParameters, activeStyles) => {
3971
+ for (const sgrToken of getSgrTokens(sgrParameters)) {
3972
+ const [code] = sgrToken;
3973
+ applySgrResetCode(code, activeStyles);
3974
+ }
3975
+ }, "applySgrResets");
3976
+ var applyLeadingSgrResets = /* @__PURE__ */ __name((string, activeStyles) => {
3977
+ let remainder = string;
3978
+ while (remainder.length > 0) {
3979
+ if (remainder.startsWith(ANSI_ESCAPE) && remainder[1] !== "\\") {
3980
+ const match = ANSI_ESCAPE_REGEX.exec(remainder);
3981
+ if (!match) {
3982
+ break;
3983
+ }
3984
+ if (match.groups.sgr !== void 0) {
3985
+ applySgrResets(match.groups.sgr, activeStyles);
3986
+ }
3987
+ remainder = remainder.slice(match[0].length);
3988
+ continue;
3989
+ }
3990
+ if (remainder.startsWith(ANSI_ESCAPE_CSI)) {
3991
+ const match = ANSI_ESCAPE_CSI_REGEX.exec(remainder);
3992
+ if (!match || match.groups.sgr === void 0) {
3993
+ break;
3994
+ }
3995
+ applySgrResets(match.groups.sgr, activeStyles);
3996
+ remainder = remainder.slice(match[0].length);
3997
+ continue;
3998
+ }
3999
+ break;
4000
+ }
4001
+ }, "applyLeadingSgrResets");
4002
+ var getClosingSgrSequence = /* @__PURE__ */ __name((activeStyles) => [...activeStyles].reverse().map((activeStyle) => wrapAnsiCode(activeStyle.close)).join(""), "getClosingSgrSequence");
4003
+ var getOpeningSgrSequence = /* @__PURE__ */ __name((activeStyles) => activeStyles.map((activeStyle) => wrapAnsiCode(activeStyle.open)).join(""), "getOpeningSgrSequence");
4004
+ var wordLengths = /* @__PURE__ */ __name((string) => string.split(" ").map((word) => stringWidth2(word)), "wordLengths");
4005
+ var wrapWord = /* @__PURE__ */ __name((rows, word, columns) => {
4006
+ const characters = getGraphemes(word);
4007
+ let isInsideEscape = false;
4008
+ let isInsideLinkEscape = false;
4009
+ let visible = stringWidth2(stripAnsi(rows.at(-1)));
4010
+ for (const [index, character] of characters.entries()) {
4011
+ const characterLength = stringWidth2(character);
4012
+ if (visible + characterLength <= columns) {
4013
+ rows[rows.length - 1] += character;
4014
+ } else {
4015
+ rows.push(character);
4016
+ visible = 0;
4017
+ }
4018
+ if (ESCAPES.has(character) && !(isInsideLinkEscape && character === ANSI_ESCAPE && characters[index + 1] === "\\")) {
4019
+ isInsideEscape = true;
4020
+ const ansiEscapeLinkCandidate = characters.slice(index + 1, index + 1 + ANSI_ESCAPE_LINK.length).join("");
4021
+ isInsideLinkEscape = ansiEscapeLinkCandidate === ANSI_ESCAPE_LINK;
4022
+ }
4023
+ if (isInsideEscape) {
4024
+ if (isInsideLinkEscape) {
4025
+ if (character === ANSI_ESCAPE_BELL || character === "\\" && index > 0 && characters[index - 1] === ANSI_ESCAPE) {
4026
+ isInsideEscape = false;
4027
+ isInsideLinkEscape = false;
4028
+ }
4029
+ } else if (character === ANSI_SGR_TERMINATOR) {
4030
+ isInsideEscape = false;
4031
+ }
4032
+ continue;
4033
+ }
4034
+ visible += characterLength;
4035
+ if (visible === columns && index < characters.length - 1) {
4036
+ rows.push("");
4037
+ visible = 0;
4038
+ }
4039
+ }
4040
+ if (!visible && rows.at(-1).length > 0 && rows.length > 1) {
4041
+ rows[rows.length - 2] += rows.pop();
4042
+ }
4043
+ }, "wrapWord");
4044
+ var stringVisibleTrimSpacesRight = /* @__PURE__ */ __name((string) => {
4045
+ const words = string.split(" ");
4046
+ let last = words.length;
4047
+ while (last > 0) {
4048
+ if (stringWidth2(words[last - 1]) > 0) {
4049
+ break;
4050
+ }
4051
+ last--;
4052
+ }
4053
+ if (last === words.length) {
4054
+ return string;
4055
+ }
4056
+ return words.slice(0, last).join(" ") + words.slice(last).join("");
4057
+ }, "stringVisibleTrimSpacesRight");
4058
+ var expandTabs = /* @__PURE__ */ __name((line) => {
4059
+ if (!line.includes(" ")) {
4060
+ return line;
4061
+ }
4062
+ const segments = line.split(" ");
4063
+ let visible = 0;
4064
+ let expandedLine = "";
4065
+ for (const [index, segment] of segments.entries()) {
4066
+ expandedLine += segment;
4067
+ visible += stringWidth2(segment);
4068
+ if (index < segments.length - 1) {
4069
+ const spaces = TAB_SIZE - visible % TAB_SIZE;
4070
+ expandedLine += " ".repeat(spaces);
4071
+ visible += spaces;
4072
+ }
4073
+ }
4074
+ return expandedLine;
4075
+ }, "expandTabs");
4076
+ var exec = /* @__PURE__ */ __name((string, columns, options = {}) => {
4077
+ if (options.trim !== false && string.trim() === "") {
4078
+ return "";
4079
+ }
4080
+ let returnValue = "";
4081
+ let escapeUrl;
4082
+ const activeStyles = [];
4083
+ const lengths = wordLengths(string);
4084
+ let rows = [""];
4085
+ for (const [index, word] of string.split(" ").entries()) {
4086
+ if (options.trim !== false) {
4087
+ rows[rows.length - 1] = rows.at(-1).trimStart();
4088
+ }
4089
+ let rowLength = stringWidth2(rows.at(-1));
4090
+ if (index !== 0) {
4091
+ if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
4092
+ rows.push("");
4093
+ rowLength = 0;
4094
+ }
4095
+ if (rowLength > 0 || options.trim === false) {
4096
+ rows[rows.length - 1] += " ";
4097
+ rowLength++;
4098
+ }
4099
+ }
4100
+ if (options.hard && options.wordWrap !== false && lengths[index] > columns) {
4101
+ const remainingColumns = columns - rowLength;
4102
+ const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
4103
+ const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
4104
+ if (breaksStartingNextLine < breaksStartingThisLine) {
4105
+ rows.push("");
4106
+ }
4107
+ wrapWord(rows, word, columns);
4108
+ continue;
4109
+ }
4110
+ if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
4111
+ if (options.wordWrap === false && rowLength < columns) {
4112
+ wrapWord(rows, word, columns);
4113
+ continue;
4114
+ }
4115
+ rows.push("");
4116
+ }
4117
+ if (rowLength + lengths[index] > columns && options.wordWrap === false) {
4118
+ wrapWord(rows, word, columns);
4119
+ continue;
4120
+ }
4121
+ rows[rows.length - 1] += word;
4122
+ }
4123
+ if (options.trim !== false) {
4124
+ rows = rows.map((row) => stringVisibleTrimSpacesRight(row));
4125
+ }
4126
+ const preString = rows.join("\n");
4127
+ const pre = getGraphemes(preString);
4128
+ let preStringIndex = 0;
4129
+ for (const [index, character] of pre.entries()) {
4130
+ returnValue += character;
4131
+ if (character === ANSI_ESCAPE && pre[index + 1] !== "\\") {
4132
+ const { groups } = ANSI_ESCAPE_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
4133
+ if (groups.sgr !== void 0) {
4134
+ applySgrParameters(groups.sgr, activeStyles);
4135
+ } else if (groups.uri !== void 0) {
4136
+ escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
4137
+ }
4138
+ } else if (character === ANSI_ESCAPE_CSI) {
4139
+ const { groups } = ANSI_ESCAPE_CSI_REGEX.exec(preString.slice(preStringIndex)) || { groups: {} };
4140
+ if (groups.sgr !== void 0) {
4141
+ applySgrParameters(groups.sgr, activeStyles);
4142
+ }
4143
+ }
4144
+ if (pre[index + 1] === "\n") {
4145
+ if (escapeUrl) {
4146
+ returnValue += wrapAnsiHyperlink("");
4147
+ }
4148
+ returnValue += getClosingSgrSequence(activeStyles);
4149
+ } else if (character === "\n") {
4150
+ const openingStyles = [...activeStyles];
4151
+ applyLeadingSgrResets(preString.slice(preStringIndex + 1), openingStyles);
4152
+ returnValue += getOpeningSgrSequence(openingStyles);
4153
+ if (escapeUrl) {
4154
+ returnValue += wrapAnsiHyperlink(escapeUrl);
4155
+ }
4156
+ }
4157
+ preStringIndex += character.length;
4158
+ }
4159
+ return returnValue;
4160
+ }, "exec");
4161
+ function wrapAnsi(string, columns, options) {
4162
+ return String(string).normalize().replaceAll("\r\n", "\n").split("\n").map((line) => exec(expandTabs(line), columns, options)).join("\n");
4163
+ }
4164
+ __name(wrapAnsi, "wrapAnsi");
4165
+
3484
4166
  // packages/cli/src/ui/constants.ts
3485
4167
  init_esbuild_shims();
3486
4168
  var EstimatedArtWidth = 59;
@@ -3654,6 +4336,9 @@ var ToolElapsedTime = /* @__PURE__ */ __name(({
3654
4336
 
3655
4337
  // packages/cli/src/ui/components/messages/CompactToolGroupDisplay.tsx
3656
4338
  var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
4339
+ var COMPACT_GROUP_HORIZONTAL_PADDING = 2;
4340
+ var ELAPSED_TIME_MARGIN_LEFT = 1;
4341
+ var EXECUTING_ELAPSED_TIME_RESERVED_LABEL = "99h 59m 59s";
3657
4342
  function getOverallStatus(toolCalls) {
3658
4343
  if (toolCalls.some((t2) => t2.status === "Confirming" /* Confirming */))
3659
4344
  return "Confirming" /* Confirming */;
@@ -3680,6 +4365,23 @@ function getShellTimeoutMs(tool) {
3680
4365
  return void 0;
3681
4366
  }
3682
4367
  __name(getShellTimeoutMs, "getShellTimeoutMs");
4368
+ function isToolGroupActive(status) {
4369
+ return status === "Executing" /* Executing */ || status === "Pending" /* Pending */ || status === "Confirming" /* Confirming */;
4370
+ }
4371
+ __name(isToolGroupActive, "isToolGroupActive");
4372
+ function getElapsedTimeReservedWidth(tool, status) {
4373
+ if (status !== "Executing" /* Executing */) return 0;
4374
+ const timeoutMs = getShellTimeoutMs(tool);
4375
+ let label = EXECUTING_ELAPSED_TIME_RESERVED_LABEL;
4376
+ if (timeoutMs != null && timeoutMs > 0) {
4377
+ const maxElapsedStr = formatDuration(timeoutMs, {
4378
+ hideTrailingZeros: true
4379
+ });
4380
+ label = `(${maxElapsedStr} \xB7 timeout ${maxElapsedStr})`;
4381
+ }
4382
+ return ELAPSED_TIME_MARGIN_LEFT + stringWidth(label);
4383
+ }
4384
+ __name(getElapsedTimeReservedWidth, "getElapsedTimeReservedWidth");
3683
4385
  var TOOL_NAME_TO_CATEGORY = {
3684
4386
  [ToolDisplayNames.READ_FILE]: "read",
3685
4387
  [ToolDisplayNames.EDIT]: "edit",
@@ -3842,14 +4544,31 @@ function buildToolSummary(toolCalls, isActive) {
3842
4544
  return parts.join(", ");
3843
4545
  }
3844
4546
  __name(buildToolSummary, "buildToolSummary");
4547
+ function estimateCompactToolGroupHeight(toolCalls, contentWidth) {
4548
+ if (toolCalls.length === 0) return 0;
4549
+ const overallStatus = getOverallStatus(toolCalls);
4550
+ const activeTool = getActiveTool(toolCalls);
4551
+ const isActive = isToolGroupActive(overallStatus);
4552
+ const summary = `${buildToolSummary(toolCalls, isActive)}${isActive ? "\u2026" : ""}`;
4553
+ const summaryWidth = Math.max(
4554
+ 1,
4555
+ contentWidth - COMPACT_GROUP_HORIZONTAL_PADDING - STATUS_INDICATOR_WIDTH - getElapsedTimeReservedWidth(activeTool, overallStatus)
4556
+ );
4557
+ const wrappedSummary = wrapAnsi(summary, summaryWidth, {
4558
+ hard: true,
4559
+ trim: false
4560
+ });
4561
+ return Math.max(1, wrappedSummary.split("\n").length);
4562
+ }
4563
+ __name(estimateCompactToolGroupHeight, "estimateCompactToolGroupHeight");
3845
4564
  var CompactToolGroupDisplay = /* @__PURE__ */ __name(({ toolCalls, contentWidth }) => {
3846
4565
  if (toolCalls.length === 0) return null;
3847
4566
  const overallStatus = getOverallStatus(toolCalls);
3848
4567
  const activeTool = getActiveTool(toolCalls);
3849
- const isActive = overallStatus === "Executing" /* Executing */ || overallStatus === "Pending" /* Pending */ || overallStatus === "Confirming" /* Confirming */;
4568
+ const isActive = isToolGroupActive(overallStatus);
3850
4569
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Box_default, { flexDirection: "column", width: contentWidth, paddingX: 1, gap: 0, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Box_default, { flexDirection: "row", children: [
3851
4570
  /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ToolStatusIndicator, { status: overallStatus, name: activeTool.name }),
3852
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Text, { wrap: "truncate-end", bold: true, children: [
4571
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Text, { wrap: "wrap", bold: true, children: [
3853
4572
  buildToolSummary(toolCalls, isActive),
3854
4573
  isActive && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Text, { children: "\u2026" }, "ellipsis")
3855
4574
  ] }) }),
@@ -4606,6 +5325,7 @@ export {
4606
5325
  useFocus,
4607
5326
  useKeypressContext,
4608
5327
  KeypressProvider,
5328
+ wrapAnsi,
4609
5329
  SCREEN_READER_USER_PREFIX,
4610
5330
  SCREEN_READER_MODEL_PREFIX,
4611
5331
  SHELL_COMMAND_NAME,
@@ -4619,6 +5339,7 @@ export {
4619
5339
  ToolStatusIndicator,
4620
5340
  ToolElapsedTime,
4621
5341
  isCollapsibleTool,
5342
+ estimateCompactToolGroupHeight,
4622
5343
  CompactToolGroupDisplay,
4623
5344
  getSystemInfoFields,
4624
5345
  calculateErrorRate,