mod ai_trace_queries;
mod ai_trace_service;
mod audit_queries;
mod list_queries;
mod log_lookup_queries;
mod log_search_queries;
mod log_summary_queries;
mod mcp_trace_queries;
mod models;
mod queries;
mod request_queries;
mod request_stats_queries;
mod service;
mod step_queries;
mod tool_queries;
pub use ai_trace_service::AiTraceService;
pub use models::{
AiRequestDetail, AiRequestFilter, AiRequestInfo, AiRequestListItem, AiRequestStats,
AiRequestSummary, AuditLookupResult, AuditPage, AuditToolCallRow, ConversationMessage,
ExecutionStep, ExecutionStepSummary, LevelCount, LinkedMcpCall, LogSearchFilter, LogSearchItem,
LogTimeRange, McpExecutionSummary, McpToolExecution, ModelStatsRow, ModuleCount,
ProviderStatsRow, RequestCursor, RequestCursorError, TaskArtifact, TaskInfo,
ToolExecutionFilter, ToolExecutionItem, ToolLogEntry, TraceEvent, TraceListFilter,
TraceListItem,
};
pub use service::TraceQueryService;
#[derive(Debug, thiserror::Error)]
pub enum TraceError {
#[error("Database operation failed")]
Database(#[from] sqlx::Error),
#[error("Task not found: {partial_id}")]
TaskNotFound { partial_id: String },
}