pub mod access_control;
#[cfg(feature = "api")]
pub mod api;
pub mod audit;
pub mod benchmark;
pub mod blockchain;
pub mod cloud_envelope;
pub mod compliance;
pub mod config;
pub mod conversion;
pub mod crypto;
pub mod diff;
pub mod download;
pub mod error;
pub mod evaluation;
pub mod federation;
pub mod federation_transport;
pub mod formats;
pub mod gc;
pub mod gguf;
pub mod interop;
pub mod kms;
pub mod license_scan;
pub mod lineage_graph;
pub mod model_card;
pub mod multi_vault;
pub mod permissions;
pub mod plugins;
pub mod policies;
pub mod profiles;
pub mod quantization;
pub mod rag;
pub mod scanning;
pub mod scheduler;
pub mod signing;
pub mod storage;
pub mod tags;
pub mod telemetry;
#[cfg(feature = "otel")]
pub mod telemetry_otlp;
pub mod traits;
pub mod tui;
pub mod utils;
pub mod validation;
pub mod vault;
pub mod vault_bundle;
pub mod version;
#[cfg(feature = "sqlite")]
pub mod version_sqlite;
pub mod webhooks;
#[cfg(feature = "python")]
mod python;
pub use config::VaultConfig;
pub use conversion::{
ConversionOptions, ConversionPipeline, ConversionProgress, ConversionResult, Converter,
ValidationCheck, ValidationReport,
};
pub use crypto::streaming::{
decrypt_chunked, encrypt_chunked, is_chunked_format, StreamHeader, DEFAULT_CHUNK_SIZE,
HEADER_SIZE, STREAM_MAGIC, STREAM_VERSION,
};
pub use error::{ConversionError, CryptoError, Result, StorageError, VaultError};
pub use error::{
EXIT_AUTH, EXIT_COMPLIANCE, EXIT_CONFIG, EXIT_GENERAL, EXIT_INTEGRITY, EXIT_INVALID_INPUT,
EXIT_NOT_FOUND, EXIT_PERMISSION, EXIT_SUCCESS,
};
pub use model_card::{
CaveatsAndRecommendations, EnvironmentalImpact, EthicalConsiderations, Evaluation, IntendedUse,
Metric, ModelCard, ModelDetails, TrainingData,
};
pub use rag::{
Database, Document, DocumentStore, InMemoryDatabase, KnowledgeBase, KnowledgeBaseConfig,
MCPServer, MCPTool, RetrievalCache, Rule, RuleAction, RuleCondition, RuleEngine, ToolContext,
ToolExecutor, ToolResult,
};
pub use traits::{
AimvUri, AsyncBlobStore, AsyncBlobStoreAdapter, AuditLogSubscriber, AuditSink, BlobInfo,
BlobReceipt, BlobStore, BlobStoreStats, CryptoProvider, EventBus, EventSubscriber,
MetricsSnapshot, MetricsSubscriber, NullAuditSink, VaultEvent, VaultMetrics, VaultState,
VersionRepo,
};
pub use utils::{
CompressionAnalyzer, CompressionReport, ModelAnalysis, ModelAnalyzer, ModelArchive,
ModelDeduplicator, ModelExporter, PruningInfo, PruningMethod, QuantizationInfo,
QuantizationSavings, RetrievalOptimizer,
};
pub use vault::{Vault, VaultBuilder, VersionBackend};
pub use version::{ModelVersion, VersionControl};
#[cfg(feature = "sqlite")]
pub use version_sqlite::SqliteVersionRepo;
pub use benchmark::{BenchmarkRecord, BenchmarkResult, BenchmarkStore};
pub use diff::{DiffSummary, ModelDiff, ModelDiffer, TensorChange, TensorInfo};
pub use download::{ModelDownloader, ModelSource};
pub use interop::{
register_lm_studio, register_ollama, InferenceEngine, LmStudioOptions, OllamaOptions,
RegistrationResult,
};
pub use license_scan::{
DetectedLicense, LicenseClass, LicenseScanReport, LicenseScanner, LicenseSource,
};
pub use scanning::{PickleScanner, ScanFinding, ScanReport, Severity};
pub use signing::{ModelSignature, ModelSigner, SignatureVerification, SigningKeyPair};
pub use blockchain::{
AuditBlock, AuditProof, BlockchainAudit, ChainVerification, MerkleProof, MerkleTree,
ProofVerification,
};
pub use federation::{
ConflictResolution, FederationConfig, FederationManager, FederationStatus, PeerConfig,
SyncConflict, SyncManifest, SyncResult, VectorClock,
};
pub use access_control::{AclEntry, AclGuard, Role};
pub use gc::GcReport;
pub use kms::{is_kms_uri, KmsBackend, KmsRequest, KmsUri};
pub use lineage_graph::{DerivationKind, LineageEdge, LineageGraph};
pub use plugins::{PluginInfo, PluginManifest, PluginRegistry};
pub use policies::{PolicyReport, PolicyStore, RetentionPolicy};
pub use profiles::{Profile, ProfileStore};
pub use tags::{SearchQuery, SearchResult, TagStore};
pub use validation::{ValidationProbe, ValidationResult, ValidationStore};
pub use vault_bundle::{BundleManifest, ExportReport, ImportReport};
pub use webhooks::{WebhookPayload, WebhookStore, WebhookTarget};
pub use quantization::{
BatchQuantReport, QuantMethod, QuantProfile, QuantProfileStore, QuantResult,
};
pub use evaluation::{EvalComparison, EvalRun, EvalStore, MetricDelta, MetricResult};
pub use scheduler::{BackupFrequency, BackupManager, BackupRecord, BackupReport, BackupSchedule};
pub use multi_vault::{VaultEntry, VaultRegistry, VaultSummary};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");