#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![deny(unreachable_pub)]
#![warn(rust_2018_idioms)]
pub mod adapt;
pub mod agent;
pub mod config;
pub mod context;
pub mod error;
pub mod prelude;
pub mod provider;
pub mod reasoning;
pub mod runtime;
pub mod store;
pub mod token;
pub mod tool;
pub mod tool_output;
pub mod tool_scope;
#[cfg(feature = "rag")]
pub mod rag;
#[cfg(feature = "queue")]
pub mod queue;
#[cfg(feature = "server")]
pub mod grpc;
pub use crate::error::{ContextError, Error, ProviderError, Result, StorageError, ToolError};
pub use crate::runtime::{
AgentEvent, AgentRuntime, CompactionResult, CompactionService, Control, EmitRequest, EventKind,
FileSessionDataStore, FileSnapshotStore, InvocationError, InvocationEvent, InvocationHandle,
InvocationSession, MemorySessionDataStore, ModelRouter, RunId, RunOutput, RunRequest,
RunStatus, RuntimeError, RuntimeEventBridge, RuntimeEventBridgeError, RuntimeEventBridgeHandle,
RuntimeEventEnvelope, RuntimeEventId, RuntimeEventStore, RuntimeEventStoreError,
RuntimeInvocation, RuntimePolicy, RuntimeRoom, RuntimeStreamAdapter, RuntimeStreamError,
RuntimeSubscription, RuntimeSubscriptionError, RuntimeSubscriptionHub, SessionDataError,
SessionDataStore, Snapshot, SnapshotStore,
};
pub use crate::tool_output::{ToolOutputConfig, TruncationResult};
#[cfg(feature = "redis")]
pub use crate::runtime::RedisSessionDataStore;