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 grpc_contract;
14pub mod mqtt_kafka_contracts;
15pub mod protocol_contracts;
16pub mod types;
17pub mod websocket_contract;
18
19pub use breaking_change_detector::BreakingChangeDetector;
20pub use budget_engine::DriftBudgetEngine;
21pub use consumer_mapping::{
22 AppType, ConsumerImpact, ConsumerImpactAnalyzer, ConsumerMapping, ConsumerMappingRegistry,
23 ConsumingApp, SDKMethod,
24};
25pub use field_tracking::{FieldCountRecord, FieldCountTracker};
26pub use fitness::{
27 FitnessEvaluator, FitnessFunction, FitnessFunctionRegistry, FitnessFunctionType, FitnessScope,
28 FitnessTestResult,
29};
30pub use grpc_contract::{diff_grpc_contracts, GrpcContract};
31pub use mqtt_kafka_contracts::{
32 diff_kafka_contracts, diff_mqtt_contracts, EvolutionRules, KafkaContract, KafkaTopicSchema,
33 MqttContract, MqttTopicSchema, SchemaFormat, TopicSchema,
34};
35pub use protocol_contracts::{
36 compare_contracts, extract_breaking_changes, ContractError, ContractMetadata,
37 ContractOperation, ContractRequest, OperationType, ProtocolContract, ProtocolContractRegistry,
38 ValidationError, ValidationResult,
39};
40pub use types::{
41 BreakingChangeRule, BreakingChangeRuleConfig, BreakingChangeRuleType, DriftBudget,
42 DriftBudgetConfig, DriftMetrics, DriftResult,
43};
44pub use websocket_contract::{
45 diff_websocket_contracts, MessageDirection, WebSocketContract, WebSocketMessageType,
46};