use codex_wrapper::{Codex, ExecCommand, SandboxMode};
#[tokio::main]
async fn main() -> codex_wrapper::Result<()> {
let codex = Codex::builder().build()?;
let cmd = ExecCommand::new("Reply with exactly: ok")
.sandbox(SandboxMode::ReadOnly)
.skip_git_repo_check()
.ephemeral();
let events = cmd.execute_json_lines(&codex).await?;
println!("{} events", events.len());
for event in &events {
println!(" {}", event.event_type);
}
let result = cmd.execute_json(&codex).await?;
println!("\nresult: {}", result.result);
println!("thread: {:?}", result.thread_id);
match result.usage.and_then(|usage| usage.total()) {
Some(tokens) => println!("tokens: {tokens}"),
None => println!("tokens: not reported"),
}
Ok(())
}