Expand description
Contract validation for ensuring API contracts match specifications Pillars: [Contracts]
Contract drift detection and budget management
This module provides functionality for tracking contract drift, managing drift budgets, and detecting breaking changes according to configurable rules.
Re-exports§
pub use breaking_change_detector::BreakingChangeDetector;pub use budget_engine::DriftBudgetEngine;pub use consumer_mapping::AppType;pub use consumer_mapping::ConsumerImpact;pub use consumer_mapping::ConsumerImpactAnalyzer;pub use consumer_mapping::ConsumerMapping;pub use consumer_mapping::ConsumerMappingRegistry;pub use consumer_mapping::ConsumingApp;pub use consumer_mapping::SDKMethod;pub use field_tracking::FieldCountRecord;pub use field_tracking::FieldCountTracker;pub use fitness::FitnessEvaluator;pub use fitness::FitnessFunction;pub use fitness::FitnessFunctionRegistry;pub use fitness::FitnessFunctionType;pub use fitness::FitnessScope;pub use fitness::FitnessTestResult;pub use grpc_contract::diff_grpc_contracts;pub use grpc_contract::GrpcContract;pub use mqtt_kafka_contracts::diff_kafka_contracts;pub use mqtt_kafka_contracts::diff_mqtt_contracts;pub use mqtt_kafka_contracts::EvolutionRules;pub use mqtt_kafka_contracts::KafkaContract;pub use mqtt_kafka_contracts::KafkaTopicSchema;pub use mqtt_kafka_contracts::MqttContract;pub use mqtt_kafka_contracts::MqttTopicSchema;pub use mqtt_kafka_contracts::SchemaFormat;pub use mqtt_kafka_contracts::TopicSchema;pub use protocol_contracts::compare_contracts;pub use protocol_contracts::extract_breaking_changes;pub use protocol_contracts::ContractError;pub use protocol_contracts::ContractMetadata;pub use protocol_contracts::ContractOperation;pub use protocol_contracts::ContractRequest;pub use protocol_contracts::OperationType;pub use protocol_contracts::ProtocolContract;pub use protocol_contracts::ProtocolContractRegistry;pub use protocol_contracts::ValidationError;pub use protocol_contracts::ValidationResult;pub use types::BreakingChangeRule;pub use types::BreakingChangeRuleConfig;pub use types::BreakingChangeRuleType;pub use types::DriftBudget;pub use types::DriftBudgetConfig;pub use types::DriftMetrics;pub use types::DriftResult;pub use websocket_contract::diff_websocket_contracts;pub use websocket_contract::MessageDirection;pub use websocket_contract::WebSocketContract;pub use websocket_contract::WebSocketMessageType;
Modules§
- breaking_
change_ detector - Breaking change detection logic
- budget_
engine - Drift budget evaluation engine
- consumer_
mapping - Consumer mapping for tracking endpoint → SDK method → consuming app relationships
- field_
tracking - Field count tracking for percentage-based drift budgets
- fitness
- Contract fitness functions for validating contract changes
- grpc_
contract - gRPC contract implementation for protocol-agnostic contract drift detection
- mqtt_
kafka_ contracts - MQTT and Kafka contract implementations for protocol-agnostic contract drift detection
- protocol_
contracts - Protocol-agnostic contract abstractions for multi-protocol drift detection
- types
- Core types for contract drift and budget management
- websocket_
contract - WebSocket contract implementation for protocol-agnostic contract drift detection