gglib_core/domain/
mod.rs

1//! Core domain types.
2//!
3//! These types represent the pure domain model, independent of any
4//! infrastructure concerns (database, filesystem, etc.).
5//!
6//! # Structure
7//!
8//! - `agent` - Agent loop types (`AgentConfig`, `AgentMessage`, `AgentEvent`, etc.)
9//! - `model` - Model types (`Model`, `NewModel`)
10//! - `mcp` - MCP server types (`McpServer`, `NewMcpServer`, etc.)
11//! - `chat` - Chat conversation and message types
12//! - `gguf` - GGUF metadata and capability types
13//! - `capabilities` - Model capability detection and inference
14
15pub mod agent;
16pub mod capabilities;
17pub mod chat;
18pub mod gguf;
19pub mod inference;
20pub mod mcp;
21mod model;
22
23// Re-export model types at the domain level for convenience
24pub use model::{Model, ModelFile, ModelFilterOptions, NewModel, NewModelFile, RangeValues};
25
26// Re-export inference types at the domain level for convenience
27pub use inference::InferenceConfig;
28
29// Re-export MCP types at the domain level for convenience
30pub use mcp::{
31    McpEnvEntry, McpServer, McpServerConfig, McpServerStatus, McpServerType, McpTool,
32    McpToolResult, NewMcpServer, UpdateMcpServer,
33};
34
35// Re-export chat types at the domain level for convenience
36pub use chat::{
37    Conversation, ConversationUpdate, Message, MessageRole, NewConversation, NewMessage,
38};
39
40// Re-export GGUF types at the domain level for convenience
41pub use gguf::{
42    CapabilityFlags, GgufCapabilities, GgufMetadata, GgufValue, RawMetadata, ReasoningDetection,
43    ToolCallingDetection,
44};
45
46// Re-export agent types at the domain level for convenience
47pub use agent::{
48    AGENT_EVENT_CHANNEL_CAPACITY, AgentConfig, AgentConfigError, AgentEvent, AgentMessage,
49    AssistantContent, DEFAULT_MAX_ITERATIONS, DEFAULT_MAX_PARALLEL_TOOLS, LlmStreamEvent,
50    MAX_ITERATIONS_CEILING, MAX_PARALLEL_TOOLS_CEILING, MAX_TOOL_TIMEOUT_MS_CEILING,
51    MIN_CONTEXT_BUDGET_CHARS, MIN_TOOL_TIMEOUT_MS, ToolCall, ToolDefinition, ToolResult,
52};
53
54// Re-export capability types at the domain level for convenience
55pub use capabilities::{
56    ChatMessage, ModelCapabilities, infer_from_chat_template, transform_messages_for_capabilities,
57};