@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260718.767a32484
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.
- package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
- package/bundled/qc-helper/docs/configuration/settings.md +15 -14
- package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +66 -17
- package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
- package/bundled/qc-helper/docs/features/sandbox.md +2 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +77 -46
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/SKILL.md +163 -403
- package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-ZFHA4QEQ.js} +30 -30
- package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-YRWOQVQA.js} +44 -44
- package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-U2P2IESZ.js} +1423 -487
- package/chunks/{agent-Z7NWL6XL.js → agent-GQXX6X5Y.js} +26 -26
- package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-3572NBCK.js} +26 -26
- package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-Y65DMM64.js} +103 -18
- package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-WR7I2XON.js} +2 -2
- package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-B4FUTPHD.js} +2 -44
- package/chunks/{bridge-XFKW6S7Q.js → bridge-N5RMGD7G.js} +31 -33
- package/chunks/{ca-C2JTT2N5.js → ca-M3GQQ26D.js} +7 -2
- package/chunks/channel-worker-group-HZVJKLGX.js +21 -0
- package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-3WDK4HNS.js} +34 -10
- package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-U2W6Q5F7.js} +6 -4
- package/chunks/{chunk-YYPXHMWO.js → chunk-2XRGFF5K.js} +6 -6
- package/chunks/{chunk-ZKMGAFYV.js → chunk-2YSZE74N.js} +2 -2
- package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
- package/chunks/{chunk-5EBKKSBX.js → chunk-336KPNNV.js} +2 -2
- package/chunks/{chunk-Q5GLXH5Q.js → chunk-3CL5SEDT.js} +6 -6
- package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
- package/chunks/{chunk-CJFNEBYB.js → chunk-3NWYQ7FX.js} +2 -2
- package/chunks/{chunk-WIASPMLX.js → chunk-3X2CFOUM.js} +358 -298
- package/chunks/{chunk-K7CRWKOE.js → chunk-3YJZ6WNY.js} +5812 -4520
- package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
- package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
- package/chunks/{chunk-TISZXPAX.js → chunk-4HCYNDMG.js} +1 -1
- package/chunks/chunk-4JBTZBCW.js +140 -0
- package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
- package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
- package/chunks/{chunk-N6FXRR6P.js → chunk-57RWF6R7.js} +1 -1
- package/chunks/chunk-5O34IMY5.js +59 -0
- package/chunks/{chunk-5LROA5W4.js → chunk-5QRK2VZG.js} +8 -8
- package/chunks/{chunk-7L4XBYVW.js → chunk-632KROVU.js} +10 -3
- package/chunks/{chunk-65N2J6V2.js → chunk-64XGKNSI.js} +3 -3
- package/chunks/{chunk-P6LART6G.js → chunk-66IT3EY2.js} +1059 -129
- package/chunks/{chunk-FXMC7SL2.js → chunk-6ITLKEOZ.js} +3 -3
- package/chunks/{chunk-F7NXQH4Y.js → chunk-6YIRYY3P.js} +1 -1
- package/chunks/{chunk-GGJII3FM.js → chunk-6Z5NRZVU.js} +92 -3
- package/chunks/{chunk-DPFBNG72.js → chunk-AEKYFMYE.js} +1 -1
- package/chunks/{chunk-2UUAIFQO.js → chunk-ANRANWVE.js} +9 -1
- package/chunks/{chunk-SXU3KKNI.js → chunk-ATJ7H5AS.js} +419 -76
- package/chunks/{chunk-6GETGQWP.js → chunk-C5NSOSF4.js} +64 -18
- package/chunks/{chunk-TQBODCFD.js → chunk-CMVFTMRD.js} +251 -3
- package/chunks/{chunk-DK33QJ3V.js → chunk-CZSAIBUB.js} +733 -14
- package/chunks/{chunk-3MX7D6QN.js → chunk-DASWPKXR.js} +32 -4
- package/chunks/{chunk-JSJFKYWT.js → chunk-DPSHAB47.js} +2 -2
- package/chunks/{chunk-7MJAZMXK.js → chunk-ECZFTRTP.js} +29 -78
- package/chunks/{chunk-H3FQOPPS.js → chunk-EKG3BHQY.js} +4 -4
- package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
- package/chunks/{chunk-EQY6POVO.js → chunk-F5XYN5VF.js} +2 -2
- package/chunks/chunk-FEOZBUMT.js +77 -0
- package/chunks/{chunk-L62SEJWY.js → chunk-FHUXCRAF.js} +4 -4
- package/chunks/{chunk-OFEVHGVU.js → chunk-FSJGBUQI.js} +818 -31
- package/chunks/{chunk-FBU7WRZI.js → chunk-FUTHTZVV.js} +1 -1
- package/chunks/{chunk-ZRKBI3DP.js → chunk-FZRES4GK.js} +1 -1
- package/chunks/{chunk-OKAIGAYW.js → chunk-G274ETR6.js} +3 -3
- package/chunks/{chunk-6GKMJPOC.js → chunk-GA3WUOO7.js} +5 -5
- package/chunks/{chunk-X362TMXZ.js → chunk-GAQOQMHY.js} +8 -6
- package/chunks/{chunk-WLXYAKV7.js → chunk-GG6RSNWS.js} +9 -4
- package/chunks/{chunk-CEW4HDPK.js → chunk-GUNTLALV.js} +2484 -362
- package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
- package/chunks/{chunk-RDRVMDWV.js → chunk-HIMIG6PI.js} +11 -11
- package/chunks/{chunk-MO7O5722.js → chunk-HQXQCIT2.js} +45 -5
- package/chunks/{chunk-LTNI523B.js → chunk-HT7L5FCZ.js} +28 -5
- package/chunks/{chunk-7NAWTFVY.js → chunk-IENO2YAT.js} +3 -3
- package/chunks/{chunk-3XJFUTNM.js → chunk-IK5TYYVR.js} +59 -12
- package/chunks/{chunk-AAR5SGMD.js → chunk-IVKLDHU6.js} +7 -5
- package/chunks/{chunk-6W6DI34P.js → chunk-IX7O5WI3.js} +180 -8
- package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
- package/chunks/{chunk-SPUYQB4T.js → chunk-JBAQ5BYX.js} +1 -1
- package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
- package/chunks/chunk-JDIUK2Y3.js +226 -0
- package/chunks/{chunk-L37RC7MQ.js → chunk-JUVTV4NF.js} +1 -1
- package/chunks/{chunk-WDWJ4OQJ.js → chunk-K2GBHL73.js} +4 -4
- package/chunks/{chunk-HHEFI4RP.js → chunk-KEVDWH3U.js} +857 -137
- package/chunks/{chunk-YU56QGXX.js → chunk-KTKETHMY.js} +1 -1
- package/chunks/{chunk-WDW64OW3.js → chunk-LGY7PG7Q.js} +5 -5
- package/chunks/{chunk-E67NFMF4.js → chunk-LKR7QQ63.js} +37 -3
- package/chunks/{chunk-4YWLED2A.js → chunk-LSFVUGXT.js} +9 -6
- package/chunks/{chunk-W34A5MJH.js → chunk-LTD3CHGS.js} +1 -1
- package/chunks/chunk-LXXMOYPL.js +22 -0
- package/chunks/{chunk-BBNVFRGD.js → chunk-MI2V6IWU.js} +1 -1
- package/chunks/{chunk-UFOKA4PR.js → chunk-O2K6BLPZ.js} +114 -4
- package/chunks/{chunk-B5I2IIWY.js → chunk-OBYAX5QZ.js} +6 -6
- package/chunks/{chunk-V7EQTZYR.js → chunk-OCQ2QTFJ.js} +203 -47
- package/chunks/{chunk-VBRRNQB7.js → chunk-OPVIKLKK.js} +112 -25
- package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
- package/chunks/{chunk-TTUO4DNG.js → chunk-OXOEOOQU.js} +126 -734
- package/chunks/{chunk-4FMG7EDJ.js → chunk-PWYLF7SS.js} +79 -16
- package/chunks/chunk-QFEY6OXH.js +45 -0
- package/chunks/{chunk-YX4LLZ3D.js → chunk-QPRDXJIC.js} +115 -40
- package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-XLIRF7IK.js → chunk-S4N3G4BB.js} +1 -1
- package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
- package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
- package/chunks/{chunk-PZL23GTM.js → chunk-T3W4SDRB.js} +2 -0
- package/chunks/chunk-T4TZQJ7W.js +48 -0
- package/chunks/{chunk-K4PZ5F5T.js → chunk-TVYM3Q3J.js} +101 -8
- package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
- package/chunks/{chunk-6OATMEYN.js → chunk-U2LNTX56.js} +12 -4
- package/chunks/{chunk-422XAKCK.js → chunk-U2XBPBO3.js} +4 -3
- package/chunks/{chunk-LNUXFLLJ.js → chunk-U4FJ26D2.js} +54 -6
- package/chunks/{chunk-ZQTZXVHP.js → chunk-U6OPT4H2.js} +4 -18
- package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
- package/chunks/{chunk-CUUXANEQ.js → chunk-URP6O2PP.js} +6 -1
- package/chunks/{chunk-GDQQRV43.js → chunk-V2FRLYHN.js} +3 -3
- package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
- package/chunks/{chunk-TXY2C3D2.js → chunk-VNN3JNYT.js} +1 -1
- package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-WX6SD4IQ.js → chunk-WEPXQKGP.js} +1 -1
- package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
- package/chunks/{chunk-URU5UEK6.js → chunk-XA7OKDWM.js} +135 -68
- package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
- package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
- package/chunks/{chunk-OATTJGPJ.js → chunk-Y72B36CP.js} +7 -7
- package/chunks/{chunk-ZPAHLFZU.js → chunk-Z2LBNX3R.js} +2 -2
- package/chunks/{chunk-XXJKGHZV.js → chunk-ZTSDZQZO.js} +131 -4
- package/chunks/{computer-use-IYTX45WA.js → computer-use-UIFBH25Y.js} +26 -26
- package/chunks/{config-utils-CFT33LTP.js → config-utils-2LHI7JXU.js} +3 -3
- package/chunks/{contextCommand-272V77WU.js → contextCommand-VGZHKEH2.js} +28 -28
- package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-DIJOV6HV.js} +2 -2
- package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-OFVI4H6I.js} +26 -26
- package/chunks/{cron-create-36TIFKRT.js → cron-create-34GVLSW5.js} +4 -4
- package/chunks/{cron-delete-OQD3WULU.js → cron-delete-NMVKUL45.js} +4 -4
- package/chunks/{cron-list-4533T2FH.js → cron-list-277ZOR7L.js} +4 -4
- package/chunks/{daemon-RNGFPMAB.js → daemon-72MEV3TY.js} +361 -84
- package/chunks/daemon-status-provider-ZJJ6AOG2.js +75 -0
- package/chunks/{de-2VCDRDGU.js → de-56TMDIKS.js} +7 -2
- package/chunks/{dist-3V3ZV6ML.js → dist-4W3UGU2A.js} +1 -1
- package/chunks/{dist-HNN7DR2L.js → dist-G6QCGO2K.js} +58 -30
- package/chunks/{dist-ERCPDVA6.js → dist-ILVRL322.js} +4 -51
- package/chunks/{dist-PHEPJLXD.js → dist-KEZ5JWH4.js} +2 -2
- package/chunks/{dist-JZE7F6YR.js → dist-LQHDHBPP.js} +1 -1
- package/chunks/{dist-MOEC47TR.js → dist-SVHAGOLN.js} +1 -1
- package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-NPF4PVUE.js} +27 -27
- package/chunks/{edit-OMAF2QDR.js → edit-F7CT6NZH.js} +27 -27
- package/chunks/{en-NJCA3TAA.js → en-AXS2N62H.js} +12 -3
- package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-Z4ET3MZL.js} +26 -26
- package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-VYR7T5NX.js} +27 -29
- package/chunks/{environment-7TEWMJYN.js → environment-MBTXL57Q.js} +28 -28
- package/chunks/{errors-I4VKVX3F.js → errors-HN36J4FR.js} +28 -28
- package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-RU7JYFMF.js} +26 -26
- package/chunks/exitPlanMode-LUBAWMZQ.js +390 -0
- package/chunks/{fast-path-ZA57TOH4.js → fast-path-RFT3CDNZ.js} +2 -2
- package/chunks/{fr-5F3E7WKD.js → fr-ZJPE5OVN.js} +7 -2
- package/chunks/{gemini-UOAKVXBG.js → gemini-37NTNKZF.js} +215 -231
- package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-76HNOYNQ.js} +5 -5
- package/chunks/{glob-4GJQ2UFF.js → glob-DWD7JCZE.js} +32 -27
- package/chunks/{grep-5QSYXF2E.js → grep-NJRXFV5C.js} +32 -27
- package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-7GBDXW6U.js} +30 -30
- package/chunks/{i18n-CYDUTF6F.js → i18n-MYD5VGED.js} +27 -27
- package/chunks/{initializer-NRFKUGIO.js → initializer-4DHPNAZG.js} +32 -32
- package/chunks/{installationInfo-WELKRHHE.js → installationInfo-RWOW6BZO.js} +27 -27
- package/chunks/{ja-66J6B53L.js → ja-57GG4QSL.js} +7 -2
- package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
- package/chunks/{list-JVDXEG2E.js → list-MMCNNHE7.js} +34 -34
- package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-UK4JWPYU.js} +31 -31
- package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-KCLY4XQM.js} +5 -5
- package/chunks/{ls-RXNIAQDE.js → ls-UNI4LAJ3.js} +4 -4
- package/chunks/{lsp-HB5LM5IL.js → lsp-HPACPJAN.js} +2 -2
- package/chunks/{mcp-YHOZN3ZM.js → mcp-AFCVA4UV.js} +31 -31
- package/chunks/{monitor-R7XZPJHQ.js → monitor-RK637BNO.js} +28 -27
- package/chunks/nonInteractiveCli-OUGWLHNV.js +129 -0
- package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-LY2X3CMF.js} +27 -27
- package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-MDYDW7IA.js} +14 -14
- package/chunks/{pidfile-XE4RRR2P.js → pidfile-2NUYRLKB.js} +27 -27
- package/chunks/processUtils-7QH3VBVN.js +29 -0
- package/chunks/{pt-TFZO5Y6T.js → pt-MCGZ3RZ4.js} +7 -2
- package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-3HT4TVDL.js} +28 -28
- package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-3A4TJVZT.js} +5 -5
- package/chunks/{read-file-XSUWXSR7.js → read-file-NE4FREFR.js} +10 -10
- package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-C6NT52T6.js} +2 -2
- package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-ENCU7QCL.js} +2 -2
- package/chunks/{ripGrep-APB3CDMU.js → ripGrep-DBLXWQCJ.js} +26 -26
- package/chunks/{ru-4L4LFHIT.js → ru-GA3NZW5Q.js} +7 -2
- package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-3NOCI6IL.js} +63 -39
- package/chunks/{runtime-EIO3NQKR.js → runtime-ZI7DSZSS.js} +35 -35
- package/chunks/{scheduler-JJDZBDRN.js → scheduler-SOVEP5K7.js} +26 -26
- package/chunks/{send-message-SR4WSXP2.js → send-message-5IFPZTPE.js} +3 -3
- package/chunks/{serve-WTIPB3EI.js → serve-DB6OCXIA.js} +31 -31
- package/chunks/{server-NJPHQHLH.js → server-LDY4YVU4.js} +2257 -648
- package/chunks/{session-O4AO7FTS.js → session-D6OG5SKX.js} +99 -72
- package/chunks/{settings-HQNDK7TG.js → settings-L52ZV5LO.js} +30 -30
- package/chunks/{shell-UIXM6PWG.js → shell-IU27OY3Q.js} +28 -26
- package/chunks/{skill-3XMB4ULV.js → skill-BSOJT7LE.js} +12 -12
- package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-HQAM25DD.js} +28 -29
- package/chunks/{src-USZKPUOC.js → src-7ZBIMTJZ.js} +130 -51
- package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-77457VVK.js} +28 -28
- package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-S7WC6EZG.js} +2310 -1835
- package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-ULOVVLY4.js} +3 -3
- package/chunks/{task-create-NUFOHU53.js → task-create-V2DCDSET.js} +7 -7
- package/chunks/{task-list-Z2IKQY3S.js → task-list-DPL5ZN55.js} +5 -5
- package/chunks/{task-stop-KQFIVQTJ.js → task-stop-CPEQWOT6.js} +2 -2
- package/chunks/{task-update-HKADXSTD.js → task-update-ZR45M5Q7.js} +7 -7
- package/chunks/{team-create-XXPRF3IQ.js → team-create-CO7HSUON.js} +26 -26
- package/chunks/{team-delete-SDNTGZLG.js → team-delete-HIWXCWJU.js} +5 -5
- package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-QDZF5YZY.js} +26 -26
- package/chunks/{theme-manager-P6UITO2L.js → theme-manager-UTUT3I4P.js} +27 -27
- package/chunks/todoWrite-HK6B3RHJ.js +358 -0
- package/chunks/{tool-search-DDNGK2LR.js → tool-search-2UUORA35.js} +11 -11
- package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-NTWG6G3F.js} +32 -34
- package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-YF37ZCN5.js} +27 -27
- package/chunks/update-relaunch-QFNHPMZZ.js +87 -0
- package/chunks/{updateCheck-QTVVISH7.js → updateCheck-B6O42VMD.js} +30 -28
- package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-SCIWJ4CX.js} +65 -65
- package/chunks/{version-U45RYOSD.js → version-7DA6LAI3.js} +1 -1
- package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-B62SJXM2.js} +5 -6
- package/chunks/{workflow-TCIAQYOA.js → workflow-Q5WG4THP.js} +27 -27
- package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-WWLAGWQW.js} +34 -34
- package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-BVYQVY2H.js} +1 -1
- package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-OD7ACADD.js} +32 -34
- package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-4LYJWS63.js} +37 -38
- package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-P2AQLZZS.js} +32 -32
- package/chunks/{write-file-JGRQR5VM.js → write-file-TEPGXNM3.js} +60 -27
- package/chunks/{zh-FSAH32JB.js → zh-E34DZ2S3.js} +12 -3
- package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-PEI2ZWUR.js} +12 -3
- package/cli-entry.js +92 -8
- package/cli.js +11 -11
- package/locales/ca.js +12 -2
- package/locales/de.js +12 -2
- package/locales/en.js +20 -5
- package/locales/fr.js +12 -2
- package/locales/ja.js +12 -2
- package/locales/pt.js +12 -2
- package/locales/ru.js +12 -2
- package/locales/zh-TW.js +19 -3
- package/locales/zh.js +19 -3
- package/package.json +3 -3
- package/web-shell/assets/{arc-CUeDlxvE.js → arc-Dh-N5oEG.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-DBOQgtfF.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-Dyxbuyju.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-DCJR5HPT.js} +1 -1
- package/web-shell/assets/channel-DY0fkcKT.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-BkMUcy3O.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-BSm4pLQk.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-CuRr-XgW.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-CLv7-w3t.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-Cz_n3-JW.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-CFT_62Hq.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DWz6DOZ6.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-C-mRhUzw.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DBvJ6PZo.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBvJ6PZo.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-BqCZS3i1.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-BGasdP8i.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-BSyLDkMy.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-CM-ZJxWC.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-wJdzt_C5.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DiH2fhpL.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-BZ9z1ZBl.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-BsyWDziR.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-CzdkxIrq.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-javIv2r2.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-CjHstylC.js} +1 -1
- package/web-shell/assets/{index-DzHwQkQq.js → index-BnJGxpah.js} +1 -1
- package/web-shell/assets/index-DhXB9nTa.js +1161 -0
- package/web-shell/assets/index-vYHgZ7bL.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-yXuQsomo.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-a85JhE6F.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-Dak_4BVj.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-COA-LuCV.js} +1 -1
- package/web-shell/assets/{linear-atZRE_L2.js → linear-DNAAAQWq.js} +1 -1
- package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-7Ff3aIUD.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-_rCOIODU.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-C9QCQ8EW.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CsaE4FA8.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-tV78naTg.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Dk3Rw7BZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-BGsAWcMX.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-zSxdtdoB.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-vLEEtDpO.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-j0BQh9Go.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-CRaUFFIu.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-D7Py_ofm.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-BrDIAZcp.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-Cecdw-w2.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
- package/chunks/chunk-2HRYPZT5.js +0 -25
- package/chunks/chunk-B7NUUEXC.js +0 -311
- package/chunks/chunk-CARU2RR2.js +0 -24
- package/chunks/chunk-GYTKQYDB.js +0 -23
- package/chunks/chunk-LQU7EVFA.js +0 -30
- package/chunks/chunk-OCPBI7J5.js +0 -18
- package/chunks/chunk-OJAMDVF5.js +0 -66
- package/chunks/chunk-QAW7PIHT.js +0 -168
- package/chunks/chunk-TEGEBB2I.js +0 -122
- package/chunks/daemon-status-provider-L4STG5VO.js +0 -76
- package/chunks/exitPlanMode-IHCJ5EEI.js +0 -909
- package/chunks/nonInteractiveCli-NSOB6D74.js +0 -129
- package/chunks/todoWrite-YNXB27GB.js +0 -531
- package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
- package/web-shell/assets/index-Cnvv4VcI.css +0 -5
- package/web-shell/assets/index-D1Uyklxa.js +0 -1088
- 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,
|
|
@@ -18,18 +11,20 @@ import {
|
|
|
18
11
|
getCommandSourceBadge,
|
|
19
12
|
getCommandSourceGroup,
|
|
20
13
|
getCommandSubcommandNames,
|
|
14
|
+
parseCodeFenceInfo,
|
|
21
15
|
splitMarkdownTableRow,
|
|
22
16
|
useSessionStats
|
|
23
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZTSDZQZO.js";
|
|
24
18
|
import {
|
|
25
19
|
Colors,
|
|
26
20
|
RowMouseController,
|
|
27
21
|
SettingsContext,
|
|
22
|
+
layoutRowForEvent,
|
|
28
23
|
measureElementPosition,
|
|
29
24
|
useMouseEvents,
|
|
30
25
|
useSettings,
|
|
31
26
|
useTerminalSize
|
|
32
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-U2XBPBO3.js";
|
|
33
28
|
import {
|
|
34
29
|
CompactToolGroupDisplay,
|
|
35
30
|
SCREEN_READER_MODEL_PREFIX,
|
|
@@ -47,12 +42,18 @@ import {
|
|
|
47
42
|
calculateErrorRate,
|
|
48
43
|
computeDiffColumnWidths,
|
|
49
44
|
computeSessionStats,
|
|
45
|
+
estimateCompactToolGroupHeight,
|
|
50
46
|
getSystemInfoFields,
|
|
51
47
|
isCollapsibleTool,
|
|
52
48
|
levelLabel,
|
|
53
49
|
useKeypress,
|
|
50
|
+
wrapAnsi,
|
|
54
51
|
wrapForMultiplexer
|
|
55
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-CZSAIBUB.js";
|
|
53
|
+
import {
|
|
54
|
+
MINIMUM_MAX_HEIGHT,
|
|
55
|
+
MaxSizedBox
|
|
56
|
+
} from "./chunk-EKG3BHQY.js";
|
|
56
57
|
import {
|
|
57
58
|
Box_default,
|
|
58
59
|
Static,
|
|
@@ -62,7 +63,10 @@ import {
|
|
|
62
63
|
theme,
|
|
63
64
|
use_is_screen_reader_enabled_default,
|
|
64
65
|
use_stdin_default
|
|
65
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-TVYM3Q3J.js";
|
|
67
|
+
import {
|
|
68
|
+
relaunchApp
|
|
69
|
+
} from "./chunk-5O34IMY5.js";
|
|
66
70
|
import {
|
|
67
71
|
isTerminalGoalStatusKind
|
|
68
72
|
} from "./chunk-7X7TEQNX.js";
|
|
@@ -72,7 +76,7 @@ import {
|
|
|
72
76
|
import {
|
|
73
77
|
resolveColor,
|
|
74
78
|
themeManager
|
|
75
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-XAAEDML2.js";
|
|
76
80
|
import {
|
|
77
81
|
cpLen,
|
|
78
82
|
cpSlice,
|
|
@@ -85,10 +89,7 @@ import {
|
|
|
85
89
|
stripUnsafeCharacters,
|
|
86
90
|
toCodePoints,
|
|
87
91
|
wrapToVisualLines
|
|
88
|
-
} from "./chunk-
|
|
89
|
-
import {
|
|
90
|
-
eastAsianWidth
|
|
91
|
-
} from "./chunk-QHTIBUWB.js";
|
|
92
|
+
} from "./chunk-SUARMD4Q.js";
|
|
92
93
|
import {
|
|
93
94
|
formatDuration,
|
|
94
95
|
formatMemoryUsage,
|
|
@@ -101,18 +102,18 @@ import {
|
|
|
101
102
|
} from "./chunk-57OAHC2Y.js";
|
|
102
103
|
import {
|
|
103
104
|
createLoadedSettingsAdapter
|
|
104
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-LTD3CHGS.js";
|
|
105
106
|
import {
|
|
106
107
|
getPersistScopeForModelSelection
|
|
107
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-C5NSOSF4.js";
|
|
108
109
|
import {
|
|
109
110
|
getCurrentLanguage,
|
|
110
111
|
localizeToolDisplayName,
|
|
111
112
|
t
|
|
112
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-HIMIG6PI.js";
|
|
113
114
|
import {
|
|
114
115
|
isWorkspaceTrusted
|
|
115
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-LSFVUGXT.js";
|
|
116
117
|
import {
|
|
117
118
|
ALL_PROVIDERS,
|
|
118
119
|
IdeClient,
|
|
@@ -131,23 +132,27 @@ import {
|
|
|
131
132
|
isValidEditorType,
|
|
132
133
|
resolveBaseUrl,
|
|
133
134
|
resolveMetadataKey,
|
|
134
|
-
resolveOwnsModel
|
|
135
|
+
resolveOwnsModel
|
|
136
|
+
} from "./chunk-3YJZ6WNY.js";
|
|
137
|
+
import {
|
|
135
138
|
stripAnsi
|
|
136
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-T4TZQJ7W.js";
|
|
137
140
|
import {
|
|
138
141
|
MAIN_SOURCE,
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
formatVisionBridgeNoticeDisplay,
|
|
143
|
+
getMCPServerStatus,
|
|
144
|
+
isVisionBridgeNoticeDisplay
|
|
145
|
+
} from "./chunk-66IT3EY2.js";
|
|
141
146
|
import {
|
|
142
147
|
ToolDisplayNames,
|
|
143
148
|
ToolNames,
|
|
144
149
|
ToolNamesMigration
|
|
145
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-ANRANWVE.js";
|
|
146
151
|
import {
|
|
147
152
|
createDebugLogger,
|
|
148
153
|
escapePath,
|
|
149
154
|
unescapePath
|
|
150
|
-
} from "./chunk-
|
|
155
|
+
} from "./chunk-UE5TZ55T.js";
|
|
151
156
|
import {
|
|
152
157
|
init_esbuild_shims
|
|
153
158
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2467,14 +2472,16 @@ function colorizeLine(line, language, theme2) {
|
|
|
2467
2472
|
);
|
|
2468
2473
|
}
|
|
2469
2474
|
__name(colorizeLine, "colorizeLine");
|
|
2470
|
-
function colorizeCode(code, language, availableHeight, maxWidth,
|
|
2475
|
+
function colorizeCode(code, language, availableHeight, maxWidth, options = {}) {
|
|
2476
|
+
const { theme: theme2, settings, tabWidth = 4, startLineNumber = 1 } = options;
|
|
2477
|
+
const firstLineNumber = Math.max(1, Math.trunc(startLineNumber));
|
|
2471
2478
|
const codeToHighlight = code.replace(/\n$/, "").replace(/\t/g, " ".repeat(tabWidth));
|
|
2472
2479
|
const activeTheme = theme2 || themeManager.getActiveTheme();
|
|
2473
2480
|
const showLineNumbers = settings?.merged.ui?.showLineNumbers ?? true;
|
|
2474
2481
|
const lowlight = ensureLowlightLoading();
|
|
2475
2482
|
try {
|
|
2476
2483
|
let lines = codeToHighlight.split("\n");
|
|
2477
|
-
const padWidth = String(lines.length).length;
|
|
2484
|
+
const padWidth = String(lines.length + firstLineNumber - 1).length;
|
|
2478
2485
|
let hiddenLinesCount = 0;
|
|
2479
2486
|
if (availableHeight !== void 0) {
|
|
2480
2487
|
availableHeight = Math.max(availableHeight, MINIMUM_MAX_HEIGHT);
|
|
@@ -2499,10 +2506,9 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2499
2506
|
lowlight
|
|
2500
2507
|
);
|
|
2501
2508
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
|
|
2502
|
-
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: `${String(
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
)} ` }),
|
|
2509
|
+
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: `${String(
|
|
2510
|
+
index + firstLineNumber + hiddenLinesCount
|
|
2511
|
+
).padStart(padWidth, " ")} ` }),
|
|
2506
2512
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, wrap: "wrap", children: contentToRender })
|
|
2507
2513
|
] }, index);
|
|
2508
2514
|
})
|
|
@@ -2514,7 +2520,7 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2514
2520
|
error
|
|
2515
2521
|
);
|
|
2516
2522
|
const lines = codeToHighlight.split("\n");
|
|
2517
|
-
const padWidth = String(lines.length).length;
|
|
2523
|
+
const padWidth = String(lines.length + firstLineNumber - 1).length;
|
|
2518
2524
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
2519
2525
|
MaxSizedBox,
|
|
2520
2526
|
{
|
|
@@ -2522,7 +2528,7 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2522
2528
|
maxWidth,
|
|
2523
2529
|
overflowDirection: "top",
|
|
2524
2530
|
children: lines.map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
|
|
2525
|
-
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, children: `${String(index +
|
|
2531
|
+
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, children: `${String(index + firstLineNumber).padStart(padWidth, " ")} ` }),
|
|
2526
2532
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: line })
|
|
2527
2533
|
] }, index))
|
|
2528
2534
|
}
|
|
@@ -2534,679 +2540,6 @@ __name(colorizeCode, "colorizeCode");
|
|
|
2534
2540
|
// packages/cli/src/ui/utils/TableRenderer.tsx
|
|
2535
2541
|
init_esbuild_shims();
|
|
2536
2542
|
|
|
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
2543
|
// packages/cli/src/ui/utils/latexRenderer.ts
|
|
3211
2544
|
init_esbuild_shims();
|
|
3212
2545
|
var COMMAND_REPLACEMENTS = {
|
|
@@ -6451,7 +5784,7 @@ function countMarkdownSourceBlocks(text) {
|
|
|
6451
5784
|
}
|
|
6452
5785
|
if (codeFenceMatch) {
|
|
6453
5786
|
activeCodeFence = codeFenceMatch[1];
|
|
6454
|
-
const lang = codeFenceMatch[2]
|
|
5787
|
+
const lang = parseCodeFenceInfo(codeFenceMatch[2]).lang?.toLowerCase();
|
|
6455
5788
|
if (lang) {
|
|
6456
5789
|
codeBlockLanguageCounts.set(
|
|
6457
5790
|
lang,
|
|
@@ -6480,14 +5813,15 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6480
5813
|
availableTerminalHeight,
|
|
6481
5814
|
contentWidth,
|
|
6482
5815
|
textColor = theme.text.primary,
|
|
6483
|
-
sourceCopyIndexOffsets
|
|
5816
|
+
sourceCopyIndexOffsets,
|
|
5817
|
+
enforceHeightBudget = false
|
|
6484
5818
|
}) => {
|
|
6485
5819
|
const { renderMode } = useRenderMode();
|
|
6486
5820
|
if (!text) return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, {});
|
|
6487
5821
|
const renderVisualBlocks = renderMode === "render";
|
|
6488
5822
|
const displayText = isPending ? text.trimEnd() : text;
|
|
6489
5823
|
const allLines = displayText.split(/\r?\n/);
|
|
6490
|
-
const pendingRenderedBudget = isPending && availableTerminalHeight !== void 0 ? Math.max(MIN_PENDING_CONTENT_LINES, availableTerminalHeight - 2) : void 0;
|
|
5824
|
+
const pendingRenderedBudget = (isPending || enforceHeightBudget) && availableTerminalHeight !== void 0 ? Math.max(MIN_PENDING_CONTENT_LINES, availableTerminalHeight - 2) : void 0;
|
|
6491
5825
|
const headerRegex = /^ *(#{1,4}) +(.*)/;
|
|
6492
5826
|
const codeFenceRegex = CODE_FENCE_RE;
|
|
6493
5827
|
const ulItemRegex = /^([ \t]*)([-*+]) +(.*)/;
|
|
@@ -6498,6 +5832,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6498
5832
|
const tableRowRegex = TABLE_ROW_RE;
|
|
6499
5833
|
const tableSeparatorRegex = TABLE_SEPARATOR_RE;
|
|
6500
5834
|
let lines = allLines;
|
|
5835
|
+
let droppedSourceLines = 0;
|
|
6501
5836
|
if (pendingRenderedBudget !== void 0) {
|
|
6502
5837
|
const tableClampRows = availableTerminalHeight !== void 0 ? Math.max(2, availableTerminalHeight - TABLE_PENDING_RESERVED_ROWS) : Number.MAX_SAFE_INTEGER;
|
|
6503
5838
|
const { keptLines } = fitPendingSlice(
|
|
@@ -6508,8 +5843,10 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6508
5843
|
);
|
|
6509
5844
|
if (keptLines < allLines.length) {
|
|
6510
5845
|
lines = allLines.slice(0, keptLines);
|
|
5846
|
+
droppedSourceLines = allLines.length - keptLines;
|
|
6511
5847
|
}
|
|
6512
5848
|
}
|
|
5849
|
+
const showTruncationCue = enforceHeightBudget && !isPending && droppedSourceLines > 0;
|
|
6513
5850
|
if (isPending && renderVisualBlocks && lines.length > 0) {
|
|
6514
5851
|
let start = lines.length;
|
|
6515
5852
|
while (start > 0 && /^\s*\|/.test(lines[start - 1])) start--;
|
|
@@ -6582,6 +5919,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6582
5919
|
let codeBlockIndex = 0;
|
|
6583
5920
|
let currentCodeBlockIndex = 0;
|
|
6584
5921
|
let currentCodeBlockLangIndex = 0;
|
|
5922
|
+
let currentCodeBlockStartLine = 1;
|
|
6585
5923
|
const codeBlockLanguageCounts = new Map(
|
|
6586
5924
|
sourceCopyIndexOffsets?.codeBlockLanguageCounts
|
|
6587
5925
|
);
|
|
@@ -6619,7 +5957,8 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6619
5957
|
codeBlockLangIndex: currentCodeBlockLangIndex,
|
|
6620
5958
|
isPending,
|
|
6621
5959
|
availableTerminalHeight,
|
|
6622
|
-
contentWidth
|
|
5960
|
+
contentWidth,
|
|
5961
|
+
startLineNumber: currentCodeBlockStartLine
|
|
6623
5962
|
},
|
|
6624
5963
|
key
|
|
6625
5964
|
)
|
|
@@ -6672,7 +6011,9 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6672
6011
|
codeBlockIndex += 1;
|
|
6673
6012
|
currentCodeBlockIndex = codeBlockIndex;
|
|
6674
6013
|
codeBlockFence = codeFenceMatch[1];
|
|
6675
|
-
|
|
6014
|
+
const fenceInfo = parseCodeFenceInfo(codeFenceMatch[2]);
|
|
6015
|
+
codeBlockLang = fenceInfo.lang;
|
|
6016
|
+
currentCodeBlockStartLine = fenceInfo.startLine;
|
|
6676
6017
|
if (codeBlockLang) {
|
|
6677
6018
|
const normalizedLang = codeBlockLang.toLowerCase();
|
|
6678
6019
|
const nextLangIndex = (codeBlockLanguageCounts.get(normalizedLang) ?? 0) + 1;
|
|
@@ -6896,7 +6237,8 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6896
6237
|
codeBlockLangIndex: currentCodeBlockLangIndex,
|
|
6897
6238
|
isPending,
|
|
6898
6239
|
availableTerminalHeight,
|
|
6899
|
-
contentWidth
|
|
6240
|
+
contentWidth,
|
|
6241
|
+
startLineNumber: currentCodeBlockStartLine
|
|
6900
6242
|
},
|
|
6901
6243
|
"line-eof"
|
|
6902
6244
|
)
|
|
@@ -6935,6 +6277,19 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6935
6277
|
)
|
|
6936
6278
|
);
|
|
6937
6279
|
}
|
|
6280
|
+
if (showTruncationCue) {
|
|
6281
|
+
contentBlocks.push(
|
|
6282
|
+
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
6283
|
+
Text,
|
|
6284
|
+
{
|
|
6285
|
+
color: theme.text.secondary,
|
|
6286
|
+
wrap: "truncate-end",
|
|
6287
|
+
children: `... ${droppedSourceLines} more line${droppedSourceLines === 1 ? "" : "s"} not shown (viewport too small) ...`
|
|
6288
|
+
},
|
|
6289
|
+
`truncation-cue-${contentBlocks.length}`
|
|
6290
|
+
)
|
|
6291
|
+
);
|
|
6292
|
+
}
|
|
6938
6293
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: contentBlocks });
|
|
6939
6294
|
}, "MarkdownDisplayInternal");
|
|
6940
6295
|
var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
@@ -6944,7 +6299,8 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6944
6299
|
codeBlockLangIndex,
|
|
6945
6300
|
isPending,
|
|
6946
6301
|
availableTerminalHeight,
|
|
6947
|
-
contentWidth
|
|
6302
|
+
contentWidth,
|
|
6303
|
+
startLineNumber = 1
|
|
6948
6304
|
}) => {
|
|
6949
6305
|
const settings = useSettings();
|
|
6950
6306
|
const { renderMode } = useRenderMode();
|
|
@@ -6988,8 +6344,7 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6988
6344
|
lang,
|
|
6989
6345
|
availableTerminalHeight,
|
|
6990
6346
|
contentWidth - CODE_BLOCK_PREFIX_PADDING,
|
|
6991
|
-
|
|
6992
|
-
settings
|
|
6347
|
+
{ settings, startLineNumber }
|
|
6993
6348
|
);
|
|
6994
6349
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { paddingLeft: CODE_BLOCK_PREFIX_PADDING, flexDirection: "column", children: colorizedTruncatedCode });
|
|
6995
6350
|
}
|
|
@@ -6999,8 +6354,7 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6999
6354
|
lang,
|
|
7000
6355
|
availableTerminalHeight,
|
|
7001
6356
|
contentWidth - CODE_BLOCK_PREFIX_PADDING,
|
|
7002
|
-
|
|
7003
|
-
settings
|
|
6357
|
+
{ settings, startLineNumber }
|
|
7004
6358
|
);
|
|
7005
6359
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
7006
6360
|
Box_default,
|
|
@@ -7566,9 +6920,7 @@ var DiffRenderer = /* @__PURE__ */ __name(({
|
|
|
7566
6920
|
language,
|
|
7567
6921
|
availableTerminalHeight,
|
|
7568
6922
|
contentWidth,
|
|
7569
|
-
theme2,
|
|
7570
|
-
settings,
|
|
7571
|
-
tabWidth
|
|
6923
|
+
{ theme: theme2, settings, tabWidth }
|
|
7572
6924
|
);
|
|
7573
6925
|
} else {
|
|
7574
6926
|
renderedOutput = renderDiffContent(
|
|
@@ -7839,6 +7191,7 @@ var Command = /* @__PURE__ */ ((Command2) => {
|
|
|
7839
7191
|
Command2["COMPLETION_UP"] = "completionUp";
|
|
7840
7192
|
Command2["COMPLETION_DOWN"] = "completionDown";
|
|
7841
7193
|
Command2["SUBMIT"] = "submit";
|
|
7194
|
+
Command2["QUEUE_MESSAGE"] = "queueMessage";
|
|
7842
7195
|
Command2["NEWLINE"] = "newline";
|
|
7843
7196
|
Command2["VOICE_PUSH_TO_TALK"] = "voicePushToTalk";
|
|
7844
7197
|
Command2["OPEN_EXTERNAL_EDITOR"] = "openExternalEditor";
|
|
@@ -7932,6 +7285,9 @@ var defaultKeyBindings = {
|
|
|
7932
7285
|
shift: false
|
|
7933
7286
|
}
|
|
7934
7287
|
],
|
|
7288
|
+
["queueMessage" /* QUEUE_MESSAGE */]: [
|
|
7289
|
+
{ key: "q", ctrl: true, command: false, shift: false, paste: false }
|
|
7290
|
+
],
|
|
7935
7291
|
// Split into multiple data-driven bindings
|
|
7936
7292
|
// Now also includes shift+enter for multi-line input
|
|
7937
7293
|
["newline" /* NEWLINE */]: [
|
|
@@ -9253,15 +8609,15 @@ var isCjkChar = /* @__PURE__ */ __name((char) => CJK_CHAR_REGEX.test(char), "isC
|
|
|
9253
8609
|
var WORD_BOUNDARIES_CACHE_MAX = 500;
|
|
9254
8610
|
var SEGMENTER_LENGTH_LIMIT = 1500;
|
|
9255
8611
|
var wordBoundariesCache = null;
|
|
9256
|
-
var
|
|
8612
|
+
var segmenter = null;
|
|
9257
8613
|
function ensureSegmenterLoaded() {
|
|
9258
|
-
if (
|
|
8614
|
+
if (segmenter !== null) return;
|
|
9259
8615
|
try {
|
|
9260
|
-
|
|
8616
|
+
segmenter = new Intl.Segmenter("zh", { granularity: "word" });
|
|
9261
8617
|
debugLogger4.info("Intl.Segmenter: initialized successfully");
|
|
9262
8618
|
} catch (err) {
|
|
9263
8619
|
debugLogger4.warn("Intl.Segmenter: failed to initialize", err);
|
|
9264
|
-
|
|
8620
|
+
segmenter = false;
|
|
9265
8621
|
}
|
|
9266
8622
|
}
|
|
9267
8623
|
__name(ensureSegmenterLoaded, "ensureSegmenterLoaded");
|
|
@@ -9301,14 +8657,14 @@ function getWordBoundaries(line, codePoints) {
|
|
|
9301
8657
|
return cached;
|
|
9302
8658
|
}
|
|
9303
8659
|
ensureSegmenterLoaded();
|
|
9304
|
-
if (!
|
|
8660
|
+
if (!segmenter) {
|
|
9305
8661
|
const fallback = charByCharFallback(line);
|
|
9306
8662
|
evictCacheIfNeeded();
|
|
9307
8663
|
wordBoundariesCache.set(line, fallback);
|
|
9308
8664
|
return fallback;
|
|
9309
8665
|
}
|
|
9310
8666
|
try {
|
|
9311
|
-
const segments =
|
|
8667
|
+
const segments = segmenter.segment(line);
|
|
9312
8668
|
const cpToStrIdx = [];
|
|
9313
8669
|
let strIdx = 0;
|
|
9314
8670
|
for (let i = 0; i < cps.length; i++) {
|
|
@@ -12033,7 +11389,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
12033
11389
|
text: planProps.plan,
|
|
12034
11390
|
isPending: false,
|
|
12035
11391
|
availableTerminalHeight: planHeight,
|
|
12036
|
-
contentWidth
|
|
11392
|
+
contentWidth,
|
|
11393
|
+
enforceHeightBudget: true
|
|
12037
11394
|
}
|
|
12038
11395
|
) });
|
|
12039
11396
|
} else if (confirmationDetails.type === "info") {
|
|
@@ -12656,7 +12013,11 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12656
12013
|
() => usingDetailedDisplay && typeof detailedDisplay === "string" ? sanitizeTerminalText(detailedDisplay) : detailedDisplay,
|
|
12657
12014
|
[detailedDisplay, usingDetailedDisplay]
|
|
12658
12015
|
);
|
|
12659
|
-
const
|
|
12016
|
+
const visionBridgeNoticeDisplay = isVisionBridgeNoticeDisplay(resultDisplay) ? resultDisplay : void 0;
|
|
12017
|
+
const visionBridgeNoticeText = visionBridgeNoticeDisplay ? sanitizeTerminalText(
|
|
12018
|
+
formatVisionBridgeNoticeDisplay(visionBridgeNoticeDisplay)
|
|
12019
|
+
) : void 0;
|
|
12020
|
+
const effectiveResultDisplay = usingDetailedDisplay ? sanitizedDetailedDisplay : visionBridgeNoticeDisplay ? void 0 : resultDisplay;
|
|
12660
12021
|
if (usingDetailedDisplay) {
|
|
12661
12022
|
renderOutputAsMarkdown = false;
|
|
12662
12023
|
}
|
|
@@ -12687,6 +12048,14 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12687
12048
|
),
|
|
12688
12049
|
emphasis === "high" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TrailingIndicator, {})
|
|
12689
12050
|
] }),
|
|
12051
|
+
visionBridgeNoticeText && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
12052
|
+
StringResultRenderer,
|
|
12053
|
+
{
|
|
12054
|
+
data: visionBridgeNoticeText,
|
|
12055
|
+
renderAsMarkdown: false,
|
|
12056
|
+
childWidth: innerWidth
|
|
12057
|
+
}
|
|
12058
|
+
) }),
|
|
12690
12059
|
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
12060
|
effectiveDisplayRenderer.type === "todo" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(TodoResultRenderer, { data: effectiveDisplayRenderer.data }),
|
|
12692
12061
|
effectiveDisplayRenderer.type === "plan" && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
@@ -13089,7 +12458,10 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13089
12458
|
memoryBadge
|
|
13090
12459
|
] });
|
|
13091
12460
|
}
|
|
13092
|
-
const collapsibleSummaryHeight =
|
|
12461
|
+
const collapsibleSummaryHeight = estimateCompactToolGroupHeight(
|
|
12462
|
+
collapsibleTools,
|
|
12463
|
+
contentWidth
|
|
12464
|
+
);
|
|
13093
12465
|
const memoryBadgeHeight = hasMemoryBadge ? 1 : 0;
|
|
13094
12466
|
const staticHeight = (
|
|
13095
12467
|
/* marginBottom */
|
|
@@ -14486,6 +13858,7 @@ var GeneralHelp = /* @__PURE__ */ __name(({ width }) => {
|
|
|
14486
13858
|
["Tab", t("Accept ghost text or completion")],
|
|
14487
13859
|
["Esc Esc", t("Clear input or cancel operation")],
|
|
14488
13860
|
["Ctrl+L", t("Clear the screen")],
|
|
13861
|
+
["Ctrl+Q", t("Queue message for the next turn")],
|
|
14489
13862
|
[
|
|
14490
13863
|
process.platform === "win32" ? "Ctrl+Enter" : "Ctrl+J",
|
|
14491
13864
|
t("Insert a newline")
|
|
@@ -16987,21 +16360,40 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
|
|
|
16987
16360
|
onToggle
|
|
16988
16361
|
}) => {
|
|
16989
16362
|
const ref = (0, import_react34.useRef)(null);
|
|
16363
|
+
const pressRef = (0, import_react34.useRef)(null);
|
|
16364
|
+
const { rows: terminalHeight } = useTerminalSize();
|
|
16990
16365
|
const settings = useSettings();
|
|
16991
16366
|
const clickable = !!settings.merged.ui?.useTerminalBuffer;
|
|
16992
16367
|
const isActive = !isPending;
|
|
16993
16368
|
useMouseEvents(
|
|
16994
16369
|
(0, import_react34.useCallback)(
|
|
16995
16370
|
(event) => {
|
|
16996
|
-
if (
|
|
16371
|
+
if (!ref.current) return;
|
|
16372
|
+
if (event.name === "move") {
|
|
16373
|
+
if (pressRef.current && (event.col !== pressRef.current.col || event.row !== pressRef.current.row)) {
|
|
16374
|
+
pressRef.current = null;
|
|
16375
|
+
}
|
|
16376
|
+
return;
|
|
16377
|
+
}
|
|
16378
|
+
if (event.name !== "left-press" && event.name !== "left-release") {
|
|
16379
|
+
pressRef.current = null;
|
|
16380
|
+
return;
|
|
16381
|
+
}
|
|
16997
16382
|
const metrics = measureElementPosition(ref.current);
|
|
16998
16383
|
const col = event.col - 1;
|
|
16999
|
-
const row = event.row
|
|
17000
|
-
|
|
16384
|
+
const row = layoutRowForEvent(ref.current, event.row, terminalHeight);
|
|
16385
|
+
const isInside = col >= metrics.x && col < metrics.x + metrics.width && row >= metrics.y && row < metrics.y + metrics.height;
|
|
16386
|
+
if (event.name === "left-press") {
|
|
16387
|
+
pressRef.current = isInside ? { col: event.col, row: event.row } : null;
|
|
16388
|
+
return;
|
|
16389
|
+
}
|
|
16390
|
+
const press = pressRef.current;
|
|
16391
|
+
pressRef.current = null;
|
|
16392
|
+
if (isInside && press?.col === event.col && press.row === event.row) {
|
|
17001
16393
|
onToggle();
|
|
17002
16394
|
}
|
|
17003
16395
|
},
|
|
17004
|
-
[onToggle]
|
|
16396
|
+
[onToggle, terminalHeight]
|
|
17005
16397
|
),
|
|
17006
16398
|
{ isActive }
|
|
17007
16399
|
);
|