Expand description
Domain model and pluggable provider contract for aeronautical context.
This crate defines the provider-neutral types (model) and the
ContextProvider trait that every context-provider adapter implements
(aviationweather.gov, Leidos Flight Service, future European sources).
The assembled context serves a human pilot as a briefing and an AI agent
as grounded, attributable context.
§Capabilities
Every provider implements the ContextProvider identity trait, then
one capability trait per kind of context it serves:
WeatherBriefingProvider— area weather briefings (METAR/TAF/…), the only capability implemented today.OwnshipStatusProviderandControlCommandProvider— sibling capabilities, stubbed pending real sources.
Splitting by capability (not by provider) lets a new source — a future
European service, or a datalink source like FIS-B — implement only the
capabilities it offers, and lets each consumer depend only on the context
it needs. The weather data it returns (Briefing, Product,
model::ProductKind) is #[non_exhaustive], so it grows without
breaking existing adapters.
Re-exports§
pub use aircraft::AircraftProfile;pub use command::CommandAck;pub use command::ControlCommand;pub use command::ControlCommandProvider;pub use compare::Agreement;pub use compare::ComparisonReport;pub use compare::ProductComparison;pub use compare::ProductKey;pub use compare::SourcedValue;pub use compare::compare;pub use metar::CloudCover;pub use metar::CloudLayer;pub use metar::FlightCategory;pub use metar::MetarObservation;pub use model::Area;pub use model::AreaBriefingRequest;pub use model::Briefing;pub use model::GeoPoint;pub use model::Product;pub use model::ProductKind;pub use model::ValidPeriod;pub use navdata::AIRAC_CYCLE_DAYS;pub use navdata::Airspace;pub use navdata::AirspaceKind;pub use navdata::Airway;pub use navdata::AirwayLocation;pub use navdata::AirwayPoint;pub use navdata::AltitudeDatum;pub use navdata::AltitudeLimit;pub use navdata::ControlledClass;pub use navdata::FAA_NASR_CYCLE_DAYS;pub use navdata::FAA_NASR_SUBSCRIPTION_URL;pub use navdata::RestrictiveKind;pub use navdata::Runway;pub use navdata::RunwayEnd;pub use ownship::OwnshipStatus;pub use ownship::OwnshipStatusProvider;pub use provider::ContextProvider;pub use provider::ProviderError;pub use route_request::FlightRules;pub use route_request::RouteBriefingRequest;pub use route_request::RouteWaypoint;pub use weather::WeatherBriefingProvider;
Modules§
- aircraft
- Pilot-supplied aircraft performance, the input a route brief needs to turn distance into time, altitude, and fuel.
- command
- The control-command capability.
- compare
- Cross-source reconciliation of briefings with per-source attribution.
- geo
- Spherical geodesy on
GeoPoints. - metar
- Decoded METAR observation fields and the FAA flight-rules category.
- model
- Provider-neutral briefing domain types.
- navdata
- Cycle-aware navigation-point data.
- ownship
- The ownship-status capability.
- provider
- The shared context-provider identity contract.
- route_
request - The route-shaped briefing request: a corridor along an ordered set of waypoints, the seam that lets a provider answer for a whole flight instead of one area.
- weather
- The weather-briefing capability.