mockforge_core/contract_drift/
mod.rs1pub mod breaking_change_detector;
9pub mod budget_engine;
10pub mod consumer_mapping;
11pub mod field_tracking;
12pub mod fitness;
13pub mod forecasting;
14pub mod grpc_contract;
15pub mod mqtt_kafka_contracts;
16pub mod protocol_contracts;
17pub mod threat_modeling;
18pub mod types;
19pub mod websocket_contract;
20
21pub use breaking_change_detector::BreakingChangeDetector;
22pub use budget_engine::DriftBudgetEngine;
23pub use consumer_mapping::{
24 AppType, ConsumerImpact, ConsumerImpactAnalyzer, ConsumerMapping, ConsumerMappingRegistry,
25 ConsumingApp, SDKMethod,
26};
27pub use field_tracking::{FieldCountRecord, FieldCountTracker};
28pub use fitness::{
29 FitnessEvaluator, FitnessFunction, FitnessFunctionRegistry, FitnessFunctionType, FitnessScope,
30 FitnessTestResult,
31};
32pub use forecasting::{
33 ChangeForecast, ForecastAggregationLevel, ForecastPattern, ForecastStatistics, Forecaster,
34 ForecastingConfig, PatternAnalysis, PatternAnalyzer, PatternSignature, PatternType,
35 SeasonalPattern, StatisticalModel,
36};
37pub use grpc_contract::{diff_grpc_contracts, GrpcContract};
38pub use mqtt_kafka_contracts::{
39 diff_kafka_contracts, diff_mqtt_contracts, EvolutionRules, KafkaContract, KafkaTopicSchema,
40 MqttContract, MqttTopicSchema, SchemaFormat, TopicSchema,
41};
42pub use protocol_contracts::{
43 classify_change, compare_contracts, extract_breaking_changes, generate_grpc_drift_report,
44 ChangeClassification, ContractError, ContractMetadata, ContractOperation, ContractRequest,
45 OperationType, ProtocolContract, ProtocolContractRegistry, ValidationError, ValidationResult,
46};
47pub use threat_modeling::{
48 AggregationLevel, DosAnalyzer, ErrorAnalyzer, PiiDetector, RemediationGenerator,
49 RemediationSuggestion, SchemaAnalyzer, ThreatAnalyzer, ThreatAssessment, ThreatCategory,
50 ThreatFinding, ThreatLevel, ThreatModelingConfig,
51};
52pub use types::{
53 BreakingChangeRule, BreakingChangeRuleConfig, BreakingChangeRuleType, DriftBudget,
54 DriftBudgetConfig, DriftMetrics, DriftResult,
55};
56pub use websocket_contract::{
57 diff_websocket_contracts, MessageDirection, WebSocketContract, WebSocketMessageType,
58};