pub mod events;
pub mod harness;
pub mod raw;
pub use events::{
normalize_process_event, run_events_from_parsed, ByteRange, ParsedLine, RunEvent, SessionInfo,
SuggestedEdit, ToolCallEnd, ToolCallStart, UsageInfo,
};
pub use raw::parse_raw_line;
pub use harness::{
run_login_command, BoxError, CredentialSpec, Harness, HarnessCapabilities, HarnessError,
HarnessInfo, HarnessModel, HarnessReadiness, InstallCallback, ReasoningEffort, RunCallback,
RunControl, RunHandle, RunMode, RunRequest, RunTuning,
};
pub use cli_stream::{
augmented_node_path, spawn_streaming, InstallEvent, ProcessEvent, ProcessHandle, StreamError,
};
#[cfg(feature = "bob")]
pub mod bob;
#[cfg(feature = "claude")]
pub mod claude;
#[cfg(feature = "codex")]
pub mod codex;
pub mod registry;
#[cfg(feature = "bob")]
pub use bob::{normalize_bob_event, BobHarness as Bob, BOB_HARNESS_ID};
#[cfg(feature = "bob")]
pub use bob_rs::BobError;
#[cfg(feature = "claude")]
pub use claude::{ClaudeHarness as Claude, CLAUDE_HARNESS_ID};
#[cfg(feature = "codex")]
pub use codex::{CodexHarness as Codex, CODEX_HARNESS_ID};
pub use registry::{
default_registry, harness_by_id, harness_catalog, Registry, DEFAULT_HARNESS_ID,
};