Skip to main content

agg/
main.rs

1use std::path::PathBuf;
2
3use rootcause::report;
4
5use crate::cmds::Cmd;
6
7mod cmds;
8
9#[ytil_sys::main]
10fn main() -> rootcause::Result<()> {
11    match Cmd::from_env()? {
12        Cmd::Help(help) => print!("{}", help.text()),
13        Cmd::SessionsList => cmds::sessions::list::run(&home_dir()?)?,
14        Cmd::SessionsListJson(args) => cmds::sessions::list::run_json(&args, &home_dir()?)?,
15        Cmd::CodexCompact => cmds::codex::compact::run()?,
16        Cmd::Tok(options) => cmds::tok::run(&options)?,
17    }
18    Ok(())
19}
20
21fn home_dir() -> rootcause::Result<PathBuf> {
22    std::env::var_os("HOME")
23        .map(PathBuf::from)
24        .ok_or_else(|| report!("HOME environment variable is not set"))
25}