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//! - `model` - Model types (`Model`, `NewModel`)
9//! - `mcp` - MCP server types (`McpServer`, `NewMcpServer`, etc.)
10//! - `chat` - Chat conversation and message types
11//! - `gguf` - GGUF metadata and capability types
12//! - `capabilities` - Model capability detection and inference
13
14pub mod capabilities;
15pub mod chat;
16pub mod gguf;
17pub mod inference;
18pub mod mcp;
19mod model;
20
21// Re-export model types at the domain level for convenience
22pub use model::{Model, ModelFilterOptions, NewModel, RangeValues};
23
24// Re-export inference types at the domain level for convenience
25pub use inference::InferenceConfig;
26
27// Re-export MCP types at the domain level for convenience
28pub use mcp::{
29 McpEnvEntry, McpServer, McpServerConfig, McpServerStatus, McpServerType, McpTool,
30 McpToolResult, NewMcpServer, UpdateMcpServer,
31};
32
33// Re-export chat types at the domain level for convenience
34pub use chat::{
35 Conversation, ConversationUpdate, Message, MessageRole, NewConversation, NewMessage,
36};
37
38// Re-export GGUF types at the domain level for convenience
39pub use gguf::{
40 CapabilityFlags, GgufCapabilities, GgufMetadata, GgufValue, RawMetadata, ReasoningDetection,
41 ToolCallingDetection,
42};
43
44// Re-export capability types at the domain level for convenience
45pub use capabilities::{
46 ChatMessage, ModelCapabilities, infer_from_chat_template, transform_messages_for_capabilities,
47};