#![deny(missing_docs)]
#![warn(clippy::all)]
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_variables)]
pub mod aas_parser;
pub mod analytics;
pub mod aspect_differ;
pub mod cache;
pub mod cloud_backends;
pub mod cloud_client;
pub mod cloud_storage;
pub mod codegen;
pub mod comparison;
pub mod documentation;
pub mod dtdl_parser;
pub mod error;
pub mod generators;
pub mod graph_analytics;
pub mod metamodel;
pub mod migration;
pub mod operation_mapper;
pub mod package;
pub mod parser;
pub mod performance;
pub mod production;
pub mod query;
pub mod query_cache;
pub mod serializer;
pub mod simd_ops;
pub mod submodel_templates;
pub mod templates;
pub mod transformation;
pub mod utils;
pub mod validation;
pub mod validator;
pub mod versioning;
pub mod vocabulary_mapper;
pub mod unit_catalog;
pub mod constraint_registry;
pub mod aspect_chain;
pub mod operation_registry;
pub mod unit_converter;
pub mod event_model;
pub mod aspect_export;
pub mod characteristic_validator;
pub mod aspect_validator;
pub mod model_serializer;
pub mod entity_resolver;
pub mod payload_generator;
pub mod property_mapper;
pub mod constraint_validator;
pub use analytics::{
Anomaly, AnomalyType, BenchmarkComparison, BenchmarkLevel, BestPracticeCheck,
BestPracticeReport, CheckCategory, ComplexityAssessment, ComplexityLevel, ConfidenceLevel,
CorrelationDirection, CorrelationInsight, CorrelationStrength, DependencyMetrics,
DistributionAnalysis, DistributionFit, DistributionParameters, DistributionStats,
DistributionType, ModelAnalytics, PropertyCorrelationMatrix, QualityTest, Recommendation,
RecommendationType, Severity, StatisticalAnomaly, StatisticalMetrics,
};
pub use cache::{
AspectCache, CacheStatistics, CharacteristicCache, EntityCache, LruModelCache, OperationCache,
PropertyCache, TtlCache, TtlCacheStatistics,
};
pub use cloud_client::{
CloudStorageClient, CloudStorageError, MockCloudStorage, RetryableCloudClient,
};
pub use cloud_storage::{
BatchResult, CacheStats, CloudModelStorage, CloudStorageBackend, MemoryBackend, ModelInfo,
ObjectMetadata,
};
pub use codegen::{
HttpMethod, JsonSchemaGenerator, JsonSchemaOptions, JsonSchemaValidator, OpenApiGenerator,
OpenApiOptions, ValidationError as JsonSchemaValidationError,
};
pub use comparison::{MetadataChange, MetadataChangeType, ModelComparison, PropertyChange};
pub use documentation::{DocumentationFormat, DocumentationGenerator, DocumentationStyle};
pub use dtdl_parser::parse_dtdl_interface;
pub use error::{ErrorCategory, Result, SammError, SourceLocation};
pub use generators::{GeneratedFile, MultiFileGenerator, MultiFileOptions, OutputLayout};
pub use graph_analytics::{
CentralityMetrics, ChangeMagnitude, ColorScheme, Community, Cycle, CycleBreakSuggestion,
GraphComparison, GraphMetrics, ImpactAnalysis, ModelGraph, RiskLevel, VisualizationStyle,
};
pub use metamodel::{Aspect, Characteristic, Entity, Operation, Property};
pub use migration::{MigrationOptions, MigrationResult, ModelMigrator, SammVersion};
pub use parser::{ErrorRecoveryStrategy, RecoveryAction, RecoveryContext, StreamingParser};
pub use performance::{BatchProcessor, ModelCache, PerformanceConfig};
pub use production::{
health_check, init_production, HealthCheck, HealthStatus, MetricsCollector, OperationType,
ProductionConfig,
};
pub use query::{ComplexityMetrics, Dependency, ModelQuery};
pub use query_cache::{CacheStatistics as QueryCacheStatistics, CachedModelQuery};
pub use serializer::{
serialize_aspect_to_file, serialize_aspect_to_jsonld_file, serialize_aspect_to_jsonld_string,
serialize_aspect_to_rdfxml_file, serialize_aspect_to_rdfxml_string, serialize_aspect_to_string,
JsonLdSerializer, RdfXmlSerializer, TurtleSerializer,
};
pub use templates::{
scaffolding::{ModelTemplate, TemplateBuilder, TemplateRegistry},
PostRenderHook, PreRenderHook, TemplateContext, TemplateEngine, ValidationHook,
};
pub use transformation::{ModelTransformation, TransformationRule};
pub use validation::{
SammSchemaValidator, SchemaValidationError, SchemaValidationWarning, ValidationReport,
ValidationRule,
};
pub use versioning::{AspectMigrationRegistry, AspectVersion, MigrationStep, VersionedAspect};
pub const SAMM_VERSION: &str = "2.3.0";
pub const SAMM_NAMESPACE: &str = "urn:samm:org.eclipse.esmf.samm";
pub const SAMM_C_NAMESPACE: &str = "urn:samm:org.eclipse.esmf.samm:characteristic";
pub const SAMM_E_NAMESPACE: &str = "urn:samm:org.eclipse.esmf.samm:entity";
pub const SAMM_U_NAMESPACE: &str = "urn:samm:org.eclipse.esmf.samm:unit";
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_samm_version() {
assert_eq!(SAMM_VERSION, "2.3.0");
}
#[test]
fn test_namespaces() {
assert!(SAMM_NAMESPACE.starts_with("urn:samm:"));
assert!(SAMM_C_NAMESPACE.contains("characteristic"));
assert!(SAMM_E_NAMESPACE.contains("entity"));
assert!(SAMM_U_NAMESPACE.contains("unit"));
}
}