//! Common entity types shared across the Zesdex application. //! //! Contains pure data structures for conversations, messages, tool calls, //! usage statistics, provider API types (chat request/response, SSE stream), //! and store path configuration. All types derive `Serialize`/`Deserialize` //! and are persisted as JSON files. //! //! # Sub-modules //! //! - [`conversation`] — Ordered conversation (vector of `ChatMessage`) //! - [`message`] — `ChatMessage` + `Role` enum //! - [`provider`] — LLM provider API types: `ChatRequest`, `ChatResponse`, //! `StreamEvent`, `SseParser`, `ToolDef`, etc. //! - [`store`] — `Store` paths for data directories //! - [`tool_call`] — `ToolCall` + `ToolFunction` (function-calling request) //! - [`tool_result`] — `ToolCallResult` (function-calling response) //! - [`usage`] — `UsageStats` (token counts, costs) pub mod conversation; pub mod message; pub mod provider; pub mod store; pub mod tool_call; pub mod tool_result; pub mod usage; pub use conversation::Conversation; pub use message::{ChatMessage, Role}; pub use provider::{ ChatRequest, ChatResponse, Choice, SseParser, StreamEvent, StreamOptions, ToolDef, ToolFunctionDef, }; pub use store::Store; pub use tool_call::{ToolCall, ToolFunction}; pub use tool_result::ToolCallResult; pub use usage::UsageStats;