mod anthropic;
mod client;
pub mod defaults;
mod hf;
mod models;
pub mod ollama;
pub mod ollama_api;
pub mod ollama_template;
mod openai;
mod protocol;
pub mod provider;
pub mod registry;
mod server;
pub mod spawn;
pub mod store;
mod tui;
pub mod ui;
pub use protocol::{
format_size, generate_completion_id, ChatChoice as IpcChatChoice, ChatCompletionParams,
ChatCompletionResponse as IpcChatCompletionResponse, ChatMessage,
CompletionChoice as IpcCompletionChoice, CompletionParams,
CompletionResponse as IpcCompletionResponse, DaemonStats, DaemonStatus, EmbeddingInput,
ErrorCode, MessageContent, ModelDetailedStats, ModelInfo, ModelLoadParams, ModelStatus, Request, Response,
Usage,
};
pub use models::{
estimate_model_memory, LoadedModel, MemoryEstimate, ModelConfig, ModelLoadConfig, ModelManager,
ModelStats, RequestGuard, DEFAULT_CONTEXT_POOL_SIZE,
};
pub use server::{
Daemon, DaemonBuilder, DaemonConfig, EvictionPolicy, HttpConfig, ModelDefaultsConfig,
ResourceConfig,
};
pub use store::{DaemonStore, StorageBackend};
pub use provider::{ModelProvider, ResolvedModelPath};
pub use openai::{
create_openai_router, ApiError, AppState, ChatChoice, ChatCompletionRequest,
ChatCompletionResponse, CompletionChoice, CompletionRequest, CompletionResponse,
EmbeddingObject, EmbeddingsRequest, EmbeddingsResponse, ErrorDetail, ErrorResponse,
ModelObject, ModelsResponse,
};
pub use client::{ChatResult, CompletionResult, DaemonClient};
pub use tui::TuiApp;
pub use hf::{
resolve_model_path, CachedModel, GgufFileInfo, HfDownloader, HfModelSpec, HfSearchResult,
};
pub use ollama::{
OllamaClient, OllamaManifest, OllamaModel, OllamaModelIndex, OllamaModelRef, OllamaParameters,
};
pub use ollama_template::ChatTemplate;
pub use registry::{
registry, resolve_model_name, ModelAlias, ModelRegistry, ParsedModelSpec, RegistryError,
ResolvedModel,
};
pub use anthropic::{
AnthropicMessage, AnthropicUsage, ContentBlock, MessageContent as AnthropicMessageContent,
MessagesRequest, MessagesResponse, ResponseContentBlock,
};
pub use spawn::{
daemon_status, ensure_daemon_running, is_daemon_running, spawn_daemon, stop_daemon, DaemonInfo,
SpawnConfig, SpawnResult,
};
pub use ui::{serve_ui, ui_available};
pub use defaults::{
get_default, list_default_infos, list_defaults, DefaultModel, DefaultModelInfo,
};
#[cfg(unix)]
pub const DEFAULT_SOCKET: &str = "ipc:///tmp/mullama.sock";
#[cfg(windows)]
pub const DEFAULT_SOCKET: &str = "ipc://mullama";
pub const DEFAULT_HTTP_PORT: u16 = 8080;
pub const DEFAULT_MODEL: &str = "default";