pub mod agent; pub mod billing; pub mod chat; pub mod client; pub mod compact; pub mod embed; pub mod error; pub mod model; pub mod orao; pub mod perception; pub mod react; pub mod skills; pub mod sync; pub mod task; pub mod tokent; pub mod tool; pub use billing::{ check_balance, initialize_project_billing, initialize_user_billing, persist_billing_error, record_ai_usage, BillingRecord, BillingResult, }; pub use chat::{ AiContextSenderType, AiRequest, AiStreamChunk, ChatService, Mention, RoomMessageContext, StreamCallback, }; pub use client::types::ChatRequestMessage; pub use client::{call_with_params, call_with_retry, AiCallResponse, AiClientConfig}; pub use compact::{CompactConfig, CompactLevel, CompactService, CompactSummary, MessageSummary}; pub use embed::{ new_embed_client, EmbedClient, EmbedMemoryInput, EmbedService, QdrantClient, SearchResult, TagEmbedInput, }; pub use error::{AgentError, Result}; pub use orao::{ ActionExecutor, ActionType, ActionResult, ActionVerdict, OraoConfig, OraoExecutor, OraoExecutorBuilder, OraoOutcome, OraoStep, PerceptionSnapshot, PlannedAction, ReasoningOutput, RoundRecord, SafetyLevel, }; pub use perception::{PerceptionService, SkillContext, SkillEntry, ToolCallEvent}; pub use react::{ReactConfig, ReactStep, DEFAULT_SYSTEM_PROMPT, ROOM_CONTEXT_PROMPT}; pub use skills::{ all_skill_slugs, all_skills, get_skill, get_skill_by_tool, is_built_in_skill, match_skill_by_keyword, skills_by_category, BuiltInSkill, SKILL_TEMPLATES, }; pub use sync::list_accessible_models; pub use task::TaskService; pub use tokent::{resolve_usage, TokenUsage}; pub use tool::{ ToolCall, ToolCallRecord, ToolCallRecorder, ToolCallResult, ToolContext, ToolDefinition, ToolError, ToolExecutor, ToolHandler, ToolParam, ToolRegistry, ToolResult, ToolSchema, }; #[cfg(feature = "rig")] pub use agent::RigAgentService; #[cfg(feature = "rig")] pub use tool::{is_retryable_tool_error, RecordingTool, RigToolSet};