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