use harness::{AcpHarness, Harness, Error, RunEvent, RunRequest};
fn main() -> Result<(), Error> {
let agent = AcpHarness::opencode();
let (_handle, events) = agent.run(RunRequest {
run_id: "demo".into(),
prompt: "In one sentence, what is the Agent Client Protocol?".into(),
..Default::default()
})?;
for event in events {
match event {
RunEvent::Text { delta, .. } => print!("{delta}"),
RunEvent::Thinking { delta, .. } => eprint!("{delta}"),
RunEvent::ToolStart { title, .. } => eprintln!("\n[tool] {title}"),
RunEvent::Error { message, .. } => eprintln!("\n[error] {message}"),
RunEvent::Exited { .. } => break,
_ => {}
}
}
Ok(())
}