//! Facade that wires pluggable context providers together and reconciles
//! their answers.
//!
//! A consumer registers any number of `Arc<dyn ContextProvider>` (AWC,
//! Leidos, future European sources), [`gather`]s a briefing from each for
//! one request, and feeds the successful results to
//! [`compare()`](aerocontext_core::compare()) to see — per product, per
//! source — where the sources agree and where they disagree.

mod gather;

pub use aerocontext_awc::{AwcClient, AwcConfig};
pub use aerocontext_core::{
    Agreement, Area, AreaBriefingRequest, Briefing, CommandAck, ComparisonReport, ContextProvider,
    ControlCommand, ControlCommandProvider, GeoPoint, OwnshipStatus, OwnshipStatusProvider,
    Product, ProductComparison, ProductKey, ProductKind, ProviderError, SourcedValue, ValidPeriod,
    WeatherBriefingProvider, compare,
};
pub use aerocontext_leidos::{LeidosClient, LeidosConfig, PRODUCTION_ENDPOINT, TEST_ENDPOINT};
pub use gather::{GatherOutcome, gather, successful_briefings};
