From b14cea7117391b7f2f7b48464ef149ec94fb896f Mon Sep 17 00:00:00 2001 From: Alex Holmberg Date: Tue, 16 Dec 2025 22:28:46 +0100 Subject: [PATCH] feat: updated agent layer, with better ui for interactivness --- Cargo.lock | 279 +++++++++++++++-- Cargo.toml | 2 + Screenshot 2025-12-16 at 21.12.14.png | Bin 0 -> 234758 bytes src/agent/commands.rs | 416 ++++++++++++++++++++++++++ src/agent/mod.rs | 8 + src/agent/session.rs | 69 ++++- src/agent/ui/autocomplete.rs | 72 +++++ src/agent/ui/mod.rs | 2 + src/agent/ui/spinner.rs | 101 ++++--- 9 files changed, 871 insertions(+), 78 deletions(-) create mode 100644 Screenshot 2025-12-16 at 21.12.14.png create mode 100644 src/agent/commands.rs create mode 100644 src/agent/ui/autocomplete.rs diff --git a/Cargo.lock b/Cargo.lock index 4c446e99..e4cc2fdb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -209,6 +209,12 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + [[package]] name = "bitflags" version = "2.9.1" @@ -540,6 +546,47 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crossterm" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67" +dependencies = [ + "bitflags 1.3.2", + "crossterm_winapi", + "libc", + "mio 0.8.11", + "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d955a0bb380ef178a640b91779e3987da38c9aea133b20614cfed8cdea9c6" +dependencies = [ + "bitflags 2.9.1", + "crossterm_winapi", + "mio 1.0.4", + "parking_lot", + "rustix 0.38.44", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -991,6 +1038,24 @@ dependencies = [ "slab", ] +[[package]] +name = "fuzzy-matcher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" +dependencies = [ + "thread_local", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + [[package]] name = "generic-array" version = "0.14.7" @@ -1183,7 +1248,7 @@ version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "439d62e241dae2dffd55bfeeabe551275cf9d9f084c5ebc6b48bad49d03285b7" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bstr", "gix-path", "libc", @@ -1310,7 +1375,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90181472925b587f6079698f79065ff64786e6d6c14089517a1972bca99fb6e9" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bstr", "gix-features", "gix-path", @@ -1358,7 +1423,7 @@ version = "0.40.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b38e919efd59cb8275d23ad2394b2ab9d002007b27620e145d866d546403b665" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bstr", "filetime", "fnv", @@ -1375,7 +1440,7 @@ dependencies = [ "itoa", "libc", "memmap2", - "rustix", + "rustix 1.0.7", "smallvec", "thiserror 2.0.12", ] @@ -1397,7 +1462,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e1ea901acc4d5b44553132a29e8697210cb0e739b2d9752d713072e9391e3c9" dependencies = [ - "bitflags", + "bitflags 2.9.1", "gix-commitgraph", "gix-date", "gix-hash", @@ -1514,7 +1579,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce061c50e5f8f7c830cacb3da3e999ae935e283ce8522249f0ce2256d110979d" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bstr", "gix-attributes", "gix-config-value", @@ -1532,7 +1597,7 @@ dependencies = [ "gix-command", "gix-config-value", "parking_lot", - "rustix", + "rustix 1.0.7", "thiserror 2.0.12", ] @@ -1614,7 +1679,7 @@ version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78d0b8e5cbd1c329e25383e088cb8f17439414021a643b30afa5146b71e3c65d" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bstr", "gix-commitgraph", "gix-date", @@ -1647,7 +1712,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0dabbc78c759ecc006b970339394951b2c8e1e38a37b072c105b80b84c308fd" dependencies = [ - "bitflags", + "bitflags 2.9.1", "gix-path", "libc", "windows-sys 0.59.0", @@ -1724,7 +1789,7 @@ version = "0.46.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8648172f85aca3d6e919c06504b7ac26baef54e04c55eb0100fa588c102cc33" dependencies = [ - "bitflags", + "bitflags 2.9.1", "gix-commitgraph", "gix-date", "gix-hash", @@ -1833,7 +1898,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" dependencies = [ - "bitflags", + "bitflags 2.9.1", "ignore", "walkdir", ] @@ -2232,6 +2297,23 @@ dependencies = [ "rustversion", ] +[[package]] +name = "inquire" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a" +dependencies = [ + "bitflags 2.9.1", + "crossterm 0.25.0", + "dyn-clone", + "fuzzy-matcher", + "fxhash", + "newline-converter", + "once_cell", + "unicode-segmentation", + "unicode-width 0.1.14", +] + [[package]] name = "io-close" version = "0.3.7" @@ -2365,7 +2447,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags", + "bitflags 2.9.1", "libc", "redox_syscall", ] @@ -2379,6 +2461,12 @@ dependencies = [ "zlib-rs", ] +[[package]] +name = "linux-raw-sys" +version = "0.4.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" + [[package]] name = "linux-raw-sys" version = "0.9.4" @@ -2470,6 +2558,18 @@ dependencies = [ "adler2", ] +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.48.0", +] + [[package]] name = "mio" version = "1.0.4" @@ -2477,6 +2577,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" dependencies = [ "libc", + "log", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.59.0", ] @@ -2498,6 +2599,15 @@ dependencies = [ "tempfile", ] +[[package]] +name = "newline-converter" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b6b097ecb1cbfed438542d16e84fd7ad9b0c76c8a65b7f9039212a3d14dc7f" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "nom" version = "7.1.3" @@ -2557,7 +2667,7 @@ version = "0.10.73" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8505734d46c8ab1e19a1dce3aef597ad87dcb4c37e7188231769bd6bd51cebf8" dependencies = [ - "bitflags", + "bitflags 2.9.1", "cfg-if", "foreign-types", "libc", @@ -2898,7 +3008,7 @@ checksum = "6fcdab19deb5195a31cf7726a210015ff1496ba1464fd42cb4f537b8b01b471f" dependencies = [ "bit-set", "bit-vec", - "bitflags", + "bitflags 2.9.1", "lazy_static", "num-traits", "rand 0.9.1", @@ -3080,7 +3190,7 @@ version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "928fca9cf2aa042393a8325b9ead81d2f0df4cb12e1e24cef072922ccd99c5af" dependencies = [ - "bitflags", + "bitflags 2.9.1", ] [[package]] @@ -3275,16 +3385,29 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "781442f29170c5c93b7185ad559492601acdc71d5bb0706f5868094f45cfcd08" +[[package]] +name = "rustix" +version = "0.38.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" +dependencies = [ + "bitflags 2.9.1", + "errno", + "libc", + "linux-raw-sys 0.4.15", + "windows-sys 0.59.0", +] + [[package]] name = "rustix" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" dependencies = [ - "bitflags", + "bitflags 2.9.1", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.9.4", "windows-sys 0.59.0", ] @@ -3435,7 +3558,7 @@ version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ - "bitflags", + "bitflags 2.9.1", "core-foundation 0.9.4", "core-foundation-sys", "libc", @@ -3448,7 +3571,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ - "bitflags", + "bitflags 2.9.1", "core-foundation 0.10.1", "core-foundation-sys", "libc", @@ -3614,6 +3737,37 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" +[[package]] +name = "signal-hook" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b75a19a7a740b25bc7944bdee6172368f988763b744e3d4dfe753f6b4ece40cc" +dependencies = [ + "libc", + "mio 0.8.11", + "mio 1.0.4", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7664a098b8e616bdfcc2dc0e9ac44eb231eedf41db4e9fe95d8d32ec728dedad" +dependencies = [ + "libc", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -3750,12 +3904,14 @@ dependencies = [ "clap", "colored", "crossbeam", + "crossterm 0.28.1", "dashmap", "dirs", "env_logger", "futures-util", "glob", "indicatif", + "inquire", "log", "memmap2", "num_cpus", @@ -3804,7 +3960,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ - "bitflags", + "bitflags 2.9.1", "core-foundation 0.9.4", "system-configuration-sys", ] @@ -3854,7 +4010,7 @@ dependencies = [ "fastrand", "getrandom 0.3.3", "once_cell", - "rustix", + "rustix 1.0.7", "windows-sys 0.59.0", ] @@ -3967,6 +4123,15 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185" +dependencies = [ + "cfg-if", +] + [[package]] name = "time" version = "0.3.41" @@ -4031,7 +4196,7 @@ checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ "bytes", "libc", - "mio", + "mio 1.0.4", "pin-project-lite", "socket2 0.6.0", "tokio-macros", @@ -4203,7 +4368,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" dependencies = [ - "bitflags", + "bitflags 2.9.1", "bytes", "futures-util", "http", @@ -4729,6 +4894,15 @@ dependencies = [ "windows-link 0.1.1", ] +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -4765,6 +4939,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -4797,6 +4986,12 @@ dependencies = [ "windows_x86_64_msvc 0.53.0", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -4809,6 +5004,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -4821,6 +5022,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -4845,6 +5052,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -4857,6 +5070,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -4869,6 +5088,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -4881,6 +5106,12 @@ version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -4917,7 +5148,7 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" dependencies = [ - "bitflags", + "bitflags 2.9.1", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 847804e0..04cc2879 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,6 +39,8 @@ rayon = "1.7" termcolor = "1" chrono = { version = "0.4", features = ["serde"] } colored = "3" +crossterm = "0.28" # Terminal raw mode for interactive input +inquire = "0.7" # Interactive terminal prompts with autocomplete prettytable = "0.10" term_size = "0.3" diff --git a/Screenshot 2025-12-16 at 21.12.14.png b/Screenshot 2025-12-16 at 21.12.14.png new file mode 100644 index 0000000000000000000000000000000000000000..342262bfe8c15ba49fc1436df2fc18ce3155a855 GIT binary patch literal 234758 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 literal 0 HcmV?d00001 diff --git a/src/agent/commands.rs b/src/agent/commands.rs new file mode 100644 index 00000000..6ffe85a8 --- /dev/null +++ b/src/agent/commands.rs @@ -0,0 +1,416 @@ +//! Slash command definitions and interactive command picker +//! +//! Provides Gemini CLI-style "/" command system with: +//! - Interactive command picker when typing "/" +//! - Arrow key navigation +//! - Auto-complete on Enter +//! - Token usage tracking via /cost + +use crate::agent::ui::colors::ansi; +use crossterm::{ + cursor::{self, MoveTo, MoveUp, MoveToColumn}, + event::{self, Event, KeyCode, KeyEvent as CrosstermKeyEvent, KeyModifiers}, + execute, + terminal::{self, Clear, ClearType}, +}; +use std::io::{self, Write}; + +/// A slash command definition +#[derive(Clone)] +pub struct SlashCommand { + /// Command name (without the /) + pub name: &'static str, + /// Short alias (e.g., "m" for "model") + pub alias: Option<&'static str>, + /// Description shown in picker + pub description: &'static str, + /// Whether this command auto-executes on selection (vs. inserting text) + pub auto_execute: bool, +} + +/// All available slash commands +pub const SLASH_COMMANDS: &[SlashCommand] = &[ + SlashCommand { + name: "model", + alias: Some("m"), + description: "Select a different AI model", + auto_execute: true, + }, + SlashCommand { + name: "provider", + alias: Some("p"), + description: "Switch provider (OpenAI/Anthropic)", + auto_execute: true, + }, + SlashCommand { + name: "cost", + alias: None, + description: "Show token usage and estimated cost", + auto_execute: true, + }, + SlashCommand { + name: "clear", + alias: Some("c"), + description: "Clear conversation history", + auto_execute: true, + }, + SlashCommand { + name: "help", + alias: Some("h"), + description: "Show available commands", + auto_execute: true, + }, + SlashCommand { + name: "exit", + alias: Some("q"), + description: "Exit the chat", + auto_execute: true, + }, +]; + +/// Token usage statistics for /cost command +#[derive(Debug, Default, Clone)] +pub struct TokenUsage { + /// Total prompt/input tokens + pub prompt_tokens: u64, + /// Total completion/output tokens + pub completion_tokens: u64, + /// Number of requests made + pub request_count: u64, + /// Session start time + pub session_start: Option, +} + +impl TokenUsage { + pub fn new() -> Self { + Self { + session_start: Some(std::time::Instant::now()), + ..Default::default() + } + } + + /// Add tokens from a request + pub fn add_request(&mut self, prompt: u64, completion: u64) { + self.prompt_tokens += prompt; + self.completion_tokens += completion; + self.request_count += 1; + } + + /// Estimate token count from text (rough approximation: ~4 chars per token) + pub fn estimate_tokens(text: &str) -> u64 { + (text.len() as f64 / 4.0).ceil() as u64 + } + + /// Get total tokens + pub fn total_tokens(&self) -> u64 { + self.prompt_tokens + self.completion_tokens + } + + /// Get session duration + pub fn session_duration(&self) -> std::time::Duration { + self.session_start + .map(|start| start.elapsed()) + .unwrap_or_default() + } + + /// Estimate cost based on model (rough estimates in USD) + /// Returns (input_cost, output_cost, total_cost) + pub fn estimate_cost(&self, model: &str) -> (f64, f64, f64) { + // Pricing per 1M tokens (as of Dec 2025, approximate) + let (input_per_m, output_per_m) = match model { + m if m.starts_with("gpt-5.2-mini") => (0.15, 0.60), + m if m.starts_with("gpt-5") => (2.50, 10.00), + m if m.starts_with("gpt-4o") => (2.50, 10.00), + m if m.starts_with("o1") => (15.00, 60.00), + m if m.contains("sonnet") => (3.00, 15.00), + m if m.contains("opus") => (15.00, 75.00), + m if m.contains("haiku") => (0.25, 1.25), + _ => (2.50, 10.00), // Default to GPT-4o pricing + }; + + let input_cost = (self.prompt_tokens as f64 / 1_000_000.0) * input_per_m; + let output_cost = (self.completion_tokens as f64 / 1_000_000.0) * output_per_m; + + (input_cost, output_cost, input_cost + output_cost) + } + + /// Print cost report + pub fn print_report(&self, model: &str) { + let duration = self.session_duration(); + let (input_cost, output_cost, total_cost) = self.estimate_cost(model); + + println!(); + println!(" {}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━{}", ansi::PURPLE, ansi::RESET); + println!(" {}💰 Session Cost & Usage{}", ansi::PURPLE, ansi::RESET); + println!(" {}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━{}", ansi::PURPLE, ansi::RESET); + println!(); + println!(" {}Model:{} {}", ansi::DIM, ansi::RESET, model); + println!(" {}Duration:{} {:02}:{:02}:{:02}", + ansi::DIM, ansi::RESET, + duration.as_secs() / 3600, + (duration.as_secs() % 3600) / 60, + duration.as_secs() % 60 + ); + println!(" {}Requests:{} {}", ansi::DIM, ansi::RESET, self.request_count); + println!(); + println!(" {}Tokens:{}", ansi::CYAN, ansi::RESET); + println!(" Input: {:>10} tokens", self.prompt_tokens); + println!(" Output: {:>10} tokens", self.completion_tokens); + println!(" {}Total: {:>10} tokens{}", ansi::BOLD, self.total_tokens(), ansi::RESET); + println!(); + println!(" {}Estimated Cost:{}", ansi::SUCCESS, ansi::RESET); + println!(" Input: ${:.4}", input_cost); + println!(" Output: ${:.4}", output_cost); + println!(" {}Total: ${:.4}{}", ansi::BOLD, total_cost, ansi::RESET); + println!(); + println!(" {}(Estimates based on public API pricing){}", ansi::DIM, ansi::RESET); + println!(); + } +} + +/// Interactive command picker state +pub struct CommandPicker { + /// Current filter text (after the /) + pub filter: String, + /// Currently selected index + pub selected_index: usize, + /// Filtered commands + pub filtered_commands: Vec<&'static SlashCommand>, +} + +impl CommandPicker { + pub fn new() -> Self { + Self { + filter: String::new(), + selected_index: 0, + filtered_commands: SLASH_COMMANDS.iter().collect(), + } + } + + /// Update filter and refresh filtered commands + pub fn set_filter(&mut self, filter: &str) { + self.filter = filter.to_lowercase(); + self.filtered_commands = SLASH_COMMANDS + .iter() + .filter(|cmd| { + cmd.name.starts_with(&self.filter) || + cmd.alias.map(|a| a.starts_with(&self.filter)).unwrap_or(false) + }) + .collect(); + + // Reset selection if out of bounds + if self.selected_index >= self.filtered_commands.len() { + self.selected_index = 0; + } + } + + /// Move selection up + pub fn move_up(&mut self) { + if !self.filtered_commands.is_empty() && self.selected_index > 0 { + self.selected_index -= 1; + } + } + + /// Move selection down + pub fn move_down(&mut self) { + if !self.filtered_commands.is_empty() && self.selected_index < self.filtered_commands.len() - 1 { + self.selected_index += 1; + } + } + + /// Get currently selected command + pub fn selected_command(&self) -> Option<&'static SlashCommand> { + self.filtered_commands.get(self.selected_index).copied() + } + + /// Render the picker suggestions below current line + pub fn render_suggestions(&self) -> usize { + let mut stdout = io::stdout(); + + if self.filtered_commands.is_empty() { + println!("\n {}No matching commands{}", ansi::DIM, ansi::RESET); + let _ = stdout.flush(); + return 1; + } + + for (i, cmd) in self.filtered_commands.iter().enumerate() { + let is_selected = i == self.selected_index; + + if is_selected { + // Selected item - highlighted with arrow + println!(" {}▸ /{:<15}{} {}{}{}", + ansi::PURPLE, cmd.name, ansi::RESET, + ansi::PURPLE, cmd.description, ansi::RESET); + } else { + // Normal item - dimmed + println!(" {} /{:<15} {}{}", + ansi::DIM, cmd.name, cmd.description, ansi::RESET); + } + } + + let _ = stdout.flush(); + self.filtered_commands.len() + } + + /// Clear n lines above cursor + pub fn clear_lines(&self, num_lines: usize) { + let mut stdout = io::stdout(); + for _ in 0..num_lines { + let _ = execute!(stdout, MoveUp(1), Clear(ClearType::CurrentLine)); + } + let _ = stdout.flush(); + } +} + +/// Show interactive command picker and return selected command +/// This is called when user types "/" - shows suggestions immediately +/// Returns None if cancelled, Some(command_name) if selected +pub fn show_command_picker(initial_filter: &str) -> Option { + let mut picker = CommandPicker::new(); + picker.set_filter(initial_filter); + + // Enable raw mode for real-time key handling + if terminal::enable_raw_mode().is_err() { + // Fallback to simple mode if raw mode fails + return show_simple_picker(&picker); + } + + let mut stdout = io::stdout(); + let mut input_buffer = format!("/{}", initial_filter); + let mut last_rendered_lines = 0; + + // Initial render + println!(); // Move to new line for suggestions + last_rendered_lines = picker.render_suggestions(); + + // Move back up to input line and position cursor + let _ = execute!(stdout, MoveUp(last_rendered_lines as u16 + 1), MoveToColumn(0)); + print!("{}You: {}{}", ansi::SUCCESS, ansi::RESET, input_buffer); + let _ = stdout.flush(); + + // Move down to after suggestions + let _ = execute!(stdout, cursor::MoveDown(last_rendered_lines as u16 + 1)); + + let result = loop { + // Wait for key event + if let Ok(Event::Key(key_event)) = event::read() { + match key_event.code { + KeyCode::Esc => { + // Cancel + break None; + } + KeyCode::Enter => { + // Select current + if let Some(cmd) = picker.selected_command() { + break Some(cmd.name.to_string()); + } + break None; + } + KeyCode::Up => { + picker.move_up(); + } + KeyCode::Down => { + picker.move_down(); + } + KeyCode::Backspace => { + if input_buffer.len() > 1 { + input_buffer.pop(); + let filter = input_buffer.trim_start_matches('/'); + picker.set_filter(filter); + } else { + // Backspace on just "/" - cancel + break None; + } + } + KeyCode::Char(c) => { + // Add character to filter + input_buffer.push(c); + let filter = input_buffer.trim_start_matches('/'); + picker.set_filter(filter); + + // If there's an exact match and user typed enough, auto-select + if picker.filtered_commands.len() == 1 { + // Perfect match - could auto-complete + } + } + KeyCode::Tab => { + // Tab to auto-complete current selection + if let Some(cmd) = picker.selected_command() { + break Some(cmd.name.to_string()); + } + } + _ => {} + } + + // Clear old suggestions and re-render + picker.clear_lines(last_rendered_lines); + + // Re-render input line + let _ = execute!(stdout, Clear(ClearType::CurrentLine), MoveToColumn(0)); + print!("{}You: {}{}", ansi::SUCCESS, ansi::RESET, input_buffer); + let _ = stdout.flush(); + + // Render suggestions below + println!(); + last_rendered_lines = picker.render_suggestions(); + + // Move back to input line position + let _ = execute!(stdout, MoveUp(last_rendered_lines as u16 + 1)); + let _ = execute!(stdout, MoveToColumn((5 + input_buffer.len()) as u16)); + let _ = stdout.flush(); + + // Move down to after suggestions for next iteration + let _ = execute!(stdout, cursor::MoveDown(last_rendered_lines as u16 + 1)); + } + }; + + // Disable raw mode + let _ = terminal::disable_raw_mode(); + + // Clean up display + picker.clear_lines(last_rendered_lines); + let _ = execute!(stdout, Clear(ClearType::CurrentLine), MoveToColumn(0)); + let _ = stdout.flush(); + + result +} + +/// Fallback simple picker when raw mode is not available +fn show_simple_picker(picker: &CommandPicker) -> Option { + println!(); + println!(" {}📋 Available Commands:{}", ansi::CYAN, ansi::RESET); + println!(); + + for (i, cmd) in picker.filtered_commands.iter().enumerate() { + print!(" {} {}/{:<12}", format!("[{}]", i + 1), ansi::PURPLE, cmd.name); + if let Some(alias) = cmd.alias { + print!(" ({})", alias); + } + println!("{} - {}{}{}", ansi::RESET, ansi::DIM, cmd.description, ansi::RESET); + } + + println!(); + print!(" Select (1-{}) or press Enter to cancel: ", picker.filtered_commands.len()); + let _ = io::stdout().flush(); + + let mut input = String::new(); + if io::stdin().read_line(&mut input).is_ok() { + let input = input.trim(); + if let Ok(num) = input.parse::() { + if num >= 1 && num <= picker.filtered_commands.len() { + return Some(picker.filtered_commands[num - 1].name.to_string()); + } + } + } + + None +} + +/// Check if a command matches a query (name or alias) +pub fn match_command(query: &str) -> Option<&'static SlashCommand> { + let query = query.trim_start_matches('/').to_lowercase(); + + SLASH_COMMANDS.iter().find(|cmd| { + cmd.name == query || cmd.alias.map(|a| a == query).unwrap_or(false) + }) +} diff --git a/src/agent/mod.rs b/src/agent/mod.rs index 47942d74..be9468ff 100644 --- a/src/agent/mod.rs +++ b/src/agent/mod.rs @@ -24,6 +24,7 @@ //! - `/clear` - Clear conversation history //! - `/exit` - Exit the chat +pub mod commands; pub mod session; pub mod tools; pub mod ui; @@ -35,6 +36,7 @@ use rig::{ providers::{anthropic, openai}, }; use session::ChatSession; +use commands::TokenUsage; use std::path::Path; use std::sync::Arc; use ui::{ResponseFormatter, Spinner, ToolDisplayHook, spawn_tool_display_handler}; @@ -228,6 +230,12 @@ pub async fn run_interactive( // Stop spinner and show beautifully formatted response spinner.stop().await; ResponseFormatter::print_response(&text); + + // Track token usage (estimate since Rig doesn't expose exact counts) + let prompt_tokens = TokenUsage::estimate_tokens(&input); + let completion_tokens = TokenUsage::estimate_tokens(&text); + session.token_usage.add_request(prompt_tokens, completion_tokens); + session.history.push(("user".to_string(), input)); session.history.push(("assistant".to_string(), text)); } diff --git a/src/agent/session.rs b/src/agent/session.rs index d2a7d0d0..e9a56a06 100644 --- a/src/agent/session.rs +++ b/src/agent/session.rs @@ -3,13 +3,17 @@ //! Provides a rich REPL experience similar to Claude Code with: //! - `/model` - Select from available models based on configured API keys //! - `/provider` - Switch provider (prompts for API key if not set) +//! - `/cost` - Show token usage and estimated cost //! - `/help` - Show available commands //! - `/clear` - Clear conversation history //! - `/exit` or `/quit` - Exit the session +use crate::agent::commands::{TokenUsage, SLASH_COMMANDS}; use crate::agent::{AgentError, AgentResult, ProviderType}; +use crate::agent::ui::{SlashCommandAutocomplete, ansi}; use crate::config::{load_agent_config, save_agent_config}; use colored::Colorize; +use inquire::Text; use std::io::{self, Write}; use std::path::Path; @@ -39,6 +43,7 @@ pub struct ChatSession { pub model: String, pub project_path: std::path::PathBuf, pub history: Vec<(String, String)>, // (role, content) + pub token_usage: TokenUsage, } impl ChatSession { @@ -53,6 +58,7 @@ impl ChatSession { model: model.unwrap_or(default_model), project_path: project_path.to_path_buf(), history: Vec::new(), + token_usage: TokenUsage::new(), } } @@ -258,15 +264,21 @@ impl ChatSession { /// Handle /help command pub fn print_help() { println!(); - println!("{}", "📖 Available Commands:".cyan().bold()); + println!(" {}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━{}", ansi::PURPLE, ansi::RESET); + println!(" {}📖 Available Commands{}", ansi::PURPLE, ansi::RESET); + println!(" {}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━{}", ansi::PURPLE, ansi::RESET); println!(); - println!(" {} - Select a different AI model", "/model".white().bold()); - println!(" {} - Switch provider (OpenAI/Anthropic)", "/provider".white().bold()); - println!(" {} - Clear conversation history", "/clear".white().bold()); - println!(" {} - Show this help message", "/help".white().bold()); - println!(" {} - Exit the chat", "/exit".white().bold()); + + for cmd in SLASH_COMMANDS.iter() { + let alias = cmd.alias.map(|a| format!(" ({})", a)).unwrap_or_default(); + println!(" {}/{:<12}{}{} - {}{}{}", + ansi::CYAN, cmd.name, alias, ansi::RESET, + ansi::DIM, cmd.description, ansi::RESET + ); + } + println!(); - println!("{}", "Just type your message and press Enter to chat!".dimmed()); + println!(" {}Tip: Type / to see interactive command picker!{}", ansi::DIM, ansi::RESET); println!(); } @@ -343,6 +355,13 @@ impl ChatSession { pub fn process_command(&mut self, input: &str) -> AgentResult { let cmd = input.trim().to_lowercase(); + // Handle bare "/" - now handled interactively in read_input + // Just show help if they somehow got here + if cmd == "/" { + Self::print_help(); + return Ok(true); + } + match cmd.as_str() { "/exit" | "/quit" | "/q" => { println!("\n{}", "👋 Goodbye!".green()); @@ -357,12 +376,16 @@ impl ChatSession { "/provider" | "/p" => { self.handle_provider_command()?; } + "/cost" => { + self.token_usage.print_report(&self.model); + } "/clear" | "/c" => { self.history.clear(); println!("{}", "✓ Conversation history cleared".green()); } _ => { if cmd.starts_with('/') { + // Unknown command - interactive picker already handled in read_input println!("{}", format!("Unknown command: {}. Type /help for available commands.", cmd).yellow()); } } @@ -376,13 +399,31 @@ impl ChatSession { input.trim().starts_with('/') } - /// Read user input with prompt + /// Read user input with prompt - with interactive slash command support + /// Uses `inquire` library for proper terminal handling and autocomplete pub fn read_input(&self) -> io::Result { - print!("{}", "You: ".green().bold()); - io::stdout().flush()?; - - let mut input = String::new(); - io::stdin().read_line(&mut input)?; - Ok(input.trim().to_string()) + // Use inquire::Text with custom autocomplete for slash commands + let input = Text::new("You:") + .with_autocomplete(SlashCommandAutocomplete::new()) + .with_help_message("Type / for commands, or ask a question") + .prompt(); + + match input { + Ok(text) => { + let trimmed = text.trim(); + // Handle case where full suggestion was submitted (e.g., "/model Description") + // Extract just the command if it looks like a suggestion format + if trimmed.starts_with('/') && trimmed.contains(" ") { + // This looks like a suggestion format, extract just the command + if let Some(cmd) = trimmed.split_whitespace().next() { + return Ok(cmd.to_string()); + } + } + Ok(trimmed.to_string()) + } + Err(inquire::InquireError::OperationCanceled) => Ok("exit".to_string()), + Err(inquire::InquireError::OperationInterrupted) => Ok("exit".to_string()), + Err(e) => Err(io::Error::new(io::ErrorKind::Other, e.to_string())), + } } } diff --git a/src/agent/ui/autocomplete.rs b/src/agent/ui/autocomplete.rs new file mode 100644 index 00000000..f7e1edde --- /dev/null +++ b/src/agent/ui/autocomplete.rs @@ -0,0 +1,72 @@ +//! Autocomplete support for slash commands using inquire +//! +//! Provides a custom Autocomplete implementation that shows +//! slash command suggestions as the user types. + +use inquire::autocompletion::{Autocomplete, Replacement}; +use crate::agent::commands::SLASH_COMMANDS; + +/// Autocomplete provider for slash commands +/// Shows suggestions when user types "/" followed by characters +#[derive(Clone, Default)] +pub struct SlashCommandAutocomplete { + /// Cache of filtered commands for current input + filtered_commands: Vec<&'static str>, +} + +impl SlashCommandAutocomplete { + pub fn new() -> Self { + Self { + filtered_commands: Vec::new(), + } + } +} + +impl Autocomplete for SlashCommandAutocomplete { + fn get_suggestions(&mut self, input: &str) -> Result, inquire::CustomUserError> { + // Only show suggestions when input starts with / + if !input.starts_with('/') { + self.filtered_commands.clear(); + return Ok(vec![]); + } + + let filter = input.trim_start_matches('/').to_lowercase(); + + // Store the command names for use in get_completion + self.filtered_commands = SLASH_COMMANDS.iter() + .filter(|cmd| { + cmd.name.to_lowercase().starts_with(&filter) || + cmd.alias.map(|a| a.to_lowercase().starts_with(&filter)).unwrap_or(false) + }) + .take(6) + .map(|cmd| cmd.name) + .collect(); + + // Return formatted suggestions for display + let suggestions: Vec = SLASH_COMMANDS.iter() + .filter(|cmd| { + cmd.name.to_lowercase().starts_with(&filter) || + cmd.alias.map(|a| a.to_lowercase().starts_with(&filter)).unwrap_or(false) + }) + .take(6) + .map(|cmd| format!("/{:<12} {}", cmd.name, cmd.description)) + .collect(); + + Ok(suggestions) + } + + fn get_completion( + &mut self, + _input: &str, + highlighted_suggestion: Option, + ) -> Result { + if let Some(suggestion) = highlighted_suggestion { + // Extract just the command name - first word after the / + // Format is: "/model Select a different AI model" + if let Some(cmd_with_slash) = suggestion.split_whitespace().next() { + return Ok(Replacement::Some(cmd_with_slash.to_string())); + } + } + Ok(Replacement::None) + } +} diff --git a/src/agent/ui/mod.rs b/src/agent/ui/mod.rs index 079efe67..f8e88a02 100644 --- a/src/agent/ui/mod.rs +++ b/src/agent/ui/mod.rs @@ -8,6 +8,7 @@ //! - Thinking/reasoning indicators //! - Elapsed time tracking +pub mod autocomplete; pub mod colors; pub mod hooks; pub mod response; @@ -15,6 +16,7 @@ pub mod spinner; pub mod streaming; pub mod tool_display; +pub use autocomplete::*; pub use colors::*; pub use hooks::*; pub use response::*; diff --git a/src/agent/ui/spinner.rs b/src/agent/ui/spinner.rs index 8381b5a2..bc8eebe3 100644 --- a/src/agent/ui/spinner.rs +++ b/src/agent/ui/spinner.rs @@ -154,6 +154,7 @@ async fn run_spinner( let mut phrase_index = 0; let mut current_tool: Option = None; let mut tools_completed: usize = 0; + let mut has_printed_tool_line = false; let mut interval = tokio::time::interval(Duration::from_millis(ANIMATION_INTERVAL_MS)); let mut rng = StdRng::from_entropy(); @@ -172,7 +173,7 @@ async fn run_spinner( let frame = SPINNER_FRAMES[frame_index % SPINNER_FRAMES.len()]; frame_index += 1; - // Cycle phrases every PHRASE_CHANGE_INTERVAL_SECS if not showing tool activity + // Cycle phrases if idle if current_tool.is_none() && last_phrase_change.elapsed().as_secs() >= PHRASE_CHANGE_INTERVAL_SECS { if rng.gen_bool(0.25) && !TIPS.is_empty() { let tip_idx = rng.gen_range(0..TIPS.len()); @@ -184,43 +185,44 @@ async fn run_spinner( last_phrase_change = Instant::now(); } - // Build compact single-line display - let display = if let Some(ref tool) = current_tool { - // Currently executing a tool - if tools_completed > 0 { - format!("{}{}{} {}✓{}{} {}🔧 {}{} {}", - ansi::CYAN, frame, ansi::RESET, - ansi::SUCCESS, tools_completed, ansi::RESET, - ansi::PURPLE, tool, ansi::RESET, - current_text) - } else { - format!("{}{}{} {}🔧 {}{} {}", - ansi::CYAN, frame, ansi::RESET, - ansi::PURPLE, tool, ansi::RESET, - current_text) + if has_printed_tool_line { + // Move up to tool line, update it, move back down to spinner line + if let Some(ref tool) = current_tool { + print!("{}{} {}🔧 {}{}{}", + ansi::CURSOR_UP, + ansi::CLEAR_LINE, + ansi::PURPLE, + tool, + ansi::RESET, + "\n" // Move back down + ); } - } else if tools_completed > 0 { - // Between tools, show completed count - format!("{}{}{} {}✓{}{} {}", - ansi::CYAN, frame, ansi::RESET, - ansi::SUCCESS, tools_completed, ansi::RESET, - current_text) + // Now update spinner line + print!("\r{} {}{}{} {} {}{}({}){}", + ansi::CLEAR_LINE, + ansi::CYAN, + frame, + ansi::RESET, + current_text, + ansi::GRAY, + ansi::DIM, + format_elapsed(elapsed), + ansi::RESET + ); } else { - // Initial state, just thinking - format!("{}{}{} {}", - ansi::CYAN, frame, ansi::RESET, - current_text) - }; - - // Update the SAME line (no newlines!) - print!("\r{}{} {}{}({}){}", - ansi::CLEAR_LINE, - display, - ansi::GRAY, - ansi::DIM, - format_elapsed(elapsed), - ansi::RESET - ); + // Single line mode (no tool yet) + print!("\r{} {}{}{} {} {}{}({}){}", + ansi::CLEAR_LINE, + ansi::CYAN, + frame, + ansi::RESET, + current_text, + ansi::GRAY, + ansi::DIM, + format_elapsed(elapsed), + ansi::RESET + ); + } let _ = io::stdout().flush(); } Some(msg) = receiver.recv() => { @@ -229,6 +231,18 @@ async fn run_spinner( current_text = text; } SpinnerMessage::ToolExecuting { name, description } => { + if !has_printed_tool_line { + // First tool - print tool line then newline for spinner + print!("\r{} {}🔧 {}{}{}\n", + ansi::CLEAR_LINE, + ansi::PURPLE, + name, + ansi::RESET, + "" // Spinner will be on next line + ); + has_printed_tool_line = true; + } + // Tool line will be updated on next tick current_tool = Some(name); current_text = description; last_phrase_change = Instant::now(); @@ -241,7 +255,6 @@ async fn run_spinner( } SpinnerMessage::Thinking(subject) => { current_text = format!("💭 {}", subject); - current_tool = None; } SpinnerMessage::Stop => { is_running.store(false, Ordering::SeqCst); @@ -252,9 +265,17 @@ async fn run_spinner( } } - // Clear the spinner line and show cursor - // Optionally print a summary if tools were used - print!("\r{}", ansi::CLEAR_LINE); + // Clear both lines and show summary + if has_printed_tool_line { + // Clear spinner line + print!("\r{}", ansi::CLEAR_LINE); + // Move up and clear tool line + print!("{}{}", ansi::CURSOR_UP, ansi::CLEAR_LINE); + } else { + print!("\r{}", ansi::CLEAR_LINE); + } + + // Print summary if tools_completed > 0 { println!(" {}✓{} {} tool{} used", ansi::SUCCESS, ansi::RESET,