Skip to main content

gglib_core/
lib.rs

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
26// Re-export commonly used types for convenience
27pub 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
64// Re-export origin validation utility
65pub use is_local_origin::is_local_origin;
66
67// Re-export timing utility
68pub 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// Silence unused dev-dependency warnings until we add mock-based tests
77#[cfg(test)]
78use mockall as _;
79#[cfg(test)]
80use tokio_test as _;