- Split agent crate into client/, model/, agent/ subdirs - Add billing.rs for token usage recording - Add sync.rs for upstream model sync - EmbedService: Qdrant-backed vector memory for semantic search - ChatService: wire EmbedService for memory lookup, passive skill awareness - ReAct loop: streamline with tokio::select! and proper error handling
42 lines
1.3 KiB
Rust
42 lines
1.3 KiB
Rust
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 perception;
|
|
pub mod react;
|
|
pub mod sync;
|
|
pub mod task;
|
|
pub mod tokent;
|
|
pub mod tool;
|
|
pub use billing::{BillingRecord, record_ai_usage};
|
|
pub use sync::list_accessible_models;
|
|
pub use task::TaskService;
|
|
pub use tokent::{TokenUsage, resolve_usage};
|
|
pub use perception::{PerceptionService, SkillContext, SkillEntry, ToolCallEvent};
|
|
pub use chat::{
|
|
AiContextSenderType, AiRequest, AiStreamChunk, ChatService, Mention, RoomMessageContext,
|
|
StreamCallback,
|
|
};
|
|
pub use client::{AiCallResponse, AiClientConfig, call_with_params, call_with_retry};
|
|
pub use client::types::ChatRequestMessage;
|
|
pub use compact::{CompactConfig, CompactLevel, CompactService, CompactSummary, MessageSummary};
|
|
pub use embed::{new_embed_client, EmbedClient, EmbedService, QdrantClient, SearchResult};
|
|
pub use error::{AgentError, Result};
|
|
pub use react::{
|
|
Hook, HookAction, NoopHook, ReactAgent, ReactConfig, ReactStep, ToolCallAction, TracingHook,
|
|
DEFAULT_SYSTEM_PROMPT,
|
|
};
|
|
pub use tool::{
|
|
ToolCall, ToolCallResult, ToolContext, ToolDefinition, ToolError, ToolExecutor, ToolHandler, ToolParam,
|
|
ToolRegistry, ToolResult, ToolSchema,
|
|
};
|
|
|
|
#[cfg(feature = "rig")]
|
|
pub use agent::RigAgentService;
|
|
#[cfg(feature = "rig")]
|
|
pub use tool::rig_adapter::RigToolSet;
|