pub mod access;
pub mod agent_loop;
pub mod context;
pub mod embedding;
pub mod errors;
pub mod loop_detection;
pub mod memory;
pub mod memory_coordinator;
pub mod memory_store;
pub mod message_api;
pub mod progress;
pub mod serialization;
pub mod session;
pub mod steering;
#[cfg(any(test, feature = "testing"))]
pub mod testing;
pub mod token_ledger;
pub mod tool_impl;
pub mod tools;
pub use access::{AllowAllAccess, SessionAccessProvider, TokenBudget};
pub use agent_loop::{AgentConfig, AgentLoop, AgentLoopState};
pub use context::{AgentContext, ContextConfig, ContextProvider, KnowledgeHit, SearchMode};
pub use embedding::{
CacheStats, CachedEmbeddingProvider, ColdCache, EmbeddingError, EmbeddingProvider,
EmbeddingVector, NoopColdCache, SentenceChunker, TextChunker, WholeTextChunker,
};
pub use errors::{
AgentAction, AgenticError, AuthError, CircuitBreaker, ErrorPolicy, GenKind, GenerationFailure,
LoopDetection, UserId,
};
pub use loop_detection::{
is_bare_number, is_vacuous_answer, question_expects_a_number, Escalation, LoopDetection as InlineLoopDetection, LoopDetector,
LoopDetectorConfig, ToolCallSignature,
};
pub use memory::{MemoryAction, MemoryConfig, MemoryHierarchy, MemoryParseStrategy};
pub use memory_coordinator::MemoryCoordinator;
pub use memory_store::{KvMemoryStore, MemoryStore, MemoryTier, SessionMemory};
pub use message_api::{MessageApi, MessageEvent, Receiver as MessageReceiver};
pub use progress::{lift_model_item, AgentProgress, AgentStream, MemoryKind};
pub use serialization::{from_record_batch, to_record_batch, SerError, SessionRecordRow};
pub use session::{AgentSession, AgentSessionBuilder};
pub use steering::{CancelCode, SteeringQueues};
pub use token_ledger::{TokenLedger, TokenSnapshot};
pub use tool_impl::{
FailMode, ToolCallManager, ToolCallRequest, ToolCallResult, ToolCallStage, ToolCallWorkflow,
ToolDefinition, ToolError, ToolErrorKind, ToolImpl, ToolRetryConfig, WorkflowResult,
};
#[cfg(not(target_family = "wasm"))]
pub use tools::search::{
FileMatch, FileSearch, FileSearchKind, SearchContextTool, SearchFileTool, VfsSearchBackend,
};
pub use tools::shed::{ShedQuery, ShedResult, ShedTool, ToolDiscovery, ToolSummary};
#[cfg(not(target_family = "wasm"))]
pub use foundation_nativeapis::{VfsSearchKind, VfsSearchMatch, VfsSearcher};