Module ports

Module ports 

Source
Expand description

Port definitions (trait abstractions) for external systems.

Ports define the interfaces that the core domain expects from infrastructure. They contain no implementation details and use only domain types.

§Design Rules

  • No sqlx types in any signature
  • No process/filesystem implementation details
  • Traits are minimal and CRUD-focused for repositories
  • Intent-based methods for process runner (not implementation-leaking)

Re-exports§

pub use chat_history::ChatHistoryError;
pub use chat_history::ChatHistoryRepository;
pub use download::QuantizationResolver;
pub use download::Resolution;
pub use download::ResolvedFile;
pub use download_event_emitter::AppEventBridge;
pub use download_event_emitter::DownloadEventEmitterPort;
pub use download_event_emitter::NoopDownloadEmitter;
pub use download_manager::DownloadManagerConfig;
pub use download_manager::DownloadManagerPort;
pub use download_manager::DownloadRequest;
pub use download_state::DownloadStateRepositoryPort;
pub use event_emitter::AppEventEmitter;
pub use event_emitter::NoopEmitter;
pub use gguf_parser::GgufCapabilities;
pub use gguf_parser::GgufMetadata;
pub use gguf_parser::GgufParseError;
pub use gguf_parser::GgufParserPort;
pub use gguf_parser::NoopGgufParser;
pub use huggingface::HfClientPort;
pub use huggingface::HfFileInfo;
pub use huggingface::HfPortError;
pub use huggingface::HfQuantInfo;
pub use huggingface::HfRepoInfo;
pub use huggingface::HfSearchOptions;
pub use huggingface::HfSearchResult;
pub use mcp_dto::ResolutionAttempt;
pub use mcp_dto::ResolutionStatus;
pub use mcp_error::McpErrorCategory;
pub use mcp_error::McpErrorInfo;
pub use mcp_error::McpServiceError;
pub use mcp_repository::McpRepositoryError;
pub use mcp_repository::McpServerRepository;
pub use model_catalog::CatalogError;
pub use model_catalog::ModelCatalogPort;
pub use model_catalog::ModelLaunchSpec;
pub use model_catalog::ModelSummary;
pub use model_registrar::CompletedDownload;
pub use model_registrar::ModelRegistrarPort;
pub use model_repository::ModelRepository;
pub use model_runtime::ModelRuntimeError;
pub use model_runtime::ModelRuntimePort;
pub use model_runtime::RunningTarget;
pub use process_runner::ProcessHandle;
pub use process_runner::ProcessRunner;
pub use process_runner::ServerConfig;
pub use process_runner::ServerHealth;
pub use server_health::ServerHealthStatus;
pub use server_log_sink::ServerLogSinkPort;
pub use settings_repository::SettingsRepository;
pub use system_probe::SystemProbeError;
pub use system_probe::SystemProbePort;
pub use system_probe::SystemProbeResult;
pub use tool_support::ModelSource;
pub use tool_support::ToolFormat;
pub use tool_support::ToolSupportDetection;
pub use tool_support::ToolSupportDetectionInput;
pub use tool_support::ToolSupportDetectorPort;

Modules§

chat_history
Chat history repository port definition.
download
Download port definitions (trait abstractions).
download_event_emitter
Download event emitter port.
download_manager
Download manager port definition.
download_state
Download state repository port definition.
event_emitter
Event emitter trait for cross-crate event broadcasting.
gguf_parser
GGUF parser port definition.
huggingface
HuggingFace client port definitions.
mcp_dto
MCP DTOs for cross-boundary communication (Tauri, Axum, TypeScript).
mcp_error
MCP service error types.
mcp_repository
MCP server repository trait and error types.
model_catalog
Model catalog port for listing and resolving models.
model_registrar
Model registrar port definition.
model_repository
Model repository trait definition.
model_runtime
Model runtime port for proxy model management.
process_runner
Process runner trait definition.
server_health
Server health status types for monitoring.
server_log_sink
Server log sink port for structured log capture.
settings_repository
Settings repository trait definition.
system_probe
System probe port for dependency and GPU detection.
tool_support
Tool support detection port.

Structs§

Repos
Container for all repository trait objects.

Enums§

CoreError
Core error type for semantic domain errors.
ProcessError
Domain-specific errors for process runner operations.
RepositoryError
Domain-specific errors for repository operations.