pub mod builder;
pub mod config;
pub mod context;
pub mod event;
pub mod fallback;
pub(crate) mod iteration;
#[cfg(feature = "v02-preview")]
pub mod loop_detector;
pub mod request_opts;
pub mod retry;
pub mod runtime;
#[cfg(feature = "v02-preview")]
pub mod signal_voter;
pub mod tools;
pub use tools::{
BatchExecutionResult, CompositeCatalog, ParallelSafety, StaticCatalog, ToolArgs, ToolCatalog,
ToolCategory, ToolExecutor, ToolRegistration, ToolSnapshot, execute_batch_with,
};
pub use builder::AgentBuilder;
pub use config::{ToolUseConfig, ToolUseDeps};
pub use context::{
CompactionResult, ContextBudget, ContextCompactor, LocalCompactor, estimate_message,
estimate_text, estimate_tokens,
};
pub use event::{AgentEvent, AgentStream, StopReason};
pub use fallback::{DefaultFallback, FallbackAction, FallbackContext, FallbackStrategy};
pub use lellm_provider::ResolvedModel;
#[cfg(feature = "v02-preview")]
pub use loop_detector::{LoopDetector, LoopIntervention};
pub use request_opts::RequestOptions;
pub use retry::{BackoffStrategy, RetryPolicy};
pub use runtime::{LoopState, ResolvedRound, ToolUseLoop, ToolUseResult};
#[cfg(feature = "v02-preview")]
pub use signal_voter::{NegativeSignal, SignalVoter};
pub use lellm_core::{IntoToolError, IntoToolResult, ToolError, ToolErrorKind, ToolResult};