#![warn(missing_docs)]
pub mod background;
mod cache_plan;
mod error;
mod event;
mod model_limits;
mod policy;
mod provider;
mod request;
mod tokens;
mod usage;
pub use cache_plan::CachePlan;
pub use error::{Result, RuntimeError};
pub use event::{AgentEvent, EventSink};
pub use model_limits::{model_context_limit, UNKNOWN_MODEL_CONTEXT_FLOOR};
pub use policy::glob_match;
pub use provider::{
apply_cache_plan, cache_cold_reason, is_anthropic_family_model, tier_change_is_cache_bust,
CacheColdReason, HttpOptions, OpenAiProvider, Provider,
};
pub use request::{ChatRequest, ToolSchema};
pub use tokens::{
context_guard, estimate_deferred_schema_tokens, estimate_request_tokens, estimate_tokens,
estimate_view_tokens, fmt_approx_tokens, with_guard_margin, CONTEXT_RESPONSE_RESERVE_TOKENS,
};
pub use usage::{PromptTokensDetails, Usage};