1#![doc = include_str!(concat!(env!("OUT_DIR"), "/README_GENERATED.md"))]
2#![deny(unused_crate_dependencies)]
3
4pub mod access;
5pub mod cache_config;
6pub mod cache_metrics;
7pub mod contracts;
8pub(crate) mod cors;
9pub mod debug_switches;
10pub mod domain;
11pub mod download;
12pub mod events;
13pub mod is_local_origin;
14pub mod normalize;
15pub mod paths;
16pub mod ports;
17pub mod request_pipeline;
18pub mod retry;
19pub mod server_config;
20pub mod services;
21pub mod settings;
22pub mod sse;
23pub mod telemetry;
24pub mod utils;
25
26pub use access::{ApiKeySource, ProxyAccessConfig};
28pub use cors::CorsConfig;
29pub use domain::{
30 AGENT_EVENT_CHANNEL_CAPACITY, AgentConfig, AgentEvent, AgentMessage, AssistantContent,
31 ChatMessage, Conversation, ConversationUpdate, DEFAULT_MAX_ITERATIONS,
32 DEFAULT_MAX_STAGNATION_STEPS, LlmStreamEvent, LoopDetector, MAX_ITERATIONS_CEILING,
33 MAX_PARALLEL_TOOLS_CEILING, MAX_TOOL_TIMEOUT_MS_CEILING, McpEnvEntry, McpLifecycle, McpServer,
34 McpServerConfig, McpServerStatus, McpServerType, McpTool, McpToolResult, Message,
35 MessageContent, MessageRole, Model, ModelCapabilities, ModelFilterOptions, NameSource,
36 NewConversation, NewMcpServer, NewMessage, NewModel, StagnationDetector, ToolCall,
37 ToolDefinition, ToolIndex, ToolResult, repo_short_name, resolve_model_name, strip_gguf_suffix,
38 transform_messages_for_capabilities,
39};
40pub use download::{
41 AttemptCounts, CompletionDetail, CompletionKey, CompletionKind, DownloadError, DownloadEvent,
42 DownloadId, DownloadStatus, DownloadSummary, FailedDownload, Quantization, QueueRunSummary,
43 QueueSnapshot, QueuedDownload, ShardInfo,
44};
45pub use events::{AppEvent, ModelSummary};
46pub use ports::{
47 AgentError, AgentLoopPort, AgentRunOutput, AppEventEmitter, ChatHistoryError,
48 ChatHistoryRepository, CompletedDownload, CoreError, DownloadManagerConfig,
49 DownloadManagerPort, DownloadRequest, EmptyToolExecutor, FilteredToolExecutor,
50 GgufCapabilities, GgufMetadata, GgufParseError, GgufParserPort, HfClientPort, HfFileInfo,
51 HfPortError, HfQuantInfo, HfRepoInfo, HfSearchOptions, HfSearchResult, JinjaMode,
52 LlmCompletionPort, McpRepositoryError, McpServerRepository, McpServiceError,
53 ModelRegistrarPort, ModelRepository, NoopEmitter, NoopGgufParser, ProcessHandle,
54 QuantizationResolver, Repos, RepositoryError, Resolution, ResolvedFile, ServerConfig,
55 SettingsRepository, ToolExecutorPort, UsageSink,
56};
57pub use services::{ChatHistoryService, ModelRegistrar};
58pub use settings::{
59 DAEMON_PORT, DEFAULT_CONTEXT_SIZE, DEFAULT_LLAMA_BASE_PORT, DEFAULT_PROXY_PORT,
60 DEFAULT_REMOTE_PORT, Device, LoopGuardMode, RemotePairing, RemoteServe, Settings,
61 SettingsUpdate, validate_settings,
62};
63
64pub use is_local_origin::is_local_origin;
66
67pub use utils::timing::{elapsed_ms, format_duration_human};
69
70pub use paths::{
71 DirectoryCreationStrategy, ModelsDirSource, PathError, data_root, database_path,
72 default_models_dir, ensure_directory, is_prebuilt_binary, llama_config_path, llama_cpp_dir,
73 llama_server_path, persist_models_dir, resolve_models_dir, resource_root,
74};
75
76#[cfg(test)]
78use mockall as _;
79#[cfg(test)]
80use tokio_test as _;