#![allow(clippy::result_large_err)]
#![deny(missing_docs)]
pub mod access_control;
pub mod audit;
pub mod audit_storage;
pub mod backup;
pub mod builder;
pub mod cdn;
pub mod cloud_storage;
pub mod compression;
pub mod delta;
pub mod dependency;
pub mod dependency_installer;
pub mod dependency_lockfile;
pub mod dependency_solver;
pub mod diagnostics;
pub mod exporter;
pub mod format_compat;
pub mod governance;
pub mod importer;
pub mod lazy_resources;
pub mod manifest;
pub mod mirror;
pub mod monitoring;
pub mod optimization;
pub mod package;
pub mod profiling;
pub mod replication;
pub mod resources;
pub mod sandbox;
pub mod security;
pub mod storage;
pub mod syslog_integration;
pub mod utils;
pub mod version;
pub mod vulnerability;
#[cfg(feature = "async")]
pub mod async_ops;
pub mod registry;
pub use access_control::{
AccessCheckResult, AccessControlManager, AccessLevel, AclEntry, Organization,
OrganizationMembership, PackageOwnership, Permission, Role, User,
};
pub use audit::{
ActionResult, AuditEvent, AuditEventType, AuditListener, AuditLogConfig, AuditLogFormat,
AuditLogger, AuditQuery, AuditSeverity, AuditStatistics,
};
pub use audit_storage::{
AuditStorage, DatabaseStatistics, InMemoryStorage, PoolStatistics, PostgresStorage,
PostgresStorageConfig, SqliteStorage, SqliteStorageConfig, SslMode, StorageStatistics,
};
pub use backup::{
BackupConfig, BackupDestination, BackupManager, BackupMetadata, BackupStatistics,
BackupStrategy, RecoveryPoint, RetentionPolicy, VerificationResult,
};
pub use builder::{BuilderConfig, PackageBuilder};
pub use cdn::{
CacheControl, CdnConfig, CdnManager, CdnProvider, CdnRegion, CdnStatistics, EdgeNode,
EdgeNodeStatus,
};
pub use cloud_storage::{
AzureConfig, GcsConfig, MockAzureStorage, MockGcsStorage, MockS3Storage, S3Config,
};
pub use compression::{
AdvancedCompressor, CompressionAlgorithm, CompressionConfig, CompressionLevel,
CompressionResult, CompressionStats, CompressionStrategy, DecompressionResult,
ParallelCompressor,
};
pub use delta::{
DeltaOperation, DeltaPackageExt, DeltaPatch, DeltaPatchApplier, DeltaPatchBuilder,
};
pub use dependency::{
DependencyConflict, DependencyGraph, DependencyResolver, DependencySpec, LocalPackageRegistry,
PackageInfo, PackageRegistry, ResolutionStrategy, ResolvedDependency,
};
pub use dependency_installer::{
DownloadOptions, InstallationPlan, InstallationProgress, ParallelDependencyInstaller,
PlannedPackage,
};
pub use dependency_lockfile::{
LockedDependency, LockedPackage, LockfileGenerator, LockfileValidator, PackageLockfile,
};
pub use dependency_solver::{
Assignment, CdclSolver, DependencySatSolver, DependencySolution, SatClause, SatLiteral,
SatVariable, VersionConstraint,
};
pub use diagnostics::{
DiagnosticIssue, DiagnosticReport, HealthStatus, IssueCategory, IssueSeverity,
PackageDiagnostics, PackageStatistics, ResourceValidation, SecurityAssessment,
ValidationResult,
};
pub use exporter::{ExportConfig, PackageExporter};
pub use format_compat::{
FormatCompatibilityManager, FormatConverter, HuggingFaceConverter, PackageFormat,
PyTorchConverter,
};
pub use governance::{
ComplianceIssue, ComplianceLevel, ComplianceMetadata, ComplianceReport,
IssueSeverity as ComplianceIssueSeverity, LineageEdge, LineageQueryResult, LineageRelation,
LineageStatistics, LineageTracker, ProvenanceInfo, TransformationRecord,
};
pub use importer::{ImportConfig, PackageImporter};
pub use lazy_resources::{
EvictionStrategy, LazyResource, LazyResourceManager, MappedResource, ResourceStreamWriter,
StreamingResource,
};
pub use manifest::{ModuleInfo, PackageManifest, ResourceInfo};
pub use mirror::{
FailoverConfig, Mirror, MirrorConfig, MirrorHealth, MirrorManager, MirrorSelection,
MirrorStatistics, SelectionStrategy, SyncStatus,
};
pub use monitoring::{
Alert, AlertSeverity, AlertThreshold, AnalyticsReport, MetricPoint, MetricType,
MetricsCollector, PackageStats, RegionStats, TimeSeries, TimeSeriesStats, UserStats,
};
pub use optimization::{
CompressibleResource, CompressionAnalysis, DeduplicationAnalysis, OptimizationOpportunity,
OptimizationReport, OptimizationType, PackageOptimizer,
};
pub use package::Package;
pub use profiling::{
global_profiler, profile, OperationProfiler, PackageOperation, ProfileEntry, ProfileGuard,
ProfileStats,
};
pub use replication::{
ConflictResolution, ConsistencyLevel, NodeStatus, OperationStatus, ReplicaMetadata,
ReplicationConfig, ReplicationConflict, ReplicationManager, ReplicationNode,
ReplicationOperation, ReplicationStatistics, ReplicationStrategy,
};
pub use resources::{Resource, ResourceType};
pub use sandbox::{
CapabilitySet, FilesystemPolicy, NetworkPolicy, PortRange, ResourceLimits, ResourceMonitor,
ResourceUsageStats, Sandbox, SandboxConfig, SandboxResult, SandboxViolation, ViolationSeverity,
ViolationType,
};
pub use security::{
EncryptedPackage, EncryptionAlgorithm, PackageEncryptor, PackageSignature, PackageSigner,
SignatureAlgorithm,
};
pub use storage::{LocalStorage, StorageBackend, StorageManager, StorageObject, StorageStats};
pub use syslog_integration::{
SyslogClient, SyslogConfig, SyslogFacility, SyslogProtocol, SyslogSeverity, SyslogStatistics,
SyslogTransport,
};
#[cfg(feature = "with-nn")]
pub use utils::export_module;
pub use utils::{
calculate_checksum, calculate_hash, estimate_compression_ratio, format_file_size,
get_file_extension, get_relative_path, import_module, is_safe_path, normalize_path,
parse_content_type, sanitize_filename, validate_package_metadata, validate_package_name,
validate_resource_path, validate_version, verify_checksum, MemoryStats, PerformanceTimer,
};
pub use version::{CompatibilityChecker, PackageVersion, VersionComparator, VersionRequirement};
pub use vulnerability::{
IssueType, ScanPolicy, ScanReport, SecurityIssue, Severity, VulnerabilityScanner,
};
#[cfg(feature = "async")]
pub use async_ops::{AsyncPackageLoader, AsyncPackageSaver, BackgroundProcessor, DownloadProgress};
pub use registry::{PackageCache, PackageMetadata, RegistryClient, RegistryConfig, SearchResult};
pub const PACKAGE_FORMAT_VERSION: &str = "1.0.0";
pub const PACKAGE_EXTENSION: &str = "torshpkg";
pub const DEFAULT_MAX_PACKAGE_SIZE: usize = 1024 * 1024 * 1024;
pub const DEFAULT_MAX_RESOURCES: usize = 10000;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_constants() {
assert_eq!(PACKAGE_FORMAT_VERSION, "1.0.0");
assert_eq!(PACKAGE_EXTENSION, "torshpkg");
assert!(DEFAULT_MAX_PACKAGE_SIZE > 0);
assert!(DEFAULT_MAX_RESOURCES > 0);
}
#[test]
fn test_format_version_parsing() {
let version = semver::Version::parse(PACKAGE_FORMAT_VERSION).unwrap();
assert_eq!(version.major, 1);
assert_eq!(version.minor, 0);
assert_eq!(version.patch, 0);
}
}