#![forbid(unsafe_code)]
#![deny(missing_docs)]
mod capabilities;
mod claims;
mod errors;
mod identity;
mod metadata;
mod policy;
mod release_posture;
mod request;
mod result;
mod traits;
mod validation;
#[cfg(test)]
pub(crate) mod test_support;
#[cfg(any(test, feature = "test-backend"))]
pub mod test_backend;
pub use pleiades_types::{
Angle, Apparentness, Ayanamsa, CelestialBody, CelestialBodyClass, CoordinateFrame,
CoordinateValidationError, CustomAyanamsa, CustomBodyId, CustomDefinitionValidationError,
CustomHouseSystem, EclipticCoordinates, EquatorialCoordinates, HouseSystem, Instant, JulianDay,
Latitude, Longitude, Motion, MotionValidationError, ObserverLocation, TimeRange,
TimeRangeValidationError, TimeScale, TimeScaleConversion, TimeScaleConversionError, ZodiacMode,
};
pub use capabilities::{BackendCapabilities, BackendCapabilitiesValidationError};
pub use claims::{BodyClaim, BodyClaimTier, ClaimEvidence};
pub use errors::{EphemerisError, EphemerisErrorKind};
pub use identity::{AccuracyClass, BackendFamily, BackendFamilyPosture, BackendId};
pub use metadata::{
merge_body_claims, BackendMetadata, BackendMetadataValidationError, BackendProvenance,
BackendProvenanceValidationError,
};
pub use policy::current::{
validate_observer_policy, validate_request_against_metadata, validate_request_policy,
validate_requests_against_metadata, validate_zodiac_policy,
};
pub use policy::{FrameTreatmentSummary, FrameTreatmentSummaryValidationError};
pub use release_posture::ReleasePosture;
pub use request::EphemerisRequest;
pub use result::{EphemerisResult, EphemerisResultValidationError, QualityAnnotation};
pub use traits::{CompositeBackend, EphemerisBackend, RoutingBackend};