pub mod chat; pub mod client; pub mod compact; pub mod embed; pub mod error; pub mod perception; pub mod react; pub mod task; pub mod tokent; pub mod tool; pub use task::TaskService; pub use tokent::{TokenUsage, resolve_usage}; pub use perception::{PerceptionService, SkillContext, SkillEntry, ToolCallEvent}; use async_openai::Client; use async_openai::config::OpenAIConfig; pub use chat::{ AiContextSenderType, AiRequest, AiStreamChunk, ChatService, Mention, RoomMessageContext, StreamCallback, }; pub use client::{AiCallResponse, AiClientConfig, call_with_params, call_with_retry}; pub use compact::{CompactConfig, CompactLevel, CompactService, CompactSummary, MessageSummary}; pub use embed::{EmbedClient, EmbedService, QdrantClient, SearchResult}; pub use error::{AgentError, Result}; pub use react::{ Hook, HookAction, NoopHook, ReactAgent, ReactConfig, ReactStep, ToolCallAction, TracingHook, }; pub use tool::{ ToolCall, ToolCallResult, ToolContext, ToolDefinition, ToolError, ToolExecutor, ToolParam, ToolRegistry, ToolResult, ToolSchema, }; #[derive(Clone)] pub struct AgentService { pub client: Client, }