1#![forbid(unsafe_code)]
22#![warn(missing_docs)]
23#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used, clippy::panic))]
25
26pub mod error;
27pub mod event;
28pub mod message;
29#[cfg(test)]
30mod message_tests;
31pub mod model;
32pub mod policy;
33pub mod request;
34pub mod runner;
35pub mod subagent;
36pub mod thinking;
37pub mod tool;
38
39pub use error::{CoreError, Result};
40pub use event::{EventSink, NullEventSink, RunEvent, RunHooks};
41pub use message::{AgentMessage, ContentBlock, ImageContent, Role, SignalMessage};
42pub use model::{Model, ModelProvider, ModelRequest, ModelResponse, StreamEvent};
43pub use policy::{PolicyVerdict, ToolPolicy};
44pub use request::{ToolFactory, ToolRequestContext};
45pub use runner::{run_agent, run_agent_streaming, FanoutTurnSink, RunConfig, RunOutcome, TurnSink};
46pub use subagent::{
47 SubagentOptions, SubagentProfile, TaskTool, DEFAULT_MAX_DELEGATIONS, DEFAULT_MAX_DEPTH,
48};
49pub use thinking::ThinkingLevel;
50pub use tool::{
51 InvokeContext, JsonValue, ParameterSchema, Tool, ToolCall, ToolDefinition, ToolResult,
52};
53
54pub use serde_json::Value as Json;