#![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 health;
pub mod prelude;
pub mod provider;
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;
pub use crate::error::{ContextError, Error, ProviderError, Result, StorageError, ToolError};
pub use crate::health::HealthStatus;
pub use crate::runtime::{
AgentEvent, AgentRuntime, AnyComponent, AnyComponentError, CompactionResult, CompactionService,
Component, ComponentContext, ComponentDescriptor, ComponentError, ComponentFactory,
ComponentRegistry, ComponentState, ContextPipelineComponent, ContextPipelineConfig, Control,
EmitRequest, EventKind, ExtensionError, ExtensionPoint, Extensions, FactoryError, FactoryFn,
FactoryRegistry, FileSessionDataStore, FileSnapshotStore, InvocationError, InvocationEvent,
InvocationHandle, InvocationSession, ManagedError, ManagedRuntime,
MemoryArtifactStoreComponent, MemoryEmbeddingStoreComponent, MemoryExecutionStoreComponent,
MemoryRunStoreComponent, MemorySessionDataStore, MemorySessionStoreComponent, ModelRouter,
ProviderHttpComponentConfig, RegistryError, RunId, RunOutput, RunRequest, RunStatus,
RuntimeError, RuntimeEventBridge, RuntimeEventBridgeError, RuntimeEventBridgeHandle,
RuntimeEventEnvelope, RuntimeEventId, RuntimeEventStore, RuntimeEventStoreError,
RuntimeInvocation, RuntimePolicy, RuntimeRoom, RuntimeStreamAdapter, RuntimeStreamError,
RuntimeSubscription, RuntimeSubscriptionError, RuntimeSubscriptionHub, SessionDataError,
SessionDataStore, ShutdownToken, Snapshot, SnapshotStore, TypedAnyComponent, TypedFactory,
default_factory_registry, register_context_pipeline, register_memory_stores,
register_providers,
};
#[cfg(feature = "openai")]
pub use crate::runtime::{OpenAiChatComponent, OpenAiEmbeddingComponent};
#[cfg(feature = "anthropic")]
pub use crate::runtime::AnthropicChatComponent;
pub use crate::tool_output::{ToolOutputConfig, TruncationResult};
#[cfg(feature = "redis")]
pub use crate::runtime::RedisSessionDataStore;