Add persistent chat session state (ChatState, sequence tracking, tool calls). Introduce basic billing record in agent crate. Refine chat service to route messages through state machine with tool support.
51 lines
1.9 KiB
Rust
51 lines
1.9 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 modes;
|
|
pub mod perception;
|
|
pub mod react;
|
|
pub mod skills;
|
|
pub mod sync;
|
|
pub mod task;
|
|
pub mod tokent;
|
|
pub mod tool;
|
|
pub use billing::{BillingRecord, BillingResult, 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 skills::{
|
|
BuiltInSkill, SKILL_TEMPLATES, all_skill_slugs, all_skills,
|
|
get_skill, get_skill_by_tool, is_built_in_skill, match_skill_by_keyword, skills_by_category,
|
|
};
|
|
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::{
|
|
EmbedClient, EmbedMemoryInput, EmbedService, QdrantClient, SearchResult, TagEmbedInput, new_embed_client,
|
|
};
|
|
pub use error::{AgentError, Result};
|
|
pub use modes::cot::{CotStep, COT_SYSTEM_PROMPT};
|
|
pub use modes::reflexion::{ReflexionCycle, ReflexionStep, REFLEXION_CRITIQUE_PROMPT, REFLEXION_REVISE_PROMPT, REFLEXION_SYSTEM_PROMPT};
|
|
pub use modes::rewoo::{ReWooPlan, ReWooStep, ReWooToolCall, REWOO_SYSTEM_PROMPT, extract_plan};
|
|
pub use modes::ModeStep;
|
|
pub use react::{ReactConfig, ReactStep, DEFAULT_SYSTEM_PROMPT};
|
|
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::{RigToolSet, RecordingTool, is_retryable_tool_error};
|