@qwen-code/qwen-code 0.22.0-nightly.20260825.22bb5e8b9f → 0.22.1
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/coordinate/SKILL.md +3 -3
- package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +6 -6
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dws.md +120 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +3 -3
- package/bundled/qc-helper/docs/features/code-review.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +2 -0
- package/bundled/review/SKILL.md +47 -12
- package/bundled/review/references/persistence.md +6 -6
- package/bundled/review/references/posting.md +2 -2
- package/chunks/MaxSizedBox-UUTUE42J.js +112 -0
- package/chunks/{StandaloneSessionPicker-NEWUAPCT.js → StandaloneSessionPicker-XF2TVJFK.js} +78 -77
- package/chunks/{acp-startup-profiler-T4GEAPLX.js → acp-startup-profiler-GNYAL6LI.js} +2 -2
- package/chunks/{acpAgent-A5CIQGW6.js → acpAgent-GY53MJIW.js} +254 -158
- package/chunks/{agent-TQ6CYOIL.js → agent-7U6CC5KF.js} +41 -41
- package/chunks/agent-headless-32O4L2CT.js +87 -0
- package/chunks/{anthropicContentGenerator-FSBGS426.js → anthropicContentGenerator-U76GTVB6.js} +7 -7
- package/chunks/{artifact-tool-UQTNZDUF.js → artifact-tool-XDJCZZCF.js} +2 -2
- package/chunks/{askUserQuestion-BSZALR7M.js → askUserQuestion-ZXXERLEV.js} +2 -2
- package/chunks/{bridge-MBOVCHXN.js → bridge-DFX2FFH4.js} +57 -56
- package/chunks/{ca-DZBZOMLU.js → ca-7HPYOYSZ.js} +1 -0
- package/chunks/{channel-management-service-XGGL6PLF.js → channel-management-service-HXXS3HOZ.js} +4 -4
- package/chunks/channel-settings-store-ELLH2M4M.js +117 -0
- package/chunks/{channel-worker-group-GIXIF4VT.js → channel-worker-group-EVDC2P4K.js} +5 -5
- package/chunks/{channel-worker-manager-ZBSYXJEB.js → channel-worker-manager-IJJZHGEI.js} +5 -5
- package/chunks/{channel-worker-supervisor-NI6JEY4Q.js → channel-worker-supervisor-YSKB5GVB.js} +9 -5
- package/chunks/{chunk-CPZQJP6J.js → chunk-27ONXAFY.js} +1 -1
- package/chunks/{chunk-FXNLH7E6.js → chunk-2CRNTW2B.js} +18 -2
- package/chunks/{read-package-up-UXSW3YPB.js → chunk-2EAZ43JQ.js} +1 -0
- package/chunks/{chunk-YX4II73B.js → chunk-2FN2HNTI.js} +2 -2
- package/chunks/{chunk-7KGJGYGA.js → chunk-2MHGD7EE.js} +1 -1
- package/chunks/{chunk-H5K5MRU7.js → chunk-2NCVUT3C.js} +4 -4
- package/chunks/{chunk-VLEGGCEA.js → chunk-2NNTE2ED.js} +171 -1
- package/chunks/{chunk-LNKZTLTH.js → chunk-2SERYG4T.js} +1 -1
- package/chunks/{chunk-UEHH33VE.js → chunk-2YDYDDE2.js} +6 -6
- package/chunks/{chunk-U7GJPTEY.js → chunk-2YEZNBSD.js} +66 -60
- package/chunks/{chunk-L6PFEZUM.js → chunk-2ZV3CZKI.js} +82 -12
- package/chunks/{chunk-36XTQW3N.js → chunk-3B5DCAQU.js} +28 -11
- package/chunks/{chunk-DE24WTEJ.js → chunk-3BV7TZNQ.js} +3 -3
- package/chunks/{chunk-IKPQM6I5.js → chunk-3FSBMAYD.js} +1 -1
- package/chunks/{chunk-J54EA46E.js → chunk-3UZCLCXR.js} +3 -3
- package/chunks/{chunk-ZROP2DTX.js → chunk-43C2II2G.js} +5 -5
- package/chunks/{chunk-2ZH5XAOO.js → chunk-47SIHHPL.js} +8 -8
- package/chunks/{chunk-EEBIINBT.js → chunk-4DCP3362.js} +6 -14
- package/chunks/{chunk-DF6DJZIX.js → chunk-4TPAG3O7.js} +1 -1
- package/chunks/{chunk-6L5EXDDN.js → chunk-5CI4AXDD.js} +4 -4
- package/chunks/{chunk-7KOFLDEP.js → chunk-5JTIYALA.js} +1 -1
- package/chunks/{chunk-YPJVAQ7V.js → chunk-5MK32KJV.js} +3 -3
- package/chunks/{chunk-XXA72PGJ.js → chunk-5T4LWWNX.js} +2 -2
- package/chunks/{chunk-NA6AZRDQ.js → chunk-5Y2JCJAH.js} +2 -2
- package/chunks/{chunk-3ROKI6MD.js → chunk-5ZYZPDDF.js} +978 -886
- package/chunks/{chunk-U4SJGOBF.js → chunk-62PXFOK4.js} +4 -4
- package/chunks/{chunk-SKXXO64C.js → chunk-6E4WHQJV.js} +1 -1
- package/chunks/{chunk-6Y7XMJFF.js → chunk-6HTMIKXZ.js} +6 -6
- package/chunks/{chunk-MGEXTDBI.js → chunk-6KS24S3X.js} +2 -2
- package/chunks/{chunk-ZJWFRMCY.js → chunk-6US7BF3G.js} +2 -2
- package/chunks/{chunk-RSOG6JND.js → chunk-6YAR6ZU3.js} +2 -2
- package/chunks/{chunk-Z3GFRVAY.js → chunk-73WFGVIZ.js} +3 -3
- package/chunks/{chunk-IX3CWNG7.js → chunk-76WGY6LW.js} +3 -3
- package/chunks/{chunk-CGWPQ6IM.js → chunk-77TOMRBG.js} +3 -3
- package/chunks/{chunk-JVTU5JYO.js → chunk-7AS7QX72.js} +1 -1
- package/chunks/{chunk-RLIS2VLZ.js → chunk-7DPKPBOQ.js} +2 -2
- package/chunks/{chunk-XQNWTA4Y.js → chunk-7JPW6IYH.js} +1 -1
- package/chunks/{chunk-UEY5WCRB.js → chunk-7QGEJI7M.js} +1 -1
- package/chunks/{chunk-GWUZOBCQ.js → chunk-A7X32SCT.js} +5 -5
- package/chunks/{chunk-R7Q5V3A5.js → chunk-AYVIGUUK.js} +1 -1
- package/chunks/{chunk-AIT6BMBI.js → chunk-BDHLBR46.js} +17 -3
- package/chunks/{chunk-3G6MRLTM.js → chunk-BKDAF7ES.js} +2 -2
- package/chunks/{chunk-5AHCPETA.js → chunk-BQBUZDDH.js} +3 -3
- package/chunks/{chunk-3KV5KXKU.js → chunk-BVE5EMIG.js} +2 -2
- package/chunks/{chunk-NDVTSFWZ.js → chunk-BX2BZPFJ.js} +3 -3
- package/chunks/{chunk-7UVAWPYG.js → chunk-C4WBKZJT.js} +4 -4
- package/chunks/{chunk-HYBEI2LH.js → chunk-CITGRGCM.js} +2 -1
- package/chunks/{chunk-TEQKBONY.js → chunk-CPPYZHBN.js} +1 -1
- package/chunks/chunk-DCSAVGDJ.js +20 -0
- package/chunks/{chunk-RSWDOHXS.js → chunk-DEYPMJPD.js} +1 -1
- package/chunks/{chunk-OWE7TE3F.js → chunk-DP7LABIB.js} +1 -1
- package/chunks/{chunk-LQF4PWEU.js → chunk-E4I5MVBR.js} +1 -1
- package/chunks/{chunk-NFDTDV37.js → chunk-E55H6BZ7.js} +4 -0
- package/chunks/{chunk-K623ENWT.js → chunk-E6FGMDFQ.js} +4 -0
- package/chunks/{chunk-QWTNAHCM.js → chunk-EAV3TENS.js} +3 -3
- package/chunks/{chunk-27HAGBZG.js → chunk-EB4VDXNI.js} +1 -1
- package/chunks/{chunk-RDPKOVXL.js → chunk-EC5BONC3.js} +1 -1
- package/chunks/{chunk-JHZIPJWY.js → chunk-EEQYTWGU.js} +5 -5
- package/chunks/{chunk-MFSV57XN.js → chunk-EKP3M4RF.js} +1 -1
- package/chunks/{chunk-R544UY5E.js → chunk-ELY4QVIB.js} +1 -1
- package/chunks/{chunk-PFCVB5ZI.js → chunk-EMGAVCBZ.js} +2 -2
- package/chunks/{chunk-JGDTCEBH.js → chunk-FJWICLG7.js} +1 -1
- package/chunks/{chunk-OXMS5HCS.js → chunk-FK4H3V6S.js} +5 -5
- package/chunks/{chunk-WANR3VVK.js → chunk-FN5C6C7G.js} +125 -60
- package/chunks/{chunk-5PVLDRGJ.js → chunk-FPH6TXD3.js} +1 -1
- package/chunks/{chunk-OY3ZSNQC.js → chunk-FVDQ5E67.js} +3 -3
- package/chunks/{chunk-J752LLEJ.js → chunk-GNMJNDZE.js} +1 -1
- package/chunks/{chunk-MSCVPOZR.js → chunk-GNRVKN76.js} +4 -4
- package/chunks/{chunk-FNZ42WN7.js → chunk-GTUKW3I6.js} +1 -1
- package/chunks/{chunk-NSPS67BG.js → chunk-GZJUCMH4.js} +1 -1
- package/chunks/{chunk-SNWAXNJ4.js → chunk-HJOWQUE2.js} +14 -11
- package/chunks/{chunk-3K5ORUVO.js → chunk-I32QCIK7.js} +1 -1
- package/chunks/{chunk-BOQRZ443.js → chunk-I6VVOZDK.js} +2 -2
- package/chunks/{chunk-KUPVZ4EO.js → chunk-I6YW3T3W.js} +207 -26
- package/chunks/{chunk-O6CS7VRT.js → chunk-ICWGPK23.js} +7 -7
- package/chunks/{chunk-EFT2T2LA.js → chunk-IJVDHPKD.js} +2 -2
- package/chunks/{chunk-SEMN7BNM.js → chunk-IKN3IUJP.js} +9 -8
- package/chunks/{chunk-O5ONGZGZ.js → chunk-ILPXSKGQ.js} +2 -2
- package/chunks/{chunk-QQQSUCC4.js → chunk-IPQA4SR5.js} +1 -1
- package/chunks/{chunk-SXBRB7ZP.js → chunk-IRIX323G.js} +2 -2
- package/chunks/{chunk-EJ5XRNOK.js → chunk-J7MLXFC5.js} +2 -2
- package/chunks/{chunk-KDGY3ST4.js → chunk-JECO75XD.js} +2 -2
- package/chunks/chunk-JLGFGPZJ.js +346 -0
- package/chunks/{chunk-COT2IXPM.js → chunk-JUIJ3FXC.js} +5 -5
- package/chunks/{chunk-IFWUT4GY.js → chunk-JVPFTDBK.js} +1 -1
- package/chunks/{chunk-455ZIBFX.js → chunk-K63NK3KL.js} +13 -13
- package/chunks/{chunk-MBLNXX3G.js → chunk-KCOXDRQL.js} +5 -5
- package/chunks/{chunk-3LUGIYS3.js → chunk-KOJ6MHD5.js} +3 -1
- package/chunks/{chunk-W4JA6Z44.js → chunk-KWFP3WV6.js} +9 -7
- package/chunks/{chunk-QKSMM4HF.js → chunk-L436XFLJ.js} +1 -1
- package/chunks/{chunk-M4TV7AJX.js → chunk-LI2HEMKO.js} +4 -4
- package/chunks/{chunk-FLTGTSLG.js → chunk-LJP2BBMK.js} +4 -4
- package/chunks/{chunk-HTIG2U5C.js → chunk-LRKMQPMD.js} +1 -1
- package/chunks/{chunk-YS4H3OFV.js → chunk-MDZO5V2O.js} +6 -6
- package/chunks/{chunk-2HYQZYPT.js → chunk-MW5AHWOZ.js} +7 -7
- package/chunks/{chunk-SJDR2S55.js → chunk-MYLXL7F6.js} +11 -11
- package/chunks/{chunk-PIZZIIEA.js → chunk-MZS7GEC7.js} +1 -1
- package/chunks/{chunk-H3JIT2M6.js → chunk-NER3H7PI.js} +1 -1
- package/chunks/{chunk-XYUJPDPB.js → chunk-NVK4HJYQ.js} +1 -1
- package/chunks/{chunk-GQQHY6TL.js → chunk-NY3IJYAV.js} +7 -7
- package/chunks/{chunk-3E53DKST.js → chunk-O3BUXIPM.js} +3 -3
- package/chunks/{chunk-QOUFO7TV.js → chunk-O5YGAEQS.js} +6 -6
- package/chunks/{chunk-OINGLDAX.js → chunk-ODXCSIH5.js} +4 -4
- package/chunks/{chunk-FMDWTE5I.js → chunk-OI2DR6QB.js} +2 -2
- package/chunks/{chunk-ENZMDVCM.js → chunk-OQ6LTSX3.js} +1 -1
- package/chunks/{chunk-KUDADN3R.js → chunk-OT26ITEY.js} +3 -3
- package/chunks/{chunk-FZUVUBYH.js → chunk-OX44MOAN.js} +3 -3
- package/chunks/{chunk-LURJYO2T.js → chunk-OZ6KS6KW.js} +4 -0
- package/chunks/{chunk-D2IGZJA7.js → chunk-PAJGKZAA.js} +272 -3
- package/chunks/{chunk-MTKBZIXU.js → chunk-PVBT5QPD.js} +1 -1
- package/chunks/{chunk-HDH5IDJH.js → chunk-R2ZJH3FV.js} +3 -3
- package/chunks/{chunk-SJLW5XGQ.js → chunk-RRKNX553.js} +1 -1
- package/chunks/{chunk-JS55F2GJ.js → chunk-SDVF6A42.js} +3 -3
- package/chunks/{chunk-DZPWZPGJ.js → chunk-SKNVVYIJ.js} +3 -3
- package/chunks/{chunk-SIC4S3RX.js → chunk-SLEWBQWM.js} +2 -2
- package/chunks/{chunk-P7DVAZKV.js → chunk-SM7ZVKTF.js} +7 -7
- package/chunks/{chunk-3N7EFOOM.js → chunk-SQPOJ4ZI.js} +11 -1
- package/chunks/{chunk-YOM3CJOP.js → chunk-SRGENTPF.js} +19 -19
- package/chunks/{chunk-ZB7VDPZB.js → chunk-T2CRBIDJ.js} +1 -1
- package/chunks/{chunk-F37T2S4O.js → chunk-T2HMXHYA.js} +6 -6
- package/chunks/{chunk-5X33EPHJ.js → chunk-T6OODF2U.js} +1 -1
- package/chunks/{chunk-7GECZMES.js → chunk-TKO4TLT6.js} +3 -3
- package/chunks/{chunk-PQ4RTSTH.js → chunk-TOF4UZHH.js} +3 -3
- package/chunks/{chunk-LD76HNCC.js → chunk-UCSV2IZW.js} +3 -3
- package/chunks/{chunk-EUZE3GSL.js → chunk-UX3IFLJM.js} +93 -9
- package/chunks/{chunk-AHQBSQYT.js → chunk-V3GINY6K.js} +3 -3
- package/chunks/{chunk-DD5XZICM.js → chunk-VL4YX3FH.js} +1 -1
- package/chunks/{chunk-DLYJ3RN7.js → chunk-VMDURMFY.js} +58 -32
- package/chunks/{chunk-E6BJFSLJ.js → chunk-W2WRNJKX.js} +6 -6
- package/chunks/{chunk-YLFLHKDL.js → chunk-W3N5XAZ6.js} +1 -1
- package/chunks/{chunk-QKGJIP2H.js → chunk-WBT3STGU.js} +1 -1
- package/chunks/{chunk-X3PRXXUH.js → chunk-WEGXPP5E.js} +1 -1
- package/chunks/{chunk-V6R3IEHF.js → chunk-XJS54K4A.js} +2 -2
- package/chunks/{chunk-NDJ3436G.js → chunk-XNXWEGKB.js} +3 -3
- package/chunks/{chunk-UFWRXRQ5.js → chunk-XYX474JQ.js} +1312 -290
- package/chunks/{chunk-UY2JOZK7.js → chunk-ZEADBZLO.js} +3 -3
- package/chunks/{chunk-SNJOBGQV.js → chunk-ZJG323IA.js} +4 -3
- package/chunks/{chunk-CZIF7I53.js → chunk-ZKAZP2ZG.js} +2 -2
- package/chunks/{chunk-DV3KOUUU.js → chunk-ZLTEQYNC.js} +2 -2
- package/chunks/{chunk-RLR7K4JJ.js → chunk-ZWKGZB2K.js} +3 -3
- package/chunks/{chunk-EJ2GPZDU.js → chunk-ZXDM7DYV.js} +1049 -383
- package/chunks/config-utils-7M6PCTLT.js +113 -0
- package/chunks/contextCommand-G4QG3TW6.js +108 -0
- package/chunks/{core-runtime-SZFD2YQA.js → core-runtime-PKNQ63VL.js} +53 -52
- package/chunks/{create-sub-session-OXESCUS7.js → create-sub-session-PLGPY6TV.js} +53 -52
- package/chunks/{create-sub-session-5ZLCAS2P.js → create-sub-session-RVHSWVAP.js} +3 -3
- package/chunks/{cron-create-P4CPPO25.js → cron-create-IJGVR5R2.js} +4 -4
- package/chunks/{cron-delete-FPD75GL4.js → cron-delete-4N5BI6GL.js} +4 -4
- package/chunks/{cron-list-QPML4MWL.js → cron-list-2CATIPUX.js} +4 -4
- package/chunks/{daemon-HY4AVTUM.js → daemon-NAYK4XXU.js} +34 -12
- package/chunks/{daemon-git-worktree-guard-EAVTZ6CE.js → daemon-git-worktree-guard-LDBJXH2U.js} +331 -86
- package/chunks/daemon-status-provider-F5FEHVVG.js +118 -0
- package/chunks/daemon-trust-policy-C6YTU5CQ.js +114 -0
- package/chunks/{daemon-trust-policy-monitor-ITF54474.js → daemon-trust-policy-monitor-IGEJPHQ4.js} +59 -58
- package/chunks/{deferred-core-runtime-WQ4NQA3N.js → deferred-core-runtime-GHT3GDOR.js} +53 -52
- package/chunks/{display-image-HOBBUJS5.js → display-image-DR55LL6M.js} +5 -5
- package/chunks/dist-4Q7NTUNB.js +2512 -0
- package/chunks/{dist-RW4QZD3K.js → dist-6H6RZ5H6.js} +2 -2
- package/chunks/{dist-ZUWCGMJ4.js → dist-7CKN54NL.js} +1 -1
- package/chunks/{dist-ZQJEKFZH.js → dist-DJBNNPLN.js} +1 -1
- package/chunks/{dist-5BX3J3AL.js → dist-FVJZSIO4.js} +28 -7
- package/chunks/{dist-OB6D7E7T.js → dist-SATKXKUR.js} +1 -1
- package/chunks/{dist-MEANA2OS.js → dist-TJUDJTCB.js} +1 -1
- package/chunks/{dist-4LRFQF7R.js → dist-UQUFZDIY.js} +1 -1
- package/chunks/{dist-7HGG7XLA.js → dist-ZBVOXSKF.js} +1 -1
- package/chunks/earlyInputCapture-HOSJTLWP.js +109 -0
- package/chunks/{edit-4MZYBPF5.js → edit-KSPVUEAS.js} +42 -42
- package/chunks/{en-X66KZS7T.js → en-6MDBWMTG.js} +1 -0
- package/chunks/{enter-worktree-WNR4JUPU.js → enter-worktree-UOZ6ZTP7.js} +7 -7
- package/chunks/{enterPlanMode-2EL6YAM5.js → enterPlanMode-DZTABSKN.js} +41 -41
- package/chunks/{environment-4QYNT2L3.js → environment-JXOSW25V.js} +57 -54
- package/chunks/{errors-N66MMOYD.js → errors-IOXFDE4J.js} +55 -54
- package/chunks/{exit-worktree-BUHUM6YC.js → exit-worktree-G2QATUCV.js} +7 -7
- package/chunks/{exitPlanMode-F73VQJBO.js → exitPlanMode-PZG4FXRB.js} +41 -41
- package/chunks/{fast-path-3L4YK6SO.js → fast-path-EBS7NAVL.js} +2 -2
- package/chunks/{gemini-4PINQJWX.js → gemini-JELEKOVS.js} +107 -103
- package/chunks/{geminiContentGenerator-7T7IU2V5.js → geminiContentGenerator-I2CKP7XI.js} +8 -8
- package/chunks/{glob-TWUYSRRG.js → glob-TDVEVPQZ.js} +41 -41
- package/chunks/{goal-tools-FTDQHRRX.js → goal-tools-CNVXMSZD.js} +70 -27
- package/chunks/{grep-QUQ3J6SR.js → grep-3NLSS32D.js} +6 -6
- package/chunks/handleAutoUpdate-AWAGHKOX.js +111 -0
- package/chunks/{i18n-Q6K7AX7Y.js → i18n-CYA25C5F.js} +54 -53
- package/chunks/{image-gen-RYOBEDNB.js → image-gen-63NN2H5N.js} +9 -9
- package/chunks/initializer-JD2FLNLO.js +115 -0
- package/chunks/installationInfo-N3DCWVWR.js +109 -0
- package/chunks/{keychain-token-storage-LQTBIXSX.js → keychain-token-storage-3MGFRYGM.js} +2 -2
- package/chunks/list-XDQAUET5.js +118 -0
- package/chunks/{list-agents-522ILPAR.js → list-agents-EXRSHIDJ.js} +2 -2
- package/chunks/loadedSettingsAdapter-IK7H5JRK.js +112 -0
- package/chunks/{loggingContentGenerator-RTDUJF6Y.js → loggingContentGenerator-CZWUAHAI.js} +20 -20
- package/chunks/{loop-wakeup-VSA4TBIC.js → loop-wakeup-XBPB2BRO.js} +5 -5
- package/chunks/{ls-FUCLEBTL.js → ls-WFONAND2.js} +4 -4
- package/chunks/{lsp-FYP6TW4R.js → lsp-DUKPDUXN.js} +2 -2
- package/chunks/{managed-npm-update-NUDVKV7F.js → managed-npm-update-54W23SP5.js} +54 -53
- package/chunks/mcp-2E7ZLMEE.js +112 -0
- package/chunks/{monitor-AU2SG5OL.js → monitor-A4J5QRGJ.js} +41 -41
- package/chunks/nonInteractiveCli-ZNDXB62Y.js +185 -0
- package/chunks/{notebook-edit-TGU7XHIO.js → notebook-edit-4ANFZON5.js} +42 -42
- package/chunks/{openaiContentGenerator-QPFWSUPT.js → openaiContentGenerator-JCCJJQZC.js} +24 -24
- package/chunks/pidfile-DHV2Y7UD.js +113 -0
- package/chunks/{processUtils-ZSHN6VGJ.js → processUtils-JJAR56SO.js} +2 -2
- package/chunks/prompt-terminal-ledger-LDZ6QVYA.js +107 -0
- package/chunks/{qwenContentGenerator-MEXKZX5O.js → qwenContentGenerator-5JM44ZSA.js} +46 -46
- package/chunks/{qwenOAuth2-QHHUP4KQ.js → qwenOAuth2-JIYAWXTW.js} +8 -8
- package/chunks/{read-file-T7ESVJAQ.js → read-file-N3E5DY7N.js} +12 -12
- package/chunks/{read-mcp-resource-5QGBDZ43.js → read-mcp-resource-7A7NFSFL.js} +2 -2
- package/chunks/read-package-up-6T6ICKR7.js +13 -0
- package/chunks/{record-artifact-K6BYYWXY.js → record-artifact-CPJ4IJSD.js} +4 -4
- package/chunks/report-findings-VFM5DENC.js +33 -0
- package/chunks/{request-shutdown-EUXDG4IH.js → request-shutdown-AXVOFN5C.js} +7 -7
- package/chunks/{resumeHistoryUtils-JFEAZEWW.js → resumeHistoryUtils-YQRITQAG.js} +60 -59
- package/chunks/{ripGrep-KOP6AHIX.js → ripGrep-NEIHKBKB.js} +17 -17
- package/chunks/{run-qwen-serve-IAVPTDB7.js → run-qwen-serve-IWGPZADI.js} +577 -67
- package/chunks/{runtime-ZICTJKT5.js → runtime-I76HPFUE.js} +64 -63
- package/chunks/{scheduler-YNVAANNX.js → scheduler-M6YL4K4I.js} +55 -54
- package/chunks/{sdk-exporters-http-GCVM7E4X.js → sdk-exporters-http-XXSKBD2C.js} +2 -2
- package/chunks/{sdk-impl-E3KA6NMY.js → sdk-impl-VPNBLV7I.js} +4 -4
- package/chunks/{send-message-EJUCEIKN.js → send-message-A2GXDX3B.js} +7 -7
- package/chunks/{serve-NF25WYMU.js → serve-XY5S63GN.js} +59 -58
- package/chunks/{server-7LKYWHCE.js → server-TWXRRREO.js} +605 -334
- package/chunks/{session-5FBBDYPI.js → session-IT5ZXU7A.js} +104 -99
- package/chunks/{settings-F7IXLQQW.js → settings-IX5HOOCG.js} +58 -57
- package/chunks/{shell-IJYC4BVX.js → shell-LZ55AAJB.js} +41 -41
- package/chunks/{skill-RTZU743G.js → skill-WSZ53D2R.js} +107 -23
- package/chunks/{skill-settings-ZOHS4J2E.js → skill-settings-5U7FTJIK.js} +58 -57
- package/chunks/{spawnChannel-JLKWUMTV.js → spawnChannel-TMC6VXGN.js} +55 -54
- package/chunks/{standalone-update-W44DUURE.js → standalone-update-CUYGWTR4.js} +55 -54
- package/chunks/{startInteractiveUI-7HPDSR7W.js → startInteractiveUI-O6BI2OSA.js} +219 -170
- package/chunks/{syntheticOutput-3ITPRJOB.js → syntheticOutput-5AJ444QT.js} +3 -3
- package/chunks/{task-create-USIZE733.js → task-create-CDJSOEQD.js} +11 -11
- package/chunks/{task-list-AWAJUPIP.js → task-list-BELMPA75.js} +5 -5
- package/chunks/{task-stop-I2CQSMDX.js → task-stop-U3S3KZG2.js} +2 -2
- package/chunks/{task-update-TFF2KJGL.js → task-update-77VCFDDZ.js} +11 -11
- package/chunks/{team-create-IU2A6HD3.js → team-create-UF4TMQEH.js} +41 -41
- package/chunks/{team-delete-E4C4AMPF.js → team-delete-YWFXX77L.js} +5 -5
- package/chunks/{team-plan-approval-BWI43D37.js → team-plan-approval-U57NSR6C.js} +41 -41
- package/chunks/{terminal-image-renderer-GQAMHJF2.js → terminal-image-renderer-DRL3BROJ.js} +55 -54
- package/chunks/theme-manager-HHJPUDRN.js +104 -0
- package/chunks/{todoWrite-ZUS3HGEF.js → todoWrite-435EO2CS.js} +4 -4
- package/chunks/{tool-search-TQNHT22X.js → tool-search-SV35UV72.js} +17 -17
- package/chunks/{total-session-admission-JMM73HNK.js → total-session-admission-TQI7TCTL.js} +57 -56
- package/chunks/{trustedFolders-BKQ2UXIB.js → trustedFolders-YKK67IP3.js} +54 -53
- package/chunks/{update-relaunch-WI7IWWCM.js → update-relaunch-DX7LVA4P.js} +5 -5
- package/chunks/{updateCheck-K6WUHPPT.js → updateCheck-6JRTKTUF.js} +58 -57
- package/chunks/useAutoAcceptIndicator-MYXYSKSL.js +122 -0
- package/chunks/{validateNonInterActiveAuth-RXCZM7MM.js → validateNonInterActiveAuth-B26O4YJP.js} +100 -95
- package/chunks/{version-IRAYALVC.js → version-K5D7VJ4B.js} +2 -2
- package/chunks/{web-fetch-FUG5KGKQ.js → web-fetch-VFHZLLNZ.js} +16 -16
- package/chunks/{web-search-SO3LHSHP.js → web-search-AQE5A4J5.js} +9 -9
- package/chunks/{workflow-XJRA3GRI.js → workflow-XL6AEUZ7.js} +150 -52
- package/chunks/workspace-providers-status-H6TG34YV.js +116 -0
- package/chunks/{workspace-registration-store-LCB4GHNP.js → workspace-registration-store-I4U3V5LL.js} +1 -1
- package/chunks/{workspace-registry-QWPFWGEF.js → workspace-registry-2PWNIYNI.js} +57 -56
- package/chunks/{workspace-service-MPGLZJF6.js → workspace-service-4FGTUJLA.js} +65 -64
- package/chunks/workspace-skills-status-7VOLUDT6.js +115 -0
- package/chunks/{workspace-trust-reconciler-4QDDGBQZ.js → workspace-trust-reconciler-GJ466KCE.js} +65 -64
- package/chunks/write-file-PWOYCT2K.js +90 -0
- package/chunks/{zh-TW-FZ3ETVR2.js → zh-TW-MV4FWFB6.js} +1 -0
- package/chunks/{zh-K3OJZ5LI.js → zh-X3WGU6SI.js} +1 -0
- package/chunks/{zoom-image-TCBO2YL5.js → zoom-image-NYJPC3NI.js} +12 -12
- package/cli.js +13 -13
- package/locales/ca.js +1 -0
- package/locales/en.js +1 -0
- package/locales/zh-TW.js +1 -0
- package/locales/zh.js +1 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-hQsSuKY7.js → abnfDiagram-VCTEODGH-yq7z7Anb.js} +1 -1
- package/web-shell/assets/{arc-CpKLq3XD.js → arc-CbJO0xnT.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-Bplk1J-m.js → architectureDiagram-5GKGNRK7-CRh89421.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-B-cca4ej.js → blockDiagram-NRAW4CY4-C75KAhKv.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BZ8cn00E.js → c4Diagram-UCG6FXSJ-BzlMveFB.js} +1 -1
- package/web-shell/assets/channel-B3sGR79J.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DEQ2uYU0.js → chunk-2Q5K7J3B-DA8QDX3a.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-DqH8Lz-4.js → chunk-5VM5RSS4-Bgu7gQ7Y.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-Dru7qMTB.js → chunk-F27PBJKO-BOew7pIK.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-DN8KcdzT.js → chunk-G27WJ6UU-DHx1I-hO.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DMS-EquZ.js → chunk-JWPE2WC7-SarFW0WU.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-ubbLaEwq.js → chunk-LCL6LL3I-BLzP083Z.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-DdIZqnYy.js → chunk-POPQ4Y6H-Bmkv_iKm.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-DkgYFSnb.js → chunk-SVP7TREG-MPx9r1N2.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CaesHiYG.js → chunk-XXDRQBXY-Ck-09rKG.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-bqnC4Oq-.js → cose-bilkent-JH36ORCC-DWm6lfOG.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-mDRBhRzB.js → cynefin-OW5HDTMX-DcBUyr5R.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-B4Tod_Ik.js → cynefinDiagram-5FMLGOSQ-Df8qmd_p.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-DU9f-iCw.js → dagre-3AP2YEHR-DDmGspD7.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-BsYVeB7c.js → diagram-S7CK7UJ4-BK_qFvbi.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-frM5Sn9C.js → diagram-UQ7AKVKN-Uw3AP_bi.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-C1Z7uZdv.js → diagram-VSXAHHWV-CJOQKxY7.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-CIY4x0M9.js → diagram-VX7I27RA-DhdvZna5.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-hTl4GIbg.js → diagram-Z3DM3KII-edQU0nlP.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-4loIGTHZ.js → ebnfDiagram-PWID7BFC-4kugBEsO.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-B9Up14ul.js → erDiagram-SSCWMZ5O-BMkFivWO.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CIPfQBl9.js → flowDiagram-A5DVABFB-BM1ea8g-.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DaZk3lrl.js → ganttDiagram-EL5Y4UJY-CXj_cKRf.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-D-knAHoQ.js → gitGraphDiagram-WWUBYQGX-D0nEqwqu.js} +1 -1
- package/web-shell/assets/{index-Di8dYJlQ.js → index-B6JN54Pd.js} +1 -1
- package/web-shell/assets/{index-RNKRtdDf.css → index-C-XlQn24.css} +1 -1
- package/web-shell/assets/{index-pkWucfFU.js → index-DLjXM0dn.js} +367 -367
- package/web-shell/assets/{infoDiagram-RXCK75RN-7AJndIyq.js → infoDiagram-RXCK75RN-DF7aGGbQ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DjIU3IKv.js → ishikawaDiagram-5VMMS53U-CZYNX1lL.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-D3cf3462.js → journeyDiagram-EYS64GPL-CvrqMUz1.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-CmuPjlRe.js → kanban-definition-3QL26DDD-BZNJQZBj.js} +1 -1
- package/web-shell/assets/{layout-C2Ci1XAx.js → layout-Bf83x7D6.js} +1 -1
- package/web-shell/assets/{linear-CqOKGHue.js → linear-Bkc3ES2f.js} +1 -1
- package/web-shell/assets/{mermaid.core-Bnt57s5_.js → mermaid.core-C6xuovwz.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BSSJVfj3.js → mindmap-definition-FBJOCRG2-DzH6gVRg.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DNLHwge4.js → pegDiagram-XKGWAZYB-DCvLh2fa.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-CYRSio_9.js → pieDiagram-E7YTZNPT-BtjVlx_6.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CzSwKETq.js → quadrantDiagram-AXDQQJYC-IbroqxFe.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-Dzbg_Jis.js → railroadDiagram-O6MQD6OU-BvMykiWW.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CY3Apuzl.js → requirementDiagram-EFPCY7ZU-D-HHMyrh.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-432Hiv50.js → sankeyDiagram-P5KCCOFB-C0XXhB6d.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CucAf-fk.js → sequenceDiagram-WJ2MYXX4-DseAXj5d.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-RBc9fiXv.js → sizeCapture-X5ZJPWSS-Cek2EweK.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BwsgjK6k.js → stateDiagram-HBIQ2CUA-yLv8wafW.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-DMMYIqPz.js → swimlanes-XN3QIQJK-Cwz-opvE.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BbmmEMJb.js → timeline-definition-24CTP7MA-BJuFD7OG.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DlfQjNzM.js → vennDiagram-4TSXK5OY-CNAavdoV.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-86EXFbP6.js → wardleyDiagram-VM6X3IG4-DaIjAidq.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-794nZBSV.js → xychartDiagram-S5SC5T6Z-DkcQXjTy.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/MaxSizedBox-RQWAKXYC.js +0 -111
- package/chunks/agent-headless-YBSOXERA.js +0 -87
- package/chunks/channel-settings-store-DD6W3EJQ.js +0 -116
- package/chunks/config-utils-WXWWMH2D.js +0 -112
- package/chunks/contextCommand-UKPGPBW5.js +0 -107
- package/chunks/daemon-status-provider-D2HNWRDK.js +0 -116
- package/chunks/daemon-trust-policy-F4JM5CKX.js +0 -113
- package/chunks/earlyInputCapture-54M7AWAF.js +0 -108
- package/chunks/handleAutoUpdate-T36AMYVP.js +0 -110
- package/chunks/initializer-6USYPDX7.js +0 -114
- package/chunks/installationInfo-46TRIE5M.js +0 -108
- package/chunks/list-BCX6JAYS.js +0 -117
- package/chunks/loadedSettingsAdapter-7OBB7B6J.js +0 -111
- package/chunks/mcp-FCS6V74Y.js +0 -111
- package/chunks/nonInteractiveCli-CQUUSJ3N.js +0 -180
- package/chunks/pidfile-SIEQM3X5.js +0 -112
- package/chunks/prompt-terminal-ledger-YIAGDBHG.js +0 -106
- package/chunks/theme-manager-73W4SEDX.js +0 -103
- package/chunks/useAutoAcceptIndicator-SMCU7IYQ.js +0 -121
- package/chunks/workspace-providers-status-ZYXLTCJ5.js +0 -115
- package/chunks/workspace-skills-status-ZVFYCT5C.js +0 -114
- package/chunks/write-file-2KVXXVWB.js +0 -90
- package/web-shell/assets/channel-DggMZLoL.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DPMQMV0q.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DPMQMV0q.js +0 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C_HLER48.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-KP0j5nd5.js +0 -8
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
disableMouseEvents,
|
|
5
|
+
enableMouseEvents,
|
|
6
|
+
useKeypress,
|
|
7
|
+
useKeypressContext
|
|
8
|
+
} from "./chunk-O5YGAEQS.js";
|
|
3
9
|
import {
|
|
4
10
|
formatSupportedModes,
|
|
5
11
|
getCommandDisplayName,
|
|
6
12
|
getCommandSourceBadge,
|
|
7
13
|
getCommandSourceGroup,
|
|
8
14
|
getCommandSubcommandNames
|
|
9
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6E4WHQJV.js";
|
|
10
16
|
import {
|
|
11
17
|
INLINE_CODE_SPAN_PATTERN_SOURCE,
|
|
12
18
|
calculateAverageLatency,
|
|
@@ -21,11 +27,11 @@ import {
|
|
|
21
27
|
readInlineMathSpanAt,
|
|
22
28
|
unescapeMarkdownBeforeMath,
|
|
23
29
|
unescapeMarkdownDollars
|
|
24
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-OT26ITEY.js";
|
|
25
31
|
import {
|
|
26
32
|
MINIMUM_MAX_HEIGHT,
|
|
27
33
|
MaxSizedBox
|
|
28
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-IJVDHPKD.js";
|
|
29
35
|
import {
|
|
30
36
|
CompactToolGroupDisplay,
|
|
31
37
|
ICON,
|
|
@@ -38,10 +44,12 @@ import {
|
|
|
38
44
|
ToolStatusIndicator,
|
|
39
45
|
buildResumedHistoryItems,
|
|
40
46
|
build_default,
|
|
47
|
+
coalesceFindingsHistoryItems,
|
|
41
48
|
estimateCompactToolGroupHeight,
|
|
42
49
|
isCollapsibleTool,
|
|
50
|
+
isFindingsListDisplay,
|
|
43
51
|
wrapAnsi
|
|
44
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-2ZV3CZKI.js";
|
|
45
53
|
import {
|
|
46
54
|
formatDuration,
|
|
47
55
|
formatRelativeTime,
|
|
@@ -49,23 +57,10 @@ import {
|
|
|
49
57
|
} from "./chunk-3SH53ANB.js";
|
|
50
58
|
import {
|
|
51
59
|
theme
|
|
52
|
-
} from "./chunk-
|
|
53
|
-
import {
|
|
54
|
-
disableMouseEvents,
|
|
55
|
-
enableMouseEvents,
|
|
56
|
-
useKeypress,
|
|
57
|
-
useKeypressContext
|
|
58
|
-
} from "./chunk-QOUFO7TV.js";
|
|
60
|
+
} from "./chunk-FPH6TXD3.js";
|
|
59
61
|
import {
|
|
60
62
|
require_jsx_runtime
|
|
61
63
|
} from "./chunk-SV5PQVQE.js";
|
|
62
|
-
import {
|
|
63
|
-
isTerminalGoalStatusKind
|
|
64
|
-
} from "./chunk-EKTCKZV5.js";
|
|
65
|
-
import {
|
|
66
|
-
resolveColor,
|
|
67
|
-
themeManager
|
|
68
|
-
} from "./chunk-X3PRXXUH.js";
|
|
69
64
|
import {
|
|
70
65
|
Box_default,
|
|
71
66
|
Static,
|
|
@@ -75,25 +70,32 @@ import {
|
|
|
75
70
|
use_stdin_default,
|
|
76
71
|
use_stdout_default
|
|
77
72
|
} from "./chunk-5Q372OFJ.js";
|
|
78
|
-
import {
|
|
79
|
-
require_react
|
|
80
|
-
} from "./chunk-5QWWOFGG.js";
|
|
81
|
-
import {
|
|
82
|
-
getErrorMessage
|
|
83
|
-
} from "./chunk-7UVAWPYG.js";
|
|
84
73
|
import {
|
|
85
74
|
markKittyImageWritten,
|
|
86
75
|
prepareInlineTerminalImage,
|
|
87
76
|
renderMermaidImageAsync,
|
|
88
77
|
renderTerminalImage,
|
|
89
78
|
wasKittyImageWritten
|
|
90
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-BKDAF7ES.js";
|
|
91
80
|
import {
|
|
92
81
|
formatInlineImageOverflow
|
|
93
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-EC5BONC3.js";
|
|
83
|
+
import {
|
|
84
|
+
isTerminalGoalStatusKind
|
|
85
|
+
} from "./chunk-EKTCKZV5.js";
|
|
86
|
+
import {
|
|
87
|
+
resolveColor,
|
|
88
|
+
themeManager
|
|
89
|
+
} from "./chunk-WEGXPP5E.js";
|
|
90
|
+
import {
|
|
91
|
+
require_react
|
|
92
|
+
} from "./chunk-5QWWOFGG.js";
|
|
93
|
+
import {
|
|
94
|
+
getErrorMessage
|
|
95
|
+
} from "./chunk-C4WBKZJT.js";
|
|
94
96
|
import {
|
|
95
97
|
relaunchApp
|
|
96
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-NVK4HJYQ.js";
|
|
97
99
|
import {
|
|
98
100
|
cpLen,
|
|
99
101
|
cpSlice,
|
|
@@ -116,18 +118,18 @@ import {
|
|
|
116
118
|
} from "./chunk-57OAHC2Y.js";
|
|
117
119
|
import {
|
|
118
120
|
createLoadedSettingsAdapter
|
|
119
|
-
} from "./chunk-
|
|
121
|
+
} from "./chunk-7AS7QX72.js";
|
|
120
122
|
import {
|
|
121
123
|
getPersistScopeForModelSelection
|
|
122
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-MDZO5V2O.js";
|
|
123
125
|
import {
|
|
124
126
|
getCurrentLanguage,
|
|
125
127
|
localizeToolDisplayName,
|
|
126
128
|
t
|
|
127
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-W2WRNJKX.js";
|
|
128
130
|
import {
|
|
129
131
|
isWorkspaceTrusted
|
|
130
|
-
} from "./chunk-
|
|
132
|
+
} from "./chunk-XNXWEGKB.js";
|
|
131
133
|
import {
|
|
132
134
|
ALL_PROVIDERS,
|
|
133
135
|
PROVIDER_METADATA_NS,
|
|
@@ -140,12 +142,12 @@ import {
|
|
|
140
142
|
resolveBaseUrl,
|
|
141
143
|
resolveMetadataKey,
|
|
142
144
|
resolveOwnsModel
|
|
143
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-VMDURMFY.js";
|
|
144
146
|
import {
|
|
145
147
|
sanitizeForOsc,
|
|
146
148
|
supportsHyperlinks,
|
|
147
149
|
wrapForMultiplexer
|
|
148
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-ZWKGZB2K.js";
|
|
149
151
|
import {
|
|
150
152
|
IdeClient,
|
|
151
153
|
ShellExecutionService,
|
|
@@ -157,7 +159,7 @@ import {
|
|
|
157
159
|
getExternalEditorCommand,
|
|
158
160
|
ideContextStore,
|
|
159
161
|
isValidEditorType
|
|
160
|
-
} from "./chunk-
|
|
162
|
+
} from "./chunk-XYX474JQ.js";
|
|
161
163
|
import {
|
|
162
164
|
stripAnsi
|
|
163
165
|
} from "./chunk-TWPJO254.js";
|
|
@@ -167,18 +169,18 @@ import {
|
|
|
167
169
|
getMCPServerStatus,
|
|
168
170
|
isVisionBridgeNoticeDisplay,
|
|
169
171
|
uiTelemetryService
|
|
170
|
-
} from "./chunk-
|
|
172
|
+
} from "./chunk-UX3IFLJM.js";
|
|
171
173
|
import {
|
|
172
174
|
ToolDisplayNames,
|
|
173
175
|
ToolNames,
|
|
174
176
|
ToolNamesMigration,
|
|
175
177
|
isTerminalImageDisplay
|
|
176
|
-
} from "./chunk-
|
|
178
|
+
} from "./chunk-KOJ6MHD5.js";
|
|
177
179
|
import {
|
|
178
180
|
createDebugLogger,
|
|
179
181
|
escapePath,
|
|
180
182
|
unescapePath
|
|
181
|
-
} from "./chunk-
|
|
183
|
+
} from "./chunk-2NNTE2ED.js";
|
|
182
184
|
import {
|
|
183
185
|
init_esbuild_shims
|
|
184
186
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -7183,6 +7185,72 @@ var TodoItemRow = /* @__PURE__ */ __name(({ todo }) => {
|
|
|
7183
7185
|
] });
|
|
7184
7186
|
}, "TodoItemRow");
|
|
7185
7187
|
|
|
7188
|
+
// packages/cli/src/ui/components/FindingsDisplay.tsx
|
|
7189
|
+
init_esbuild_shims();
|
|
7190
|
+
var import_jsx_runtime14 = (
|
|
7191
|
+
// The unverified banner precedes the empty-state branch: an empty list is
|
|
7192
|
+
// still the product of the pass that reported it, and a low-effort "no
|
|
7193
|
+
// findings" that renders without the marker reads as a verified clean bill.
|
|
7194
|
+
__toESM(require_jsx_runtime(), 1)
|
|
7195
|
+
);
|
|
7196
|
+
var SEVERITY_COLORS = {
|
|
7197
|
+
Critical: /* @__PURE__ */ __name(() => Colors.AccentRed, "Critical"),
|
|
7198
|
+
Suggestion: /* @__PURE__ */ __name(() => Colors.AccentYellow, "Suggestion"),
|
|
7199
|
+
"Nice to have": /* @__PURE__ */ __name(() => Colors.Gray, "Nice to have")
|
|
7200
|
+
};
|
|
7201
|
+
function terminalSafe(text) {
|
|
7202
|
+
const withoutControls = text.replace(/[\u0000-\u001f\u007f-\u009f]/g, " ");
|
|
7203
|
+
return withoutControls.replace(/\s+/g, " ").trim();
|
|
7204
|
+
}
|
|
7205
|
+
__name(terminalSafe, "terminalSafe");
|
|
7206
|
+
var OUTCOME_LABELS = {
|
|
7207
|
+
fixed: "fixed",
|
|
7208
|
+
skipped: "skipped",
|
|
7209
|
+
no_change_needed: "no change needed"
|
|
7210
|
+
};
|
|
7211
|
+
var FindingsDisplay = /* @__PURE__ */ __name(({ data }) => /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
7212
|
+
data.level === "low" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Box_default, { minHeight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: Colors.Gray, children: "(low-effort pass \u2014 findings are unverified)" }) }),
|
|
7213
|
+
data.findings.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: Colors.Gray, children: "No findings." }) : data.findings.map((finding, index) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
7214
|
+
FindingRow,
|
|
7215
|
+
{
|
|
7216
|
+
finding
|
|
7217
|
+
},
|
|
7218
|
+
finding.id ?? `${finding.file}:${finding.line ?? ""}:${index}`
|
|
7219
|
+
)),
|
|
7220
|
+
data.omittedFindings !== void 0 && data.omittedFindings > 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: Colors.Gray, children: `(+${data.omittedFindings} more finding${data.omittedFindings === 1 ? "" : "s"} removed by history compaction)` })
|
|
7221
|
+
] }), "FindingsDisplay");
|
|
7222
|
+
var FindingRow = /* @__PURE__ */ __name(({ finding }) => {
|
|
7223
|
+
const severityColor = SEVERITY_COLORS[finding.severity]();
|
|
7224
|
+
const resolved = finding.outcome === "fixed" || finding.outcome === "no_change_needed";
|
|
7225
|
+
const icon = finding.outcome === void 0 ? ICON.CIRCLE_FILLED : resolved ? ICON.CHECK : ICON.CIRCLE_EMPTY;
|
|
7226
|
+
const where = terminalSafe(
|
|
7227
|
+
`${finding.file}${finding.line !== void 0 ? `:${finding.line}` : ""}`
|
|
7228
|
+
);
|
|
7229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Box_default, { flexDirection: "row", minHeight: 1, children: [
|
|
7230
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Box_default, { width: 3, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: resolved ? Colors.AccentGreen : severityColor, children: icon }) }),
|
|
7231
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text, { wrap: "wrap", children: [
|
|
7232
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: severityColor, bold: finding.severity === "Critical", children: finding.severity }),
|
|
7233
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text, { color: Colors.Gray, children: [
|
|
7234
|
+
finding.id ? ` ${terminalSafe(finding.id)}` : "",
|
|
7235
|
+
" "
|
|
7236
|
+
] }),
|
|
7237
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: Colors.AccentCyan, children: where }),
|
|
7238
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text, { color: Colors.Foreground, strikethrough: resolved, children: [
|
|
7239
|
+
" ",
|
|
7240
|
+
terminalSafe(finding.shortSummary)
|
|
7241
|
+
] }),
|
|
7242
|
+
finding.confidence === "low" && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Text, { color: Colors.Gray, children: " (low confidence)" }),
|
|
7243
|
+
finding.outcome && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text, { color: resolved ? Colors.AccentGreen : Colors.AccentYellow, children: [
|
|
7244
|
+
" ",
|
|
7245
|
+
"(",
|
|
7246
|
+
OUTCOME_LABELS[finding.outcome],
|
|
7247
|
+
finding.outcome === "skipped" && finding.outcomeNote ? `: ${terminalSafe(finding.outcomeNote)}` : "",
|
|
7248
|
+
")"
|
|
7249
|
+
] })
|
|
7250
|
+
] }) })
|
|
7251
|
+
] });
|
|
7252
|
+
}, "FindingRow");
|
|
7253
|
+
|
|
7186
7254
|
// packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx
|
|
7187
7255
|
init_esbuild_shims();
|
|
7188
7256
|
var import_react26 = __toESM(require_react(), 1);
|
|
@@ -7927,7 +7995,7 @@ function RowMouseController({
|
|
|
7927
7995
|
__name(RowMouseController, "RowMouseController");
|
|
7928
7996
|
|
|
7929
7997
|
// packages/cli/src/ui/components/shared/BaseSelectionList.tsx
|
|
7930
|
-
var
|
|
7998
|
+
var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
|
|
7931
7999
|
function getScrollOffsetForIndex(activeIndex, itemCount, maxItemsToShow) {
|
|
7932
8000
|
return Math.max(
|
|
7933
8001
|
0,
|
|
@@ -7977,8 +8045,8 @@ function BaseSelectionList({
|
|
|
7977
8045
|
const itemRefs = (0, import_react20.useRef)([]);
|
|
7978
8046
|
const visibleItems = items.slice(scrollOffset, scrollOffset + maxItemsToShow);
|
|
7979
8047
|
const numberColumnWidth = String(items.length).length;
|
|
7980
|
-
return /* @__PURE__ */ (0,
|
|
7981
|
-
mouseEnabled && isFocused && items.length > 0 && /* @__PURE__ */ (0,
|
|
8048
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Box_default, { ref: containerRef, flexDirection: "column", gap: itemGap, children: [
|
|
8049
|
+
mouseEnabled && isFocused && items.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
7982
8050
|
RowMouseController,
|
|
7983
8051
|
{
|
|
7984
8052
|
containerRef,
|
|
@@ -7989,7 +8057,7 @@ function BaseSelectionList({
|
|
|
7989
8057
|
onSelectIndex: selectIndex
|
|
7990
8058
|
}
|
|
7991
8059
|
),
|
|
7992
|
-
showScrollArrows && /* @__PURE__ */ (0,
|
|
8060
|
+
showScrollArrows && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
7993
8061
|
Text,
|
|
7994
8062
|
{
|
|
7995
8063
|
color: scrollOffset > 0 ? theme.text.primary : theme.text.secondary,
|
|
@@ -8017,7 +8085,7 @@ function BaseSelectionList({
|
|
|
8017
8085
|
const itemNumberText = `${String(itemIndex + 1).padStart(
|
|
8018
8086
|
numberColumnWidth
|
|
8019
8087
|
)}.`;
|
|
8020
|
-
return /* @__PURE__ */ (0,
|
|
8088
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
|
|
8021
8089
|
Box_default,
|
|
8022
8090
|
{
|
|
8023
8091
|
alignItems: "flex-start",
|
|
@@ -8025,7 +8093,7 @@ function BaseSelectionList({
|
|
|
8025
8093
|
itemRefs.current[index] = node;
|
|
8026
8094
|
},
|
|
8027
8095
|
children: [
|
|
8028
|
-
/* @__PURE__ */ (0,
|
|
8096
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { minWidth: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
8029
8097
|
Text,
|
|
8030
8098
|
{
|
|
8031
8099
|
color: isSelected ? theme.status.success : theme.text.primary,
|
|
@@ -8033,17 +8101,17 @@ function BaseSelectionList({
|
|
|
8033
8101
|
children: isSelected ? "\u203A" : " "
|
|
8034
8102
|
}
|
|
8035
8103
|
) }),
|
|
8036
|
-
showNumbers && /* @__PURE__ */ (0,
|
|
8104
|
+
showNumbers && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
8037
8105
|
Box_default,
|
|
8038
8106
|
{
|
|
8039
8107
|
marginRight: 1,
|
|
8040
8108
|
flexShrink: 0,
|
|
8041
8109
|
minWidth: itemNumberText.length,
|
|
8042
8110
|
"aria-state": { checked: isSelected },
|
|
8043
|
-
children: /* @__PURE__ */ (0,
|
|
8111
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Text, { color: numberColor, children: itemNumberText })
|
|
8044
8112
|
}
|
|
8045
8113
|
),
|
|
8046
|
-
/* @__PURE__ */ (0,
|
|
8114
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box_default, { flexGrow: 1, children: renderItem(item, {
|
|
8047
8115
|
isSelected,
|
|
8048
8116
|
titleColor,
|
|
8049
8117
|
numberColor
|
|
@@ -8053,7 +8121,7 @@ function BaseSelectionList({
|
|
|
8053
8121
|
item.key
|
|
8054
8122
|
);
|
|
8055
8123
|
}),
|
|
8056
|
-
showScrollArrows && /* @__PURE__ */ (0,
|
|
8124
|
+
showScrollArrows && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
8057
8125
|
Text,
|
|
8058
8126
|
{
|
|
8059
8127
|
color: scrollOffset + maxItemsToShow < items.length ? theme.text.primary : theme.text.secondary,
|
|
@@ -8065,7 +8133,7 @@ function BaseSelectionList({
|
|
|
8065
8133
|
__name(BaseSelectionList, "BaseSelectionList");
|
|
8066
8134
|
|
|
8067
8135
|
// packages/cli/src/ui/components/shared/RadioButtonSelect.tsx
|
|
8068
|
-
var
|
|
8136
|
+
var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
|
|
8069
8137
|
function RadioButtonSelect({
|
|
8070
8138
|
items,
|
|
8071
8139
|
initialIndex = 0,
|
|
@@ -8076,7 +8144,7 @@ function RadioButtonSelect({
|
|
|
8076
8144
|
maxItemsToShow = 10,
|
|
8077
8145
|
showNumbers = true
|
|
8078
8146
|
}) {
|
|
8079
|
-
return /* @__PURE__ */ (0,
|
|
8147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
8080
8148
|
BaseSelectionList,
|
|
8081
8149
|
{
|
|
8082
8150
|
items,
|
|
@@ -8089,13 +8157,13 @@ function RadioButtonSelect({
|
|
|
8089
8157
|
maxItemsToShow,
|
|
8090
8158
|
renderItem: (item, { titleColor }) => {
|
|
8091
8159
|
if (item.themeNameDisplay && item.themeTypeDisplay) {
|
|
8092
|
-
return /* @__PURE__ */ (0,
|
|
8160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Text, { color: titleColor, wrap: "truncate", children: [
|
|
8093
8161
|
item.themeNameDisplay,
|
|
8094
8162
|
" ",
|
|
8095
|
-
/* @__PURE__ */ (0,
|
|
8163
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text, { color: theme.text.secondary, children: item.themeTypeDisplay })
|
|
8096
8164
|
] }, item.key);
|
|
8097
8165
|
}
|
|
8098
|
-
return /* @__PURE__ */ (0,
|
|
8166
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Text, { color: titleColor, wrap: "truncate", children: item.label });
|
|
8099
8167
|
}
|
|
8100
8168
|
}
|
|
8101
8169
|
);
|
|
@@ -10966,7 +11034,7 @@ function renderSoftwareCursor(text) {
|
|
|
10966
11034
|
__name(renderSoftwareCursor, "renderSoftwareCursor");
|
|
10967
11035
|
|
|
10968
11036
|
// packages/cli/src/ui/components/shared/TextInput.tsx
|
|
10969
|
-
var
|
|
11037
|
+
var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
|
|
10970
11038
|
function ellipsizeMiddle(text, width) {
|
|
10971
11039
|
if (width <= 0) return "";
|
|
10972
11040
|
if (stringWidth(text) <= width) return text;
|
|
@@ -11088,13 +11156,13 @@ function TextInput({
|
|
|
11088
11156
|
const [cursorVisualRowAbsolute, cursorVisualColAbsolute] = buffer.visualCursor;
|
|
11089
11157
|
const scrollVisualRow = buffer.visualScrollRow;
|
|
11090
11158
|
const shouldRenderCursor = isActive && cursorVisible;
|
|
11091
|
-
return /* @__PURE__ */ (0,
|
|
11092
|
-
/* @__PURE__ */ (0,
|
|
11093
|
-
/* @__PURE__ */ (0,
|
|
11094
|
-
/* @__PURE__ */ (0,
|
|
11159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Box_default, { flexDirection: "column", gap: 1, children: [
|
|
11160
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Box_default, { children: [
|
|
11161
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { color: theme.text.accent, children: "> " }),
|
|
11162
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Box_default, { flexGrow: 1, flexDirection: "column", children: buffer.text.length === 0 && placeholder ? shouldRenderCursor ? /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Text, { children: [
|
|
11095
11163
|
renderSoftwareCursor(placeholder.slice(0, 1)),
|
|
11096
|
-
/* @__PURE__ */ (0,
|
|
11097
|
-
] }) : /* @__PURE__ */ (0,
|
|
11164
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { color: Colors.Gray, children: placeholder.slice(1) })
|
|
11165
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { color: Colors.Gray, children: placeholder }) : ellipsizeOverflow && stringWidth(buffer.text) > inputWidth ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { children: ellipsizeMiddle(buffer.text, inputWidth) }) : linesToRender.map((lineText, visualIdxInRenderedSet) => {
|
|
11098
11166
|
const cursorVisualRow = cursorVisualRowAbsolute - scrollVisualRow;
|
|
11099
11167
|
let display = cpSlice(lineText, 0, inputWidth);
|
|
11100
11168
|
const currentVisualWidth = stringWidth(display);
|
|
@@ -11117,10 +11185,10 @@ function TextInput({
|
|
|
11117
11185
|
}
|
|
11118
11186
|
}
|
|
11119
11187
|
}
|
|
11120
|
-
return /* @__PURE__ */ (0,
|
|
11188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Text, { children: display }, `line-${visualIdxInRenderedSet}`);
|
|
11121
11189
|
}) })
|
|
11122
11190
|
] }),
|
|
11123
|
-
validationErrors.length > 0 && /* @__PURE__ */ (0,
|
|
11191
|
+
validationErrors.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Box_default, { flexDirection: "column", children: validationErrors.map((error, index) => /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Text, { color: theme.status.error, children: [
|
|
11124
11192
|
"\u26A0 ",
|
|
11125
11193
|
error
|
|
11126
11194
|
] }, index)) })
|
|
@@ -11129,7 +11197,7 @@ function TextInput({
|
|
|
11129
11197
|
__name(TextInput, "TextInput");
|
|
11130
11198
|
|
|
11131
11199
|
// packages/cli/src/ui/components/messages/AskUserQuestionDialog.tsx
|
|
11132
|
-
var
|
|
11200
|
+
var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
|
|
11133
11201
|
function computeHeaderCap(headerWidths, available) {
|
|
11134
11202
|
const ascending = [...headerWidths].sort((a, b) => a - b);
|
|
11135
11203
|
let remaining = available;
|
|
@@ -11351,36 +11419,36 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11351
11419
|
{ isActive: isFocused }
|
|
11352
11420
|
);
|
|
11353
11421
|
if (isSubmitTab) {
|
|
11354
|
-
return /* @__PURE__ */ (0,
|
|
11355
|
-
/* @__PURE__ */ (0,
|
|
11422
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", padding: 1, children: [
|
|
11423
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { marginBottom: 1, flexDirection: "row", gap: 1, children: [
|
|
11356
11424
|
confirmationDetails.questions.map((q, idx) => {
|
|
11357
11425
|
const isAnswered = getAnswerForQuestion(idx) !== void 0;
|
|
11358
|
-
return /* @__PURE__ */ (0,
|
|
11426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { dimColor: true, children: [
|
|
11359
11427
|
" ",
|
|
11360
11428
|
truncateToWidth(q.header, headerCap),
|
|
11361
11429
|
isAnswered ? " \u2713" : ""
|
|
11362
11430
|
] }) }, idx);
|
|
11363
11431
|
}),
|
|
11364
|
-
/* @__PURE__ */ (0,
|
|
11432
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { color: theme.text.accent, bold: true, children: [
|
|
11365
11433
|
"\u25B8 ",
|
|
11366
11434
|
t("Submit")
|
|
11367
11435
|
] }) })
|
|
11368
11436
|
] }),
|
|
11369
|
-
/* @__PURE__ */ (0,
|
|
11370
|
-
/* @__PURE__ */ (0,
|
|
11437
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
11438
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { bold: true, children: t("Your answers:") }),
|
|
11371
11439
|
confirmationDetails.questions.map((q, idx) => {
|
|
11372
11440
|
const answer = getAnswerForQuestion(idx);
|
|
11373
|
-
return /* @__PURE__ */ (0,
|
|
11441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { children: [
|
|
11374
11442
|
q.header,
|
|
11375
11443
|
":",
|
|
11376
11444
|
" ",
|
|
11377
|
-
answer ? /* @__PURE__ */ (0,
|
|
11445
|
+
answer ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.accent, children: answer }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { dimColor: true, children: t("(not answered)") })
|
|
11378
11446
|
] }) }, idx);
|
|
11379
11447
|
})
|
|
11380
11448
|
] }),
|
|
11381
|
-
/* @__PURE__ */ (0,
|
|
11382
|
-
/* @__PURE__ */ (0,
|
|
11383
|
-
/* @__PURE__ */ (0,
|
|
11449
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { marginTop: 1, marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { children: t("Ready to submit your answers?") }) }),
|
|
11450
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
11451
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
11384
11452
|
Text,
|
|
11385
11453
|
{
|
|
11386
11454
|
color: selectedIndex === 0 ? theme.text.accent : theme.text.primary,
|
|
@@ -11392,7 +11460,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11392
11460
|
]
|
|
11393
11461
|
}
|
|
11394
11462
|
) }),
|
|
11395
|
-
/* @__PURE__ */ (0,
|
|
11463
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
11396
11464
|
Text,
|
|
11397
11465
|
{
|
|
11398
11466
|
color: selectedIndex === 1 ? theme.text.accent : theme.text.primary,
|
|
@@ -11405,14 +11473,14 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11405
11473
|
}
|
|
11406
11474
|
) })
|
|
11407
11475
|
] }),
|
|
11408
|
-
/* @__PURE__ */ (0,
|
|
11476
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { dimColor: true, children: t("\u2191/\u2193: Navigate | \u2190/\u2192: Switch tabs | Enter: Select") }) })
|
|
11409
11477
|
] });
|
|
11410
11478
|
}
|
|
11411
|
-
return /* @__PURE__ */ (0,
|
|
11412
|
-
hasMultipleQuestions && /* @__PURE__ */ (0,
|
|
11479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", padding: 1, children: [
|
|
11480
|
+
hasMultipleQuestions && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { marginBottom: 1, flexDirection: "row", gap: 1, children: [
|
|
11413
11481
|
confirmationDetails.questions.map((q, idx) => {
|
|
11414
11482
|
const isAnswered = getAnswerForQuestion(idx) !== void 0;
|
|
11415
|
-
return /* @__PURE__ */ (0,
|
|
11483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
11416
11484
|
Text,
|
|
11417
11485
|
{
|
|
11418
11486
|
color: idx === currentQuestionIndex ? theme.text.accent : theme.text.primary,
|
|
@@ -11426,16 +11494,16 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11426
11494
|
}
|
|
11427
11495
|
) }, idx);
|
|
11428
11496
|
}),
|
|
11429
|
-
/* @__PURE__ */ (0,
|
|
11497
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { dimColor: true, children: [
|
|
11430
11498
|
" ",
|
|
11431
11499
|
t("Submit")
|
|
11432
11500
|
] }) })
|
|
11433
11501
|
] }),
|
|
11434
|
-
/* @__PURE__ */ (0,
|
|
11435
|
-
!hasMultipleQuestions && /* @__PURE__ */ (0,
|
|
11436
|
-
/* @__PURE__ */ (0,
|
|
11502
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
11503
|
+
!hasMultipleQuestions && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.accent, bold: true, children: currentQuestion.header }) }),
|
|
11504
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { children: currentQuestion.question })
|
|
11437
11505
|
] }),
|
|
11438
|
-
/* @__PURE__ */ (0,
|
|
11506
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
11439
11507
|
currentQuestion.options.map((opt, index) => {
|
|
11440
11508
|
const isSelected = selectedIndex === index;
|
|
11441
11509
|
const isMultiChecked = isMultiSelect && (multiSelectedOptions[currentQuestionIndex] ?? []).includes(
|
|
@@ -11444,8 +11512,8 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11444
11512
|
const isAnswered = !isMultiSelect && selectedOptions[currentQuestionIndex] === opt.label;
|
|
11445
11513
|
const isHighlighted = isSelected || isAnswered || isMultiChecked;
|
|
11446
11514
|
const prefixWidth = 2 + (isMultiSelect ? 4 : 0) + String(index + 1).length + 2;
|
|
11447
|
-
return /* @__PURE__ */ (0,
|
|
11448
|
-
/* @__PURE__ */ (0,
|
|
11515
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
11516
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
11449
11517
|
Text,
|
|
11450
11518
|
{
|
|
11451
11519
|
color: isHighlighted ? theme.text.accent : theme.text.primary,
|
|
@@ -11460,13 +11528,13 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11460
11528
|
]
|
|
11461
11529
|
}
|
|
11462
11530
|
) }),
|
|
11463
|
-
opt.description && /* @__PURE__ */ (0,
|
|
11531
|
+
opt.description && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { marginLeft: prefixWidth, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { dimColor: true, children: opt.description }) })
|
|
11464
11532
|
] }, index);
|
|
11465
11533
|
}),
|
|
11466
|
-
/* @__PURE__ */ (0,
|
|
11534
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { flexDirection: "column", children: isCustomInputSelected ? (
|
|
11467
11535
|
// Inline TextInput replaces the option text
|
|
11468
|
-
/* @__PURE__ */ (0,
|
|
11469
|
-
/* @__PURE__ */ (0,
|
|
11536
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { children: [
|
|
11537
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { color: theme.text.accent, bold: true, children: [
|
|
11470
11538
|
"\u276F",
|
|
11471
11539
|
" ",
|
|
11472
11540
|
isMultiSelect ? customInputChecked[currentQuestionIndex] ? "[\u2713] " : "[ ] " : "",
|
|
@@ -11474,7 +11542,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11474
11542
|
".",
|
|
11475
11543
|
" "
|
|
11476
11544
|
] }),
|
|
11477
|
-
/* @__PURE__ */ (0,
|
|
11545
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
11478
11546
|
TextInput,
|
|
11479
11547
|
{
|
|
11480
11548
|
value: currentCustomInputValue,
|
|
@@ -11505,7 +11573,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11505
11573
|
] })
|
|
11506
11574
|
) : (
|
|
11507
11575
|
// Show typed value or placeholder when not selected
|
|
11508
|
-
/* @__PURE__ */ (0,
|
|
11576
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
11509
11577
|
Text,
|
|
11510
11578
|
{
|
|
11511
11579
|
color: isCustomInputAnswer || customInputChecked[currentQuestionIndex] ? theme.text.accent : theme.text.primary,
|
|
@@ -11524,7 +11592,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11524
11592
|
) })
|
|
11525
11593
|
) })
|
|
11526
11594
|
] }),
|
|
11527
|
-
/* @__PURE__ */ (0,
|
|
11595
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { dimColor: true, children: hasMultipleQuestions ? isMultiSelect ? t(
|
|
11528
11596
|
"\u2191/\u2193: Navigate | \u2190/\u2192: Switch tabs | Space: Toggle | Enter: Confirm | Esc: Cancel"
|
|
11529
11597
|
) : t(
|
|
11530
11598
|
"\u2191/\u2193: Navigate | \u2190/\u2192: Switch tabs | Enter: Select | Esc: Cancel"
|
|
@@ -11535,7 +11603,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11535
11603
|
}, "AskUserQuestionDialog");
|
|
11536
11604
|
|
|
11537
11605
|
// packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx
|
|
11538
|
-
var
|
|
11606
|
+
var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
|
|
11539
11607
|
var COMPACT_BODY_MAX_LINES = 5;
|
|
11540
11608
|
var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
11541
11609
|
confirmationDetails,
|
|
@@ -11650,7 +11718,7 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11650
11718
|
__name(warningsHeight, "warningsHeight");
|
|
11651
11719
|
if (confirmationDetails.type === "edit") {
|
|
11652
11720
|
if (confirmationDetails.isModifying) {
|
|
11653
|
-
return /* @__PURE__ */ (0,
|
|
11721
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
11654
11722
|
Box_default,
|
|
11655
11723
|
{
|
|
11656
11724
|
minWidth: "90%",
|
|
@@ -11660,11 +11728,11 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11660
11728
|
padding: 1,
|
|
11661
11729
|
overflow: "hidden",
|
|
11662
11730
|
children: [
|
|
11663
|
-
/* @__PURE__ */ (0,
|
|
11731
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.text.primary, children: [
|
|
11664
11732
|
t("Modify in progress:"),
|
|
11665
11733
|
" "
|
|
11666
11734
|
] }),
|
|
11667
|
-
/* @__PURE__ */ (0,
|
|
11735
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.status.success, children: t("Save and close external editor to continue") })
|
|
11668
11736
|
]
|
|
11669
11737
|
}
|
|
11670
11738
|
);
|
|
@@ -11724,7 +11792,7 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11724
11792
|
} else if (diffHeight !== void 0) {
|
|
11725
11793
|
diffHeight = Math.max(diffHeight - warningsHeight(warnings), 1);
|
|
11726
11794
|
}
|
|
11727
|
-
const renderedDiff = diffHeight === void 0 || diffHeight >= MINIMUM_MAX_HEIGHT ? /* @__PURE__ */ (0,
|
|
11795
|
+
const renderedDiff = diffHeight === void 0 || diffHeight >= MINIMUM_MAX_HEIGHT ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11728
11796
|
DiffRenderer,
|
|
11729
11797
|
{
|
|
11730
11798
|
diffContent: confirmationDetails.fileDiff,
|
|
@@ -11733,30 +11801,30 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11733
11801
|
contentWidth,
|
|
11734
11802
|
settings
|
|
11735
11803
|
}
|
|
11736
|
-
) : diffHeight === 1 ? /* @__PURE__ */ (0,
|
|
11737
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11738
|
-
warnings.length > 0 ? /* @__PURE__ */ (0,
|
|
11804
|
+
) : diffHeight === 1 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: "... diff hidden ..." }) : null;
|
|
11805
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
11806
|
+
warnings.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11739
11807
|
Box_default,
|
|
11740
11808
|
{
|
|
11741
11809
|
flexDirection: "column",
|
|
11742
11810
|
paddingX: 1,
|
|
11743
11811
|
marginLeft: 1,
|
|
11744
11812
|
marginBottom: warningMarginBottom,
|
|
11745
|
-
children: constrainWarnings && warningMaxHeight === 1 ? /* @__PURE__ */ (0,
|
|
11813
|
+
children: constrainWarnings && warningMaxHeight === 1 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.status.warning, wrap: "truncate", children: [
|
|
11746
11814
|
"\u26A0 ",
|
|
11747
11815
|
warnings.at(-1)?.replace(/\r\n?|\n/g, " \u21B5 ")
|
|
11748
|
-
] }) : constrainWarnings ? /* @__PURE__ */ (0,
|
|
11816
|
+
] }) : constrainWarnings ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11749
11817
|
MaxSizedBox,
|
|
11750
11818
|
{
|
|
11751
11819
|
maxHeight: warningMaxHeight,
|
|
11752
11820
|
maxWidth: warningContentWidth,
|
|
11753
11821
|
overflowDirection: "bottom",
|
|
11754
|
-
children: warnings.map((warning, idx) => /* @__PURE__ */ (0,
|
|
11822
|
+
children: warnings.map((warning, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.status.warning, wrap: "truncate", children: [
|
|
11755
11823
|
"\u26A0 ",
|
|
11756
11824
|
warning.replace(/\r\n?|\n/g, " \u21B5 ")
|
|
11757
11825
|
] }) }, idx))
|
|
11758
11826
|
}
|
|
11759
|
-
) : warnings.map((warning, idx) => /* @__PURE__ */ (0,
|
|
11827
|
+
) : warnings.map((warning, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.status.warning, children: [
|
|
11760
11828
|
"\u26A0 ",
|
|
11761
11829
|
warning
|
|
11762
11830
|
] }, idx))
|
|
@@ -11815,17 +11883,17 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11815
11883
|
1
|
|
11816
11884
|
);
|
|
11817
11885
|
}
|
|
11818
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11819
|
-
/* @__PURE__ */ (0,
|
|
11886
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
11887
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { paddingX: 1, marginLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11820
11888
|
MaxSizedBox,
|
|
11821
11889
|
{
|
|
11822
11890
|
maxHeight: bodyContentHeight,
|
|
11823
11891
|
maxWidth: Math.max(contentWidth, 1),
|
|
11824
11892
|
overflowDirection: "bottom",
|
|
11825
|
-
children: /* @__PURE__ */ (0,
|
|
11893
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.link, children: executionProps.command }) })
|
|
11826
11894
|
}
|
|
11827
11895
|
) }),
|
|
11828
|
-
warningsCount > 0 ? /* @__PURE__ */ (0,
|
|
11896
|
+
warningsCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { flexDirection: "column", paddingX: 1, marginLeft: 1, marginTop: 1, children: warnings.map((warning, idx) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.status.warning, children: [
|
|
11829
11897
|
"\u26A0 ",
|
|
11830
11898
|
warning
|
|
11831
11899
|
] }, idx)) }) : null
|
|
@@ -11860,8 +11928,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11860
11928
|
COMPACT_BODY_MAX_LINES
|
|
11861
11929
|
) : availableBodyContentHeight();
|
|
11862
11930
|
const planHeight = rawPlanHeight === void 0 ? void 0 : Math.max(rawPlanHeight - 1, 1);
|
|
11863
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11864
|
-
/* @__PURE__ */ (0,
|
|
11931
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", paddingX: 1, marginLeft: 1, children: [
|
|
11932
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11865
11933
|
MarkdownDisplay,
|
|
11866
11934
|
{
|
|
11867
11935
|
text: planProps.plan,
|
|
@@ -11871,7 +11939,7 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11871
11939
|
enforceHeightBudget: true
|
|
11872
11940
|
}
|
|
11873
11941
|
),
|
|
11874
|
-
planViewError ? /* @__PURE__ */ (0,
|
|
11942
|
+
planViewError ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.status.error, wrap: "truncate", children: planViewError }) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: t("o open full plan in editor") })
|
|
11875
11943
|
] });
|
|
11876
11944
|
} else if (confirmationDetails.type === "info") {
|
|
11877
11945
|
const infoProps = confirmationDetails;
|
|
@@ -11904,27 +11972,27 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11904
11972
|
value: "cancel" /* Cancel */,
|
|
11905
11973
|
key: "No, suggest changes (esc)"
|
|
11906
11974
|
});
|
|
11907
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11908
|
-
infoProps.renderPromptAsPlainText ? /* @__PURE__ */ (0,
|
|
11975
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", paddingX: 1, marginLeft: 1, children: [
|
|
11976
|
+
infoProps.renderPromptAsPlainText ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11909
11977
|
MaxSizedBox,
|
|
11910
11978
|
{
|
|
11911
11979
|
maxHeight: availableBodyContentHeight(),
|
|
11912
11980
|
maxWidth: warningContentWidth,
|
|
11913
11981
|
overflowDirection: "bottom",
|
|
11914
|
-
children: infoProps.prompt.split("\n").map((line, index) => /* @__PURE__ */ (0,
|
|
11982
|
+
children: infoProps.prompt.split("\n").map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.link, wrap: "wrap", children: line }) }, index))
|
|
11915
11983
|
}
|
|
11916
|
-
) : /* @__PURE__ */ (0,
|
|
11917
|
-
displayUrls && infoProps.urls && infoProps.urls.length > 0 && /* @__PURE__ */ (0,
|
|
11918
|
-
/* @__PURE__ */ (0,
|
|
11919
|
-
infoProps.urls.map((url) => /* @__PURE__ */ (0,
|
|
11984
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.link, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RenderInline, { text: infoProps.prompt, textColor: theme.text.link }) }),
|
|
11985
|
+
displayUrls && infoProps.urls && infoProps.urls.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
11986
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.primary, children: t("URLs to fetch:") }),
|
|
11987
|
+
infoProps.urls.map((url) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { children: [
|
|
11920
11988
|
" ",
|
|
11921
11989
|
"- ",
|
|
11922
|
-
/* @__PURE__ */ (0,
|
|
11990
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RenderInline, { text: url })
|
|
11923
11991
|
] }, url))
|
|
11924
11992
|
] })
|
|
11925
11993
|
] });
|
|
11926
11994
|
} else if (confirmationDetails.type === "ask_user_question") {
|
|
11927
|
-
return /* @__PURE__ */ (0,
|
|
11995
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
11928
11996
|
AskUserQuestionDialog,
|
|
11929
11997
|
{
|
|
11930
11998
|
confirmationDetails,
|
|
@@ -11935,9 +12003,9 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11935
12003
|
);
|
|
11936
12004
|
} else {
|
|
11937
12005
|
const mcpProps = confirmationDetails;
|
|
11938
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11939
|
-
/* @__PURE__ */ (0,
|
|
11940
|
-
/* @__PURE__ */ (0,
|
|
12006
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", paddingX: 1, marginLeft: 1, children: [
|
|
12007
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.link, children: t("MCP Server: {{server}}", { server: mcpProps.serverName }) }),
|
|
12008
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.link, children: t("Tool: {{tool}}", { tool: mcpProps.toolName }) })
|
|
11941
12009
|
] });
|
|
11942
12010
|
question = t(
|
|
11943
12011
|
'Allow execution of MCP tool "{{tool}}" from server "{{server}}"?',
|
|
@@ -11988,8 +12056,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11988
12056
|
0,
|
|
11989
12057
|
switchOption
|
|
11990
12058
|
);
|
|
11991
|
-
bodyContent = /* @__PURE__ */ (0,
|
|
11992
|
-
/* @__PURE__ */ (0,
|
|
12059
|
+
bodyContent = /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
12060
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { paddingX: 1, marginLeft: 1, marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Text, { color: theme.status.warning, children: [
|
|
11993
12061
|
"\u26A0 ",
|
|
11994
12062
|
autoModeFallback.message
|
|
11995
12063
|
] }) }),
|
|
@@ -12028,8 +12096,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
12028
12096
|
const outerPadding = compactMode ? 0 : 1;
|
|
12029
12097
|
const sectionMargin = compactMode ? 0 : 1;
|
|
12030
12098
|
const outerWidth = compactMode ? void 0 : contentWidth;
|
|
12031
|
-
return /* @__PURE__ */ (0,
|
|
12032
|
-
/* @__PURE__ */ (0,
|
|
12099
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Box_default, { flexDirection: "column", padding: outerPadding, width: outerWidth, children: [
|
|
12100
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
12033
12101
|
Box_default,
|
|
12034
12102
|
{
|
|
12035
12103
|
flexGrow: 1,
|
|
@@ -12039,8 +12107,8 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
12039
12107
|
children: bodyContent
|
|
12040
12108
|
}
|
|
12041
12109
|
),
|
|
12042
|
-
/* @__PURE__ */ (0,
|
|
12043
|
-
/* @__PURE__ */ (0,
|
|
12110
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { marginBottom: sectionMargin, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { color: theme.text.primary, wrap: "truncate", children: renderedQuestion }) }),
|
|
12111
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Box_default, { flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
12044
12112
|
RadioButtonSelect,
|
|
12045
12113
|
{
|
|
12046
12114
|
items: renderedOptions,
|
|
@@ -12053,7 +12121,7 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
12053
12121
|
|
|
12054
12122
|
// packages/cli/src/ui/components/PlanSummaryDisplay.tsx
|
|
12055
12123
|
init_esbuild_shims();
|
|
12056
|
-
var
|
|
12124
|
+
var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
|
|
12057
12125
|
var PlanSummaryDisplay = /* @__PURE__ */ __name(({
|
|
12058
12126
|
data,
|
|
12059
12127
|
availableHeight,
|
|
@@ -12061,9 +12129,9 @@ var PlanSummaryDisplay = /* @__PURE__ */ __name(({
|
|
|
12061
12129
|
}) => {
|
|
12062
12130
|
const { message, plan, rejected } = data;
|
|
12063
12131
|
const messageColor = rejected ? Colors.AccentYellow : Colors.AccentGreen;
|
|
12064
|
-
return /* @__PURE__ */ (0,
|
|
12065
|
-
/* @__PURE__ */ (0,
|
|
12066
|
-
/* @__PURE__ */ (0,
|
|
12132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
12133
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { color: messageColor, wrap: "wrap", children: message }) }),
|
|
12134
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
12067
12135
|
MarkdownDisplay,
|
|
12068
12136
|
{
|
|
12069
12137
|
text: plan,
|
|
@@ -12185,7 +12253,7 @@ var TOOL_DISPLAY_BY_NAME = Object.fromEntries(
|
|
|
12185
12253
|
);
|
|
12186
12254
|
|
|
12187
12255
|
// packages/cli/src/ui/components/messages/ToolMessage.tsx
|
|
12188
|
-
var
|
|
12256
|
+
var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
|
|
12189
12257
|
var AGENT_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
12190
12258
|
ToolNames.AGENT,
|
|
12191
12259
|
...Object.entries(ToolNamesMigration).filter(([, canonical]) => canonical === ToolNames.AGENT).map(([legacy]) => legacy)
|
|
@@ -12256,6 +12324,12 @@ var useResultDisplayRenderer = /* @__PURE__ */ __name((resultDisplay) => import_
|
|
|
12256
12324
|
data: resultDisplay
|
|
12257
12325
|
};
|
|
12258
12326
|
}
|
|
12327
|
+
if (typeof resultDisplay === "object" && resultDisplay !== null && "type" in resultDisplay && resultDisplay.type === "findings_list") {
|
|
12328
|
+
return {
|
|
12329
|
+
type: "findings",
|
|
12330
|
+
data: resultDisplay
|
|
12331
|
+
};
|
|
12332
|
+
}
|
|
12259
12333
|
if (typeof resultDisplay === "object" && resultDisplay !== null && "type" in resultDisplay && resultDisplay.type === "plan_summary") {
|
|
12260
12334
|
return {
|
|
12261
12335
|
type: "plan",
|
|
@@ -12310,8 +12384,8 @@ var useResultDisplayRenderer = /* @__PURE__ */ __name((resultDisplay) => import_
|
|
|
12310
12384
|
}, [resultDisplay]), "useResultDisplayRenderer");
|
|
12311
12385
|
var TodoResultRenderer = /* @__PURE__ */ __name(({
|
|
12312
12386
|
data
|
|
12313
|
-
}) => /* @__PURE__ */ (0,
|
|
12314
|
-
var PlanResultRenderer = /* @__PURE__ */ __name(({ data, availableHeight, childWidth }) => /* @__PURE__ */ (0,
|
|
12387
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TodoDisplay, { todos: data.todos }), "TodoResultRenderer");
|
|
12388
|
+
var PlanResultRenderer = /* @__PURE__ */ __name(({ data, availableHeight, childWidth }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12315
12389
|
PlanSummaryDisplay,
|
|
12316
12390
|
{
|
|
12317
12391
|
data,
|
|
@@ -12323,14 +12397,14 @@ var priorApprovalCalls = /* @__PURE__ */ __name((data) => (data.toolCalls ?? [])
|
|
|
12323
12397
|
var SubagentApprovalContext = /* @__PURE__ */ __name(({ data }) => {
|
|
12324
12398
|
const priorCalls = priorApprovalCalls(data);
|
|
12325
12399
|
if (priorCalls.length === 0) return null;
|
|
12326
|
-
return /* @__PURE__ */ (0,
|
|
12400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { flexDirection: "column", children: priorCalls.map((call) => {
|
|
12327
12401
|
const glyph = call.status === "failed" ? "\u2716" : call.status === "success" ? "\u2714" : ICON.CIRCLE_EMPTY;
|
|
12328
12402
|
const displayName = localizeToolDisplayName(
|
|
12329
12403
|
TOOL_DISPLAY_BY_NAME[call.name] ?? call.name
|
|
12330
12404
|
);
|
|
12331
12405
|
const desc = (call.description ?? "").replace(/\s*\n\s*/g, " ").trim();
|
|
12332
12406
|
const label = desc ? `${displayName} ${desc}` : displayName;
|
|
12333
|
-
return /* @__PURE__ */ (0,
|
|
12407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: ` ${glyph} ${sanitizeMultilineForDisplay(label)}` }) }, call.callId);
|
|
12334
12408
|
}) });
|
|
12335
12409
|
}, "SubagentApprovalContext");
|
|
12336
12410
|
var SubagentExecutionRenderer = /* @__PURE__ */ __name(({ data, availableHeight, childWidth, config, isFocused }) => {
|
|
@@ -12342,14 +12416,14 @@ var SubagentExecutionRenderer = /* @__PURE__ */ __name(({ data, availableHeight,
|
|
|
12342
12416
|
MINIMUM_MAX_HEIGHT,
|
|
12343
12417
|
availableHeight - contextLines - HEADER_LINES
|
|
12344
12418
|
) : availableHeight;
|
|
12345
|
-
return /* @__PURE__ */ (0,
|
|
12346
|
-
/* @__PURE__ */ (0,
|
|
12347
|
-
/* @__PURE__ */ (0,
|
|
12348
|
-
/* @__PURE__ */ (0,
|
|
12349
|
-
/* @__PURE__ */ (0,
|
|
12419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { flexDirection: "column", paddingLeft: 1, children: [
|
|
12420
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { children: [
|
|
12421
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: "Approval requested by " }),
|
|
12422
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { bold: true, color: theme.text.accent, children: agentLabel }),
|
|
12423
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: ":" })
|
|
12350
12424
|
] }),
|
|
12351
|
-
/* @__PURE__ */ (0,
|
|
12352
|
-
/* @__PURE__ */ (0,
|
|
12425
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SubagentApprovalContext, { data }),
|
|
12426
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12353
12427
|
ToolConfirmationMessage,
|
|
12354
12428
|
{
|
|
12355
12429
|
confirmationDetails: data.pendingConfirmation,
|
|
@@ -12364,16 +12438,16 @@ var SubagentExecutionRenderer = /* @__PURE__ */ __name(({ data, availableHeight,
|
|
|
12364
12438
|
}
|
|
12365
12439
|
if (data.pendingConfirmation) {
|
|
12366
12440
|
const agentLabel = escapeAnsiCtrlCodes(data.subagentName || "agent");
|
|
12367
|
-
return /* @__PURE__ */ (0,
|
|
12368
|
-
/* @__PURE__ */ (0,
|
|
12441
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { paddingLeft: 1, children: [
|
|
12442
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { color: theme.text.secondary, dimColor: true, children: [
|
|
12369
12443
|
"\u25CC Queued approval:",
|
|
12370
12444
|
" "
|
|
12371
12445
|
] }),
|
|
12372
|
-
/* @__PURE__ */ (0,
|
|
12446
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { dimColor: true, children: agentLabel })
|
|
12373
12447
|
] });
|
|
12374
12448
|
}
|
|
12375
12449
|
if (data.status === "completed" || data.status === "failed" || data.status === "cancelled") {
|
|
12376
|
-
return /* @__PURE__ */ (0,
|
|
12450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(SubagentScrollbackSummary, { data });
|
|
12377
12451
|
}
|
|
12378
12452
|
return null;
|
|
12379
12453
|
}, "SubagentExecutionRenderer");
|
|
@@ -12413,12 +12487,12 @@ var SubagentScrollbackSummary = /* @__PURE__ */ __name(({ data }) => {
|
|
|
12413
12487
|
const typePrefix = data.subagentName ? `${escapeAnsiCtrlCodes(data.subagentName)}: ` : "";
|
|
12414
12488
|
const safeDescription = escapeAnsiCtrlCodes(data.taskDescription ?? "");
|
|
12415
12489
|
const reason = data.status !== "completed" && data.terminateReason ? ` \xB7 ${escapeAnsiCtrlCodes(data.terminateReason)}` : "";
|
|
12416
|
-
return /* @__PURE__ */ (0,
|
|
12417
|
-
/* @__PURE__ */ (0,
|
|
12418
|
-
/* @__PURE__ */ (0,
|
|
12419
|
-
/* @__PURE__ */ (0,
|
|
12420
|
-
/* @__PURE__ */ (0,
|
|
12421
|
-
/* @__PURE__ */ (0,
|
|
12490
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { wrap: "truncate-end", children: [
|
|
12491
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color, children: `${glyph} ` }),
|
|
12492
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { bold: true, children: typePrefix }),
|
|
12493
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: safeDescription }),
|
|
12494
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: tail }),
|
|
12495
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: reason })
|
|
12422
12496
|
] }) });
|
|
12423
12497
|
}, "SubagentScrollbackSummary");
|
|
12424
12498
|
var StringResultRenderer = /* @__PURE__ */ __name(({ data, renderAsMarkdown, availableHeight, childWidth }) => {
|
|
@@ -12427,7 +12501,7 @@ var StringResultRenderer = /* @__PURE__ */ __name(({ data, renderAsMarkdown, ava
|
|
|
12427
12501
|
displayData = "..." + displayData.slice(-MAXIMUM_RESULT_DISPLAY_CHARACTERS);
|
|
12428
12502
|
}
|
|
12429
12503
|
if (renderAsMarkdown) {
|
|
12430
|
-
return /* @__PURE__ */ (0,
|
|
12504
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12431
12505
|
MarkdownDisplay,
|
|
12432
12506
|
{
|
|
12433
12507
|
text: displayData,
|
|
@@ -12442,25 +12516,25 @@ var StringResultRenderer = /* @__PURE__ */ __name(({ data, renderAsMarkdown, ava
|
|
|
12442
12516
|
availableHeight,
|
|
12443
12517
|
childWidth
|
|
12444
12518
|
);
|
|
12445
|
-
return /* @__PURE__ */ (0,
|
|
12519
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12446
12520
|
MaxSizedBox,
|
|
12447
12521
|
{
|
|
12448
12522
|
maxHeight: availableHeight,
|
|
12449
12523
|
maxWidth: childWidth,
|
|
12450
12524
|
additionalHiddenLinesCount: sliced.hiddenLinesCount,
|
|
12451
12525
|
sourceBoundaries: sliced.sourceBoundaries,
|
|
12452
|
-
children: /* @__PURE__ */ (0,
|
|
12526
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { wrap: "wrap", color: theme.text.primary, children: sliced.text }) })
|
|
12453
12527
|
}
|
|
12454
12528
|
);
|
|
12455
12529
|
}, "StringResultRenderer");
|
|
12456
12530
|
var DiffResultRenderer = /* @__PURE__ */ __name(({ data, availableHeight, childWidth, settings }) => {
|
|
12457
12531
|
const diffHeight = data.truncatedForSession && availableHeight !== void 0 ? Math.max(1, availableHeight - 1) : availableHeight;
|
|
12458
|
-
return /* @__PURE__ */ (0,
|
|
12459
|
-
data.truncatedForSession && /* @__PURE__ */ (0,
|
|
12532
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
12533
|
+
data.truncatedForSession && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { color: theme.status.warning, wrap: "wrap", children: [
|
|
12460
12534
|
data.fileDiffTruncated ? "Saved session preview only; full diff omitted from JSONL" : "Saved session preview only; full file contents truncated in JSONL",
|
|
12461
12535
|
data.fileDiffTruncated && typeof data.fileDiffLength === "number" ? ` (${data.fileDiffLength} chars).` : "."
|
|
12462
12536
|
] }),
|
|
12463
|
-
/* @__PURE__ */ (0,
|
|
12537
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12464
12538
|
DiffRenderer,
|
|
12465
12539
|
{
|
|
12466
12540
|
diffContent: data.fileDiff,
|
|
@@ -12562,10 +12636,10 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12562
12636
|
effectiveResultDisplay
|
|
12563
12637
|
);
|
|
12564
12638
|
const shouldCollapseResult = !forceShowResult && status === "Success" /* Success */ && isCollapsibleTool(name) && (effectiveDisplayRenderer.type === "string" || effectiveDisplayRenderer.type === "ansi");
|
|
12565
|
-
return /* @__PURE__ */ (0,
|
|
12566
|
-
/* @__PURE__ */ (0,
|
|
12567
|
-
/* @__PURE__ */ (0,
|
|
12568
|
-
/* @__PURE__ */ (0,
|
|
12639
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { paddingY: 0, flexDirection: "column", children: [
|
|
12640
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { minHeight: 1, children: [
|
|
12641
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ToolStatusIndicator, { status, name }),
|
|
12642
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12569
12643
|
ToolInfo,
|
|
12570
12644
|
{
|
|
12571
12645
|
name,
|
|
@@ -12578,8 +12652,8 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12578
12652
|
)
|
|
12579
12653
|
}
|
|
12580
12654
|
),
|
|
12581
|
-
shouldShowFocusHint && /* @__PURE__ */ (0,
|
|
12582
|
-
/* @__PURE__ */ (0,
|
|
12655
|
+
shouldShowFocusHint && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { marginLeft: 1, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.accent, children: isThisShellFocused ? "(Focused)" : "(ctrl+f to focus)" }) }),
|
|
12656
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12583
12657
|
ToolElapsedTime,
|
|
12584
12658
|
{
|
|
12585
12659
|
status,
|
|
@@ -12587,9 +12661,9 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12587
12661
|
timeoutMs: shellTimeoutMs
|
|
12588
12662
|
}
|
|
12589
12663
|
),
|
|
12590
|
-
emphasis === "high" && /* @__PURE__ */ (0,
|
|
12664
|
+
emphasis === "high" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TrailingIndicator, {})
|
|
12591
12665
|
] }),
|
|
12592
|
-
visionBridgeNoticeText && /* @__PURE__ */ (0,
|
|
12666
|
+
visionBridgeNoticeText && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12593
12667
|
StringResultRenderer,
|
|
12594
12668
|
{
|
|
12595
12669
|
data: visionBridgeNoticeText,
|
|
@@ -12597,9 +12671,10 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12597
12671
|
childWidth: innerWidth
|
|
12598
12672
|
}
|
|
12599
12673
|
) }),
|
|
12600
|
-
effectiveDisplayRenderer.type !== "none" && !shouldCollapseResult && /* @__PURE__ */ (0,
|
|
12601
|
-
effectiveDisplayRenderer.type === "todo" && /* @__PURE__ */ (0,
|
|
12602
|
-
effectiveDisplayRenderer.type === "
|
|
12674
|
+
effectiveDisplayRenderer.type !== "none" && !shouldCollapseResult && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
12675
|
+
effectiveDisplayRenderer.type === "todo" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(TodoResultRenderer, { data: effectiveDisplayRenderer.data }),
|
|
12676
|
+
effectiveDisplayRenderer.type === "findings" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(FindingsDisplay, { data: effectiveDisplayRenderer.data }),
|
|
12677
|
+
effectiveDisplayRenderer.type === "plan" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12603
12678
|
PlanResultRenderer,
|
|
12604
12679
|
{
|
|
12605
12680
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12607,7 +12682,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12607
12682
|
childWidth: innerWidth
|
|
12608
12683
|
}
|
|
12609
12684
|
),
|
|
12610
|
-
effectiveDisplayRenderer.type === "task" && config && /* @__PURE__ */ (0,
|
|
12685
|
+
effectiveDisplayRenderer.type === "task" && config && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12611
12686
|
SubagentExecutionRenderer,
|
|
12612
12687
|
{
|
|
12613
12688
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12618,7 +12693,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12618
12693
|
isPending
|
|
12619
12694
|
}
|
|
12620
12695
|
),
|
|
12621
|
-
effectiveDisplayRenderer.type === "diff" && /* @__PURE__ */ (0,
|
|
12696
|
+
effectiveDisplayRenderer.type === "diff" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12622
12697
|
DiffResultRenderer,
|
|
12623
12698
|
{
|
|
12624
12699
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12627,8 +12702,8 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12627
12702
|
settings
|
|
12628
12703
|
}
|
|
12629
12704
|
),
|
|
12630
|
-
effectiveDisplayRenderer.type === "ansi" && /* @__PURE__ */ (0,
|
|
12631
|
-
/* @__PURE__ */ (0,
|
|
12705
|
+
effectiveDisplayRenderer.type === "ansi" && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
12706
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12632
12707
|
AnsiOutputText,
|
|
12633
12708
|
{
|
|
12634
12709
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12636,7 +12711,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12636
12711
|
maxWidth: innerWidth
|
|
12637
12712
|
}
|
|
12638
12713
|
),
|
|
12639
|
-
effectiveDisplayRenderer.stats && /* @__PURE__ */ (0,
|
|
12714
|
+
effectiveDisplayRenderer.stats && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12640
12715
|
ShellStatsBar,
|
|
12641
12716
|
{
|
|
12642
12717
|
...effectiveDisplayRenderer.stats,
|
|
@@ -12644,7 +12719,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12644
12719
|
}
|
|
12645
12720
|
)
|
|
12646
12721
|
] }),
|
|
12647
|
-
effectiveDisplayRenderer.type === "image" && config && /* @__PURE__ */ (0,
|
|
12722
|
+
effectiveDisplayRenderer.type === "image" && config && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12648
12723
|
TerminalImage,
|
|
12649
12724
|
{
|
|
12650
12725
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12653,7 +12728,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12653
12728
|
availableTerminalHeight: availableHeight
|
|
12654
12729
|
}
|
|
12655
12730
|
),
|
|
12656
|
-
effectiveDisplayRenderer.type === "string" && /* @__PURE__ */ (0,
|
|
12731
|
+
effectiveDisplayRenderer.type === "string" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12657
12732
|
StringResultRenderer,
|
|
12658
12733
|
{
|
|
12659
12734
|
data: effectiveDisplayRenderer.data,
|
|
@@ -12663,14 +12738,14 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12663
12738
|
}
|
|
12664
12739
|
)
|
|
12665
12740
|
] }) }),
|
|
12666
|
-
((images?.length ?? 0) > 0 || omittedImageCount !== void 0 && omittedImageCount > 0) && /* @__PURE__ */ (0,
|
|
12741
|
+
((images?.length ?? 0) > 0 || omittedImageCount !== void 0 && omittedImageCount > 0) && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
12667
12742
|
Box_default,
|
|
12668
12743
|
{
|
|
12669
12744
|
paddingLeft: STATUS_INDICATOR_WIDTH,
|
|
12670
12745
|
width: "100%",
|
|
12671
12746
|
flexDirection: "column",
|
|
12672
12747
|
children: [
|
|
12673
|
-
images?.map((image, index) => /* @__PURE__ */ (0,
|
|
12748
|
+
images?.map((image, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12674
12749
|
TerminalImage,
|
|
12675
12750
|
{
|
|
12676
12751
|
image,
|
|
@@ -12679,11 +12754,11 @@ var ToolMessage = /* @__PURE__ */ __name(({
|
|
|
12679
12754
|
},
|
|
12680
12755
|
index
|
|
12681
12756
|
)),
|
|
12682
|
-
omittedImageCount !== void 0 && omittedImageCount > 0 && /* @__PURE__ */ (0,
|
|
12757
|
+
omittedImageCount !== void 0 && omittedImageCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { dimColor: true, children: formatInlineImageOverflow(omittedImageCount) })
|
|
12683
12758
|
]
|
|
12684
12759
|
}
|
|
12685
12760
|
),
|
|
12686
|
-
isThisShellFocused && config && /* @__PURE__ */ (0,
|
|
12761
|
+
isThisShellFocused && config && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
12687
12762
|
ShellInputPrompt,
|
|
12688
12763
|
{
|
|
12689
12764
|
activeShellPtyId: activeShellPtyId ?? null,
|
|
@@ -12737,15 +12812,15 @@ var ToolInfo = /* @__PURE__ */ __name(({
|
|
|
12737
12812
|
}
|
|
12738
12813
|
}
|
|
12739
12814
|
}, [emphasis]);
|
|
12740
|
-
return /* @__PURE__ */ (0,
|
|
12741
|
-
/* @__PURE__ */ (0,
|
|
12742
|
-
!hideDescription && /* @__PURE__ */ (0,
|
|
12815
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { wrap: "wrap", strikethrough: status === "Canceled" /* Canceled */, children: [
|
|
12816
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: nameColor, bold: true, children: localizeToolDisplayName(name) }),
|
|
12817
|
+
!hideDescription && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
|
|
12743
12818
|
" ",
|
|
12744
|
-
/* @__PURE__ */ (0,
|
|
12819
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Text, { color: theme.text.secondary, children: description })
|
|
12745
12820
|
] })
|
|
12746
12821
|
] }) });
|
|
12747
12822
|
}, "ToolInfo");
|
|
12748
|
-
var TrailingIndicator = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0,
|
|
12823
|
+
var TrailingIndicator = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Text, { color: theme.text.primary, wrap: "truncate", children: [
|
|
12749
12824
|
" ",
|
|
12750
12825
|
"\u2190"
|
|
12751
12826
|
] }), "TrailingIndicator");
|
|
@@ -12753,7 +12828,7 @@ var TrailingIndicator = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_
|
|
|
12753
12828
|
// packages/cli/src/ui/components/messages/InlineParallelAgentsDisplay.tsx
|
|
12754
12829
|
init_esbuild_shims();
|
|
12755
12830
|
var import_react29 = __toESM(require_react(), 1);
|
|
12756
|
-
var
|
|
12831
|
+
var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
|
|
12757
12832
|
function deriveAgentId(toolCall, resultDisplay) {
|
|
12758
12833
|
return `${resultDisplay.subagentName}-${toolCall.callId}`;
|
|
12759
12834
|
}
|
|
@@ -12873,15 +12948,15 @@ var InlineParallelAgentsDisplay = /* @__PURE__ */ __name(({ toolCalls, contentWi
|
|
|
12873
12948
|
visibleRows = [];
|
|
12874
12949
|
}
|
|
12875
12950
|
}
|
|
12876
|
-
return /* @__PURE__ */ (0,
|
|
12877
|
-
/* @__PURE__ */ (0,
|
|
12878
|
-
overflowCount > 0 && /* @__PURE__ */ (0,
|
|
12951
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Box_default, { flexDirection: "column", width: contentWidth, paddingX: 1, children: [
|
|
12952
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { bold: true, color: theme.text.accent, wrap: "truncate-end", children: headerLabel }) }),
|
|
12953
|
+
overflowCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: [
|
|
12879
12954
|
"\u2026 +",
|
|
12880
12955
|
overflowCount,
|
|
12881
12956
|
" more ",
|
|
12882
12957
|
overflowCount === 1 ? "agent" : "agents"
|
|
12883
12958
|
] }) }),
|
|
12884
|
-
visibleRows.map((row) => /* @__PURE__ */ (0,
|
|
12959
|
+
visibleRows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(AgentRow, { row, now }, row.agentId))
|
|
12885
12960
|
] });
|
|
12886
12961
|
}, "InlineParallelAgentsDisplay");
|
|
12887
12962
|
var AgentRow = /* @__PURE__ */ __name(({ row, now }) => {
|
|
@@ -12895,16 +12970,16 @@ var AgentRow = /* @__PURE__ */ __name(({ row, now }) => {
|
|
|
12895
12970
|
if (elapsed) trailingParts.push(elapsed);
|
|
12896
12971
|
if (tokens) trailingParts.push(`${tokens} tok`);
|
|
12897
12972
|
const trailing = trailingParts.join(" \xB7 ");
|
|
12898
|
-
return /* @__PURE__ */ (0,
|
|
12899
|
-
/* @__PURE__ */ (0,
|
|
12900
|
-
/* @__PURE__ */ (0,
|
|
12901
|
-
/* @__PURE__ */ (0,
|
|
12902
|
-
/* @__PURE__ */ (0,
|
|
12973
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
12974
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { color, wrap: "truncate-end", children: glyph }) }),
|
|
12975
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { flexShrink: 0, marginRight: 1, width: NAME_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { wrap: "truncate-end", children: displayName }) }),
|
|
12976
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { flexShrink: 1, flexGrow: 1, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: activity }) }),
|
|
12977
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box_default, { flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text, { color: theme.text.secondary, wrap: "truncate-end", children: trailing }) })
|
|
12903
12978
|
] });
|
|
12904
12979
|
}, "AgentRow");
|
|
12905
12980
|
|
|
12906
12981
|
// packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
|
|
12907
|
-
var
|
|
12982
|
+
var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
|
|
12908
12983
|
function isAgentWithPendingConfirmation(rd) {
|
|
12909
12984
|
return typeof rd === "object" && rd !== null && "type" in rd && rd.type === "task_execution" && rd.pendingConfirmation !== void 0;
|
|
12910
12985
|
}
|
|
@@ -12997,7 +13072,7 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
12997
13072
|
if (inlineToolCalls.length === 0) {
|
|
12998
13073
|
return null;
|
|
12999
13074
|
}
|
|
13000
|
-
return /* @__PURE__ */ (0,
|
|
13075
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
13001
13076
|
InlineParallelAgentsDisplay,
|
|
13002
13077
|
{
|
|
13003
13078
|
toolCalls: inlineToolCalls,
|
|
@@ -13014,15 +13089,15 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13014
13089
|
if (allMemOpsComplete) {
|
|
13015
13090
|
const readCount = memoryReadCount ?? 0;
|
|
13016
13091
|
const writeCount = memoryWriteCount ?? 0;
|
|
13017
|
-
return /* @__PURE__ */ (0,
|
|
13018
|
-
readCount > 0 && /* @__PURE__ */ (0,
|
|
13092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Box_default, { flexDirection: "column", width: contentWidth, children: [
|
|
13093
|
+
readCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Text, { dimColor: true, children: [
|
|
13019
13094
|
ICON.CIRCLE_FILLED + " ",
|
|
13020
13095
|
"Recalled ",
|
|
13021
13096
|
readCount,
|
|
13022
13097
|
" ",
|
|
13023
13098
|
readCount === 1 ? "memory" : "memories"
|
|
13024
13099
|
] }) }),
|
|
13025
|
-
writeCount > 0 && /* @__PURE__ */ (0,
|
|
13100
|
+
writeCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Text, { dimColor: true, children: [
|
|
13026
13101
|
ICON.CIRCLE_FILLED + " ",
|
|
13027
13102
|
"Wrote ",
|
|
13028
13103
|
writeCount,
|
|
@@ -13040,7 +13115,7 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13040
13115
|
(t2) => !isCollapsibleTool(t2.name) || t2.status === "Canceled" /* Canceled */ || hasInlineImageOutput(t2)
|
|
13041
13116
|
);
|
|
13042
13117
|
const hasMemoryBadge = !isMemoryOnlyGroup && ((memoryWriteCount ?? 0) > 0 || (memoryReadCount ?? 0) > 0);
|
|
13043
|
-
const memoryBadge = hasMemoryBadge ? /* @__PURE__ */ (0,
|
|
13118
|
+
const memoryBadge = hasMemoryBadge ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Box_default, { paddingLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Text, { dimColor: true, children: [
|
|
13044
13119
|
ICON.CIRCLE_FILLED + " ",
|
|
13045
13120
|
[
|
|
13046
13121
|
(memoryReadCount ?? 0) > 0 && `Recalled ${memoryReadCount} ${memoryReadCount === 1 ? "memory" : "memories"}`,
|
|
@@ -13048,8 +13123,8 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13048
13123
|
].filter(Boolean).join(", ")
|
|
13049
13124
|
] }) }) : null;
|
|
13050
13125
|
if (collapsibleTools.length > 0 && nonCollapsibleTools.length === 0) {
|
|
13051
|
-
return /* @__PURE__ */ (0,
|
|
13052
|
-
/* @__PURE__ */ (0,
|
|
13126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Box_default, { flexDirection: "column", width: contentWidth, children: [
|
|
13127
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
13053
13128
|
CompactToolGroupDisplay,
|
|
13054
13129
|
{
|
|
13055
13130
|
toolCalls: collapsibleTools,
|
|
@@ -13082,8 +13157,8 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13082
13157
|
),
|
|
13083
13158
|
1
|
|
13084
13159
|
) : void 0;
|
|
13085
|
-
return /* @__PURE__ */ (0,
|
|
13086
|
-
collapsibleTools.length > 0 && /* @__PURE__ */ (0,
|
|
13160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Box_default, { flexDirection: "column", width: contentWidth, gap: 0, children: [
|
|
13161
|
+
collapsibleTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
13087
13162
|
CompactToolGroupDisplay,
|
|
13088
13163
|
{
|
|
13089
13164
|
toolCalls: collapsibleTools,
|
|
@@ -13094,8 +13169,8 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13094
13169
|
nonCollapsibleTools.map((tool) => {
|
|
13095
13170
|
const isConfirming = toolAwaitingApproval?.callId === tool.callId;
|
|
13096
13171
|
const isSubagentFocused = isFocused && !toolAwaitingApproval && keyboardFocusedSubagentCallId === tool.callId;
|
|
13097
|
-
return /* @__PURE__ */ (0,
|
|
13098
|
-
/* @__PURE__ */ (0,
|
|
13172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Box_default, { flexDirection: "column", minHeight: 1, children: [
|
|
13173
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Box_default, { flexDirection: "row", alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
13099
13174
|
ToolMessage,
|
|
13100
13175
|
{
|
|
13101
13176
|
...tool,
|
|
@@ -13111,7 +13186,7 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13111
13186
|
isPending
|
|
13112
13187
|
}
|
|
13113
13188
|
) }),
|
|
13114
|
-
tool.status === "Confirming" /* Confirming */ && isConfirming && tool.confirmationDetails && /* @__PURE__ */ (0,
|
|
13189
|
+
tool.status === "Confirming" /* Confirming */ && isConfirming && tool.confirmationDetails && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
13115
13190
|
ToolConfirmationMessage,
|
|
13116
13191
|
{
|
|
13117
13192
|
confirmationDetails: tool.confirmationDetails,
|
|
@@ -13128,13 +13203,21 @@ var ToolGroupMessage = /* @__PURE__ */ __name(({
|
|
|
13128
13203
|
|
|
13129
13204
|
// packages/cli/src/ui/components/messages/CompressionMessage.tsx
|
|
13130
13205
|
init_esbuild_shims();
|
|
13131
|
-
var
|
|
13206
|
+
var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
|
|
13132
13207
|
function CompressionMessage({
|
|
13133
13208
|
compression
|
|
13134
13209
|
}) {
|
|
13135
|
-
const {
|
|
13210
|
+
const {
|
|
13211
|
+
isPending,
|
|
13212
|
+
originalTokenCount,
|
|
13213
|
+
newTokenCount,
|
|
13214
|
+
compressionStatus,
|
|
13215
|
+
originalTokenCountIsEstimated,
|
|
13216
|
+
newTokenCountIsEstimated
|
|
13217
|
+
} = compression;
|
|
13136
13218
|
const originalTokens = originalTokenCount ?? 0;
|
|
13137
13219
|
const newTokens = newTokenCount ?? 0;
|
|
13220
|
+
const formatTokens2 = /* @__PURE__ */ __name((count, isEstimated) => isEstimated ? `~${count}` : String(count), "formatTokens");
|
|
13138
13221
|
const getCompressionText = /* @__PURE__ */ __name(() => {
|
|
13139
13222
|
if (isPending) {
|
|
13140
13223
|
return t("Compressing chat history");
|
|
@@ -13144,8 +13227,11 @@ function CompressionMessage({
|
|
|
13144
13227
|
return t(
|
|
13145
13228
|
"Chat history compressed from {{originalTokens}} to {{newTokens}} tokens.",
|
|
13146
13229
|
{
|
|
13147
|
-
originalTokens:
|
|
13148
|
-
|
|
13230
|
+
originalTokens: formatTokens2(
|
|
13231
|
+
originalTokens,
|
|
13232
|
+
originalTokenCountIsEstimated
|
|
13233
|
+
),
|
|
13234
|
+
newTokens: formatTokens2(newTokens, newTokenCountIsEstimated)
|
|
13149
13235
|
}
|
|
13150
13236
|
);
|
|
13151
13237
|
case 2 /* COMPRESSION_FAILED_INFLATED_TOKEN_COUNT */:
|
|
@@ -13166,9 +13252,9 @@ function CompressionMessage({
|
|
|
13166
13252
|
}
|
|
13167
13253
|
}, "getCompressionText");
|
|
13168
13254
|
const text = getCompressionText();
|
|
13169
|
-
return /* @__PURE__ */ (0,
|
|
13170
|
-
/* @__PURE__ */ (0,
|
|
13171
|
-
/* @__PURE__ */ (0,
|
|
13255
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
13256
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Box_default, { width: 2, flexShrink: 0, children: isPending ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(build_default, { type: "dots" }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Text, { color: theme.text.accent, children: ICON.DIAMOND }) }),
|
|
13257
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
13172
13258
|
Text,
|
|
13173
13259
|
{
|
|
13174
13260
|
color: compression.isPending ? theme.text.accent : theme.status.success,
|
|
@@ -13182,7 +13268,7 @@ __name(CompressionMessage, "CompressionMessage");
|
|
|
13182
13268
|
|
|
13183
13269
|
// packages/cli/src/ui/components/messages/SummaryMessage.tsx
|
|
13184
13270
|
init_esbuild_shims();
|
|
13185
|
-
var
|
|
13271
|
+
var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
|
|
13186
13272
|
var SummaryMessage = /* @__PURE__ */ __name(({ summary }) => {
|
|
13187
13273
|
const getText = /* @__PURE__ */ __name(() => {
|
|
13188
13274
|
if (summary.isPending) {
|
|
@@ -13205,13 +13291,13 @@ var SummaryMessage = /* @__PURE__ */ __name(({ summary }) => {
|
|
|
13205
13291
|
}, "getText");
|
|
13206
13292
|
const getIcon = /* @__PURE__ */ __name(() => {
|
|
13207
13293
|
if (summary.isPending) {
|
|
13208
|
-
return /* @__PURE__ */ (0,
|
|
13294
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(build_default, { type: "dots" });
|
|
13209
13295
|
}
|
|
13210
|
-
return /* @__PURE__ */ (0,
|
|
13296
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text, { color: Colors.AccentGreen, children: "\u2713" });
|
|
13211
13297
|
}, "getIcon");
|
|
13212
|
-
return /* @__PURE__ */ (0,
|
|
13213
|
-
/* @__PURE__ */ (0,
|
|
13214
|
-
/* @__PURE__ */ (0,
|
|
13298
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
13299
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Box_default, { width: 2, flexShrink: 0, children: getIcon() }),
|
|
13300
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
13215
13301
|
Text,
|
|
13216
13302
|
{
|
|
13217
13303
|
color: summary.isPending ? Colors.AccentPurple : Colors.AccentGreen,
|
|
@@ -13392,7 +13478,7 @@ Link.propTypes = {
|
|
|
13392
13478
|
var dist_default = Link;
|
|
13393
13479
|
|
|
13394
13480
|
// packages/cli/src/ui/components/messages/StatusMessages.tsx
|
|
13395
|
-
var
|
|
13481
|
+
var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
|
|
13396
13482
|
var StatusMessage = /* @__PURE__ */ __name(({
|
|
13397
13483
|
text,
|
|
13398
13484
|
prefix,
|
|
@@ -13405,11 +13491,11 @@ var StatusMessage = /* @__PURE__ */ __name(({
|
|
|
13405
13491
|
return null;
|
|
13406
13492
|
}
|
|
13407
13493
|
const prefixWidth = stringWidth(prefix) + 1;
|
|
13408
|
-
return /* @__PURE__ */ (0,
|
|
13409
|
-
/* @__PURE__ */ (0,
|
|
13410
|
-
/* @__PURE__ */ (0,
|
|
13411
|
-
text && text.trim() !== "" && /* @__PURE__ */ (0,
|
|
13412
|
-
/* @__PURE__ */ (0,
|
|
13494
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
13495
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { width: prefixWidth, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { color: prefixColor, children: prefix }) }),
|
|
13496
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
|
|
13497
|
+
text && text.trim() !== "" && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { wrap: "wrap", color: textColor, children: [
|
|
13498
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RenderInline, { text }),
|
|
13413
13499
|
children
|
|
13414
13500
|
] }),
|
|
13415
13501
|
footer
|
|
@@ -13420,17 +13506,17 @@ var InfoMessage = /* @__PURE__ */ __name(({
|
|
|
13420
13506
|
text,
|
|
13421
13507
|
linkUrl,
|
|
13422
13508
|
linkText
|
|
13423
|
-
}) => /* @__PURE__ */ (0,
|
|
13509
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13424
13510
|
StatusMessage,
|
|
13425
13511
|
{
|
|
13426
13512
|
text,
|
|
13427
13513
|
prefix: ICON.CIRCLE_FILLED,
|
|
13428
13514
|
prefixColor: theme.text.primary,
|
|
13429
13515
|
textColor: theme.text.primary,
|
|
13430
|
-
footer: linkUrl && /* @__PURE__ */ (0,
|
|
13516
|
+
footer: linkUrl && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(dist_default, { url: linkUrl, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { color: theme.text.link, underline: true, children: linkText ?? linkUrl }) })
|
|
13431
13517
|
}
|
|
13432
13518
|
), "InfoMessage");
|
|
13433
|
-
var SuccessMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0,
|
|
13519
|
+
var SuccessMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13434
13520
|
StatusMessage,
|
|
13435
13521
|
{
|
|
13436
13522
|
text,
|
|
@@ -13439,7 +13525,7 @@ var SuccessMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, im
|
|
|
13439
13525
|
textColor: theme.status.success
|
|
13440
13526
|
}
|
|
13441
13527
|
), "SuccessMessage");
|
|
13442
|
-
var WarningMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0,
|
|
13528
|
+
var WarningMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13443
13529
|
StatusMessage,
|
|
13444
13530
|
{
|
|
13445
13531
|
text,
|
|
@@ -13451,21 +13537,21 @@ var WarningMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, im
|
|
|
13451
13537
|
var ErrorMessage = /* @__PURE__ */ __name(({
|
|
13452
13538
|
text,
|
|
13453
13539
|
hint
|
|
13454
|
-
}) => /* @__PURE__ */ (0,
|
|
13540
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13455
13541
|
StatusMessage,
|
|
13456
13542
|
{
|
|
13457
13543
|
text,
|
|
13458
13544
|
prefix: "\u2715",
|
|
13459
13545
|
prefixColor: theme.status.error,
|
|
13460
13546
|
textColor: theme.status.error,
|
|
13461
|
-
children: hint && /* @__PURE__ */ (0,
|
|
13547
|
+
children: hint && /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13462
13548
|
" (",
|
|
13463
13549
|
hint,
|
|
13464
13550
|
")"
|
|
13465
13551
|
] })
|
|
13466
13552
|
}
|
|
13467
13553
|
), "ErrorMessage");
|
|
13468
|
-
var RetryCountdownMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0,
|
|
13554
|
+
var RetryCountdownMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13469
13555
|
StatusMessage,
|
|
13470
13556
|
{
|
|
13471
13557
|
text,
|
|
@@ -13474,7 +13560,7 @@ var RetryCountdownMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */
|
|
|
13474
13560
|
textColor: theme.text.secondary
|
|
13475
13561
|
}
|
|
13476
13562
|
), "RetryCountdownMessage");
|
|
13477
|
-
var VisionNoticeMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0,
|
|
13563
|
+
var VisionNoticeMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
13478
13564
|
StatusMessage,
|
|
13479
13565
|
{
|
|
13480
13566
|
text,
|
|
@@ -13483,23 +13569,23 @@ var VisionNoticeMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (
|
|
|
13483
13569
|
textColor: theme.text.secondary
|
|
13484
13570
|
}
|
|
13485
13571
|
), "VisionNoticeMessage");
|
|
13486
|
-
var AwayRecapMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0,
|
|
13487
|
-
/* @__PURE__ */ (0,
|
|
13488
|
-
/* @__PURE__ */ (0,
|
|
13489
|
-
/* @__PURE__ */ (0,
|
|
13572
|
+
var AwayRecapMessage = /* @__PURE__ */ __name(({ text }) => /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
13573
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { color: theme.text.secondary, children: ICON.REFERENCE }) }),
|
|
13574
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { wrap: "wrap", children: [
|
|
13575
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Text, { color: theme.text.secondary, bold: true, children: [
|
|
13490
13576
|
"recap:",
|
|
13491
13577
|
" "
|
|
13492
13578
|
] }),
|
|
13493
|
-
/* @__PURE__ */ (0,
|
|
13579
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Text, { color: theme.text.secondary, italic: true, children: text })
|
|
13494
13580
|
] })
|
|
13495
13581
|
] }), "AwayRecapMessage");
|
|
13496
13582
|
|
|
13497
13583
|
// packages/cli/src/ui/components/AboutBox.tsx
|
|
13498
13584
|
init_esbuild_shims();
|
|
13499
|
-
var
|
|
13585
|
+
var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
|
|
13500
13586
|
var AboutBox = /* @__PURE__ */ __name(({ width, ...props }) => {
|
|
13501
13587
|
const fields = getSystemInfoFields(props);
|
|
13502
|
-
return /* @__PURE__ */ (0,
|
|
13588
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
13503
13589
|
Box_default,
|
|
13504
13590
|
{
|
|
13505
13591
|
borderStyle: "round",
|
|
@@ -13508,15 +13594,15 @@ var AboutBox = /* @__PURE__ */ __name(({ width, ...props }) => {
|
|
|
13508
13594
|
padding: 1,
|
|
13509
13595
|
width,
|
|
13510
13596
|
children: [
|
|
13511
|
-
/* @__PURE__ */ (0,
|
|
13512
|
-
fields.map((field) => /* @__PURE__ */ (0,
|
|
13597
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Status") }) }),
|
|
13598
|
+
fields.map((field) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
13513
13599
|
Box_default,
|
|
13514
13600
|
{
|
|
13515
13601
|
flexDirection: "row",
|
|
13516
13602
|
marginTop: field.label === t("Auth") ? 1 : 0,
|
|
13517
13603
|
children: [
|
|
13518
|
-
/* @__PURE__ */ (0,
|
|
13519
|
-
/* @__PURE__ */ (0,
|
|
13604
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Box_default, { width: "35%", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Text, { bold: true, color: theme.text.link, children: field.label }) }),
|
|
13605
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Text, { color: theme.text.primary, children: field.value }) })
|
|
13520
13606
|
]
|
|
13521
13607
|
},
|
|
13522
13608
|
field.label
|
|
@@ -13646,20 +13732,20 @@ function sortSources(sources) {
|
|
|
13646
13732
|
__name(sortSources, "sortSources");
|
|
13647
13733
|
|
|
13648
13734
|
// packages/cli/src/ui/components/StatsDisplay.tsx
|
|
13649
|
-
var
|
|
13650
|
-
var StatRow = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0,
|
|
13651
|
-
/* @__PURE__ */ (0,
|
|
13652
|
-
/* @__PURE__ */ (0,
|
|
13735
|
+
var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
|
|
13736
|
+
var StatRow = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { children: [
|
|
13737
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: 28, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.link, children: title }) }),
|
|
13738
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { flexGrow: 1, children })
|
|
13653
13739
|
] }), "StatRow");
|
|
13654
|
-
var SubStatRow = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0,
|
|
13655
|
-
/* @__PURE__ */ (0,
|
|
13740
|
+
var SubStatRow = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { paddingLeft: 2, children: [
|
|
13741
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: 26, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13656
13742
|
"\xBB ",
|
|
13657
13743
|
title
|
|
13658
13744
|
] }) }),
|
|
13659
|
-
/* @__PURE__ */ (0,
|
|
13745
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { flexGrow: 1, children })
|
|
13660
13746
|
] }), "SubStatRow");
|
|
13661
|
-
var Section = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0,
|
|
13662
|
-
/* @__PURE__ */ (0,
|
|
13747
|
+
var Section = /* @__PURE__ */ __name(({ title, children }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { flexDirection: "column", width: "100%", marginBottom: 1, children: [
|
|
13748
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: title }),
|
|
13663
13749
|
children
|
|
13664
13750
|
] }), "Section");
|
|
13665
13751
|
var ModelUsageTable = /* @__PURE__ */ __name(({ models, totalCachedTokens, cacheEfficiency }) => {
|
|
@@ -13668,14 +13754,14 @@ var ModelUsageTable = /* @__PURE__ */ __name(({ models, totalCachedTokens, cache
|
|
|
13668
13754
|
const inputTokensWidth = 15;
|
|
13669
13755
|
const outputTokensWidth = 15;
|
|
13670
13756
|
const entries = flattenModelsBySource(models);
|
|
13671
|
-
return /* @__PURE__ */ (0,
|
|
13672
|
-
/* @__PURE__ */ (0,
|
|
13673
|
-
/* @__PURE__ */ (0,
|
|
13674
|
-
/* @__PURE__ */ (0,
|
|
13675
|
-
/* @__PURE__ */ (0,
|
|
13676
|
-
/* @__PURE__ */ (0,
|
|
13757
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
13758
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { children: [
|
|
13759
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: nameWidth, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Model Usage") }) }),
|
|
13760
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: requestsWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Reqs") }) }),
|
|
13761
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: inputTokensWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Input Tokens") }) }),
|
|
13762
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: outputTokensWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Output Tokens") }) })
|
|
13677
13763
|
] }),
|
|
13678
|
-
/* @__PURE__ */ (0,
|
|
13764
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
13679
13765
|
Box_default,
|
|
13680
13766
|
{
|
|
13681
13767
|
borderStyle: "round",
|
|
@@ -13687,15 +13773,15 @@ var ModelUsageTable = /* @__PURE__ */ __name(({ models, totalCachedTokens, cache
|
|
|
13687
13773
|
width: nameWidth + requestsWidth + inputTokensWidth + outputTokensWidth
|
|
13688
13774
|
}
|
|
13689
13775
|
),
|
|
13690
|
-
entries.map(({ key, label, metrics }) => /* @__PURE__ */ (0,
|
|
13691
|
-
/* @__PURE__ */ (0,
|
|
13692
|
-
/* @__PURE__ */ (0,
|
|
13693
|
-
/* @__PURE__ */ (0,
|
|
13694
|
-
/* @__PURE__ */ (0,
|
|
13776
|
+
entries.map(({ key, label, metrics }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { children: [
|
|
13777
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: nameWidth, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.primary, children: label }) }),
|
|
13778
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: requestsWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.primary, children: metrics.api.totalRequests }) }),
|
|
13779
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: inputTokensWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.status.warning, children: metrics.tokens.prompt.toLocaleString() }) }),
|
|
13780
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { width: outputTokensWidth, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.status.warning, children: metrics.tokens.candidates.toLocaleString() }) })
|
|
13695
13781
|
] }, key)),
|
|
13696
|
-
cacheEfficiency > 0 && /* @__PURE__ */ (0,
|
|
13697
|
-
/* @__PURE__ */ (0,
|
|
13698
|
-
/* @__PURE__ */ (0,
|
|
13782
|
+
cacheEfficiency > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
13783
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.primary, children: [
|
|
13784
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.status.success, children: t("Savings Highlight:") }),
|
|
13699
13785
|
" ",
|
|
13700
13786
|
totalCachedTokens.toLocaleString(),
|
|
13701
13787
|
" (",
|
|
@@ -13704,8 +13790,8 @@ var ModelUsageTable = /* @__PURE__ */ __name(({ models, totalCachedTokens, cache
|
|
|
13704
13790
|
" ",
|
|
13705
13791
|
t("of input tokens were served from the cache, reducing costs.")
|
|
13706
13792
|
] }),
|
|
13707
|
-
/* @__PURE__ */ (0,
|
|
13708
|
-
/* @__PURE__ */ (0,
|
|
13793
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { height: 1 }),
|
|
13794
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13709
13795
|
"\xBB ",
|
|
13710
13796
|
t("Tip: For a full token breakdown, run `/stats model`.")
|
|
13711
13797
|
] })
|
|
@@ -13737,11 +13823,11 @@ var StatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13737
13823
|
const renderTitle = /* @__PURE__ */ __name(() => {
|
|
13738
13824
|
if (title) {
|
|
13739
13825
|
const gradientColors = getRenderableGradientColors(theme.ui.gradient);
|
|
13740
|
-
return gradientColors ? /* @__PURE__ */ (0,
|
|
13826
|
+
return gradientColors ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(dist_default2, { colors: gradientColors, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.primary, children: title }) }) : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.accent, children: title });
|
|
13741
13827
|
}
|
|
13742
|
-
return /* @__PURE__ */ (0,
|
|
13828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Session Stats") });
|
|
13743
13829
|
}, "renderTitle");
|
|
13744
|
-
return /* @__PURE__ */ (0,
|
|
13830
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
13745
13831
|
Box_default,
|
|
13746
13832
|
{
|
|
13747
13833
|
borderStyle: "round",
|
|
@@ -13752,33 +13838,33 @@ var StatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13752
13838
|
width,
|
|
13753
13839
|
children: [
|
|
13754
13840
|
renderTitle(),
|
|
13755
|
-
/* @__PURE__ */ (0,
|
|
13756
|
-
/* @__PURE__ */ (0,
|
|
13757
|
-
/* @__PURE__ */ (0,
|
|
13758
|
-
/* @__PURE__ */ (0,
|
|
13841
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Box_default, { height: 1 }),
|
|
13842
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Section, { title: t("Interaction Summary"), children: [
|
|
13843
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Session ID:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.primary, children: stats.sessionId }) }),
|
|
13844
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Tool Calls:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.primary, children: [
|
|
13759
13845
|
tools.totalCalls,
|
|
13760
13846
|
" (",
|
|
13761
13847
|
" ",
|
|
13762
|
-
/* @__PURE__ */ (0,
|
|
13848
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.status.success, children: [
|
|
13763
13849
|
"\u2713 ",
|
|
13764
13850
|
tools.totalSuccess
|
|
13765
13851
|
] }),
|
|
13766
13852
|
" ",
|
|
13767
|
-
/* @__PURE__ */ (0,
|
|
13853
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.status.error, children: [
|
|
13768
13854
|
"x ",
|
|
13769
13855
|
tools.totalFail
|
|
13770
13856
|
] }),
|
|
13771
13857
|
" )"
|
|
13772
13858
|
] }) }),
|
|
13773
|
-
/* @__PURE__ */ (0,
|
|
13859
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Success Rate:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: successColor, children: [
|
|
13774
13860
|
computed.successRate.toFixed(1),
|
|
13775
13861
|
"%"
|
|
13776
13862
|
] }) }),
|
|
13777
|
-
computed.totalDecisions > 0 && /* @__PURE__ */ (0,
|
|
13863
|
+
computed.totalDecisions > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("User Agreement:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: agreementColor, children: [
|
|
13778
13864
|
computed.agreementRate.toFixed(1),
|
|
13779
13865
|
"%",
|
|
13780
13866
|
" ",
|
|
13781
|
-
/* @__PURE__ */ (0,
|
|
13867
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13782
13868
|
"(",
|
|
13783
13869
|
computed.totalDecisions,
|
|
13784
13870
|
" ",
|
|
@@ -13786,41 +13872,41 @@ var StatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13786
13872
|
")"
|
|
13787
13873
|
] })
|
|
13788
13874
|
] }) }),
|
|
13789
|
-
files && (files.totalLinesAdded > 0 || files.totalLinesRemoved > 0) && /* @__PURE__ */ (0,
|
|
13790
|
-
/* @__PURE__ */ (0,
|
|
13875
|
+
files && (files.totalLinesAdded > 0 || files.totalLinesRemoved > 0) && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Code Changes:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.primary, children: [
|
|
13876
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.status.success, children: [
|
|
13791
13877
|
"+",
|
|
13792
13878
|
files.totalLinesAdded
|
|
13793
13879
|
] }),
|
|
13794
13880
|
" ",
|
|
13795
|
-
/* @__PURE__ */ (0,
|
|
13881
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.status.error, children: [
|
|
13796
13882
|
"-",
|
|
13797
13883
|
files.totalLinesRemoved
|
|
13798
13884
|
] })
|
|
13799
13885
|
] }) })
|
|
13800
13886
|
] }),
|
|
13801
|
-
/* @__PURE__ */ (0,
|
|
13802
|
-
/* @__PURE__ */ (0,
|
|
13803
|
-
/* @__PURE__ */ (0,
|
|
13804
|
-
/* @__PURE__ */ (0,
|
|
13887
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Section, { title: t("Performance"), children: [
|
|
13888
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Wall Time:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.primary, children: duration }) }),
|
|
13889
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(StatRow, { title: t("Agent Active:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Text, { color: theme.text.primary, children: formatDuration(computed.agentActiveTime) }) }),
|
|
13890
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SubStatRow, { title: t("API Time:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.primary, children: [
|
|
13805
13891
|
formatDuration(computed.totalApiTime),
|
|
13806
13892
|
" ",
|
|
13807
|
-
/* @__PURE__ */ (0,
|
|
13893
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13808
13894
|
"(",
|
|
13809
13895
|
computed.apiTimePercent.toFixed(1),
|
|
13810
13896
|
"%)"
|
|
13811
13897
|
] })
|
|
13812
13898
|
] }) }),
|
|
13813
|
-
/* @__PURE__ */ (0,
|
|
13899
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(SubStatRow, { title: t("Tool Time:"), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.primary, children: [
|
|
13814
13900
|
formatDuration(computed.totalToolTime),
|
|
13815
13901
|
" ",
|
|
13816
|
-
/* @__PURE__ */ (0,
|
|
13902
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
13817
13903
|
"(",
|
|
13818
13904
|
computed.toolTimePercent.toFixed(1),
|
|
13819
13905
|
"%)"
|
|
13820
13906
|
] })
|
|
13821
13907
|
] }) })
|
|
13822
13908
|
] }),
|
|
13823
|
-
Object.keys(models).length > 0 && /* @__PURE__ */ (0,
|
|
13909
|
+
Object.keys(models).length > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
13824
13910
|
ModelUsageTable,
|
|
13825
13911
|
{
|
|
13826
13912
|
models,
|
|
@@ -13835,7 +13921,7 @@ var StatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13835
13921
|
|
|
13836
13922
|
// packages/cli/src/ui/components/ModelStatsDisplay.tsx
|
|
13837
13923
|
init_esbuild_shims();
|
|
13838
|
-
var
|
|
13924
|
+
var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
|
|
13839
13925
|
var METRIC_COL_WIDTH = 28;
|
|
13840
13926
|
var MODEL_COL_WIDTH = 24;
|
|
13841
13927
|
var PANEL_HORIZONTAL_CHROME_WIDTH = 6;
|
|
@@ -13845,8 +13931,8 @@ var StatRow2 = /* @__PURE__ */ __name(({
|
|
|
13845
13931
|
modelColWidth,
|
|
13846
13932
|
isSubtle = false,
|
|
13847
13933
|
isSection = false
|
|
13848
|
-
}) => /* @__PURE__ */ (0,
|
|
13849
|
-
/* @__PURE__ */ (0,
|
|
13934
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Box_default, { children: [
|
|
13935
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { width: METRIC_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13850
13936
|
Text,
|
|
13851
13937
|
{
|
|
13852
13938
|
bold: isSection,
|
|
@@ -13854,7 +13940,7 @@ var StatRow2 = /* @__PURE__ */ __name(({
|
|
|
13854
13940
|
children: isSubtle ? ` \u21B3 ${title}` : title
|
|
13855
13941
|
}
|
|
13856
13942
|
) }),
|
|
13857
|
-
values.map((value, index) => /* @__PURE__ */ (0,
|
|
13943
|
+
values.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { width: modelColWidth, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { color: theme.text.primary, children: value }) }, index))
|
|
13858
13944
|
] }), "StatRow");
|
|
13859
13945
|
var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
13860
13946
|
width
|
|
@@ -13865,7 +13951,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13865
13951
|
const settings = useSettings();
|
|
13866
13952
|
const modelPricing = settings.merged.modelPricing;
|
|
13867
13953
|
if (entries.length === 0) {
|
|
13868
|
-
return /* @__PURE__ */ (0,
|
|
13954
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13869
13955
|
Box_default,
|
|
13870
13956
|
{
|
|
13871
13957
|
borderStyle: "round",
|
|
@@ -13873,7 +13959,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13873
13959
|
paddingY: 1,
|
|
13874
13960
|
paddingX: 2,
|
|
13875
13961
|
width,
|
|
13876
|
-
children: /* @__PURE__ */ (0,
|
|
13962
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { color: theme.text.primary, children: t("No API calls have been made in this session.") })
|
|
13877
13963
|
}
|
|
13878
13964
|
);
|
|
13879
13965
|
}
|
|
@@ -13894,7 +13980,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13894
13980
|
pricing: modelPricing?.[getModelName(key)]
|
|
13895
13981
|
}) != null
|
|
13896
13982
|
);
|
|
13897
|
-
return /* @__PURE__ */ (0,
|
|
13983
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
13898
13984
|
Box_default,
|
|
13899
13985
|
{
|
|
13900
13986
|
borderStyle: "round",
|
|
@@ -13904,13 +13990,13 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13904
13990
|
paddingX: 2,
|
|
13905
13991
|
width,
|
|
13906
13992
|
children: [
|
|
13907
|
-
/* @__PURE__ */ (0,
|
|
13908
|
-
/* @__PURE__ */ (0,
|
|
13909
|
-
/* @__PURE__ */ (0,
|
|
13910
|
-
/* @__PURE__ */ (0,
|
|
13911
|
-
entries.map(({ key, label }) => /* @__PURE__ */ (0,
|
|
13993
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Model Stats For Nerds") }),
|
|
13994
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { height: 1 }),
|
|
13995
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Box_default, { children: [
|
|
13996
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { width: METRIC_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Metric") }) }),
|
|
13997
|
+
entries.map(({ key, label }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { width: modelColWidth, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { bold: true, color: theme.text.primary, children: label }) }, key))
|
|
13912
13998
|
] }),
|
|
13913
|
-
/* @__PURE__ */ (0,
|
|
13999
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13914
14000
|
Box_default,
|
|
13915
14001
|
{
|
|
13916
14002
|
borderStyle: "single",
|
|
@@ -13921,7 +14007,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13921
14007
|
borderColor: theme.border.default
|
|
13922
14008
|
}
|
|
13923
14009
|
),
|
|
13924
|
-
/* @__PURE__ */ (0,
|
|
14010
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13925
14011
|
StatRow2,
|
|
13926
14012
|
{
|
|
13927
14013
|
title: t("API"),
|
|
@@ -13930,7 +14016,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13930
14016
|
isSection: true
|
|
13931
14017
|
}
|
|
13932
14018
|
),
|
|
13933
|
-
/* @__PURE__ */ (0,
|
|
14019
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13934
14020
|
StatRow2,
|
|
13935
14021
|
{
|
|
13936
14022
|
title: t("Requests"),
|
|
@@ -13938,13 +14024,13 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13938
14024
|
modelColWidth
|
|
13939
14025
|
}
|
|
13940
14026
|
),
|
|
13941
|
-
/* @__PURE__ */ (0,
|
|
14027
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13942
14028
|
StatRow2,
|
|
13943
14029
|
{
|
|
13944
14030
|
title: t("Errors"),
|
|
13945
14031
|
values: getModelValues((m) => {
|
|
13946
14032
|
const errorRate = calculateErrorRate(m);
|
|
13947
|
-
return /* @__PURE__ */ (0,
|
|
14033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
13948
14034
|
Text,
|
|
13949
14035
|
{
|
|
13950
14036
|
color: m.api.totalErrors > 0 ? theme.status.error : theme.text.primary,
|
|
@@ -13960,7 +14046,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13960
14046
|
modelColWidth
|
|
13961
14047
|
}
|
|
13962
14048
|
),
|
|
13963
|
-
/* @__PURE__ */ (0,
|
|
14049
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13964
14050
|
StatRow2,
|
|
13965
14051
|
{
|
|
13966
14052
|
title: t("Avg Latency"),
|
|
@@ -13971,8 +14057,8 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13971
14057
|
modelColWidth
|
|
13972
14058
|
}
|
|
13973
14059
|
),
|
|
13974
|
-
/* @__PURE__ */ (0,
|
|
13975
|
-
/* @__PURE__ */ (0,
|
|
14060
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { height: 1 }),
|
|
14061
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13976
14062
|
StatRow2,
|
|
13977
14063
|
{
|
|
13978
14064
|
title: t("Tokens"),
|
|
@@ -13981,15 +14067,15 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13981
14067
|
isSection: true
|
|
13982
14068
|
}
|
|
13983
14069
|
),
|
|
13984
|
-
/* @__PURE__ */ (0,
|
|
14070
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13985
14071
|
StatRow2,
|
|
13986
14072
|
{
|
|
13987
14073
|
title: t("Total"),
|
|
13988
|
-
values: getModelValues((m) => /* @__PURE__ */ (0,
|
|
14074
|
+
values: getModelValues((m) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Text, { color: theme.status.warning, children: m.tokens.total.toLocaleString() })),
|
|
13989
14075
|
modelColWidth
|
|
13990
14076
|
}
|
|
13991
14077
|
),
|
|
13992
|
-
/* @__PURE__ */ (0,
|
|
14078
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
13993
14079
|
StatRow2,
|
|
13994
14080
|
{
|
|
13995
14081
|
title: t("Prompt"),
|
|
@@ -13998,14 +14084,14 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
13998
14084
|
modelColWidth
|
|
13999
14085
|
}
|
|
14000
14086
|
),
|
|
14001
|
-
hasCached && /* @__PURE__ */ (0,
|
|
14087
|
+
hasCached && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
14002
14088
|
StatRow2,
|
|
14003
14089
|
{
|
|
14004
14090
|
title: t("Cached"),
|
|
14005
14091
|
isSubtle: true,
|
|
14006
14092
|
values: getModelValues((m) => {
|
|
14007
14093
|
const cacheHitRate = calculateCacheHitRate(m);
|
|
14008
|
-
return /* @__PURE__ */ (0,
|
|
14094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Text, { color: theme.status.success, children: [
|
|
14009
14095
|
m.tokens.cached.toLocaleString(),
|
|
14010
14096
|
" (",
|
|
14011
14097
|
cacheHitRate.toFixed(1),
|
|
@@ -14015,7 +14101,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14015
14101
|
modelColWidth
|
|
14016
14102
|
}
|
|
14017
14103
|
),
|
|
14018
|
-
hasThoughts && /* @__PURE__ */ (0,
|
|
14104
|
+
hasThoughts && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
14019
14105
|
StatRow2,
|
|
14020
14106
|
{
|
|
14021
14107
|
title: t("Thoughts"),
|
|
@@ -14024,7 +14110,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14024
14110
|
modelColWidth
|
|
14025
14111
|
}
|
|
14026
14112
|
),
|
|
14027
|
-
/* @__PURE__ */ (0,
|
|
14113
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
14028
14114
|
StatRow2,
|
|
14029
14115
|
{
|
|
14030
14116
|
title: t("Output"),
|
|
@@ -14033,9 +14119,9 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14033
14119
|
modelColWidth
|
|
14034
14120
|
}
|
|
14035
14121
|
),
|
|
14036
|
-
hasPricing && /* @__PURE__ */ (0,
|
|
14037
|
-
/* @__PURE__ */ (0,
|
|
14038
|
-
/* @__PURE__ */ (0,
|
|
14122
|
+
hasPricing && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
14123
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box_default, { height: 1 }),
|
|
14124
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
14039
14125
|
StatRow2,
|
|
14040
14126
|
{
|
|
14041
14127
|
title: t("Cost"),
|
|
@@ -14044,7 +14130,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14044
14130
|
isSection: true
|
|
14045
14131
|
}
|
|
14046
14132
|
),
|
|
14047
|
-
/* @__PURE__ */ (0,
|
|
14133
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
14048
14134
|
StatRow2,
|
|
14049
14135
|
{
|
|
14050
14136
|
title: t("Estimated"),
|
|
@@ -14067,7 +14153,7 @@ var ModelStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14067
14153
|
|
|
14068
14154
|
// packages/cli/src/ui/components/ToolStatsDisplay.tsx
|
|
14069
14155
|
init_esbuild_shims();
|
|
14070
|
-
var
|
|
14156
|
+
var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
|
|
14071
14157
|
var TOOL_NAME_COL_WIDTH = 25;
|
|
14072
14158
|
var CALLS_COL_WIDTH = 8;
|
|
14073
14159
|
var SUCCESS_RATE_COL_WIDTH = 15;
|
|
@@ -14079,14 +14165,14 @@ var StatRow3 = /* @__PURE__ */ __name(({ name, stats }) => {
|
|
|
14079
14165
|
green: TOOL_SUCCESS_RATE_HIGH,
|
|
14080
14166
|
yellow: TOOL_SUCCESS_RATE_MEDIUM
|
|
14081
14167
|
});
|
|
14082
|
-
return /* @__PURE__ */ (0,
|
|
14083
|
-
/* @__PURE__ */ (0,
|
|
14084
|
-
/* @__PURE__ */ (0,
|
|
14085
|
-
/* @__PURE__ */ (0,
|
|
14168
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14169
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: TOOL_NAME_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.link, children: name }) }),
|
|
14170
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: CALLS_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: stats.count }) }),
|
|
14171
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: SUCCESS_RATE_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Text, { color: successColor, children: [
|
|
14086
14172
|
successRate.toFixed(1),
|
|
14087
14173
|
"%"
|
|
14088
14174
|
] }) }),
|
|
14089
|
-
/* @__PURE__ */ (0,
|
|
14175
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: formatDuration(avgDuration) }) })
|
|
14090
14176
|
] });
|
|
14091
14177
|
}, "StatRow");
|
|
14092
14178
|
var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
@@ -14098,7 +14184,7 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14098
14184
|
([, metrics]) => metrics.count > 0
|
|
14099
14185
|
);
|
|
14100
14186
|
if (activeTools.length === 0) {
|
|
14101
|
-
return /* @__PURE__ */ (0,
|
|
14187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14102
14188
|
Box_default,
|
|
14103
14189
|
{
|
|
14104
14190
|
borderStyle: "round",
|
|
@@ -14106,7 +14192,7 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14106
14192
|
paddingY: 1,
|
|
14107
14193
|
paddingX: 2,
|
|
14108
14194
|
width,
|
|
14109
|
-
children: /* @__PURE__ */ (0,
|
|
14195
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: t("No tool calls have been made in this session.") })
|
|
14110
14196
|
}
|
|
14111
14197
|
);
|
|
14112
14198
|
}
|
|
@@ -14125,7 +14211,7 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14125
14211
|
green: USER_AGREEMENT_RATE_HIGH,
|
|
14126
14212
|
yellow: USER_AGREEMENT_RATE_MEDIUM
|
|
14127
14213
|
});
|
|
14128
|
-
return /* @__PURE__ */ (0,
|
|
14214
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
14129
14215
|
Box_default,
|
|
14130
14216
|
{
|
|
14131
14217
|
borderStyle: "round",
|
|
@@ -14135,15 +14221,15 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14135
14221
|
paddingX: 2,
|
|
14136
14222
|
width,
|
|
14137
14223
|
children: [
|
|
14138
|
-
/* @__PURE__ */ (0,
|
|
14139
|
-
/* @__PURE__ */ (0,
|
|
14140
|
-
/* @__PURE__ */ (0,
|
|
14141
|
-
/* @__PURE__ */ (0,
|
|
14142
|
-
/* @__PURE__ */ (0,
|
|
14143
|
-
/* @__PURE__ */ (0,
|
|
14144
|
-
/* @__PURE__ */ (0,
|
|
14224
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Tool Stats For Nerds") }),
|
|
14225
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { height: 1 }),
|
|
14226
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14227
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: TOOL_NAME_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Tool Name") }) }),
|
|
14228
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: CALLS_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Calls") }) }),
|
|
14229
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: SUCCESS_RATE_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Success Rate") }) }),
|
|
14230
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Avg Duration") }) })
|
|
14145
14231
|
] }),
|
|
14146
|
-
/* @__PURE__ */ (0,
|
|
14232
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14147
14233
|
Box_default,
|
|
14148
14234
|
{
|
|
14149
14235
|
borderStyle: "single",
|
|
@@ -14155,50 +14241,50 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14155
14241
|
width: "100%"
|
|
14156
14242
|
}
|
|
14157
14243
|
),
|
|
14158
|
-
activeTools.map(([name, stats2]) => /* @__PURE__ */ (0,
|
|
14159
|
-
/* @__PURE__ */ (0,
|
|
14160
|
-
/* @__PURE__ */ (0,
|
|
14161
|
-
/* @__PURE__ */ (0,
|
|
14162
|
-
/* @__PURE__ */ (0,
|
|
14244
|
+
activeTools.map(([name, stats2]) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StatRow3, { name, stats: stats2 }, name)),
|
|
14245
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { height: 1 }),
|
|
14246
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: theme.text.primary, children: t("User Decision Summary") }),
|
|
14247
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14248
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14163
14249
|
Box_default,
|
|
14164
14250
|
{
|
|
14165
14251
|
width: TOOL_NAME_COL_WIDTH + CALLS_COL_WIDTH + SUCCESS_RATE_COL_WIDTH,
|
|
14166
|
-
children: /* @__PURE__ */ (0,
|
|
14252
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.link, children: t("Total Reviewed Suggestions:") })
|
|
14167
14253
|
}
|
|
14168
14254
|
),
|
|
14169
|
-
/* @__PURE__ */ (0,
|
|
14255
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: totalReviewed }) })
|
|
14170
14256
|
] }),
|
|
14171
|
-
/* @__PURE__ */ (0,
|
|
14172
|
-
/* @__PURE__ */ (0,
|
|
14257
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14258
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14173
14259
|
Box_default,
|
|
14174
14260
|
{
|
|
14175
14261
|
width: TOOL_NAME_COL_WIDTH + CALLS_COL_WIDTH + SUCCESS_RATE_COL_WIDTH,
|
|
14176
|
-
children: /* @__PURE__ */ (0,
|
|
14262
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: t(" \xBB Accepted:") })
|
|
14177
14263
|
}
|
|
14178
14264
|
),
|
|
14179
|
-
/* @__PURE__ */ (0,
|
|
14265
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.status.success, children: totalDecisions.accept }) })
|
|
14180
14266
|
] }),
|
|
14181
|
-
/* @__PURE__ */ (0,
|
|
14182
|
-
/* @__PURE__ */ (0,
|
|
14267
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14268
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14183
14269
|
Box_default,
|
|
14184
14270
|
{
|
|
14185
14271
|
width: TOOL_NAME_COL_WIDTH + CALLS_COL_WIDTH + SUCCESS_RATE_COL_WIDTH,
|
|
14186
|
-
children: /* @__PURE__ */ (0,
|
|
14272
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: t(" \xBB Rejected:") })
|
|
14187
14273
|
}
|
|
14188
14274
|
),
|
|
14189
|
-
/* @__PURE__ */ (0,
|
|
14275
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.status.error, children: totalDecisions.reject }) })
|
|
14190
14276
|
] }),
|
|
14191
|
-
/* @__PURE__ */ (0,
|
|
14192
|
-
/* @__PURE__ */ (0,
|
|
14277
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14278
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14193
14279
|
Box_default,
|
|
14194
14280
|
{
|
|
14195
14281
|
width: TOOL_NAME_COL_WIDTH + CALLS_COL_WIDTH + SUCCESS_RATE_COL_WIDTH,
|
|
14196
|
-
children: /* @__PURE__ */ (0,
|
|
14282
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: t(" \xBB Modified:") })
|
|
14197
14283
|
}
|
|
14198
14284
|
),
|
|
14199
|
-
/* @__PURE__ */ (0,
|
|
14285
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.status.warning, children: totalDecisions.modify }) })
|
|
14200
14286
|
] }),
|
|
14201
|
-
/* @__PURE__ */ (0,
|
|
14287
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14202
14288
|
Box_default,
|
|
14203
14289
|
{
|
|
14204
14290
|
borderStyle: "single",
|
|
@@ -14210,15 +14296,15 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14210
14296
|
width: "100%"
|
|
14211
14297
|
}
|
|
14212
14298
|
),
|
|
14213
|
-
/* @__PURE__ */ (0,
|
|
14214
|
-
/* @__PURE__ */ (0,
|
|
14299
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Box_default, { children: [
|
|
14300
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
14215
14301
|
Box_default,
|
|
14216
14302
|
{
|
|
14217
14303
|
width: TOOL_NAME_COL_WIDTH + CALLS_COL_WIDTH + SUCCESS_RATE_COL_WIDTH,
|
|
14218
|
-
children: /* @__PURE__ */ (0,
|
|
14304
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { color: theme.text.primary, children: t(" Overall Agreement Rate:") })
|
|
14219
14305
|
}
|
|
14220
14306
|
),
|
|
14221
|
-
/* @__PURE__ */ (0,
|
|
14307
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box_default, { width: AVG_DURATION_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { bold: true, color: totalReviewed > 0 ? agreementColor : void 0, children: totalReviewed > 0 ? `${agreementRate.toFixed(1)}%` : "--" }) })
|
|
14222
14308
|
] })
|
|
14223
14309
|
]
|
|
14224
14310
|
}
|
|
@@ -14227,7 +14313,7 @@ var ToolStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14227
14313
|
|
|
14228
14314
|
// packages/cli/src/ui/components/SkillStatsDisplay.tsx
|
|
14229
14315
|
init_esbuild_shims();
|
|
14230
|
-
var
|
|
14316
|
+
var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
|
|
14231
14317
|
var SKILL_NAME_COL_WIDTH = 30;
|
|
14232
14318
|
var CALLS_COL_WIDTH2 = 8;
|
|
14233
14319
|
var SUCCESS_COL_WIDTH = 8;
|
|
@@ -14239,12 +14325,12 @@ var StatRow4 = /* @__PURE__ */ __name(({ name, stats }) => {
|
|
|
14239
14325
|
green: TOOL_SUCCESS_RATE_HIGH,
|
|
14240
14326
|
yellow: TOOL_SUCCESS_RATE_MEDIUM
|
|
14241
14327
|
});
|
|
14242
|
-
return /* @__PURE__ */ (0,
|
|
14243
|
-
/* @__PURE__ */ (0,
|
|
14244
|
-
/* @__PURE__ */ (0,
|
|
14245
|
-
/* @__PURE__ */ (0,
|
|
14246
|
-
/* @__PURE__ */ (0,
|
|
14247
|
-
/* @__PURE__ */ (0,
|
|
14328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Box_default, { children: [
|
|
14329
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SKILL_NAME_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { color: theme.text.link, children: name }) }),
|
|
14330
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: CALLS_COL_WIDTH2, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { color: theme.text.primary, children: stats.count }) }),
|
|
14331
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SUCCESS_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { color: theme.status.success, children: stats.success }) }),
|
|
14332
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: FAIL_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { color: stats.fail > 0 ? theme.status.error : theme.text.primary, children: stats.fail }) }),
|
|
14333
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SUCCESS_RATE_COL_WIDTH2, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Text, { color: successColor, children: [
|
|
14248
14334
|
successRate.toFixed(1),
|
|
14249
14335
|
"%"
|
|
14250
14336
|
] }) })
|
|
@@ -14265,7 +14351,7 @@ var SkillStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14265
14351
|
return countDelta !== 0 ? countDelta : leftName.localeCompare(rightName);
|
|
14266
14352
|
});
|
|
14267
14353
|
if (activeSkills.length === 0) {
|
|
14268
|
-
return /* @__PURE__ */ (0,
|
|
14354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
14269
14355
|
Box_default,
|
|
14270
14356
|
{
|
|
14271
14357
|
borderStyle: "round",
|
|
@@ -14273,11 +14359,11 @@ var SkillStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14273
14359
|
paddingY: 1,
|
|
14274
14360
|
paddingX: 2,
|
|
14275
14361
|
width,
|
|
14276
|
-
children: /* @__PURE__ */ (0,
|
|
14362
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { color: theme.text.primary, children: t("No skill calls have been made in this session.") })
|
|
14277
14363
|
}
|
|
14278
14364
|
);
|
|
14279
14365
|
}
|
|
14280
|
-
return /* @__PURE__ */ (0,
|
|
14366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
14281
14367
|
Box_default,
|
|
14282
14368
|
{
|
|
14283
14369
|
borderStyle: "round",
|
|
@@ -14287,16 +14373,16 @@ var SkillStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14287
14373
|
paddingX: 2,
|
|
14288
14374
|
width,
|
|
14289
14375
|
children: [
|
|
14290
|
-
/* @__PURE__ */ (0,
|
|
14291
|
-
/* @__PURE__ */ (0,
|
|
14292
|
-
/* @__PURE__ */ (0,
|
|
14293
|
-
/* @__PURE__ */ (0,
|
|
14294
|
-
/* @__PURE__ */ (0,
|
|
14295
|
-
/* @__PURE__ */ (0,
|
|
14296
|
-
/* @__PURE__ */ (0,
|
|
14297
|
-
/* @__PURE__ */ (0,
|
|
14376
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Skill Stats For Nerds") }),
|
|
14377
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { height: 1 }),
|
|
14378
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Box_default, { children: [
|
|
14379
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SKILL_NAME_COL_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Skill Name") }) }),
|
|
14380
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: CALLS_COL_WIDTH2, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Calls") }) }),
|
|
14381
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SUCCESS_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.primary, children: t("OK") }) }),
|
|
14382
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: FAIL_COL_WIDTH, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Fail") }) }),
|
|
14383
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Box_default, { width: SUCCESS_RATE_COL_WIDTH2, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Success Rate") }) })
|
|
14298
14384
|
] }),
|
|
14299
|
-
/* @__PURE__ */ (0,
|
|
14385
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
14300
14386
|
Box_default,
|
|
14301
14387
|
{
|
|
14302
14388
|
borderStyle: "single",
|
|
@@ -14308,7 +14394,7 @@ var SkillStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14308
14394
|
width: "100%"
|
|
14309
14395
|
}
|
|
14310
14396
|
),
|
|
14311
|
-
activeSkills.map(([name, skillStats]) => /* @__PURE__ */ (0,
|
|
14397
|
+
activeSkills.map(([name, skillStats]) => /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(StatRow4, { name, stats: skillStats }, name))
|
|
14312
14398
|
]
|
|
14313
14399
|
}
|
|
14314
14400
|
);
|
|
@@ -14316,7 +14402,7 @@ var SkillStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
14316
14402
|
|
|
14317
14403
|
// packages/cli/src/ui/components/SessionSummaryDisplay.tsx
|
|
14318
14404
|
init_esbuild_shims();
|
|
14319
|
-
var
|
|
14405
|
+
var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
|
|
14320
14406
|
var SessionSummaryDisplay = /* @__PURE__ */ __name(({
|
|
14321
14407
|
duration,
|
|
14322
14408
|
width
|
|
@@ -14325,8 +14411,8 @@ var SessionSummaryDisplay = /* @__PURE__ */ __name(({
|
|
|
14325
14411
|
const { stats } = useSessionStats();
|
|
14326
14412
|
const hasMessages = stats.promptCount > 0;
|
|
14327
14413
|
const canResume = !!config.getChatRecordingService();
|
|
14328
|
-
return /* @__PURE__ */ (0,
|
|
14329
|
-
/* @__PURE__ */ (0,
|
|
14414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
14415
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
14330
14416
|
StatsDisplay,
|
|
14331
14417
|
{
|
|
14332
14418
|
title: t("Agent powering down. Goodbye!"),
|
|
@@ -14334,10 +14420,10 @@ var SessionSummaryDisplay = /* @__PURE__ */ __name(({
|
|
|
14334
14420
|
width
|
|
14335
14421
|
}
|
|
14336
14422
|
),
|
|
14337
|
-
hasMessages && canResume && /* @__PURE__ */ (0,
|
|
14423
|
+
hasMessages && canResume && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
14338
14424
|
t("To continue this session, run"),
|
|
14339
14425
|
" ",
|
|
14340
|
-
/* @__PURE__ */ (0,
|
|
14426
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Text, { color: theme.text.accent, children: [
|
|
14341
14427
|
"qwen --resume ",
|
|
14342
14428
|
stats.sessionId
|
|
14343
14429
|
] })
|
|
@@ -14348,7 +14434,7 @@ var SessionSummaryDisplay = /* @__PURE__ */ __name(({
|
|
|
14348
14434
|
// packages/cli/src/ui/components/Help.tsx
|
|
14349
14435
|
init_esbuild_shims();
|
|
14350
14436
|
var import_react33 = __toESM(require_react(), 1);
|
|
14351
|
-
var
|
|
14437
|
+
var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
|
|
14352
14438
|
var DEFAULT_WIDTH = 100;
|
|
14353
14439
|
var KEY_COL_WIDTH = 20;
|
|
14354
14440
|
var COMMAND_LIST_VISIBLE_LINES = 18;
|
|
@@ -14388,13 +14474,13 @@ var Help = /* @__PURE__ */ __name(({
|
|
|
14388
14474
|
},
|
|
14389
14475
|
{ isActive: isInteractive }
|
|
14390
14476
|
);
|
|
14391
|
-
return /* @__PURE__ */ (0,
|
|
14477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { flexDirection: "column", width: safeWidth, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14392
14478
|
Box_default,
|
|
14393
14479
|
{
|
|
14394
14480
|
borderColor: theme.border.default,
|
|
14395
14481
|
borderStyle: "single",
|
|
14396
14482
|
width: safeWidth,
|
|
14397
|
-
children: /* @__PURE__ */ (0,
|
|
14483
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
14398
14484
|
Box_default,
|
|
14399
14485
|
{
|
|
14400
14486
|
flexDirection: "column",
|
|
@@ -14402,10 +14488,10 @@ var Help = /* @__PURE__ */ __name(({
|
|
|
14402
14488
|
paddingY: 1,
|
|
14403
14489
|
width: safeWidth - 2,
|
|
14404
14490
|
children: [
|
|
14405
|
-
/* @__PURE__ */ (0,
|
|
14406
|
-
/* @__PURE__ */ (0,
|
|
14407
|
-
activeTab === "general" && /* @__PURE__ */ (0,
|
|
14408
|
-
activeTab === "commands" && /* @__PURE__ */ (0,
|
|
14491
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(HelpTabs, { activeTab }),
|
|
14492
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { marginTop: 1, children: [
|
|
14493
|
+
activeTab === "general" && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(GeneralHelp, { width: bodyWidth }),
|
|
14494
|
+
activeTab === "commands" && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14409
14495
|
CommandsHelp,
|
|
14410
14496
|
{
|
|
14411
14497
|
commands,
|
|
@@ -14414,7 +14500,7 @@ var Help = /* @__PURE__ */ __name(({
|
|
|
14414
14500
|
isInteractive
|
|
14415
14501
|
}
|
|
14416
14502
|
),
|
|
14417
|
-
activeTab === "custom-commands" && /* @__PURE__ */ (0,
|
|
14503
|
+
activeTab === "custom-commands" && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14418
14504
|
CommandsHelp,
|
|
14419
14505
|
{
|
|
14420
14506
|
commands,
|
|
@@ -14424,24 +14510,24 @@ var Help = /* @__PURE__ */ __name(({
|
|
|
14424
14510
|
}
|
|
14425
14511
|
)
|
|
14426
14512
|
] }),
|
|
14427
|
-
/* @__PURE__ */ (0,
|
|
14513
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
14428
14514
|
t("For more help:"),
|
|
14429
14515
|
" ",
|
|
14430
|
-
/* @__PURE__ */ (0,
|
|
14516
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { underline: true, children: DOCS_URL })
|
|
14431
14517
|
] }) }),
|
|
14432
|
-
/* @__PURE__ */ (0,
|
|
14518
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { italic: true, color: theme.text.secondary, children: t("Tab/Shift+Tab to switch tabs \xB7 Esc to cancel") }) })
|
|
14433
14519
|
]
|
|
14434
14520
|
}
|
|
14435
14521
|
)
|
|
14436
14522
|
}
|
|
14437
14523
|
) });
|
|
14438
14524
|
}, "Help");
|
|
14439
|
-
var HelpTabs = /* @__PURE__ */ __name(({ activeTab }) => /* @__PURE__ */ (0,
|
|
14440
|
-
/* @__PURE__ */ (0,
|
|
14441
|
-
/* @__PURE__ */ (0,
|
|
14525
|
+
var HelpTabs = /* @__PURE__ */ __name(({ activeTab }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
14526
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { bold: true, color: theme.text.accent, children: "Qwen Code" }),
|
|
14527
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.secondary, children: " " }),
|
|
14442
14528
|
TAB_DEFS.map(({ tab, labelKey }) => {
|
|
14443
14529
|
const active = tab === activeTab;
|
|
14444
|
-
return /* @__PURE__ */ (0,
|
|
14530
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginLeft: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14445
14531
|
Text,
|
|
14446
14532
|
{
|
|
14447
14533
|
color: active ? theme.background.primary : theme.text.primary,
|
|
@@ -14474,13 +14560,13 @@ var GeneralHelp = /* @__PURE__ */ __name(({ width }) => {
|
|
|
14474
14560
|
const left = shortcuts.slice(0, Math.ceil(shortcuts.length / 2));
|
|
14475
14561
|
const right = shortcuts.slice(Math.ceil(shortcuts.length / 2));
|
|
14476
14562
|
const colWidth = Math.floor((width - 2) / 2);
|
|
14477
|
-
return /* @__PURE__ */ (0,
|
|
14478
|
-
/* @__PURE__ */ (0,
|
|
14563
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
14564
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.primary, children: t(
|
|
14479
14565
|
"Qwen Code understands your codebase, makes edits with your permission, and executes commands right from your terminal."
|
|
14480
14566
|
) }) }),
|
|
14481
|
-
/* @__PURE__ */ (0,
|
|
14482
|
-
/* @__PURE__ */ (0,
|
|
14483
|
-
/* @__PURE__ */ (0,
|
|
14567
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Shortcuts") }),
|
|
14568
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "row", gap: 2, children: [
|
|
14569
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { flexDirection: "column", width: colWidth, children: left.map(([key, desc]) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14484
14570
|
ShortcutRow,
|
|
14485
14571
|
{
|
|
14486
14572
|
shortcutKey: key,
|
|
@@ -14489,7 +14575,7 @@ var GeneralHelp = /* @__PURE__ */ __name(({ width }) => {
|
|
|
14489
14575
|
},
|
|
14490
14576
|
key
|
|
14491
14577
|
)) }),
|
|
14492
|
-
/* @__PURE__ */ (0,
|
|
14578
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { flexDirection: "column", width: colWidth, children: right.map(([key, desc]) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
14493
14579
|
ShortcutRow,
|
|
14494
14580
|
{
|
|
14495
14581
|
shortcutKey: key,
|
|
@@ -14501,9 +14587,9 @@ var GeneralHelp = /* @__PURE__ */ __name(({ width }) => {
|
|
|
14501
14587
|
] })
|
|
14502
14588
|
] });
|
|
14503
14589
|
}, "GeneralHelp");
|
|
14504
|
-
var ShortcutRow = /* @__PURE__ */ __name(({ shortcutKey, desc, width }) => /* @__PURE__ */ (0,
|
|
14505
|
-
/* @__PURE__ */ (0,
|
|
14506
|
-
/* @__PURE__ */ (0,
|
|
14590
|
+
var ShortcutRow = /* @__PURE__ */ __name(({ shortcutKey, desc, width }) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "row", width, children: [
|
|
14591
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { width: KEY_COL_WIDTH, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.accent, children: shortcutKey }) }),
|
|
14592
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.primary, wrap: "truncate", children: truncateText2(desc, width - KEY_COL_WIDTH - 1) })
|
|
14507
14593
|
] }), "ShortcutRow");
|
|
14508
14594
|
var CommandsHelp = /* @__PURE__ */ __name(({ commands, width, customOnly, isInteractive }) => {
|
|
14509
14595
|
const groups = (0, import_react33.useMemo)(
|
|
@@ -14541,17 +14627,17 @@ var CommandsHelp = /* @__PURE__ */ __name(({ commands, width, customOnly, isInte
|
|
|
14541
14627
|
{ isActive: isInteractive }
|
|
14542
14628
|
);
|
|
14543
14629
|
if (groups.length === 0) {
|
|
14544
|
-
return /* @__PURE__ */ (0,
|
|
14630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.secondary, children: customOnly ? t("No custom commands are currently available.") : t("No commands are currently available.") });
|
|
14545
14631
|
}
|
|
14546
14632
|
const visibleLines = lines.slice(
|
|
14547
14633
|
scrollOffset,
|
|
14548
14634
|
scrollOffset + COMMAND_LIST_VISIBLE_LINES
|
|
14549
14635
|
);
|
|
14550
|
-
return /* @__PURE__ */ (0,
|
|
14551
|
-
/* @__PURE__ */ (0,
|
|
14552
|
-
/* @__PURE__ */ (0,
|
|
14636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
14637
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.primary, children: customOnly ? t("Browse custom, skill, plugin, and MCP commands:") : t("Browse built-in commands:") }) }),
|
|
14638
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { flexDirection: "column", height: COMMAND_LIST_VISIBLE_LINES, children: visibleLines.map((line, index) => {
|
|
14553
14639
|
const stableKey = line.type === "blank" ? `blank:${index}` : `${line.type}:${line.text}:${index}`;
|
|
14554
|
-
return /* @__PURE__ */ (0,
|
|
14640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CommandLine, { line }, stableKey);
|
|
14555
14641
|
}) }),
|
|
14556
14642
|
maxScroll > 0 && (() => {
|
|
14557
14643
|
const totalCommands = lines.filter(
|
|
@@ -14563,7 +14649,7 @@ var CommandsHelp = /* @__PURE__ */ __name(({ commands, width, customOnly, isInte
|
|
|
14563
14649
|
const firstCmd = visibleSignatures.length > 0 ? visibleSignatures[0].commandIndex + 1 : 0;
|
|
14564
14650
|
const lastCmd = visibleSignatures.length > 0 ? visibleSignatures[visibleSignatures.length - 1].commandIndex + 1 : 0;
|
|
14565
14651
|
const range = firstCmd === lastCmd ? `${firstCmd}` : `${firstCmd}-${lastCmd}`;
|
|
14566
|
-
return /* @__PURE__ */ (0,
|
|
14652
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
14567
14653
|
t("Use \u2191/\u2193 to scroll"),
|
|
14568
14654
|
" ",
|
|
14569
14655
|
`(${range}/${totalCommands})`
|
|
@@ -14574,28 +14660,28 @@ var CommandsHelp = /* @__PURE__ */ __name(({ commands, width, customOnly, isInte
|
|
|
14574
14660
|
var CommandLine = /* @__PURE__ */ __name(({ line }) => {
|
|
14575
14661
|
switch (line.type) {
|
|
14576
14662
|
case "group":
|
|
14577
|
-
return /* @__PURE__ */ (0,
|
|
14663
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Text, { bold: true, color: theme.text.primary, children: [
|
|
14578
14664
|
line.text,
|
|
14579
14665
|
" ",
|
|
14580
|
-
/* @__PURE__ */ (0,
|
|
14666
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.secondary, children: `(${line.count})` })
|
|
14581
14667
|
] });
|
|
14582
14668
|
case "signature":
|
|
14583
|
-
return /* @__PURE__ */ (0,
|
|
14584
|
-
/* @__PURE__ */ (0,
|
|
14669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
14670
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Text, { color: theme.text.accent, children: [
|
|
14585
14671
|
" ",
|
|
14586
14672
|
line.text
|
|
14587
14673
|
] }),
|
|
14588
|
-
line.meta && /* @__PURE__ */ (0,
|
|
14674
|
+
line.meta && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
14589
14675
|
" ",
|
|
14590
14676
|
line.meta
|
|
14591
14677
|
] })
|
|
14592
14678
|
] });
|
|
14593
14679
|
case "description":
|
|
14594
|
-
return /* @__PURE__ */ (0,
|
|
14680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { paddingLeft: 4, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.primary, wrap: "truncate", children: line.text }) });
|
|
14595
14681
|
case "subcommands":
|
|
14596
|
-
return /* @__PURE__ */ (0,
|
|
14682
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box_default, { paddingLeft: 4, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { color: theme.text.secondary, wrap: "truncate", children: line.text }) });
|
|
14597
14683
|
case "blank":
|
|
14598
|
-
return /* @__PURE__ */ (0,
|
|
14684
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Text, { children: " " });
|
|
14599
14685
|
default:
|
|
14600
14686
|
return null;
|
|
14601
14687
|
}
|
|
@@ -14745,6 +14831,11 @@ function useHistory() {
|
|
|
14745
14831
|
`[ADD_ITEM] type=${newItem.type}, textSize=${textSize}, historyLength=${newHistory.length}`
|
|
14746
14832
|
);
|
|
14747
14833
|
}
|
|
14834
|
+
if (newItem.type === "tool_group" && newItem.tools.some(
|
|
14835
|
+
(tool) => isFindingsListDisplay(tool.resultDisplay)
|
|
14836
|
+
)) {
|
|
14837
|
+
return coalesceFindingsHistoryItems(newHistory);
|
|
14838
|
+
}
|
|
14748
14839
|
return newHistory;
|
|
14749
14840
|
});
|
|
14750
14841
|
return id;
|
|
@@ -14864,6 +14955,7 @@ ${UI_COMPACT_CLEARED_IMAGE_MESSAGE}` : UI_COMPACT_CLEARED_IMAGE_MESSAGE,
|
|
|
14864
14955
|
...t2,
|
|
14865
14956
|
resultDisplay: UI_COMPACT_CLEARED_MESSAGE,
|
|
14866
14957
|
detailedDisplay: void 0,
|
|
14958
|
+
supersededFindingsDisplay: void 0,
|
|
14867
14959
|
images: void 0,
|
|
14868
14960
|
omittedImageCount: void 0
|
|
14869
14961
|
};
|
|
@@ -14911,7 +15003,7 @@ var import_react37 = __toESM(require_react(), 1);
|
|
|
14911
15003
|
|
|
14912
15004
|
// packages/cli/src/ui/IdeIntegrationNudge.tsx
|
|
14913
15005
|
init_esbuild_shims();
|
|
14914
|
-
var
|
|
15006
|
+
var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
|
|
14915
15007
|
function IdeIntegrationNudge({
|
|
14916
15008
|
ide,
|
|
14917
15009
|
onComplete
|
|
@@ -14957,7 +15049,7 @@ function IdeIntegrationNudge({
|
|
|
14957
15049
|
}
|
|
14958
15050
|
];
|
|
14959
15051
|
const installText = isInSandbox ? `Note: In sandbox environments, IDE integration requires manual setup on the host system. If you select Yes, you'll receive instructions on how to set this up.` : isExtensionPreInstalled ? `If you select Yes, the CLI will connect to your ${ideName ?? "editor"} and have access to your open files and display diffs directly.` : `If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in ${ideName ?? "your editor"}.`;
|
|
14960
|
-
return /* @__PURE__ */ (0,
|
|
15052
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
14961
15053
|
Box_default,
|
|
14962
15054
|
{
|
|
14963
15055
|
flexDirection: "column",
|
|
@@ -14967,14 +15059,14 @@ function IdeIntegrationNudge({
|
|
|
14967
15059
|
width: "100%",
|
|
14968
15060
|
marginLeft: 1,
|
|
14969
15061
|
children: [
|
|
14970
|
-
/* @__PURE__ */ (0,
|
|
14971
|
-
/* @__PURE__ */ (0,
|
|
14972
|
-
/* @__PURE__ */ (0,
|
|
15062
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Box_default, { marginBottom: 1, flexDirection: "column", children: [
|
|
15063
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Text, { children: [
|
|
15064
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { color: theme.status.warning, children: "> " }),
|
|
14973
15065
|
`Do you want to connect ${ideName ?? "your editor"} to Qwen Code?`
|
|
14974
15066
|
] }),
|
|
14975
|
-
/* @__PURE__ */ (0,
|
|
15067
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Text, { color: theme.text.secondary, children: installText })
|
|
14976
15068
|
] }),
|
|
14977
|
-
/* @__PURE__ */ (0,
|
|
15069
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(RadioButtonSelect, { items: OPTIONS, onSelect: onComplete })
|
|
14978
15070
|
]
|
|
14979
15071
|
}
|
|
14980
15072
|
);
|
|
@@ -14983,7 +15075,7 @@ __name(IdeIntegrationNudge, "IdeIntegrationNudge");
|
|
|
14983
15075
|
|
|
14984
15076
|
// packages/cli/src/ui/CommandFormatMigrationNudge.tsx
|
|
14985
15077
|
init_esbuild_shims();
|
|
14986
|
-
var
|
|
15078
|
+
var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
|
|
14987
15079
|
function CommandFormatMigrationNudge({
|
|
14988
15080
|
tomlFiles,
|
|
14989
15081
|
onComplete
|
|
@@ -15017,7 +15109,7 @@ function CommandFormatMigrationNudge({
|
|
|
15017
15109
|
const count = tomlFiles.length;
|
|
15018
15110
|
const fileList = count <= 3 ? tomlFiles.map((f) => ` \u2022 ${f}`).join("\n") : ` \u2022 ${tomlFiles.slice(0, 2).join("\n \u2022 ")}
|
|
15019
15111
|
\u2022 ${t("... and {{count}} more", { count: String(count - 2) })}`;
|
|
15020
|
-
return /* @__PURE__ */ (0,
|
|
15112
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
15021
15113
|
Box_default,
|
|
15022
15114
|
{
|
|
15023
15115
|
flexDirection: "column",
|
|
@@ -15027,20 +15119,20 @@ function CommandFormatMigrationNudge({
|
|
|
15027
15119
|
width: "100%",
|
|
15028
15120
|
marginLeft: 1,
|
|
15029
15121
|
children: [
|
|
15030
|
-
/* @__PURE__ */ (0,
|
|
15031
|
-
/* @__PURE__ */ (0,
|
|
15032
|
-
/* @__PURE__ */ (0,
|
|
15033
|
-
/* @__PURE__ */ (0,
|
|
15122
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Box_default, { marginBottom: 1, flexDirection: "column", children: [
|
|
15123
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Text, { children: [
|
|
15124
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { color: theme.status.warning, children: "\u26A0 " }),
|
|
15125
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { bold: true, children: t("Command Format Migration") })
|
|
15034
15126
|
] }),
|
|
15035
|
-
/* @__PURE__ */ (0,
|
|
15036
|
-
/* @__PURE__ */ (0,
|
|
15037
|
-
/* @__PURE__ */ (0,
|
|
15038
|
-
/* @__PURE__ */ (0,
|
|
15127
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { color: theme.text.secondary, children: count > 1 ? t("Found {{count}} TOML command files:", { count: String(count) }) : t("Found {{count}} TOML command file:", { count: String(count) }) }),
|
|
15128
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { color: theme.text.secondary, children: fileList }),
|
|
15129
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { children: "" }),
|
|
15130
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { color: theme.text.secondary, children: t(
|
|
15039
15131
|
"The TOML format is deprecated. Would you like to migrate them to Markdown format?"
|
|
15040
15132
|
) }),
|
|
15041
|
-
/* @__PURE__ */ (0,
|
|
15133
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Text, { color: theme.text.secondary, children: t("(Backups will be created and original files will be preserved)") })
|
|
15042
15134
|
] }),
|
|
15043
|
-
/* @__PURE__ */ (0,
|
|
15135
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(RadioButtonSelect, { items: OPTIONS, onSelect: onComplete })
|
|
15044
15136
|
]
|
|
15045
15137
|
}
|
|
15046
15138
|
);
|
|
@@ -15052,7 +15144,7 @@ init_esbuild_shims();
|
|
|
15052
15144
|
var import_react35 = __toESM(require_react(), 1);
|
|
15053
15145
|
import * as process3 from "node:process";
|
|
15054
15146
|
import * as path3 from "node:path";
|
|
15055
|
-
var
|
|
15147
|
+
var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
|
|
15056
15148
|
var FolderTrustDialog = /* @__PURE__ */ __name(({
|
|
15057
15149
|
onSelect,
|
|
15058
15150
|
isRestarting
|
|
@@ -15094,8 +15186,8 @@ var FolderTrustDialog = /* @__PURE__ */ __name(({
|
|
|
15094
15186
|
key: "Don't trust (esc)"
|
|
15095
15187
|
}
|
|
15096
15188
|
];
|
|
15097
|
-
return /* @__PURE__ */ (0,
|
|
15098
|
-
/* @__PURE__ */ (0,
|
|
15189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15190
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
15099
15191
|
Box_default,
|
|
15100
15192
|
{
|
|
15101
15193
|
flexDirection: "column",
|
|
@@ -15105,11 +15197,11 @@ var FolderTrustDialog = /* @__PURE__ */ __name(({
|
|
|
15105
15197
|
width: "100%",
|
|
15106
15198
|
marginLeft: 1,
|
|
15107
15199
|
children: [
|
|
15108
|
-
/* @__PURE__ */ (0,
|
|
15109
|
-
/* @__PURE__ */ (0,
|
|
15110
|
-
/* @__PURE__ */ (0,
|
|
15200
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15201
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { bold: true, color: theme.text.primary, children: "Do you trust this folder?" }),
|
|
15202
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { color: theme.text.primary, children: "Trusting a folder allows Qwen Code to execute commands it suggests. This is a security feature to prevent accidental execution in untrusted directories." })
|
|
15111
15203
|
] }),
|
|
15112
|
-
/* @__PURE__ */ (0,
|
|
15204
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
15113
15205
|
RadioButtonSelect,
|
|
15114
15206
|
{
|
|
15115
15207
|
items: options,
|
|
@@ -15120,13 +15212,13 @@ var FolderTrustDialog = /* @__PURE__ */ __name(({
|
|
|
15120
15212
|
]
|
|
15121
15213
|
}
|
|
15122
15214
|
),
|
|
15123
|
-
isRestarting && /* @__PURE__ */ (0,
|
|
15215
|
+
isRestarting && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Box_default, { marginLeft: 1, marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Text, { color: theme.status.warning, children: "Qwen Code is restarting to apply the trust changes..." }) })
|
|
15124
15216
|
] });
|
|
15125
15217
|
}, "FolderTrustDialog");
|
|
15126
15218
|
|
|
15127
15219
|
// packages/cli/src/ui/components/mcp/MCPServerApprovalDialog.tsx
|
|
15128
15220
|
init_esbuild_shims();
|
|
15129
|
-
var
|
|
15221
|
+
var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
|
|
15130
15222
|
var MCPServerApprovalDialog = /* @__PURE__ */ __name(({ serverName, summary, source, pendingServers, remaining, onSelect }) => {
|
|
15131
15223
|
useKeypress(
|
|
15132
15224
|
(key) => {
|
|
@@ -15153,7 +15245,7 @@ var MCPServerApprovalDialog = /* @__PURE__ */ __name(({ serverName, summary, sou
|
|
|
15153
15245
|
key: "reject"
|
|
15154
15246
|
}
|
|
15155
15247
|
];
|
|
15156
|
-
return /* @__PURE__ */ (0,
|
|
15248
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
15157
15249
|
Box_default,
|
|
15158
15250
|
{
|
|
15159
15251
|
flexDirection: "column",
|
|
@@ -15163,21 +15255,21 @@ var MCPServerApprovalDialog = /* @__PURE__ */ __name(({ serverName, summary, sou
|
|
|
15163
15255
|
width: "100%",
|
|
15164
15256
|
marginLeft: 1,
|
|
15165
15257
|
children: [
|
|
15166
|
-
/* @__PURE__ */ (0,
|
|
15167
|
-
/* @__PURE__ */ (0,
|
|
15168
|
-
/* @__PURE__ */ (0,
|
|
15258
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15259
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { bold: true, color: theme.text.primary, children: `Untrusted MCP server in ${source}` }),
|
|
15260
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { color: theme.text.primary, children: `This workspace declares an MCP server. Approving lets Qwen Code start it and run its tools. Approval is bound to this exact configuration \u2014 if ${source} changes, you will be asked again.` })
|
|
15169
15261
|
] }),
|
|
15170
|
-
/* @__PURE__ */ (0,
|
|
15171
|
-
/* @__PURE__ */ (0,
|
|
15172
|
-
/* @__PURE__ */ (0,
|
|
15262
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15263
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Text, { color: theme.text.primary, children: [
|
|
15264
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { bold: true, children: serverName }),
|
|
15173
15265
|
` ${summary}`
|
|
15174
15266
|
] }),
|
|
15175
|
-
remaining > 0 && /* @__PURE__ */ (0,
|
|
15176
|
-
/* @__PURE__ */ (0,
|
|
15177
|
-
pendingServers.map((server) => /* @__PURE__ */ (0,
|
|
15267
|
+
remaining > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
15268
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { color: theme.text.secondary, children: "Approve all will trust these servers:" }),
|
|
15269
|
+
pendingServers.map((server) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Text, { color: theme.text.secondary, children: ` ${server.name} ${server.summary}` }, server.name))
|
|
15178
15270
|
] })
|
|
15179
15271
|
] }),
|
|
15180
|
-
/* @__PURE__ */ (0,
|
|
15272
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RadioButtonSelect, { items: options, onSelect, isFocused: true })
|
|
15181
15273
|
]
|
|
15182
15274
|
}
|
|
15183
15275
|
) });
|
|
@@ -15600,17 +15692,17 @@ function extensionUpdatesReducer(state, action) {
|
|
|
15600
15692
|
__name(extensionUpdatesReducer, "extensionUpdatesReducer");
|
|
15601
15693
|
|
|
15602
15694
|
// packages/cli/src/ui/components/views/ExtensionsList.tsx
|
|
15603
|
-
var
|
|
15695
|
+
var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
|
|
15604
15696
|
var debugLogger8 = createDebugLogger("EXTENSIONS_LIST");
|
|
15605
15697
|
var ExtensionsList = /* @__PURE__ */ __name(() => {
|
|
15606
15698
|
const { extensionsUpdateState, commandContext } = useUIState();
|
|
15607
15699
|
const extensions = commandContext.services.config?.getExtensions() || [];
|
|
15608
15700
|
if (extensions.length === 0) {
|
|
15609
|
-
return /* @__PURE__ */ (0,
|
|
15701
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { children: "No extensions installed." });
|
|
15610
15702
|
}
|
|
15611
|
-
return /* @__PURE__ */ (0,
|
|
15612
|
-
/* @__PURE__ */ (0,
|
|
15613
|
-
/* @__PURE__ */ (0,
|
|
15703
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [
|
|
15704
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { children: "Installed extensions:" }),
|
|
15705
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Box_default, { flexDirection: "column", paddingLeft: 2, children: extensions.map((ext) => {
|
|
15614
15706
|
const state = extensionsUpdateState.get(ext.name);
|
|
15615
15707
|
const isActive = ext.isActive;
|
|
15616
15708
|
const activeString = isActive ? "active" : "disabled";
|
|
@@ -15639,15 +15731,15 @@ var ExtensionsList = /* @__PURE__ */ __name(() => {
|
|
|
15639
15731
|
debugLogger8.error(`Unhandled ExtensionUpdateState ${state}`);
|
|
15640
15732
|
break;
|
|
15641
15733
|
}
|
|
15642
|
-
return /* @__PURE__ */ (0,
|
|
15643
|
-
/* @__PURE__ */ (0,
|
|
15644
|
-
/* @__PURE__ */ (0,
|
|
15645
|
-
/* @__PURE__ */ (0,
|
|
15646
|
-
/* @__PURE__ */ (0,
|
|
15734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15735
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Text, { children: [
|
|
15736
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { color: "cyan", children: `${getExtensionDisplayName(ext, getCurrentLanguage())} (v${ext.version})` }),
|
|
15737
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { color: activeColor, children: ` - ${activeString}` }),
|
|
15738
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { color: stateColor, children: ` (${stateText})` })
|
|
15647
15739
|
] }),
|
|
15648
|
-
ext.resolvedSettings && ext.resolvedSettings.length > 0 && /* @__PURE__ */ (0,
|
|
15649
|
-
/* @__PURE__ */ (0,
|
|
15650
|
-
ext.resolvedSettings.map((setting) => /* @__PURE__ */ (0,
|
|
15740
|
+
ext.resolvedSettings && ext.resolvedSettings.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Box_default, { flexDirection: "column", paddingLeft: 2, children: [
|
|
15741
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Text, { children: "settings:" }),
|
|
15742
|
+
ext.resolvedSettings.map((setting) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Text, { children: [
|
|
15651
15743
|
"- ",
|
|
15652
15744
|
setting.name,
|
|
15653
15745
|
": ",
|
|
@@ -15661,33 +15753,33 @@ var ExtensionsList = /* @__PURE__ */ __name(() => {
|
|
|
15661
15753
|
|
|
15662
15754
|
// packages/cli/src/ui/components/views/SkillsList.tsx
|
|
15663
15755
|
init_esbuild_shims();
|
|
15664
|
-
var
|
|
15756
|
+
var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
|
|
15665
15757
|
var NAME_COLUMN = 24;
|
|
15666
15758
|
function truncate(text, max) {
|
|
15667
15759
|
if (text.length <= max) return text;
|
|
15668
15760
|
return `${text.slice(0, Math.max(0, max - 1))}\u2026`;
|
|
15669
15761
|
}
|
|
15670
15762
|
__name(truncate, "truncate");
|
|
15671
|
-
var SkillsList = /* @__PURE__ */ __name(({ skills }) => /* @__PURE__ */ (0,
|
|
15672
|
-
/* @__PURE__ */ (0,
|
|
15673
|
-
/* @__PURE__ */ (0,
|
|
15674
|
-
skills.length > 0 ? skills.map((skill) => /* @__PURE__ */ (0,
|
|
15675
|
-
/* @__PURE__ */ (0,
|
|
15763
|
+
var SkillsList = /* @__PURE__ */ __name(({ skills }) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15764
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Available skills:") }),
|
|
15765
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Box_default, { height: 1 }),
|
|
15766
|
+
skills.length > 0 ? skills.map((skill) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
15767
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.primary, children: [
|
|
15676
15768
|
" ",
|
|
15677
15769
|
"- "
|
|
15678
15770
|
] }),
|
|
15679
|
-
/* @__PURE__ */ (0,
|
|
15680
|
-
skill.description && /* @__PURE__ */ (0,
|
|
15771
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Text, { bold: true, color: theme.text.accent, children: skill.description ? truncate(skill.name, NAME_COLUMN).padEnd(NAME_COLUMN) : skill.name }),
|
|
15772
|
+
skill.description && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
15681
15773
|
" ",
|
|
15682
15774
|
truncate(skill.description, 80)
|
|
15683
15775
|
] }),
|
|
15684
|
-
skill.level && /* @__PURE__ */ (0,
|
|
15776
|
+
skill.level && /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
15685
15777
|
" ",
|
|
15686
15778
|
"(",
|
|
15687
15779
|
levelLabel(skill.level),
|
|
15688
15780
|
")"
|
|
15689
15781
|
] })
|
|
15690
|
-
] }, skill.name)) : /* @__PURE__ */ (0,
|
|
15782
|
+
] }, skill.name)) : /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(Text, { color: theme.text.primary, children: [
|
|
15691
15783
|
" ",
|
|
15692
15784
|
t("No skills available")
|
|
15693
15785
|
] })
|
|
@@ -15695,25 +15787,25 @@ var SkillsList = /* @__PURE__ */ __name(({ skills }) => /* @__PURE__ */ (0, impo
|
|
|
15695
15787
|
|
|
15696
15788
|
// packages/cli/src/ui/components/views/ToolsList.tsx
|
|
15697
15789
|
init_esbuild_shims();
|
|
15698
|
-
var
|
|
15790
|
+
var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
|
|
15699
15791
|
var ToolsList = /* @__PURE__ */ __name(({
|
|
15700
15792
|
tools,
|
|
15701
15793
|
showDescriptions,
|
|
15702
15794
|
contentWidth
|
|
15703
|
-
}) => /* @__PURE__ */ (0,
|
|
15704
|
-
/* @__PURE__ */ (0,
|
|
15705
|
-
/* @__PURE__ */ (0,
|
|
15706
|
-
tools.length > 0 ? tools.map((tool) => /* @__PURE__ */ (0,
|
|
15707
|
-
/* @__PURE__ */ (0,
|
|
15795
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15796
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Available Qwen Code CLI tools:") }),
|
|
15797
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Box_default, { height: 1 }),
|
|
15798
|
+
tools.length > 0 ? tools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
15799
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { color: theme.text.primary, children: [
|
|
15708
15800
|
" ",
|
|
15709
15801
|
"- "
|
|
15710
15802
|
] }),
|
|
15711
|
-
/* @__PURE__ */ (0,
|
|
15712
|
-
/* @__PURE__ */ (0,
|
|
15803
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15804
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { bold: true, color: theme.text.accent, children: [
|
|
15713
15805
|
tool.displayName,
|
|
15714
15806
|
showDescriptions ? ` (${tool.name})` : ""
|
|
15715
15807
|
] }),
|
|
15716
|
-
showDescriptions && tool.description && /* @__PURE__ */ (0,
|
|
15808
|
+
showDescriptions && tool.description && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
15717
15809
|
MarkdownDisplay,
|
|
15718
15810
|
{
|
|
15719
15811
|
contentWidth,
|
|
@@ -15722,7 +15814,7 @@ var ToolsList = /* @__PURE__ */ __name(({
|
|
|
15722
15814
|
}
|
|
15723
15815
|
)
|
|
15724
15816
|
] })
|
|
15725
|
-
] }, tool.name)) : /* @__PURE__ */ (0,
|
|
15817
|
+
] }, tool.name)) : /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Text, { color: theme.text.primary, children: [
|
|
15726
15818
|
" ",
|
|
15727
15819
|
t("No tools available")
|
|
15728
15820
|
] })
|
|
@@ -15730,7 +15822,7 @@ var ToolsList = /* @__PURE__ */ __name(({
|
|
|
15730
15822
|
|
|
15731
15823
|
// packages/cli/src/ui/components/views/McpStatus.tsx
|
|
15732
15824
|
init_esbuild_shims();
|
|
15733
|
-
var
|
|
15825
|
+
var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
|
|
15734
15826
|
var McpStatus = /* @__PURE__ */ __name(({
|
|
15735
15827
|
servers,
|
|
15736
15828
|
tools,
|
|
@@ -15746,19 +15838,19 @@ var McpStatus = /* @__PURE__ */ __name(({
|
|
|
15746
15838
|
}) => {
|
|
15747
15839
|
const serverNames = Object.keys(servers);
|
|
15748
15840
|
if (serverNames.length === 0 && blockedServers.length === 0) {
|
|
15749
|
-
return /* @__PURE__ */ (0,
|
|
15841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { children: t("No MCP servers configured.") }) });
|
|
15750
15842
|
}
|
|
15751
|
-
return /* @__PURE__ */ (0,
|
|
15752
|
-
discoveryInProgress && /* @__PURE__ */ (0,
|
|
15753
|
-
/* @__PURE__ */ (0,
|
|
15843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15844
|
+
discoveryInProgress && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15845
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.status.warning, children: t("\u25CC MCP servers are starting up ({{count}} initializing)...", {
|
|
15754
15846
|
count: String(connectingServers.length)
|
|
15755
15847
|
}) }),
|
|
15756
|
-
/* @__PURE__ */ (0,
|
|
15848
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: t(
|
|
15757
15849
|
"Note: First startup may take longer. Tool availability will update automatically."
|
|
15758
15850
|
) })
|
|
15759
15851
|
] }),
|
|
15760
|
-
/* @__PURE__ */ (0,
|
|
15761
|
-
/* @__PURE__ */ (0,
|
|
15852
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { bold: true, children: t("Configured MCP servers:") }),
|
|
15853
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { height: 1 }),
|
|
15762
15854
|
serverNames.map((serverName) => {
|
|
15763
15855
|
const server = servers[serverName];
|
|
15764
15856
|
const serverTools = tools.filter(
|
|
@@ -15813,140 +15905,140 @@ var McpStatus = /* @__PURE__ */ __name(({
|
|
|
15813
15905
|
const serverAuthStatus = authStatus[serverName];
|
|
15814
15906
|
let authStatusNode = null;
|
|
15815
15907
|
if (serverAuthStatus === "authenticated") {
|
|
15816
|
-
authStatusNode = /* @__PURE__ */ (0,
|
|
15908
|
+
authStatusNode = /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15817
15909
|
" (",
|
|
15818
15910
|
t("OAuth"),
|
|
15819
15911
|
")"
|
|
15820
15912
|
] });
|
|
15821
15913
|
} else if (serverAuthStatus === "expired") {
|
|
15822
|
-
authStatusNode = /* @__PURE__ */ (0,
|
|
15914
|
+
authStatusNode = /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { color: theme.status.error, children: [
|
|
15823
15915
|
" (",
|
|
15824
15916
|
t("OAuth expired"),
|
|
15825
15917
|
")"
|
|
15826
15918
|
] });
|
|
15827
15919
|
} else if (serverAuthStatus === "unauthenticated") {
|
|
15828
|
-
authStatusNode = /* @__PURE__ */ (0,
|
|
15920
|
+
authStatusNode = /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { color: theme.status.warning, children: [
|
|
15829
15921
|
" ",
|
|
15830
15922
|
"(",
|
|
15831
15923
|
t("OAuth not authenticated"),
|
|
15832
15924
|
")"
|
|
15833
15925
|
] });
|
|
15834
15926
|
}
|
|
15835
|
-
return /* @__PURE__ */ (0,
|
|
15836
|
-
/* @__PURE__ */ (0,
|
|
15837
|
-
/* @__PURE__ */ (0,
|
|
15927
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginBottom: 1, children: [
|
|
15928
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { children: [
|
|
15929
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { color: statusColor, children: [
|
|
15838
15930
|
statusIndicator,
|
|
15839
15931
|
" "
|
|
15840
15932
|
] }),
|
|
15841
|
-
/* @__PURE__ */ (0,
|
|
15842
|
-
/* @__PURE__ */ (0,
|
|
15933
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { bold: true, children: serverDisplayName }),
|
|
15934
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15843
15935
|
" - ",
|
|
15844
15936
|
statusText,
|
|
15845
15937
|
status === "connected" /* CONNECTED */ && parts.length > 0 && ` (${parts.join(", ")})`
|
|
15846
15938
|
] }),
|
|
15847
15939
|
authStatusNode
|
|
15848
15940
|
] }),
|
|
15849
|
-
status === "connecting" /* CONNECTING */ && /* @__PURE__ */ (0,
|
|
15941
|
+
status === "connecting" /* CONNECTING */ && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15850
15942
|
" (",
|
|
15851
15943
|
t("tools and prompts will appear when ready"),
|
|
15852
15944
|
")"
|
|
15853
15945
|
] }),
|
|
15854
|
-
status === "disconnected" /* DISCONNECTED */ && toolCount > 0 && /* @__PURE__ */ (0,
|
|
15946
|
+
status === "disconnected" /* DISCONNECTED */ && toolCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15855
15947
|
"(",
|
|
15856
15948
|
t("{{count}} tools cached", { count: String(toolCount) }),
|
|
15857
15949
|
")"
|
|
15858
15950
|
] }),
|
|
15859
|
-
showDescriptions && server?.description && /* @__PURE__ */ (0,
|
|
15860
|
-
serverTools.length > 0 && /* @__PURE__ */ (0,
|
|
15861
|
-
/* @__PURE__ */ (0,
|
|
15951
|
+
showDescriptions && server?.description && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.secondary, children: server.description.trim() }),
|
|
15952
|
+
serverTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginLeft: 2, children: [
|
|
15953
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: t("Tools:") }),
|
|
15862
15954
|
serverTools.map((tool) => {
|
|
15863
15955
|
const schemaContent = showSchema && tool.schema && (tool.schema.parametersJsonSchema || tool.schema.parameters) ? JSON.stringify(
|
|
15864
15956
|
tool.schema.parametersJsonSchema ?? tool.schema.parameters,
|
|
15865
15957
|
null,
|
|
15866
15958
|
2
|
|
15867
15959
|
) : null;
|
|
15868
|
-
return /* @__PURE__ */ (0,
|
|
15869
|
-
/* @__PURE__ */ (0,
|
|
15960
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15961
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15870
15962
|
"- ",
|
|
15871
|
-
/* @__PURE__ */ (0,
|
|
15963
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: tool.name })
|
|
15872
15964
|
] }),
|
|
15873
|
-
showDescriptions && tool.description && /* @__PURE__ */ (0,
|
|
15874
|
-
schemaContent && /* @__PURE__ */ (0,
|
|
15875
|
-
/* @__PURE__ */ (0,
|
|
15876
|
-
/* @__PURE__ */ (0,
|
|
15965
|
+
showDescriptions && tool.description && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.secondary, children: tool.description.trim() }) }),
|
|
15966
|
+
schemaContent && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginLeft: 4, children: [
|
|
15967
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.secondary, children: t("Parameters:") }),
|
|
15968
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.secondary, children: schemaContent })
|
|
15877
15969
|
] })
|
|
15878
15970
|
] }, tool.name);
|
|
15879
15971
|
})
|
|
15880
15972
|
] }),
|
|
15881
|
-
serverPrompts.length > 0 && /* @__PURE__ */ (0,
|
|
15882
|
-
/* @__PURE__ */ (0,
|
|
15883
|
-
serverPrompts.map((prompt) => /* @__PURE__ */ (0,
|
|
15884
|
-
/* @__PURE__ */ (0,
|
|
15973
|
+
serverPrompts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginLeft: 2, children: [
|
|
15974
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: t("Prompts:") }),
|
|
15975
|
+
serverPrompts.map((prompt) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
15976
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15885
15977
|
"- ",
|
|
15886
|
-
/* @__PURE__ */ (0,
|
|
15978
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: prompt.name })
|
|
15887
15979
|
] }),
|
|
15888
|
-
showDescriptions && prompt.description && /* @__PURE__ */ (0,
|
|
15980
|
+
showDescriptions && prompt.description && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.primary, children: prompt.description.trim() }) })
|
|
15889
15981
|
] }, prompt.name))
|
|
15890
15982
|
] })
|
|
15891
15983
|
] }, serverName);
|
|
15892
15984
|
}),
|
|
15893
|
-
blockedServers.map((server) => /* @__PURE__ */ (0,
|
|
15894
|
-
/* @__PURE__ */ (0,
|
|
15895
|
-
/* @__PURE__ */ (0,
|
|
15985
|
+
blockedServers.map((server) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { marginBottom: 1, children: [
|
|
15986
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.status.error, children: "\u25CF " }),
|
|
15987
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { bold: true, children: [
|
|
15896
15988
|
server.name,
|
|
15897
15989
|
server.extensionName ? ` ${t("(from {{extensionName}})", {
|
|
15898
15990
|
extensionName: server.extensionName
|
|
15899
15991
|
})}` : ""
|
|
15900
15992
|
] }),
|
|
15901
|
-
/* @__PURE__ */ (0,
|
|
15993
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15902
15994
|
" - ",
|
|
15903
15995
|
t("Blocked")
|
|
15904
15996
|
] })
|
|
15905
15997
|
] }, server.name)),
|
|
15906
|
-
showTips && /* @__PURE__ */ (0,
|
|
15907
|
-
/* @__PURE__ */ (0,
|
|
15908
|
-
/* @__PURE__ */ (0,
|
|
15998
|
+
showTips && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
15999
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: t("\u2605 Tips:") }),
|
|
16000
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15909
16001
|
" ",
|
|
15910
16002
|
"- ",
|
|
15911
16003
|
t("Use"),
|
|
15912
16004
|
" ",
|
|
15913
|
-
/* @__PURE__ */ (0,
|
|
16005
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: "/mcp desc" }),
|
|
15914
16006
|
" ",
|
|
15915
16007
|
t("to show server and tool descriptions")
|
|
15916
16008
|
] }),
|
|
15917
|
-
/* @__PURE__ */ (0,
|
|
16009
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15918
16010
|
" ",
|
|
15919
16011
|
"- ",
|
|
15920
16012
|
t("Use"),
|
|
15921
16013
|
" ",
|
|
15922
|
-
/* @__PURE__ */ (0,
|
|
16014
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: "/mcp schema" }),
|
|
15923
16015
|
" ",
|
|
15924
16016
|
t("to show tool parameter schemas")
|
|
15925
16017
|
] }),
|
|
15926
|
-
/* @__PURE__ */ (0,
|
|
16018
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15927
16019
|
" ",
|
|
15928
16020
|
"- ",
|
|
15929
16021
|
t("Use"),
|
|
15930
16022
|
" ",
|
|
15931
|
-
/* @__PURE__ */ (0,
|
|
16023
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: "/mcp nodesc" }),
|
|
15932
16024
|
" ",
|
|
15933
16025
|
t("to hide descriptions")
|
|
15934
16026
|
] }),
|
|
15935
|
-
/* @__PURE__ */ (0,
|
|
16027
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15936
16028
|
" ",
|
|
15937
16029
|
"- ",
|
|
15938
16030
|
t("Use"),
|
|
15939
16031
|
" ",
|
|
15940
|
-
/* @__PURE__ */ (0,
|
|
16032
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: "/mcp" }),
|
|
15941
16033
|
" ",
|
|
15942
16034
|
t("to authenticate with OAuth-enabled servers")
|
|
15943
16035
|
] }),
|
|
15944
|
-
/* @__PURE__ */ (0,
|
|
16036
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { children: [
|
|
15945
16037
|
" ",
|
|
15946
16038
|
"- ",
|
|
15947
16039
|
t("Press"),
|
|
15948
16040
|
" ",
|
|
15949
|
-
/* @__PURE__ */ (0,
|
|
16041
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.text.accent, children: "Ctrl+T" }),
|
|
15950
16042
|
" ",
|
|
15951
16043
|
t("to toggle tool descriptions on/off")
|
|
15952
16044
|
] })
|
|
@@ -15956,7 +16048,7 @@ var McpStatus = /* @__PURE__ */ __name(({
|
|
|
15956
16048
|
|
|
15957
16049
|
// packages/cli/src/ui/components/views/ContextUsage.tsx
|
|
15958
16050
|
init_esbuild_shims();
|
|
15959
|
-
var
|
|
16051
|
+
var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
|
|
15960
16052
|
var FILLED = "\u2588";
|
|
15961
16053
|
var BUFFER = "\u2592";
|
|
15962
16054
|
var EMPTY = "\u2591";
|
|
@@ -15988,10 +16080,10 @@ var ProgressBar = /* @__PURE__ */ __name(({ usedPercentage, bufferPercentage, wi
|
|
|
15988
16080
|
} else if (usedPercentage > 60) {
|
|
15989
16081
|
usedColor = theme.status.warning;
|
|
15990
16082
|
}
|
|
15991
|
-
return /* @__PURE__ */ (0,
|
|
15992
|
-
/* @__PURE__ */ (0,
|
|
15993
|
-
/* @__PURE__ */ (0,
|
|
15994
|
-
/* @__PURE__ */ (0,
|
|
16083
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { children: [
|
|
16084
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: usedColor, children: usedStr }),
|
|
16085
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.secondary, children: freeStr }),
|
|
16086
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.status.warning, children: bufferStr })
|
|
15995
16087
|
] });
|
|
15996
16088
|
}, "ProgressBar");
|
|
15997
16089
|
function formatPercentage(tokens, contextWindowSize) {
|
|
@@ -16013,18 +16105,18 @@ var CategoryRow = /* @__PURE__ */ __name(({
|
|
|
16013
16105
|
}) => {
|
|
16014
16106
|
const percentageStr = formatPercentage(tokens, contextWindowSize);
|
|
16015
16107
|
const tokenStr = `${formatTokens(tokens)} ${t("tokens")} (${percentageStr}%)`;
|
|
16016
|
-
return /* @__PURE__ */ (0,
|
|
16017
|
-
/* @__PURE__ */ (0,
|
|
16018
|
-
/* @__PURE__ */ (0,
|
|
16019
|
-
/* @__PURE__ */ (0,
|
|
16108
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, children: [
|
|
16109
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 2, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: symbolColor || theme.text.secondary, children: symbol }) }),
|
|
16110
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 24, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.primary, children: label }) }),
|
|
16111
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: isOverLimit ? theme.status.error : theme.text.secondary, children: tokenStr }) })
|
|
16020
16112
|
] });
|
|
16021
16113
|
}, "CategoryRow");
|
|
16022
16114
|
var ThresholdRow = /* @__PURE__ */ __name(({ label, tokens, isCurrent, hint }) => {
|
|
16023
16115
|
const tokenStr = `${formatTokens(tokens)} ${t("tokens")}`;
|
|
16024
|
-
return /* @__PURE__ */ (0,
|
|
16025
|
-
/* @__PURE__ */ (0,
|
|
16026
|
-
/* @__PURE__ */ (0,
|
|
16027
|
-
/* @__PURE__ */ (0,
|
|
16116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, children: [
|
|
16117
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 2, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: isCurrent ? theme.status.warning : theme.text.secondary, children: isCurrent ? "\u25B6" : " " }) }),
|
|
16118
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 22, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.primary, children: label }) }),
|
|
16119
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16028
16120
|
tokenStr,
|
|
16029
16121
|
hint ? ` ${hint}` : ""
|
|
16030
16122
|
] }) })
|
|
@@ -16045,16 +16137,16 @@ function tierColor(tier) {
|
|
|
16045
16137
|
}
|
|
16046
16138
|
}
|
|
16047
16139
|
__name(tierColor, "tierColor");
|
|
16048
|
-
var CompactionThresholds = /* @__PURE__ */ __name(({ thresholds, currentTier }) => /* @__PURE__ */ (0,
|
|
16049
|
-
/* @__PURE__ */ (0,
|
|
16050
|
-
/* @__PURE__ */ (0,
|
|
16140
|
+
var CompactionThresholds = /* @__PURE__ */ __name(({ thresholds, currentTier }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16141
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Compaction thresholds") }),
|
|
16142
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16051
16143
|
ThresholdRow,
|
|
16052
16144
|
{
|
|
16053
16145
|
label: t("Effective window"),
|
|
16054
16146
|
tokens: thresholds.effectiveWindow
|
|
16055
16147
|
}
|
|
16056
16148
|
),
|
|
16057
|
-
/* @__PURE__ */ (0,
|
|
16149
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16058
16150
|
ThresholdRow,
|
|
16059
16151
|
{
|
|
16060
16152
|
label: t("Warn threshold"),
|
|
@@ -16062,7 +16154,7 @@ var CompactionThresholds = /* @__PURE__ */ __name(({ thresholds, currentTier })
|
|
|
16062
16154
|
isCurrent: currentTier === "warn"
|
|
16063
16155
|
}
|
|
16064
16156
|
),
|
|
16065
|
-
/* @__PURE__ */ (0,
|
|
16157
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16066
16158
|
ThresholdRow,
|
|
16067
16159
|
{
|
|
16068
16160
|
label: t("Auto threshold"),
|
|
@@ -16070,7 +16162,7 @@ var CompactionThresholds = /* @__PURE__ */ __name(({ thresholds, currentTier })
|
|
|
16070
16162
|
isCurrent: currentTier === "auto"
|
|
16071
16163
|
}
|
|
16072
16164
|
),
|
|
16073
|
-
/* @__PURE__ */ (0,
|
|
16165
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16074
16166
|
ThresholdRow,
|
|
16075
16167
|
{
|
|
16076
16168
|
label: t("Hard threshold"),
|
|
@@ -16078,22 +16170,22 @@ var CompactionThresholds = /* @__PURE__ */ __name(({ thresholds, currentTier })
|
|
|
16078
16170
|
isCurrent: currentTier === "hard"
|
|
16079
16171
|
}
|
|
16080
16172
|
),
|
|
16081
|
-
/* @__PURE__ */ (0,
|
|
16082
|
-
/* @__PURE__ */ (0,
|
|
16083
|
-
/* @__PURE__ */ (0,
|
|
16084
|
-
/* @__PURE__ */ (0,
|
|
16173
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, children: [
|
|
16174
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 2, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { children: " " }) }),
|
|
16175
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 22, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.primary, children: t("Current tier") }) }),
|
|
16176
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: tierColor(currentTier), children: currentTier }) })
|
|
16085
16177
|
] })
|
|
16086
16178
|
] }), "CompactionThresholds");
|
|
16087
16179
|
var DETAIL_NAME_MAX_LEN = 30;
|
|
16088
16180
|
var DetailRow = /* @__PURE__ */ __name(({ name, tokens }) => {
|
|
16089
16181
|
const tokenStr = tokens > 0 ? `${formatTokens(tokens)} ${t("tokens")}` : `0 ${t("tokens")}`;
|
|
16090
|
-
return /* @__PURE__ */ (0,
|
|
16091
|
-
/* @__PURE__ */ (0,
|
|
16182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, paddingLeft: 2, children: [
|
|
16183
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16092
16184
|
"\u2514",
|
|
16093
16185
|
" "
|
|
16094
16186
|
] }),
|
|
16095
|
-
/* @__PURE__ */ (0,
|
|
16096
|
-
/* @__PURE__ */ (0,
|
|
16187
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 32, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.link, children: truncateName(name, DETAIL_NAME_MAX_LEN) }) }),
|
|
16188
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.secondary, children: tokenStr }) })
|
|
16097
16189
|
] });
|
|
16098
16190
|
}, "DetailRow");
|
|
16099
16191
|
var ContextUsage = /* @__PURE__ */ __name(({
|
|
@@ -16124,7 +16216,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16124
16216
|
const bTotal = b.tokens + (b.bodyTokens ?? 0);
|
|
16125
16217
|
return bTotal - aTotal;
|
|
16126
16218
|
});
|
|
16127
|
-
return /* @__PURE__ */ (0,
|
|
16219
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
16128
16220
|
Box_default,
|
|
16129
16221
|
{
|
|
16130
16222
|
borderStyle: "round",
|
|
@@ -16133,12 +16225,12 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16133
16225
|
paddingY: 1,
|
|
16134
16226
|
paddingX: 2,
|
|
16135
16227
|
children: [
|
|
16136
|
-
/* @__PURE__ */ (0,
|
|
16137
|
-
/* @__PURE__ */ (0,
|
|
16138
|
-
!hasTokenCount ? /* @__PURE__ */ (0,
|
|
16139
|
-
/* @__PURE__ */ (0,
|
|
16140
|
-
/* @__PURE__ */ (0,
|
|
16141
|
-
/* @__PURE__ */ (0,
|
|
16228
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Context Usage") }),
|
|
16229
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { height: 1 }),
|
|
16230
|
+
!hasTokenCount ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
16231
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.status.warning, italic: true, children: t("No API response yet. Send a message to see actual usage.") }) }),
|
|
16232
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Estimated pre-conversation overhead") }),
|
|
16233
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16142
16234
|
t("Model"),
|
|
16143
16235
|
": ",
|
|
16144
16236
|
modelName,
|
|
@@ -16149,15 +16241,15 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16149
16241
|
" ",
|
|
16150
16242
|
t("tokens")
|
|
16151
16243
|
] }),
|
|
16152
|
-
/* @__PURE__ */ (0,
|
|
16153
|
-
] }) : /* @__PURE__ */ (0,
|
|
16154
|
-
/* @__PURE__ */ (0,
|
|
16155
|
-
/* @__PURE__ */ (0,
|
|
16244
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { height: 1 })
|
|
16245
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
16246
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, marginBottom: 1, children: [
|
|
16247
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16156
16248
|
t("Model"),
|
|
16157
16249
|
": ",
|
|
16158
16250
|
modelName
|
|
16159
16251
|
] }),
|
|
16160
|
-
/* @__PURE__ */ (0,
|
|
16252
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16161
16253
|
t("Context window"),
|
|
16162
16254
|
": ",
|
|
16163
16255
|
formatTokens(contextWindowSize),
|
|
@@ -16165,10 +16257,10 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16165
16257
|
t("tokens")
|
|
16166
16258
|
] }) })
|
|
16167
16259
|
] }),
|
|
16168
|
-
isEstimated && /* @__PURE__ */ (0,
|
|
16260
|
+
isEstimated && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.status.warning, italic: true, children: t(
|
|
16169
16261
|
"Token usage is estimated until provider usage is received."
|
|
16170
16262
|
) }) }),
|
|
16171
|
-
/* @__PURE__ */ (0,
|
|
16263
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: CONTENT_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16172
16264
|
ProgressBar,
|
|
16173
16265
|
{
|
|
16174
16266
|
usedPercentage: Math.min(percentage, 100),
|
|
@@ -16176,9 +16268,9 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16176
16268
|
width: CONTENT_WIDTH
|
|
16177
16269
|
}
|
|
16178
16270
|
) }),
|
|
16179
|
-
isOverLimit && /* @__PURE__ */ (0,
|
|
16180
|
-
/* @__PURE__ */ (0,
|
|
16181
|
-
/* @__PURE__ */ (0,
|
|
16271
|
+
isOverLimit && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.status.error, children: t("Context exceeds limit! Use /compress or /clear to reduce.") }) }),
|
|
16272
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { height: 1 }),
|
|
16273
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16182
16274
|
CategoryRow,
|
|
16183
16275
|
{
|
|
16184
16276
|
symbol: FILLED,
|
|
@@ -16189,7 +16281,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16189
16281
|
isOverLimit
|
|
16190
16282
|
}
|
|
16191
16283
|
),
|
|
16192
|
-
/* @__PURE__ */ (0,
|
|
16284
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16193
16285
|
CategoryRow,
|
|
16194
16286
|
{
|
|
16195
16287
|
symbol: EMPTY,
|
|
@@ -16199,7 +16291,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16199
16291
|
symbolColor: theme.text.secondary
|
|
16200
16292
|
}
|
|
16201
16293
|
),
|
|
16202
|
-
/* @__PURE__ */ (0,
|
|
16294
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16203
16295
|
CategoryRow,
|
|
16204
16296
|
{
|
|
16205
16297
|
symbol: BUFFER,
|
|
@@ -16209,10 +16301,10 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16209
16301
|
symbolColor: theme.status.warning
|
|
16210
16302
|
}
|
|
16211
16303
|
),
|
|
16212
|
-
/* @__PURE__ */ (0,
|
|
16213
|
-
/* @__PURE__ */ (0,
|
|
16304
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { height: 1 }),
|
|
16305
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Usage by category") })
|
|
16214
16306
|
] }),
|
|
16215
|
-
/* @__PURE__ */ (0,
|
|
16307
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16216
16308
|
CategoryRow,
|
|
16217
16309
|
{
|
|
16218
16310
|
symbol: FILLED,
|
|
@@ -16222,7 +16314,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16222
16314
|
symbolColor: theme.text.accent
|
|
16223
16315
|
}
|
|
16224
16316
|
),
|
|
16225
|
-
/* @__PURE__ */ (0,
|
|
16317
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16226
16318
|
CategoryRow,
|
|
16227
16319
|
{
|
|
16228
16320
|
symbol: FILLED,
|
|
@@ -16232,7 +16324,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16232
16324
|
symbolColor: theme.text.accent
|
|
16233
16325
|
}
|
|
16234
16326
|
),
|
|
16235
|
-
breakdown.mcpTools > 0 && /* @__PURE__ */ (0,
|
|
16327
|
+
breakdown.mcpTools > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16236
16328
|
CategoryRow,
|
|
16237
16329
|
{
|
|
16238
16330
|
symbol: FILLED,
|
|
@@ -16242,7 +16334,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16242
16334
|
symbolColor: theme.text.accent
|
|
16243
16335
|
}
|
|
16244
16336
|
),
|
|
16245
|
-
/* @__PURE__ */ (0,
|
|
16337
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16246
16338
|
CategoryRow,
|
|
16247
16339
|
{
|
|
16248
16340
|
symbol: FILLED,
|
|
@@ -16252,7 +16344,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16252
16344
|
symbolColor: theme.text.accent
|
|
16253
16345
|
}
|
|
16254
16346
|
),
|
|
16255
|
-
/* @__PURE__ */ (0,
|
|
16347
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16256
16348
|
CategoryRow,
|
|
16257
16349
|
{
|
|
16258
16350
|
symbol: FILLED,
|
|
@@ -16262,7 +16354,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16262
16354
|
symbolColor: theme.text.accent
|
|
16263
16355
|
}
|
|
16264
16356
|
),
|
|
16265
|
-
hasTokenCount && /* @__PURE__ */ (0,
|
|
16357
|
+
hasTokenCount && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16266
16358
|
CategoryRow,
|
|
16267
16359
|
{
|
|
16268
16360
|
symbol: FILLED,
|
|
@@ -16272,17 +16364,17 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16272
16364
|
symbolColor: theme.text.accent
|
|
16273
16365
|
}
|
|
16274
16366
|
),
|
|
16275
|
-
breakdown.thresholds && breakdown.currentTier && /* @__PURE__ */ (0,
|
|
16367
|
+
breakdown.thresholds && breakdown.currentTier && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16276
16368
|
CompactionThresholds,
|
|
16277
16369
|
{
|
|
16278
16370
|
thresholds: breakdown.thresholds,
|
|
16279
16371
|
currentTier: breakdown.currentTier
|
|
16280
16372
|
}
|
|
16281
16373
|
),
|
|
16282
|
-
showDetails ? /* @__PURE__ */ (0,
|
|
16283
|
-
sortedBuiltinTools.length > 0 && /* @__PURE__ */ (0,
|
|
16284
|
-
/* @__PURE__ */ (0,
|
|
16285
|
-
sortedBuiltinTools.map((tool) => /* @__PURE__ */ (0,
|
|
16374
|
+
showDetails ? /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_jsx_runtime42.Fragment, { children: [
|
|
16375
|
+
sortedBuiltinTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16376
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Built-in tools") }),
|
|
16377
|
+
sortedBuiltinTools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16286
16378
|
DetailRow,
|
|
16287
16379
|
{
|
|
16288
16380
|
name: tool.name,
|
|
@@ -16291,9 +16383,9 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16291
16383
|
tool.name
|
|
16292
16384
|
))
|
|
16293
16385
|
] }),
|
|
16294
|
-
sortedMcpTools.length > 0 && /* @__PURE__ */ (0,
|
|
16295
|
-
/* @__PURE__ */ (0,
|
|
16296
|
-
sortedMcpTools.map((tool) => /* @__PURE__ */ (0,
|
|
16386
|
+
sortedMcpTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16387
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("MCP tools") }),
|
|
16388
|
+
sortedMcpTools.map((tool) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16297
16389
|
DetailRow,
|
|
16298
16390
|
{
|
|
16299
16391
|
name: tool.name,
|
|
@@ -16302,9 +16394,9 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16302
16394
|
tool.name
|
|
16303
16395
|
))
|
|
16304
16396
|
] }),
|
|
16305
|
-
sortedMemoryFiles.length > 0 && /* @__PURE__ */ (0,
|
|
16306
|
-
/* @__PURE__ */ (0,
|
|
16307
|
-
sortedMemoryFiles.map((file) => /* @__PURE__ */ (0,
|
|
16397
|
+
sortedMemoryFiles.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16398
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Memory files") }),
|
|
16399
|
+
sortedMemoryFiles.map((file) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
16308
16400
|
DetailRow,
|
|
16309
16401
|
{
|
|
16310
16402
|
name: file.path,
|
|
@@ -16313,34 +16405,34 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16313
16405
|
file.path
|
|
16314
16406
|
))
|
|
16315
16407
|
] }),
|
|
16316
|
-
sortedSkills.length > 0 && /* @__PURE__ */ (0,
|
|
16317
|
-
/* @__PURE__ */ (0,
|
|
16318
|
-
sortedSkills.map((skill) => /* @__PURE__ */ (0,
|
|
16319
|
-
/* @__PURE__ */ (0,
|
|
16320
|
-
/* @__PURE__ */ (0,
|
|
16408
|
+
sortedSkills.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16409
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Skills") }),
|
|
16410
|
+
sortedSkills.map((skill) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16411
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, paddingLeft: 2, children: [
|
|
16412
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16321
16413
|
"\u2514",
|
|
16322
16414
|
" "
|
|
16323
16415
|
] }),
|
|
16324
|
-
/* @__PURE__ */ (0,
|
|
16325
|
-
/* @__PURE__ */ (0,
|
|
16326
|
-
skill.loaded && /* @__PURE__ */ (0,
|
|
16416
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: 32, children: [
|
|
16417
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.link, children: truncateName(skill.name, DETAIL_NAME_MAX_LEN) }),
|
|
16418
|
+
skill.loaded && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.status.success, children: [
|
|
16327
16419
|
" ",
|
|
16328
16420
|
t("active")
|
|
16329
16421
|
] })
|
|
16330
16422
|
] }),
|
|
16331
|
-
/* @__PURE__ */ (0,
|
|
16423
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16332
16424
|
formatTokens(skill.tokens),
|
|
16333
16425
|
" ",
|
|
16334
16426
|
t("tokens")
|
|
16335
16427
|
] }) })
|
|
16336
16428
|
] }),
|
|
16337
|
-
skill.loaded && skill.bodyTokens != null && skill.bodyTokens > 0 && /* @__PURE__ */ (0,
|
|
16338
|
-
/* @__PURE__ */ (0,
|
|
16429
|
+
skill.loaded && skill.bodyTokens != null && skill.bodyTokens > 0 && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Box_default, { width: CONTENT_WIDTH, paddingLeft: 4, children: [
|
|
16430
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16339
16431
|
" \u2514",
|
|
16340
16432
|
" "
|
|
16341
16433
|
] }),
|
|
16342
|
-
/* @__PURE__ */ (0,
|
|
16343
|
-
/* @__PURE__ */ (0,
|
|
16434
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { width: 30, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.secondary, italic: true, children: t("body loaded") }) }),
|
|
16435
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { flexGrow: 1, justifyContent: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Text, { color: theme.status.success, children: [
|
|
16344
16436
|
"+",
|
|
16345
16437
|
formatTokens(skill.bodyTokens),
|
|
16346
16438
|
" ",
|
|
@@ -16349,7 +16441,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16349
16441
|
] })
|
|
16350
16442
|
] }, skill.name))
|
|
16351
16443
|
] })
|
|
16352
|
-
] }) : /* @__PURE__ */ (0,
|
|
16444
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Text, { color: theme.text.secondary, italic: true, children: t("Run /context detail for per-item breakdown.") }) })
|
|
16353
16445
|
]
|
|
16354
16446
|
}
|
|
16355
16447
|
);
|
|
@@ -16357,7 +16449,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
|
|
|
16357
16449
|
|
|
16358
16450
|
// packages/cli/src/ui/components/views/DoctorReport.tsx
|
|
16359
16451
|
init_esbuild_shims();
|
|
16360
|
-
var
|
|
16452
|
+
var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
|
|
16361
16453
|
var STATUS_ICONS2 = {
|
|
16362
16454
|
pass: "\u2713",
|
|
16363
16455
|
// checkmark
|
|
@@ -16400,7 +16492,7 @@ var DoctorReport = /* @__PURE__ */ __name(({
|
|
|
16400
16492
|
const groups = groupByCategory(checks);
|
|
16401
16493
|
const categoryEntries = Array.from(groups.entries());
|
|
16402
16494
|
const nameColWidth = Math.max(20, ...checks.map((c) => c.name.length + 2));
|
|
16403
|
-
return /* @__PURE__ */ (0,
|
|
16495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
16404
16496
|
Box_default,
|
|
16405
16497
|
{
|
|
16406
16498
|
borderStyle: "round",
|
|
@@ -16410,26 +16502,26 @@ var DoctorReport = /* @__PURE__ */ __name(({
|
|
|
16410
16502
|
paddingX: 2,
|
|
16411
16503
|
width,
|
|
16412
16504
|
children: [
|
|
16413
|
-
/* @__PURE__ */ (0,
|
|
16414
|
-
/* @__PURE__ */ (0,
|
|
16415
|
-
categoryEntries.map(([category, items], groupIdx) => /* @__PURE__ */ (0,
|
|
16505
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Doctor Report") }),
|
|
16506
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Box_default, { height: 1 }),
|
|
16507
|
+
categoryEntries.map(([category, items], groupIdx) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
|
|
16416
16508
|
Box_default,
|
|
16417
16509
|
{
|
|
16418
16510
|
flexDirection: "column",
|
|
16419
16511
|
marginTop: groupIdx > 0 ? 1 : 0,
|
|
16420
16512
|
children: [
|
|
16421
|
-
/* @__PURE__ */ (0,
|
|
16422
|
-
items.map((check) => /* @__PURE__ */ (0,
|
|
16423
|
-
/* @__PURE__ */ (0,
|
|
16424
|
-
/* @__PURE__ */ (0,
|
|
16513
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { bold: true, color: theme.text.link, children: category }),
|
|
16514
|
+
items.map((check) => /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16515
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
16516
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Text, { color: getStatusColor2(check.status), children: [
|
|
16425
16517
|
" ",
|
|
16426
16518
|
STATUS_ICONS2[check.status],
|
|
16427
16519
|
" "
|
|
16428
16520
|
] }),
|
|
16429
|
-
/* @__PURE__ */ (0,
|
|
16430
|
-
/* @__PURE__ */ (0,
|
|
16521
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Box_default, { width: nameColWidth, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { color: theme.text.primary, children: check.name }) }),
|
|
16522
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { dimColor: true, children: check.message })
|
|
16431
16523
|
] }),
|
|
16432
|
-
check.detail && /* @__PURE__ */ (0,
|
|
16524
|
+
check.detail && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Box_default, { marginLeft: 6, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Text, { dimColor: true, children: [
|
|
16433
16525
|
"-> ",
|
|
16434
16526
|
check.detail
|
|
16435
16527
|
] }) })
|
|
@@ -16438,21 +16530,21 @@ var DoctorReport = /* @__PURE__ */ __name(({
|
|
|
16438
16530
|
},
|
|
16439
16531
|
category
|
|
16440
16532
|
)),
|
|
16441
|
-
/* @__PURE__ */ (0,
|
|
16442
|
-
/* @__PURE__ */ (0,
|
|
16443
|
-
/* @__PURE__ */ (0,
|
|
16533
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Box_default, { marginTop: 1, children: [
|
|
16534
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { dimColor: true, children: "-- " }),
|
|
16535
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Text, { color: theme.status.success, children: [
|
|
16444
16536
|
summary.pass,
|
|
16445
16537
|
" ",
|
|
16446
16538
|
t("passed")
|
|
16447
16539
|
] }),
|
|
16448
|
-
/* @__PURE__ */ (0,
|
|
16449
|
-
/* @__PURE__ */ (0,
|
|
16540
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { dimColor: true, children: ", " }),
|
|
16541
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Text, { color: theme.status.warning, children: [
|
|
16450
16542
|
summary.warn,
|
|
16451
16543
|
" ",
|
|
16452
16544
|
t("warnings")
|
|
16453
16545
|
] }),
|
|
16454
|
-
/* @__PURE__ */ (0,
|
|
16455
|
-
/* @__PURE__ */ (0,
|
|
16546
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Text, { dimColor: true, children: ", " }),
|
|
16547
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Text, { color: theme.status.error, children: [
|
|
16456
16548
|
summary.fail,
|
|
16457
16549
|
" ",
|
|
16458
16550
|
t("failures")
|
|
@@ -16465,7 +16557,7 @@ var DoctorReport = /* @__PURE__ */ __name(({
|
|
|
16465
16557
|
|
|
16466
16558
|
// packages/cli/src/ui/components/arena/ArenaCards.tsx
|
|
16467
16559
|
init_esbuild_shims();
|
|
16468
|
-
var
|
|
16560
|
+
var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
|
|
16469
16561
|
var ArenaAgentCard = /* @__PURE__ */ __name(({
|
|
16470
16562
|
agent,
|
|
16471
16563
|
width
|
|
@@ -16475,8 +16567,8 @@ var ArenaAgentCard = /* @__PURE__ */ __name(({
|
|
|
16475
16567
|
const tokens = agent.totalTokens.toLocaleString();
|
|
16476
16568
|
const inTokens = agent.inputTokens.toLocaleString();
|
|
16477
16569
|
const outTokens = agent.outputTokens.toLocaleString();
|
|
16478
|
-
return /* @__PURE__ */ (0,
|
|
16479
|
-
/* @__PURE__ */ (0,
|
|
16570
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { flexDirection: "column", width, children: [
|
|
16571
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color, children: [
|
|
16480
16572
|
icon,
|
|
16481
16573
|
" ",
|
|
16482
16574
|
agent.label,
|
|
@@ -16485,7 +16577,7 @@ var ArenaAgentCard = /* @__PURE__ */ __name(({
|
|
|
16485
16577
|
" \xB7 ",
|
|
16486
16578
|
duration
|
|
16487
16579
|
] }) }),
|
|
16488
|
-
/* @__PURE__ */ (0,
|
|
16580
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16489
16581
|
"Tokens: ",
|
|
16490
16582
|
tokens,
|
|
16491
16583
|
" (in ",
|
|
@@ -16494,25 +16586,25 @@ var ArenaAgentCard = /* @__PURE__ */ __name(({
|
|
|
16494
16586
|
outTokens,
|
|
16495
16587
|
")"
|
|
16496
16588
|
] }) }),
|
|
16497
|
-
/* @__PURE__ */ (0,
|
|
16589
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16498
16590
|
"Tool Calls: ",
|
|
16499
16591
|
agent.toolCalls,
|
|
16500
|
-
agent.failedToolCalls > 0 && /* @__PURE__ */ (0,
|
|
16592
|
+
agent.failedToolCalls > 0 && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
|
|
16501
16593
|
" ",
|
|
16502
16594
|
"(",
|
|
16503
|
-
/* @__PURE__ */ (0,
|
|
16595
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.status.success, children: [
|
|
16504
16596
|
"\u2713 ",
|
|
16505
16597
|
agent.successfulToolCalls
|
|
16506
16598
|
] }),
|
|
16507
|
-
/* @__PURE__ */ (0,
|
|
16508
|
-
/* @__PURE__ */ (0,
|
|
16599
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: " " }),
|
|
16600
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.status.error, children: [
|
|
16509
16601
|
"\u2715 ",
|
|
16510
16602
|
agent.failedToolCalls
|
|
16511
16603
|
] }),
|
|
16512
16604
|
")"
|
|
16513
16605
|
] })
|
|
16514
16606
|
] }) }),
|
|
16515
|
-
agent.error && /* @__PURE__ */ (0,
|
|
16607
|
+
agent.error && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.status.error, children: agent.error }) })
|
|
16516
16608
|
] });
|
|
16517
16609
|
}, "ArenaAgentCard");
|
|
16518
16610
|
function getDiffStats(diff, diffSummary) {
|
|
@@ -16579,7 +16671,7 @@ var ArenaSessionCard = /* @__PURE__ */ __name(({
|
|
|
16579
16671
|
width
|
|
16580
16672
|
}) => {
|
|
16581
16673
|
const titleLabel = sessionStatus === "idle" || sessionStatus === "completed" ? "Arena Comparison Summary" : sessionStatus === "cancelled" ? "Arena Cancelled" : "Arena Failed";
|
|
16582
|
-
return /* @__PURE__ */ (0,
|
|
16674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
|
|
16583
16675
|
Box_default,
|
|
16584
16676
|
{
|
|
16585
16677
|
borderStyle: "round",
|
|
@@ -16589,91 +16681,91 @@ var ArenaSessionCard = /* @__PURE__ */ __name(({
|
|
|
16589
16681
|
paddingY: 1,
|
|
16590
16682
|
width,
|
|
16591
16683
|
children: [
|
|
16592
|
-
/* @__PURE__ */ (0,
|
|
16593
|
-
/* @__PURE__ */ (0,
|
|
16594
|
-
(sessionStatus === "idle" || sessionStatus === "completed") && /* @__PURE__ */ (0,
|
|
16595
|
-
/* @__PURE__ */ (0,
|
|
16596
|
-
/* @__PURE__ */ (0,
|
|
16684
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { bold: true, color: theme.text.primary, children: titleLabel }) }),
|
|
16685
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { height: 1 }),
|
|
16686
|
+
(sessionStatus === "idle" || sessionStatus === "completed") && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, { children: [
|
|
16687
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16688
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { bold: true, color: theme.text.primary, children: "Status Summary:" }),
|
|
16597
16689
|
agents.map((agent, index) => {
|
|
16598
16690
|
const { text: statusText, color } = getArenaStatusLabel(
|
|
16599
16691
|
agent.status
|
|
16600
16692
|
);
|
|
16601
|
-
return /* @__PURE__ */ (0,
|
|
16602
|
-
/* @__PURE__ */ (0,
|
|
16693
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { marginLeft: 2, children: [
|
|
16694
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16603
16695
|
index === agents.length - 1 ? "\u2514\u2500" : "\u251C\u2500",
|
|
16604
16696
|
" ",
|
|
16605
16697
|
agent.label,
|
|
16606
16698
|
":",
|
|
16607
16699
|
" "
|
|
16608
16700
|
] }),
|
|
16609
|
-
/* @__PURE__ */ (0,
|
|
16701
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color, children: statusText })
|
|
16610
16702
|
] }, agent.label);
|
|
16611
16703
|
})
|
|
16612
16704
|
] }),
|
|
16613
|
-
/* @__PURE__ */ (0,
|
|
16614
|
-
/* @__PURE__ */ (0,
|
|
16615
|
-
/* @__PURE__ */ (0,
|
|
16616
|
-
getComparisonFileGroups(agents).map((group, index, groups) => /* @__PURE__ */ (0,
|
|
16617
|
-
/* @__PURE__ */ (0,
|
|
16705
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { height: 1 }),
|
|
16706
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16707
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { bold: true, color: theme.text.primary, children: "Files Modified:" }),
|
|
16708
|
+
getComparisonFileGroups(agents).map((group, index, groups) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { marginLeft: 2, children: [
|
|
16709
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16618
16710
|
getTreeBranch(index, groups.length),
|
|
16619
16711
|
" ",
|
|
16620
16712
|
group.label,
|
|
16621
16713
|
":",
|
|
16622
16714
|
" "
|
|
16623
16715
|
] }),
|
|
16624
|
-
/* @__PURE__ */ (0,
|
|
16716
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: formatFileList(group.files) })
|
|
16625
16717
|
] }, group.label))
|
|
16626
16718
|
] }),
|
|
16627
|
-
/* @__PURE__ */ (0,
|
|
16628
|
-
/* @__PURE__ */ (0,
|
|
16629
|
-
/* @__PURE__ */ (0,
|
|
16719
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { height: 1 }),
|
|
16720
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16721
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { bold: true, color: theme.text.primary, children: "Approach Summary:" }),
|
|
16630
16722
|
agents.map((agent, index) => {
|
|
16631
16723
|
const diffStats = getDiffStats(agent.diff, agent.diffSummary);
|
|
16632
16724
|
const files = getAgentFiles(agent).length;
|
|
16633
16725
|
const branch = index === agents.length - 1 ? "\u2514\u2500" : "\u251C\u2500";
|
|
16634
16726
|
const summary = agent.approachSummary ?? "No approach summary available.";
|
|
16635
|
-
return /* @__PURE__ */ (0,
|
|
16636
|
-
/* @__PURE__ */ (0,
|
|
16727
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { marginLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { children: [
|
|
16728
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16637
16729
|
branch,
|
|
16638
16730
|
" ",
|
|
16639
16731
|
agent.label,
|
|
16640
16732
|
":",
|
|
16641
16733
|
" "
|
|
16642
16734
|
] }),
|
|
16643
|
-
/* @__PURE__ */ (0,
|
|
16735
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.primary, children: [
|
|
16644
16736
|
summary,
|
|
16645
16737
|
" "
|
|
16646
16738
|
] }),
|
|
16647
|
-
/* @__PURE__ */ (0,
|
|
16648
|
-
/* @__PURE__ */ (0,
|
|
16649
|
-
/* @__PURE__ */ (0,
|
|
16650
|
-
/* @__PURE__ */ (0,
|
|
16739
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: "(" }),
|
|
16740
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.accent, children: files }),
|
|
16741
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: files === 1 ? " file, " : " files, " }),
|
|
16742
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.status.success, children: [
|
|
16651
16743
|
"+",
|
|
16652
16744
|
diffStats.additions
|
|
16653
16745
|
] }),
|
|
16654
|
-
/* @__PURE__ */ (0,
|
|
16655
|
-
/* @__PURE__ */ (0,
|
|
16746
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: " " }),
|
|
16747
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.status.error, children: [
|
|
16656
16748
|
"-",
|
|
16657
16749
|
diffStats.deletions
|
|
16658
16750
|
] }),
|
|
16659
|
-
/* @__PURE__ */ (0,
|
|
16660
|
-
/* @__PURE__ */ (0,
|
|
16661
|
-
/* @__PURE__ */ (0,
|
|
16751
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: " lines, " }),
|
|
16752
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.accent, children: agent.toolCalls }),
|
|
16753
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: agent.toolCalls === 1 ? " tool call)" : " tool calls)" })
|
|
16662
16754
|
] }) }, agent.label);
|
|
16663
16755
|
})
|
|
16664
16756
|
] }),
|
|
16665
|
-
/* @__PURE__ */ (0,
|
|
16666
|
-
/* @__PURE__ */ (0,
|
|
16667
|
-
/* @__PURE__ */ (0,
|
|
16668
|
-
agents.map((agent, index) => /* @__PURE__ */ (0,
|
|
16669
|
-
/* @__PURE__ */ (0,
|
|
16757
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { height: 1 }),
|
|
16758
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16759
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { bold: true, color: theme.text.primary, children: "Token Efficiency:" }),
|
|
16760
|
+
agents.map((agent, index) => /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Box_default, { marginLeft: 2, children: [
|
|
16761
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16670
16762
|
index === agents.length - 1 ? "\u2514\u2500" : "\u251C\u2500",
|
|
16671
16763
|
" ",
|
|
16672
16764
|
agent.label,
|
|
16673
16765
|
":",
|
|
16674
16766
|
" "
|
|
16675
16767
|
] }),
|
|
16676
|
-
/* @__PURE__ */ (0,
|
|
16768
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.primary, children: [
|
|
16677
16769
|
agent.outputTokens.toLocaleString(),
|
|
16678
16770
|
" tokens \xB7 runtime",
|
|
16679
16771
|
" ",
|
|
@@ -16682,15 +16774,15 @@ var ArenaSessionCard = /* @__PURE__ */ __name(({
|
|
|
16682
16774
|
] }, agent.label))
|
|
16683
16775
|
] })
|
|
16684
16776
|
] }),
|
|
16685
|
-
/* @__PURE__ */ (0,
|
|
16686
|
-
sessionStatus === "idle" && /* @__PURE__ */ (0,
|
|
16777
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { height: 1 }),
|
|
16778
|
+
sessionStatus === "idle" && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16687
16779
|
"Run ",
|
|
16688
|
-
/* @__PURE__ */ (0,
|
|
16780
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.accent, children: "/arena select" }),
|
|
16689
16781
|
" to view detailed diff or pick a winner."
|
|
16690
16782
|
] }) }),
|
|
16691
|
-
sessionStatus === "completed" && /* @__PURE__ */ (0,
|
|
16783
|
+
sessionStatus === "completed" && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16692
16784
|
"Run ",
|
|
16693
|
-
/* @__PURE__ */ (0,
|
|
16785
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.accent, children: "/arena select" }),
|
|
16694
16786
|
" to pick a winner."
|
|
16695
16787
|
] }) })
|
|
16696
16788
|
]
|
|
@@ -16700,7 +16792,7 @@ var ArenaSessionCard = /* @__PURE__ */ __name(({
|
|
|
16700
16792
|
|
|
16701
16793
|
// packages/cli/src/ui/components/messages/InsightProgressMessage.tsx
|
|
16702
16794
|
init_esbuild_shims();
|
|
16703
|
-
var
|
|
16795
|
+
var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
|
|
16704
16796
|
var InsightProgressMessage = /* @__PURE__ */ __name(({
|
|
16705
16797
|
progress
|
|
16706
16798
|
}) => {
|
|
@@ -16710,28 +16802,28 @@ var InsightProgressMessage = /* @__PURE__ */ __name(({
|
|
|
16710
16802
|
const remainingWidth = width - completedWidth;
|
|
16711
16803
|
const bar = "\u2588".repeat(Math.max(0, completedWidth)) + "\u2591".repeat(Math.max(0, remainingWidth));
|
|
16712
16804
|
if (error) {
|
|
16713
|
-
return /* @__PURE__ */ (0,
|
|
16714
|
-
/* @__PURE__ */ (0,
|
|
16805
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16806
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { color: theme.status.error, children: [
|
|
16715
16807
|
"\u2715 ",
|
|
16716
16808
|
stage
|
|
16717
16809
|
] }),
|
|
16718
|
-
/* @__PURE__ */ (0,
|
|
16810
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: theme.text.secondary, children: error })
|
|
16719
16811
|
] });
|
|
16720
16812
|
}
|
|
16721
16813
|
if (isComplete) {
|
|
16722
|
-
return /* @__PURE__ */ (0,
|
|
16814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Box_default, { flexDirection: "row", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { color: theme.status.success, children: [
|
|
16723
16815
|
"\u2713 ",
|
|
16724
16816
|
stage
|
|
16725
16817
|
] }) });
|
|
16726
16818
|
}
|
|
16727
|
-
return /* @__PURE__ */ (0,
|
|
16728
|
-
/* @__PURE__ */ (0,
|
|
16729
|
-
/* @__PURE__ */ (0,
|
|
16730
|
-
/* @__PURE__ */ (0,
|
|
16819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
16820
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { color: theme.text.accent, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(build_default, { type: "dots" }) }),
|
|
16821
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Text, { children: " " }),
|
|
16822
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16731
16823
|
bar,
|
|
16732
16824
|
" "
|
|
16733
16825
|
] }),
|
|
16734
|
-
/* @__PURE__ */ (0,
|
|
16826
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Text, { color: theme.text.accent, children: [
|
|
16735
16827
|
stage,
|
|
16736
16828
|
progress.detail ? ` (${progress.detail})` : ""
|
|
16737
16829
|
] })
|
|
@@ -16741,7 +16833,7 @@ var InsightProgressMessage = /* @__PURE__ */ __name(({
|
|
|
16741
16833
|
// packages/cli/src/ui/components/messages/BtwMessage.tsx
|
|
16742
16834
|
init_esbuild_shims();
|
|
16743
16835
|
var import_react41 = __toESM(require_react(), 1);
|
|
16744
|
-
var
|
|
16836
|
+
var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
|
|
16745
16837
|
var BTW_SELF_CHROME = 4;
|
|
16746
16838
|
function normalizeCodeFences(text) {
|
|
16747
16839
|
return text.replace(/([^\n])(```|~~~)/g, "$1\n$2");
|
|
@@ -16754,7 +16846,7 @@ var BtwMessageInternal = /* @__PURE__ */ __name(({
|
|
|
16754
16846
|
const { columns: terminalWidth } = useTerminalSize();
|
|
16755
16847
|
const baseWidth = containerWidth ?? terminalWidth;
|
|
16756
16848
|
const contentWidth = Math.max(2, baseWidth - BTW_SELF_CHROME);
|
|
16757
|
-
return /* @__PURE__ */ (0,
|
|
16849
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
16758
16850
|
Box_default,
|
|
16759
16851
|
{
|
|
16760
16852
|
flexDirection: "column",
|
|
@@ -16763,18 +16855,18 @@ var BtwMessageInternal = /* @__PURE__ */ __name(({
|
|
|
16763
16855
|
paddingX: 1,
|
|
16764
16856
|
width: "100%",
|
|
16765
16857
|
children: [
|
|
16766
|
-
/* @__PURE__ */ (0,
|
|
16767
|
-
/* @__PURE__ */ (0,
|
|
16768
|
-
/* @__PURE__ */ (0,
|
|
16858
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
16859
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { color: Colors.AccentYellow, bold: true, children: "/btw " }),
|
|
16860
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { wrap: "wrap", color: Colors.AccentYellow, children: btw.question })
|
|
16769
16861
|
] }),
|
|
16770
|
-
btw.isPending ? /* @__PURE__ */ (0,
|
|
16771
|
-
/* @__PURE__ */ (0,
|
|
16772
|
-
/* @__PURE__ */ (0,
|
|
16773
|
-
/* @__PURE__ */ (0,
|
|
16862
|
+
btw.isPending ? /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16863
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { children: [
|
|
16864
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { color: Colors.AccentYellow, children: "+ " }),
|
|
16865
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { color: Colors.AccentYellow, children: t("Answering...") })
|
|
16774
16866
|
] }),
|
|
16775
|
-
/* @__PURE__ */ (0,
|
|
16776
|
-
] }) : /* @__PURE__ */ (0,
|
|
16777
|
-
/* @__PURE__ */ (0,
|
|
16867
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { dimColor: true, children: t("Press Escape, Ctrl+C, or Ctrl+D to cancel") }) })
|
|
16868
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
|
|
16869
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
16778
16870
|
MarkdownDisplay,
|
|
16779
16871
|
{
|
|
16780
16872
|
text: normalizeCodeFences(btw.answer),
|
|
@@ -16782,7 +16874,7 @@ var BtwMessageInternal = /* @__PURE__ */ __name(({
|
|
|
16782
16874
|
contentWidth
|
|
16783
16875
|
}
|
|
16784
16876
|
),
|
|
16785
|
-
/* @__PURE__ */ (0,
|
|
16877
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Box_default, { marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Text, { dimColor: true, children: t("Press Space, Enter, or Escape to dismiss") }) })
|
|
16786
16878
|
] })
|
|
16787
16879
|
]
|
|
16788
16880
|
}
|
|
@@ -16793,7 +16885,7 @@ var BtwMessage = import_react41.default.memo(BtwMessageInternal);
|
|
|
16793
16885
|
// packages/cli/src/ui/components/messages/AdvisorMessage.tsx
|
|
16794
16886
|
init_esbuild_shims();
|
|
16795
16887
|
var import_react42 = __toESM(require_react(), 1);
|
|
16796
|
-
var
|
|
16888
|
+
var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
|
|
16797
16889
|
var ADVISOR_SELF_CHROME = 4;
|
|
16798
16890
|
var AdvisorMessageInternal = /* @__PURE__ */ __name(({
|
|
16799
16891
|
text,
|
|
@@ -16803,7 +16895,7 @@ var AdvisorMessageInternal = /* @__PURE__ */ __name(({
|
|
|
16803
16895
|
const { columns: terminalWidth } = useTerminalSize();
|
|
16804
16896
|
const baseWidth = containerWidth ?? terminalWidth;
|
|
16805
16897
|
const contentWidth = Math.max(2, baseWidth - ADVISOR_SELF_CHROME);
|
|
16806
|
-
return /* @__PURE__ */ (0,
|
|
16898
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
16807
16899
|
Box_default,
|
|
16808
16900
|
{
|
|
16809
16901
|
flexDirection: "column",
|
|
@@ -16812,11 +16904,11 @@ var AdvisorMessageInternal = /* @__PURE__ */ __name(({
|
|
|
16812
16904
|
paddingX: 1,
|
|
16813
16905
|
width: "100%",
|
|
16814
16906
|
children: [
|
|
16815
|
-
/* @__PURE__ */ (0,
|
|
16816
|
-
/* @__PURE__ */ (0,
|
|
16817
|
-
/* @__PURE__ */ (0,
|
|
16907
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
16908
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: Colors.AccentCyan, bold: true, children: "/advisor" }),
|
|
16909
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Text, { color: Colors.AccentCyan, children: ` \xB7 ${model}` })
|
|
16818
16910
|
] }),
|
|
16819
|
-
/* @__PURE__ */ (0,
|
|
16911
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Box_default, { flexDirection: "column", marginTop: 1, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
16820
16912
|
MarkdownDisplay,
|
|
16821
16913
|
{
|
|
16822
16914
|
text,
|
|
@@ -16832,16 +16924,16 @@ var AdvisorMessage = import_react42.default.memo(AdvisorMessageInternal);
|
|
|
16832
16924
|
|
|
16833
16925
|
// packages/cli/src/ui/components/messages/MemorySavedMessage.tsx
|
|
16834
16926
|
init_esbuild_shims();
|
|
16835
|
-
var
|
|
16927
|
+
var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
|
|
16836
16928
|
var MemorySavedMessage = /* @__PURE__ */ __name(({
|
|
16837
16929
|
item
|
|
16838
16930
|
}) => {
|
|
16839
16931
|
const verb = item.verb ?? "Saved";
|
|
16840
16932
|
const n = item.writtenCount;
|
|
16841
16933
|
const label = n === 1 ? "memory" : "memories";
|
|
16842
|
-
return /* @__PURE__ */ (0,
|
|
16843
|
-
/* @__PURE__ */ (0,
|
|
16844
|
-
/* @__PURE__ */ (0,
|
|
16934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
16935
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
|
|
16936
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Text, { dimColor: true, children: [
|
|
16845
16937
|
verb,
|
|
16846
16938
|
" ",
|
|
16847
16939
|
n,
|
|
@@ -16853,28 +16945,28 @@ var MemorySavedMessage = /* @__PURE__ */ __name(({
|
|
|
16853
16945
|
|
|
16854
16946
|
// packages/cli/src/ui/components/messages/DiffStatsDisplay.tsx
|
|
16855
16947
|
init_esbuild_shims();
|
|
16856
|
-
var
|
|
16948
|
+
var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
|
|
16857
16949
|
var DiffStatsDisplay = /* @__PURE__ */ __name(({
|
|
16858
16950
|
model
|
|
16859
16951
|
}) => {
|
|
16860
16952
|
const { filesCount, linesAdded, linesRemoved, rows, hiddenCount } = model;
|
|
16861
16953
|
const { addWidth, remWidth, statColumnWidth } = computeDiffColumnWidths(rows);
|
|
16862
16954
|
const headerLabel = filesCount === 1 ? t("{{count}} file changed", { count: String(filesCount) }) : t("{{count}} files changed", { count: String(filesCount) });
|
|
16863
|
-
return /* @__PURE__ */ (0,
|
|
16864
|
-
/* @__PURE__ */ (0,
|
|
16865
|
-
/* @__PURE__ */ (0,
|
|
16866
|
-
/* @__PURE__ */ (0,
|
|
16867
|
-
/* @__PURE__ */ (0,
|
|
16955
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
16956
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { children: [
|
|
16957
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: headerLabel }),
|
|
16958
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: ", " }),
|
|
16959
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.status.success, children: [
|
|
16868
16960
|
"+",
|
|
16869
16961
|
linesAdded
|
|
16870
16962
|
] }),
|
|
16871
|
-
/* @__PURE__ */ (0,
|
|
16872
|
-
/* @__PURE__ */ (0,
|
|
16963
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: " / " }),
|
|
16964
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.status.error, children: [
|
|
16873
16965
|
"-",
|
|
16874
16966
|
linesRemoved
|
|
16875
16967
|
] })
|
|
16876
16968
|
] }),
|
|
16877
|
-
rows.map((row) => /* @__PURE__ */ (0,
|
|
16969
|
+
rows.map((row) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
16878
16970
|
DiffRow,
|
|
16879
16971
|
{
|
|
16880
16972
|
row,
|
|
@@ -16884,7 +16976,7 @@ var DiffStatsDisplay = /* @__PURE__ */ __name(({
|
|
|
16884
16976
|
},
|
|
16885
16977
|
row.filename
|
|
16886
16978
|
)),
|
|
16887
|
-
hiddenCount > 0 && rows.length > 0 && /* @__PURE__ */ (0,
|
|
16979
|
+
hiddenCount > 0 && rows.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16888
16980
|
" ",
|
|
16889
16981
|
t("\u2026and {{hidden}} more (showing first {{shown}})", {
|
|
16890
16982
|
hidden: String(hiddenCount),
|
|
@@ -16904,16 +16996,16 @@ var DiffRow = /* @__PURE__ */ __name(({
|
|
|
16904
16996
|
if (row.isBinary) {
|
|
16905
16997
|
const marker = padRight("~", statColumnWidth);
|
|
16906
16998
|
const suffix2 = row.isUntracked ? t("(binary, new)") : row.isDeleted ? t("(binary, deleted)") : t("(binary)");
|
|
16907
|
-
return /* @__PURE__ */ (0,
|
|
16908
|
-
/* @__PURE__ */ (0,
|
|
16909
|
-
/* @__PURE__ */ (0,
|
|
16910
|
-
/* @__PURE__ */ (0,
|
|
16911
|
-
safeOldPath ? /* @__PURE__ */ (0,
|
|
16999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { children: [
|
|
17000
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
17001
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.secondary, children: marker }),
|
|
17002
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
17003
|
+
safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16912
17004
|
safeOldPath,
|
|
16913
17005
|
" \u2192 "
|
|
16914
17006
|
] }) : null,
|
|
16915
|
-
/* @__PURE__ */ (0,
|
|
16916
|
-
/* @__PURE__ */ (0,
|
|
17007
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: safeName }),
|
|
17008
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16917
17009
|
" ",
|
|
16918
17010
|
suffix2
|
|
16919
17011
|
] })
|
|
@@ -16927,24 +17019,24 @@ var DiffRow = /* @__PURE__ */ __name(({
|
|
|
16927
17019
|
} else if (row.isDeleted) {
|
|
16928
17020
|
suffix = t("(deleted)");
|
|
16929
17021
|
}
|
|
16930
|
-
return /* @__PURE__ */ (0,
|
|
16931
|
-
/* @__PURE__ */ (0,
|
|
16932
|
-
/* @__PURE__ */ (0,
|
|
17022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { children: [
|
|
17023
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
17024
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.status.success, children: [
|
|
16933
17025
|
"+",
|
|
16934
17026
|
added
|
|
16935
17027
|
] }),
|
|
16936
|
-
/* @__PURE__ */ (0,
|
|
16937
|
-
/* @__PURE__ */ (0,
|
|
17028
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
17029
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.status.error, children: [
|
|
16938
17030
|
"-",
|
|
16939
17031
|
removed
|
|
16940
17032
|
] }),
|
|
16941
|
-
/* @__PURE__ */ (0,
|
|
16942
|
-
safeOldPath ? /* @__PURE__ */ (0,
|
|
17033
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
17034
|
+
safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16943
17035
|
safeOldPath,
|
|
16944
17036
|
" \u2192 "
|
|
16945
17037
|
] }) : null,
|
|
16946
|
-
/* @__PURE__ */ (0,
|
|
16947
|
-
suffix && /* @__PURE__ */ (0,
|
|
17038
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Text, { color: theme.text.primary, children: safeName }),
|
|
17039
|
+
suffix && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16948
17040
|
" ",
|
|
16949
17041
|
suffix
|
|
16950
17042
|
] })
|
|
@@ -16958,7 +17050,7 @@ __name(padRight, "padRight");
|
|
|
16958
17050
|
// packages/cli/src/ui/components/messages/GoalStatusMessage.tsx
|
|
16959
17051
|
init_esbuild_shims();
|
|
16960
17052
|
var import_react43 = __toESM(require_react(), 1);
|
|
16961
|
-
var
|
|
17053
|
+
var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
|
|
16962
17054
|
var pluralTurns = /* @__PURE__ */ __name((n) => n === 1 ? "turn" : "turns", "pluralTurns");
|
|
16963
17055
|
function assertNeverGoalStatusKind(kind) {
|
|
16964
17056
|
throw new Error(`Unexpected goal status kind: ${kind}`);
|
|
@@ -16971,9 +17063,9 @@ var GoalStateCard = /* @__PURE__ */ __name(({
|
|
|
16971
17063
|
const goal = snapshot.goal;
|
|
16972
17064
|
if (!goal) {
|
|
16973
17065
|
if (cause !== "clear") return null;
|
|
16974
|
-
return /* @__PURE__ */ (0,
|
|
16975
|
-
/* @__PURE__ */ (0,
|
|
16976
|
-
/* @__PURE__ */ (0,
|
|
17066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17067
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
|
|
17068
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: "Goal cleared" })
|
|
16977
17069
|
] });
|
|
16978
17070
|
}
|
|
16979
17071
|
const lifecycle = (() => {
|
|
@@ -17031,21 +17123,21 @@ var GoalStateCard = /* @__PURE__ */ __name(({
|
|
|
17031
17123
|
}
|
|
17032
17124
|
const subtitle = stats.length > 0 ? stats.join(" \xB7 ") : null;
|
|
17033
17125
|
const reason = goal.status !== "active" || snapshot.activity === "verifying" ? goal.lastReason?.trim() : void 0;
|
|
17034
|
-
return /* @__PURE__ */ (0,
|
|
17035
|
-
/* @__PURE__ */ (0,
|
|
17036
|
-
/* @__PURE__ */ (0,
|
|
17037
|
-
/* @__PURE__ */ (0,
|
|
17126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17127
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: lifecycle.color, children: lifecycle.prefix }) }),
|
|
17128
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
|
|
17129
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: lifecycle.color, children: [
|
|
17038
17130
|
lifecycle.title,
|
|
17039
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
17131
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17040
17132
|
" \xB7 ",
|
|
17041
17133
|
subtitle
|
|
17042
17134
|
] }) : null
|
|
17043
17135
|
] }),
|
|
17044
|
-
/* @__PURE__ */ (0,
|
|
17045
|
-
/* @__PURE__ */ (0,
|
|
17046
|
-
/* @__PURE__ */ (0,
|
|
17136
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17137
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
|
|
17138
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { wrap: "wrap", children: goal.objective }) })
|
|
17047
17139
|
] }),
|
|
17048
|
-
reason ? /* @__PURE__ */ (0,
|
|
17140
|
+
reason ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
|
|
17049
17141
|
"Reason: ",
|
|
17050
17142
|
reason
|
|
17051
17143
|
] }) : null
|
|
@@ -17053,24 +17145,24 @@ var GoalStateCard = /* @__PURE__ */ __name(({
|
|
|
17053
17145
|
] });
|
|
17054
17146
|
}, "GoalStateCard");
|
|
17055
17147
|
var GoalStatusMessageInternal = /* @__PURE__ */ __name((props) => {
|
|
17056
|
-
if (props.snapshot) return /* @__PURE__ */ (0,
|
|
17148
|
+
if (props.snapshot) return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(GoalStateCard, { ...props });
|
|
17057
17149
|
const { kind, condition, iterations, durationMs, lastReason } = props;
|
|
17058
17150
|
if (kind === "checking") {
|
|
17059
17151
|
const reason = lastReason?.trim();
|
|
17060
|
-
return /* @__PURE__ */ (0,
|
|
17061
|
-
/* @__PURE__ */ (0,
|
|
17062
|
-
/* @__PURE__ */ (0,
|
|
17063
|
-
/* @__PURE__ */ (0,
|
|
17152
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17153
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: ICON.CIRCLE_EMPTY }) }),
|
|
17154
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
|
|
17155
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17064
17156
|
"Goal check",
|
|
17065
17157
|
typeof iterations === "number" && iterations > 0 ? ` \xB7 turn ${iterations}` : "",
|
|
17066
17158
|
" ",
|
|
17067
17159
|
"\xB7 not yet met"
|
|
17068
17160
|
] }),
|
|
17069
|
-
/* @__PURE__ */ (0,
|
|
17161
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
|
|
17070
17162
|
"Goal: ",
|
|
17071
17163
|
condition
|
|
17072
17164
|
] }),
|
|
17073
|
-
reason ? /* @__PURE__ */ (0,
|
|
17165
|
+
reason ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
|
|
17074
17166
|
"Judge: ",
|
|
17075
17167
|
reason
|
|
17076
17168
|
] }) : null
|
|
@@ -17127,21 +17219,21 @@ var GoalStatusMessageInternal = /* @__PURE__ */ __name((props) => {
|
|
|
17127
17219
|
stats.push(formatDuration(durationMs, { hideTrailingZeros: true }));
|
|
17128
17220
|
}
|
|
17129
17221
|
const subtitle = stats.length > 0 ? stats.join(" \xB7 ") : null;
|
|
17130
|
-
return /* @__PURE__ */ (0,
|
|
17131
|
-
/* @__PURE__ */ (0,
|
|
17132
|
-
/* @__PURE__ */ (0,
|
|
17133
|
-
/* @__PURE__ */ (0,
|
|
17222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17223
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: prefixColor, children: prefix }) }),
|
|
17224
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexGrow: 1, flexDirection: "column", children: [
|
|
17225
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: prefixColor, children: [
|
|
17134
17226
|
title,
|
|
17135
|
-
subtitle ? /* @__PURE__ */ (0,
|
|
17227
|
+
subtitle ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17136
17228
|
" \xB7 ",
|
|
17137
17229
|
subtitle
|
|
17138
17230
|
] }) : null
|
|
17139
17231
|
] }),
|
|
17140
|
-
/* @__PURE__ */ (0,
|
|
17141
|
-
/* @__PURE__ */ (0,
|
|
17142
|
-
/* @__PURE__ */ (0,
|
|
17232
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17233
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexShrink: 0, marginRight: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { color: theme.text.secondary, children: "Goal:" }) }),
|
|
17234
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Text, { wrap: "wrap", children: condition }) })
|
|
17143
17235
|
] }),
|
|
17144
|
-
isTerminalGoalStatusKind(kind) && lastReason?.trim() ? /* @__PURE__ */ (0,
|
|
17236
|
+
isTerminalGoalStatusKind(kind) && lastReason?.trim() ? /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Text, { color: theme.text.secondary, wrap: "wrap", children: [
|
|
17145
17237
|
"Last check: ",
|
|
17146
17238
|
lastReason.trim()
|
|
17147
17239
|
] }) : null
|
|
@@ -17164,7 +17256,7 @@ var useThoughtExpanded = /* @__PURE__ */ __name(() => (0, import_react44.useCont
|
|
|
17164
17256
|
var ThoughtExpandedProvider = ThoughtExpandedContext.Provider;
|
|
17165
17257
|
|
|
17166
17258
|
// packages/cli/src/ui/components/HistoryItemDisplay.tsx
|
|
17167
|
-
var
|
|
17259
|
+
var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
|
|
17168
17260
|
var ClickableThinkMessage = /* @__PURE__ */ __name(({
|
|
17169
17261
|
text,
|
|
17170
17262
|
isPending,
|
|
@@ -17213,7 +17305,7 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
|
|
|
17213
17305
|
),
|
|
17214
17306
|
{ isActive }
|
|
17215
17307
|
);
|
|
17216
|
-
return /* @__PURE__ */ (0,
|
|
17308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { ref: isActive ? ref : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17217
17309
|
ThinkMessage,
|
|
17218
17310
|
{
|
|
17219
17311
|
text,
|
|
@@ -17290,7 +17382,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17290
17382
|
const itemForDisplay = (0, import_react45.useMemo)(() => escapeAnsiCtrlCodes(item), [item]);
|
|
17291
17383
|
const contentWidth = terminalWidth - 4;
|
|
17292
17384
|
const boxWidth = mainAreaWidth || contentWidth;
|
|
17293
|
-
return /* @__PURE__ */ (0,
|
|
17385
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
17294
17386
|
Box_default,
|
|
17295
17387
|
{
|
|
17296
17388
|
flexDirection: "column",
|
|
@@ -17298,11 +17390,11 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17298
17390
|
marginLeft: 2,
|
|
17299
17391
|
marginRight: 2,
|
|
17300
17392
|
children: [
|
|
17301
|
-
itemForDisplay.type === "user" && /* @__PURE__ */ (0,
|
|
17302
|
-
itemForDisplay.type === "notification" && /* @__PURE__ */ (0,
|
|
17303
|
-
itemForDisplay.type === "user_shell" && /* @__PURE__ */ (0,
|
|
17304
|
-
itemForDisplay.type === "gemini" && /* @__PURE__ */ (0,
|
|
17305
|
-
showTimestamps && itemForDisplay.timestamp != null && /* @__PURE__ */ (0,
|
|
17393
|
+
itemForDisplay.type === "user" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserMessage, { text: itemForDisplay.text }),
|
|
17394
|
+
itemForDisplay.type === "notification" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(InfoMessage, { text: itemForDisplay.text }),
|
|
17395
|
+
itemForDisplay.type === "user_shell" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserShellMessage, { text: itemForDisplay.text }),
|
|
17396
|
+
itemForDisplay.type === "gemini" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
|
|
17397
|
+
showTimestamps && itemForDisplay.timestamp != null && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Text, { dimColor: true, children: [
|
|
17306
17398
|
"[",
|
|
17307
17399
|
new Date(itemForDisplay.timestamp).toLocaleTimeString("en-US", {
|
|
17308
17400
|
hour12: false,
|
|
@@ -17312,7 +17404,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17312
17404
|
}),
|
|
17313
17405
|
"]"
|
|
17314
17406
|
] }),
|
|
17315
|
-
/* @__PURE__ */ (0,
|
|
17407
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17316
17408
|
AssistantMessage,
|
|
17317
17409
|
{
|
|
17318
17410
|
text: itemForDisplay.text,
|
|
@@ -17325,7 +17417,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17325
17417
|
}
|
|
17326
17418
|
)
|
|
17327
17419
|
] }),
|
|
17328
|
-
itemForDisplay.type === "gemini_content" && /* @__PURE__ */ (0,
|
|
17420
|
+
itemForDisplay.type === "gemini_content" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17329
17421
|
AssistantMessageContent,
|
|
17330
17422
|
{
|
|
17331
17423
|
text: itemForDisplay.text,
|
|
@@ -17337,7 +17429,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17337
17429
|
sourceCopyIndexOffsets
|
|
17338
17430
|
}
|
|
17339
17431
|
),
|
|
17340
|
-
itemForDisplay.type === "gemini_thought" && /* @__PURE__ */ (0,
|
|
17432
|
+
itemForDisplay.type === "gemini_thought" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17341
17433
|
ClickableThinkMessage,
|
|
17342
17434
|
{
|
|
17343
17435
|
text: itemForDisplay.text.trimEnd(),
|
|
@@ -17349,7 +17441,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17349
17441
|
onToggle: () => toggleThought(thoughtGroupHeadId)
|
|
17350
17442
|
}
|
|
17351
17443
|
),
|
|
17352
|
-
itemForDisplay.type === "gemini_thought_content" && /* @__PURE__ */ (0,
|
|
17444
|
+
itemForDisplay.type === "gemini_thought_content" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17353
17445
|
ThinkMessageContent,
|
|
17354
17446
|
{
|
|
17355
17447
|
text: itemForDisplay.text.trimEnd(),
|
|
@@ -17359,7 +17451,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17359
17451
|
contentWidth
|
|
17360
17452
|
}
|
|
17361
17453
|
),
|
|
17362
|
-
itemForDisplay.type === "info" && /* @__PURE__ */ (0,
|
|
17454
|
+
itemForDisplay.type === "info" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17363
17455
|
InfoMessage,
|
|
17364
17456
|
{
|
|
17365
17457
|
text: itemForDisplay.text,
|
|
@@ -17367,26 +17459,26 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17367
17459
|
linkText: itemForDisplay.linkText
|
|
17368
17460
|
}
|
|
17369
17461
|
),
|
|
17370
|
-
itemForDisplay.type === "success" && /* @__PURE__ */ (0,
|
|
17371
|
-
itemForDisplay.type === "warning" && /* @__PURE__ */ (0,
|
|
17372
|
-
itemForDisplay.type === "error" && /* @__PURE__ */ (0,
|
|
17373
|
-
itemForDisplay.type === "retry_countdown" && /* @__PURE__ */ (0,
|
|
17374
|
-
itemForDisplay.type === "vision_notice" && /* @__PURE__ */ (0,
|
|
17375
|
-
itemForDisplay.type === "about" && /* @__PURE__ */ (0,
|
|
17376
|
-
itemForDisplay.type === "help" && commands && /* @__PURE__ */ (0,
|
|
17377
|
-
itemForDisplay.type === "stats" && /* @__PURE__ */ (0,
|
|
17378
|
-
itemForDisplay.type === "diff_stats" && /* @__PURE__ */ (0,
|
|
17379
|
-
itemForDisplay.type === "model_stats" && /* @__PURE__ */ (0,
|
|
17380
|
-
itemForDisplay.type === "tool_stats" && /* @__PURE__ */ (0,
|
|
17381
|
-
itemForDisplay.type === "skill_stats" && /* @__PURE__ */ (0,
|
|
17382
|
-
itemForDisplay.type === "quit" && /* @__PURE__ */ (0,
|
|
17462
|
+
itemForDisplay.type === "success" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SuccessMessage, { text: itemForDisplay.text }),
|
|
17463
|
+
itemForDisplay.type === "warning" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(WarningMessage, { text: itemForDisplay.text }),
|
|
17464
|
+
itemForDisplay.type === "error" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorMessage, { text: itemForDisplay.text, hint: itemForDisplay.hint }),
|
|
17465
|
+
itemForDisplay.type === "retry_countdown" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RetryCountdownMessage, { text: itemForDisplay.text }),
|
|
17466
|
+
itemForDisplay.type === "vision_notice" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(VisionNoticeMessage, { text: itemForDisplay.text }),
|
|
17467
|
+
itemForDisplay.type === "about" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AboutBox, { ...itemForDisplay.systemInfo, width: boxWidth }),
|
|
17468
|
+
itemForDisplay.type === "help" && commands && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Help, { commands, width: boxWidth }),
|
|
17469
|
+
itemForDisplay.type === "stats" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(StatsDisplay, { duration: itemForDisplay.duration, width: boxWidth }),
|
|
17470
|
+
itemForDisplay.type === "diff_stats" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(DiffStatsDisplay, { model: itemForDisplay.model }),
|
|
17471
|
+
itemForDisplay.type === "model_stats" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModelStatsDisplay, { width: boxWidth }),
|
|
17472
|
+
itemForDisplay.type === "tool_stats" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToolStatsDisplay, { width: boxWidth }),
|
|
17473
|
+
itemForDisplay.type === "skill_stats" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SkillStatsDisplay, { width: boxWidth }),
|
|
17474
|
+
itemForDisplay.type === "quit" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17383
17475
|
SessionSummaryDisplay,
|
|
17384
17476
|
{
|
|
17385
17477
|
duration: itemForDisplay.duration,
|
|
17386
17478
|
width: boxWidth
|
|
17387
17479
|
}
|
|
17388
17480
|
),
|
|
17389
|
-
itemForDisplay.type === "tool_group" && /* @__PURE__ */ (0,
|
|
17481
|
+
itemForDisplay.type === "tool_group" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17390
17482
|
ToolGroupMessage,
|
|
17391
17483
|
{
|
|
17392
17484
|
toolCalls: itemForDisplay.tools,
|
|
@@ -17403,14 +17495,14 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17403
17495
|
fullDetail
|
|
17404
17496
|
}
|
|
17405
17497
|
),
|
|
17406
|
-
itemForDisplay.type === "tool_use_summary" && /* @__PURE__ */ (0,
|
|
17407
|
-
/* @__PURE__ */ (0,
|
|
17408
|
-
/* @__PURE__ */ (0,
|
|
17498
|
+
itemForDisplay.type === "tool_use_summary" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { flexDirection: "row", children: [
|
|
17499
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { width: 2, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { dimColor: true, children: ICON.CIRCLE_FILLED }) }),
|
|
17500
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { dimColor: true, children: itemForDisplay.summary })
|
|
17409
17501
|
] }),
|
|
17410
|
-
itemForDisplay.type === "compression" && /* @__PURE__ */ (0,
|
|
17411
|
-
itemForDisplay.type === "summary" && /* @__PURE__ */ (0,
|
|
17412
|
-
itemForDisplay.type === "extensions_list" && /* @__PURE__ */ (0,
|
|
17413
|
-
itemForDisplay.type === "tools_list" && /* @__PURE__ */ (0,
|
|
17502
|
+
itemForDisplay.type === "compression" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CompressionMessage, { compression: itemForDisplay.compression }),
|
|
17503
|
+
itemForDisplay.type === "summary" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SummaryMessage, { summary: itemForDisplay.summary }),
|
|
17504
|
+
itemForDisplay.type === "extensions_list" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ExtensionsList, {}),
|
|
17505
|
+
itemForDisplay.type === "tools_list" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17414
17506
|
ToolsList,
|
|
17415
17507
|
{
|
|
17416
17508
|
contentWidth,
|
|
@@ -17418,9 +17510,9 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17418
17510
|
showDescriptions: itemForDisplay.showDescriptions
|
|
17419
17511
|
}
|
|
17420
17512
|
),
|
|
17421
|
-
itemForDisplay.type === "skills_list" && /* @__PURE__ */ (0,
|
|
17422
|
-
itemForDisplay.type === "mcp_status" && /* @__PURE__ */ (0,
|
|
17423
|
-
itemForDisplay.type === "context_usage" && /* @__PURE__ */ (0,
|
|
17513
|
+
itemForDisplay.type === "skills_list" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(SkillsList, { skills: itemForDisplay.skills }),
|
|
17514
|
+
itemForDisplay.type === "mcp_status" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(McpStatus, { ...itemForDisplay, serverStatus: getMCPServerStatus }),
|
|
17515
|
+
itemForDisplay.type === "context_usage" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17424
17516
|
ContextUsage,
|
|
17425
17517
|
{
|
|
17426
17518
|
modelName: itemForDisplay.modelName,
|
|
@@ -17435,7 +17527,7 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17435
17527
|
showDetails: itemForDisplay.showDetails
|
|
17436
17528
|
}
|
|
17437
17529
|
),
|
|
17438
|
-
itemForDisplay.type === "doctor" && /* @__PURE__ */ (0,
|
|
17530
|
+
itemForDisplay.type === "doctor" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17439
17531
|
DoctorReport,
|
|
17440
17532
|
{
|
|
17441
17533
|
checks: itemForDisplay.checks,
|
|
@@ -17443,8 +17535,8 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17443
17535
|
width: boxWidth
|
|
17444
17536
|
}
|
|
17445
17537
|
),
|
|
17446
|
-
itemForDisplay.type === "arena_agent_complete" && /* @__PURE__ */ (0,
|
|
17447
|
-
itemForDisplay.type === "arena_session_complete" && /* @__PURE__ */ (0,
|
|
17538
|
+
itemForDisplay.type === "arena_agent_complete" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ArenaAgentCard, { agent: itemForDisplay.agent, width: boxWidth }),
|
|
17539
|
+
itemForDisplay.type === "arena_session_complete" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17448
17540
|
ArenaSessionCard,
|
|
17449
17541
|
{
|
|
17450
17542
|
sessionStatus: itemForDisplay.sessionStatus,
|
|
@@ -17454,9 +17546,9 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17454
17546
|
width: boxWidth
|
|
17455
17547
|
}
|
|
17456
17548
|
),
|
|
17457
|
-
itemForDisplay.type === "insight_progress" && /* @__PURE__ */ (0,
|
|
17458
|
-
itemForDisplay.type === "btw" && itemForDisplay.btw && /* @__PURE__ */ (0,
|
|
17459
|
-
itemForDisplay.type === "advisor" && /* @__PURE__ */ (0,
|
|
17549
|
+
itemForDisplay.type === "insight_progress" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(InsightProgressMessage, { progress: itemForDisplay.progress }),
|
|
17550
|
+
itemForDisplay.type === "btw" && itemForDisplay.btw && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(BtwMessage, { btw: itemForDisplay.btw, containerWidth: contentWidth }),
|
|
17551
|
+
itemForDisplay.type === "advisor" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17460
17552
|
AdvisorMessage,
|
|
17461
17553
|
{
|
|
17462
17554
|
text: itemForDisplay.text,
|
|
@@ -17464,20 +17556,20 @@ var HistoryItemDisplayComponent = /* @__PURE__ */ __name(({
|
|
|
17464
17556
|
containerWidth: contentWidth
|
|
17465
17557
|
}
|
|
17466
17558
|
),
|
|
17467
|
-
itemForDisplay.type === "user_prompt_submit_blocked" && /* @__PURE__ */ (0,
|
|
17559
|
+
itemForDisplay.type === "user_prompt_submit_blocked" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.status.warning, children: `\u2715 UserPromptSubmit operation blocked by hook:
|
|
17468
17560
|
${itemForDisplay.reason}
|
|
17469
17561
|
|
|
17470
17562
|
Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
|
|
17471
|
-
itemForDisplay.type === "stop_hook_loop" && /* @__PURE__ */ (0,
|
|
17563
|
+
itemForDisplay.type === "stop_hook_loop" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17472
17564
|
InfoMessage,
|
|
17473
17565
|
{
|
|
17474
17566
|
text: `Ran ${itemForDisplay.stopHookCount} stop hooks
|
|
17475
17567
|
\u23BF Stop hook error: ${itemForDisplay.reasons[itemForDisplay.reasons.length - 1]}`
|
|
17476
17568
|
}
|
|
17477
17569
|
),
|
|
17478
|
-
itemForDisplay.type === "stop_hook_system_message" && /* @__PURE__ */ (0,
|
|
17479
|
-
/* @__PURE__ */ (0,
|
|
17480
|
-
/* @__PURE__ */ (0,
|
|
17570
|
+
itemForDisplay.type === "stop_hook_system_message" && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Box_default, { flexDirection: "column", children: [
|
|
17571
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { color: theme.text.primary, children: " \u23BF Stop says:" }),
|
|
17572
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Box_default, { marginLeft: 4, flexDirection: "column", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17481
17573
|
MarkdownDisplay,
|
|
17482
17574
|
{
|
|
17483
17575
|
text: itemForDisplay.message,
|
|
@@ -17486,9 +17578,9 @@ Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
|
|
|
17486
17578
|
}
|
|
17487
17579
|
) })
|
|
17488
17580
|
] }),
|
|
17489
|
-
itemForDisplay.type === "memory_saved" && /* @__PURE__ */ (0,
|
|
17490
|
-
itemForDisplay.type === "away_recap" && /* @__PURE__ */ (0,
|
|
17491
|
-
itemForDisplay.type === "goal_status" && /* @__PURE__ */ (0,
|
|
17581
|
+
itemForDisplay.type === "memory_saved" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MemorySavedMessage, { item: itemForDisplay }),
|
|
17582
|
+
itemForDisplay.type === "away_recap" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AwayRecapMessage, { text: itemForDisplay.text }),
|
|
17583
|
+
itemForDisplay.type === "goal_status" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17492
17584
|
GoalStatusMessage,
|
|
17493
17585
|
{
|
|
17494
17586
|
kind: itemForDisplay.kind,
|
|
@@ -17498,7 +17590,7 @@ Original prompt: ${sanitizeSensitiveText(itemForDisplay.originalPrompt)}` }) }),
|
|
|
17498
17590
|
lastReason: itemForDisplay.lastReason
|
|
17499
17591
|
}
|
|
17500
17592
|
),
|
|
17501
|
-
itemForDisplay.type === "goal_state" && /* @__PURE__ */ (0,
|
|
17593
|
+
itemForDisplay.type === "goal_state" && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
17502
17594
|
GoalStatusMessage,
|
|
17503
17595
|
{
|
|
17504
17596
|
snapshot: itemForDisplay.snapshot,
|
|
@@ -17514,7 +17606,7 @@ var HistoryItemDisplay = (0, import_react45.memo)(HistoryItemDisplayComponent);
|
|
|
17514
17606
|
HistoryItemDisplay.displayName = "HistoryItemDisplay";
|
|
17515
17607
|
|
|
17516
17608
|
// packages/cli/src/ui/components/SessionPreview.tsx
|
|
17517
|
-
var
|
|
17609
|
+
var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
|
|
17518
17610
|
function SessionPreview(props) {
|
|
17519
17611
|
const {
|
|
17520
17612
|
sessionService,
|
|
@@ -17589,19 +17681,19 @@ function SessionPreview(props) {
|
|
|
17589
17681
|
metaParts.push(gitBranch);
|
|
17590
17682
|
}
|
|
17591
17683
|
const metaLine = metaParts.join(" \xB7 ");
|
|
17592
|
-
const header = /* @__PURE__ */ (0,
|
|
17593
|
-
const topSeparator = /* @__PURE__ */ (0,
|
|
17594
|
-
const footerSeparator = /* @__PURE__ */ (0,
|
|
17595
|
-
const meta = metaLine ? /* @__PURE__ */ (0,
|
|
17596
|
-
const footer = /* @__PURE__ */ (0,
|
|
17684
|
+
const header = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { bold: true, color: theme.text.primary, children: sessionTitle ?? t("Session Preview") }) }, "header");
|
|
17685
|
+
const topSeparator = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "top-separator");
|
|
17686
|
+
const footerSeparator = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(separatorWidth) }) }, "footer-separator");
|
|
17687
|
+
const meta = metaLine ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: metaLine }) }, "meta") : null;
|
|
17688
|
+
const footer = /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Enter to resume \xB7 Esc to back") }) }, "footer");
|
|
17597
17689
|
if (data && !error) {
|
|
17598
|
-
return /* @__PURE__ */ (0,
|
|
17690
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { flexDirection: "column", width: boxWidth, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
17599
17691
|
Static,
|
|
17600
17692
|
{
|
|
17601
17693
|
items: [
|
|
17602
17694
|
header,
|
|
17603
17695
|
topSeparator,
|
|
17604
|
-
...items.map((item) => /* @__PURE__ */ (0,
|
|
17696
|
+
...items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
17605
17697
|
HistoryItemDisplay,
|
|
17606
17698
|
{
|
|
17607
17699
|
item,
|
|
@@ -17620,10 +17712,10 @@ function SessionPreview(props) {
|
|
|
17620
17712
|
sessionId
|
|
17621
17713
|
) });
|
|
17622
17714
|
}
|
|
17623
|
-
return /* @__PURE__ */ (0,
|
|
17715
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Box_default, { flexDirection: "column", width: boxWidth, children: [
|
|
17624
17716
|
header,
|
|
17625
17717
|
topSeparator,
|
|
17626
|
-
error ? /* @__PURE__ */ (0,
|
|
17718
|
+
error ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.status.error, children: error }) }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Text, { color: theme.text.secondary, children: t("Loading session preview...") }) }),
|
|
17627
17719
|
footerSeparator,
|
|
17628
17720
|
meta,
|
|
17629
17721
|
footer
|
|
@@ -17632,7 +17724,7 @@ function SessionPreview(props) {
|
|
|
17632
17724
|
__name(SessionPreview, "SessionPreview");
|
|
17633
17725
|
|
|
17634
17726
|
// packages/cli/src/ui/components/SessionPicker.tsx
|
|
17635
|
-
var
|
|
17727
|
+
var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
|
|
17636
17728
|
var PREFIX_CHARS = {
|
|
17637
17729
|
selected: "\u203A ",
|
|
17638
17730
|
scrollUp: "\u2191 ",
|
|
@@ -17665,9 +17757,9 @@ function SessionListItemView({
|
|
|
17665
17757
|
Math.max(1, maxPromptWidth - checkboxWidth)
|
|
17666
17758
|
);
|
|
17667
17759
|
const isAutoTitle = session.titleSource === "auto" && Boolean(session.customTitle);
|
|
17668
|
-
return /* @__PURE__ */ (0,
|
|
17669
|
-
/* @__PURE__ */ (0,
|
|
17670
|
-
/* @__PURE__ */ (0,
|
|
17760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Box_default, { flexDirection: "column", marginBottom: isLast ? 0 : 1, children: [
|
|
17761
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Box_default, { children: [
|
|
17762
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17671
17763
|
Text,
|
|
17672
17764
|
{
|
|
17673
17765
|
color: isSelected ? theme.text.accent : showUpIndicator || showDownIndicator ? theme.text.secondary : void 0,
|
|
@@ -17675,7 +17767,7 @@ function SessionListItemView({
|
|
|
17675
17767
|
children: prefix
|
|
17676
17768
|
}
|
|
17677
17769
|
),
|
|
17678
|
-
isChecked !== void 0 && /* @__PURE__ */ (0,
|
|
17770
|
+
isChecked !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17679
17771
|
Text,
|
|
17680
17772
|
{
|
|
17681
17773
|
color: isDisabled ? theme.text.secondary : isChecked ? theme.text.accent : isSelected ? theme.text.accent : theme.text.secondary,
|
|
@@ -17683,7 +17775,7 @@ function SessionListItemView({
|
|
|
17683
17775
|
children: isChecked ? "[x] " : "[ ] "
|
|
17684
17776
|
}
|
|
17685
17777
|
),
|
|
17686
|
-
/* @__PURE__ */ (0,
|
|
17778
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17687
17779
|
Text,
|
|
17688
17780
|
{
|
|
17689
17781
|
color: isDisabled ? theme.text.secondary : isSelected ? theme.text.accent : isAutoTitle ? theme.text.secondary : theme.text.primary,
|
|
@@ -17692,7 +17784,7 @@ function SessionListItemView({
|
|
|
17692
17784
|
}
|
|
17693
17785
|
)
|
|
17694
17786
|
] }),
|
|
17695
|
-
/* @__PURE__ */ (0,
|
|
17787
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { paddingLeft: 2, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17696
17788
|
timeAgo,
|
|
17697
17789
|
messageText !== void 0 && ` \xB7 ${messageText}`,
|
|
17698
17790
|
session.gitBranch && ` \xB7 ${session.gitBranch}`,
|
|
@@ -17741,7 +17833,7 @@ function SessionPicker(props) {
|
|
|
17741
17833
|
const previewed = picker.filteredSessions.find(
|
|
17742
17834
|
(s) => s.sessionId === picker.previewSessionId
|
|
17743
17835
|
);
|
|
17744
|
-
return /* @__PURE__ */ (0,
|
|
17836
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17745
17837
|
SessionPreview,
|
|
17746
17838
|
{
|
|
17747
17839
|
sessionService,
|
|
@@ -17755,14 +17847,14 @@ function SessionPicker(props) {
|
|
|
17755
17847
|
}
|
|
17756
17848
|
);
|
|
17757
17849
|
}
|
|
17758
|
-
return /* @__PURE__ */ (0,
|
|
17850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17759
17851
|
Box_default,
|
|
17760
17852
|
{
|
|
17761
17853
|
flexDirection: "column",
|
|
17762
17854
|
width: boxWidth,
|
|
17763
17855
|
height: height - 1,
|
|
17764
17856
|
overflow: "hidden",
|
|
17765
|
-
children: /* @__PURE__ */ (0,
|
|
17857
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
17766
17858
|
Box_default,
|
|
17767
17859
|
{
|
|
17768
17860
|
flexDirection: "column",
|
|
@@ -17772,38 +17864,38 @@ function SessionPicker(props) {
|
|
|
17772
17864
|
height: height - 1,
|
|
17773
17865
|
overflow: "hidden",
|
|
17774
17866
|
children: [
|
|
17775
|
-
/* @__PURE__ */ (0,
|
|
17776
|
-
/* @__PURE__ */ (0,
|
|
17777
|
-
picker.filterByBranch && currentBranch && /* @__PURE__ */ (0,
|
|
17867
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Box_default, { paddingX: 1, children: [
|
|
17868
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { bold: true, color: theme.text.primary, children: title ?? t("Resume Session") }),
|
|
17869
|
+
picker.filterByBranch && currentBranch && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17778
17870
|
" ",
|
|
17779
17871
|
t("(branch: {{branch}})", { branch: currentBranch })
|
|
17780
17872
|
] }),
|
|
17781
|
-
picker.searchQuery !== "" && /* @__PURE__ */ (0,
|
|
17873
|
+
picker.searchQuery !== "" && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17782
17874
|
" ",
|
|
17783
17875
|
t("({{count}} matches)", {
|
|
17784
17876
|
count: String(picker.filteredSessions.length)
|
|
17785
17877
|
})
|
|
17786
17878
|
] })
|
|
17787
17879
|
] }),
|
|
17788
|
-
/* @__PURE__ */ (0,
|
|
17789
|
-
/* @__PURE__ */ (0,
|
|
17790
|
-
/* @__PURE__ */ (0,
|
|
17880
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { paddingX: 1, children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
|
17881
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Search: ") }),
|
|
17882
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Text, { color: theme.text.primary, children: [
|
|
17791
17883
|
picker.searchQuery,
|
|
17792
|
-
/* @__PURE__ */ (0,
|
|
17884
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: "\u258C" })
|
|
17793
17885
|
] })
|
|
17794
|
-
] }) : picker.searchQuery !== "" ? /* @__PURE__ */ (0,
|
|
17795
|
-
/* @__PURE__ */ (0,
|
|
17796
|
-
/* @__PURE__ */ (0,
|
|
17797
|
-
] }) : /* @__PURE__ */ (0,
|
|
17798
|
-
/* @__PURE__ */ (0,
|
|
17799
|
-
/* @__PURE__ */ (0,
|
|
17886
|
+
] }) : picker.searchQuery !== "" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
|
17887
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Filter: ") }),
|
|
17888
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.primary, children: picker.searchQuery })
|
|
17889
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Press / to search") }) }),
|
|
17890
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
|
|
17891
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { flexDirection: "column", flexGrow: 1, paddingX: 1, overflow: "hidden", children: !sessionService || picker.isLoading ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Loading sessions...") }) }) : picker.filteredSessions.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { paddingY: 1, justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: picker.searchQuery !== "" ? t('No sessions match "{{query}}"', {
|
|
17800
17892
|
query: picker.searchQuery
|
|
17801
17893
|
}) : picker.filterByBranch ? t('No sessions found for branch "{{branch}}"', {
|
|
17802
17894
|
branch: currentBranch ?? ""
|
|
17803
17895
|
}) : t("No sessions found") }) }) : picker.visibleSessions.map((session, visibleIndex) => {
|
|
17804
17896
|
const actualIndex = picker.scrollOffset + visibleIndex;
|
|
17805
17897
|
const isDisabled = picker.disabledIdSet.has(session.sessionId);
|
|
17806
|
-
return /* @__PURE__ */ (0,
|
|
17898
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17807
17899
|
SessionListItemView,
|
|
17808
17900
|
{
|
|
17809
17901
|
session,
|
|
@@ -17822,10 +17914,10 @@ function SessionPicker(props) {
|
|
|
17822
17914
|
session.sessionId
|
|
17823
17915
|
);
|
|
17824
17916
|
}) }),
|
|
17825
|
-
/* @__PURE__ */ (0,
|
|
17826
|
-
/* @__PURE__ */ (0,
|
|
17827
|
-
currentBranch && /* @__PURE__ */ (0,
|
|
17828
|
-
/* @__PURE__ */ (0,
|
|
17917
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.border.default, children: "\u2500".repeat(boxWidth - 2) }) }),
|
|
17918
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { paddingX: 1, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Box_default, { flexDirection: "row", children: picker.isSearchActive ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Type to search \xB7 Enter to commit \xB7 Esc to clear") }) : /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_jsx_runtime53.Fragment, { children: [
|
|
17919
|
+
currentBranch && /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
17920
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
17829
17921
|
Text,
|
|
17830
17922
|
{
|
|
17831
17923
|
bold: picker.filterByBranch,
|
|
@@ -17835,7 +17927,7 @@ function SessionPicker(props) {
|
|
|
17835
17927
|
),
|
|
17836
17928
|
t(" to toggle branch \xB7 ")
|
|
17837
17929
|
] }),
|
|
17838
|
-
enablePreview && /* @__PURE__ */ (0,
|
|
17930
|
+
enablePreview && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("Space to preview \xB7 ") }),
|
|
17839
17931
|
enableMultiSelect && (() => {
|
|
17840
17932
|
let committableCheckedCount = 0;
|
|
17841
17933
|
for (const id of picker.checkedIds) {
|
|
@@ -17843,11 +17935,11 @@ function SessionPicker(props) {
|
|
|
17843
17935
|
committableCheckedCount++;
|
|
17844
17936
|
}
|
|
17845
17937
|
}
|
|
17846
|
-
return /* @__PURE__ */ (0,
|
|
17938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: committableCheckedCount > 0 ? t("Space to toggle \xB7 {{count}} selected \xB7 ", {
|
|
17847
17939
|
count: String(committableCheckedCount)
|
|
17848
17940
|
}) : t("Space to select multiple \xB7 ") });
|
|
17849
17941
|
})(),
|
|
17850
|
-
/* @__PURE__ */ (0,
|
|
17942
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Text, { color: theme.text.secondary, children: t("\u2191\u2193 to navigate \xB7 Type to search \xB7 Esc to cancel") })
|
|
17851
17943
|
] }) }) })
|
|
17852
17944
|
]
|
|
17853
17945
|
}
|