Crate llm_registry_service

Crate llm_registry_service 

Source
Expand description

Service layer for LLM Registry

This crate provides the service layer that sits between the API and database layers. It implements business logic, orchestration, validation, and event emission.

§Architecture

The service layer is organized into the following components:

  • RegistrationService: Asset registration with validation and dependency resolution
  • SearchService: Search and query operations
  • ValidationService: Schema and policy validation
  • IntegrityService: Checksum computation and verification
  • VersioningService: Version management and conflict detection

§Example

use llm_registry_service::{
    RegistrationService, DefaultRegistrationService,
    ValidationService, DefaultValidationService,
    IntegrityService, DefaultIntegrityService,
    VersioningService, DefaultVersioningService,
    SearchService, DefaultSearchService,
};
use std::sync::Arc;

// Create service instances
let validation_service = Arc::new(DefaultValidationService::new(
    repository.clone(),
    event_store.clone(),
));

let integrity_service = Arc::new(DefaultIntegrityService::new(
    repository.clone(),
    event_store.clone(),
));

let versioning_service = Arc::new(DefaultVersioningService::new(
    repository.clone(),
    event_store.clone(),
));

let registration_service = Arc::new(DefaultRegistrationService::new(
    repository.clone(),
    event_store.clone(),
    validation_service.clone(),
    integrity_service.clone(),
    versioning_service.clone(),
));

let search_service = Arc::new(DefaultSearchService::new(repository.clone()));

Re-exports§

pub use error::ServiceError;
pub use error::ServiceResult;
pub use integrity::DefaultIntegrityService;
pub use integrity::IntegrityService;
pub use registration::DefaultRegistrationService;
pub use registration::RegistrationService;
pub use search::DefaultSearchService;
pub use search::SearchService;
pub use validation::DefaultValidationService;
pub use validation::ValidationService;
pub use versioning::DefaultVersioningService;
pub use versioning::VersioningService;
pub use dto::*;

Modules§

dto
Data Transfer Objects (DTOs) for service layer
error
Service-layer error types
integrity
Integrity verification service
registration
Registration service
search
Search service
validation
Validation service
versioning
Versioning service

Structs§

ServiceRegistry
Service registry that holds all service instances
ServiceRegistryBuilder
Builder for ServiceRegistry with custom configuration