#![cfg_attr(docsrs, feature(doc_cfg))]
pub mod bus;
pub mod error;
pub mod judge;
pub mod model;
pub mod report;
pub mod tape;
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use bus::body::{
BodySource, PrepareMode, PrepareSpec, PreparedBody, encode_encoding, prepare_publish,
prepare_request,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use bus::describe::{DescribeSweep, describe_sweep};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::condition::{
CondWindow, Condition, DoctorWatch, Eval, RuleSet, RuleState, SweepOutcome, WatchdogSpec,
watchdog,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::doctor::{DoctorSpec, run_doctor};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::expect::{ExpectSpec, QosCheck, run_expect};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::field::{
DeclaredPaths, FieldObservation, FieldSpec, KeyFieldContext, KeyFields, PathStats, run_field,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::kind::{KeyKind, KindObservation, judge_kind};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use model::decode::{
DEFAULT_MAX_PRODUCERS, DecodedSample, DescribedSchema, Rendering, SchemaStore, Sealed,
StoreBounds, decode_sample, prewarm, schema_drift, schema_dump, schema_rows_for_type,
totality_gaps,
};
pub use sipper::{Sender, Sipper, Straw};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use tape::generate::{
GenPattern, GenSpec, MockProducer, build_plan, run_gen, serve_describe, synthetic_marker,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use tape::synth::Synth;
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use tape::trigger::{TriggerEvent, TriggerSpec, record_on, state_projection};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use zenkey::schema::validate::{NotValidated, Verdict};
pub use bus::admin::{
AdminEntry, admin_doc_omits_loopback, admin_get, admin_get_within, attach_tokens, consumers,
declared_entities, declared_entities_within, declared_entity_selectors, mesh_links,
origin_attachments, render_dot, routers, state_coverage, storages, subject_impact, topology,
};
#[cfg(feature = "blob")]
#[cfg_attr(docsrs, doc(cfg(feature = "blob")))]
pub use bus::blob::{BlobFetchSpec, FETCH_PRIORITY, blob_fetch, blob_probe, blob_tree_index};
pub use bus::blob::{BlobTarget, blob_list, declared_by};
pub use bus::discover::{AliveToken, discover_bases};
pub use bus::monitor::{
EventStream, FleetEvent, Monitor, MonitorCore, MonitorSpec, SampleSource, SampleView,
StampProvenance, StreamItem, WatchId,
};
pub use bus::producer::{BringUp, LiveProducer, ReservedError, Responder};
pub use bus::query::{
Answer, DEFAULT_MAX_REPLIES, FetchOutcome, FetchSpec, FetchedValue, FleetAnswer, GetOpts,
RepeatingQuery, RepeatingRegistry, ServedSlice, SnapshotReplies, StateSample,
declare_repeating, declare_repeating_any, fetch_stored, fetch_value, fleet_get, fleet_registry,
fleet_registry_by_origin, fleet_registry_raw, snapshot_get, state_snapshot,
};
pub use bus::roster::{
BridgeMatch, RosterChange, RosterWatch, apply_token, bridge_resolve, node_info, node_rows,
roster, token_identity,
};
pub use bus::scout::{ScoutStream, scout};
pub use bus::seed::{SeedItem, SeedPolicy, SeededSubscriber, seed_subscribe};
pub use bus::serve::{MockResponder, ServedQuery, declare_responder};
pub use bus::session::{
Fleet, OPEN_TIMEOUT, OpenFailure, open, open_reporting, open_reporting_within, open_with_config,
};
pub use bus::write::{
CallSpec, CallTarget, MatchingEvents, Publication, RetireClass, TraceSpec, call, call_traced,
check_retire, declare_publication,
};
pub use judge::budget::{BudgetObservation, join_budget};
pub use judge::common::{EXPANSION_CAP, data_plane_scopes, new_prefix};
pub use judge::doctor_delta::doctor_delta;
pub use judge::self_stats::{SelfStats, TableStats, judge_self_stats, read_self_stats};
pub use model::bounded::DEFAULT_MAX_KEYS;
pub use model::facts::{ClassKind, OriginKind, SubjectFacts, V1Facts};
pub use model::registry::{SliceSource, UnionOutcome};
pub use model::skeleton::{
DeclRef, Evidence, NodeStats, SkeletonChunk, SkeletonCoverage, SkeletonNode, merge,
};
pub use model::tree::{TreeNode, TreeRow, TreeRows};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use model::decode::{OBSERVE_LIMIT, structural, structural_value};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use model::infer::{
InferObservation, Provenance, draft_file_names, draft_schema_files, infer, to_draft_toml,
to_draft_types_toml,
};
pub use tape::record::{rfc3339_from_unix, rfc3339_now};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::condition::{SilenceEvidence, TickEvidence, judge_doctor_check, judge_origin_down};
pub use judge::retired::EntryEvidence;
pub use bus::teardown::DECLARE_TIMEOUT;
pub use error::{BoxedCause, Error, Result, one_line};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::field::DEFAULT_MAX_PATHS;
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use judge::why::is_cause;
pub use judge::cutover::run_cutover;
pub use judge::cutover::scope_note as cutover_scope_note;
pub use judge::retired::run_retired;
pub use judge::retired::scope_note as retired_scope_note;
pub use judge::why::{StoredLookup, StoredValue, WhyInputs, WhySpec, WireWatch, run_why};
pub use model::acl::{AclOptions, check_acl, explain_acl, plan_acl, to_json5 as acl_plan_json5};
pub use model::alert::alert_transition;
pub use model::consumers::{SubjectTarget, declaring_sessions, join_consumers, subject_target};
pub use model::diff::{ByteDiff, Change, ValueDiff, byte_diff, diff as value_diff};
pub use model::export::{
DEFAULT_MAX_SERIES, DoctorRun, ExportLedger, FIELD_CAP, FoldInputs, Observed, PayloadVerdict,
WILDCARD_EXCLUDES, excluded_by,
};
pub use model::facts::{
FactsCache, KeyDescription, KeyFacts, KeyShape, Registration, describe_key,
};
pub use model::impact::{ImpactInputs, MAX_DEPTH_CAP, attribute, entity_of};
pub use model::origin_map::{Label, MapError, MapPlan, OriginProfile, origin_profiles, plan_map};
pub use model::prom::{exposition, metric_name};
pub use model::registry::SliceSet;
pub use model::retain::{RetentionBudget, RetentionStats};
pub use model::skeleton::{MergedNode, NodeStatus, Skeleton};
pub use model::snapshot::{fold_latest, holder_of, registration_of, stamper_of};
pub use model::snapshot_diff::{DiffOpts, diff_normalized, diff_snapshots};
pub use model::stats::{KeyStats, StampClass, StatsTable};
pub use model::storage::{
check_storages, explain as explain_storage, plan_storages, to_json5 as storage_plan_json5,
};
pub use model::timeline::{
ArrivalAxis, ArrivalOrdering, Break, HlcAxis, HlcOrdering, HlcStamp, Ingested, Order, Placed,
PlacedBreak, SnLane, TimelineRow, Unstamped, Window, timeline,
};
pub use model::tree::KeyTreeSnapshot;
pub use report::{
AdminAnswer, AlertState, AlertTransition, AliasDoc, BenchReport, CallReport, CollapsedProducer,
ConsumerRow, ConsumersReport, Coverage, CoverageRow, CutoverReport, DeclaredEntities,
DeclaredEntity, DiscoveredBase, DoctorDelta, DoctorReport, DriftVerdict, EdgeDoc, EdgeEnd,
EdgeKind, EntityDoc, EntityKind, ExpectReport, ExportSnapshot, Fault, FieldReport, Freshness,
GenPlanEntry, GenReport, HelloView, ImpactReport, InferReport, InferredProducer,
InferredSubject, InferredType, Judgement, LatencyReport, LatencySummary, MeshLink, NodeInfo,
OriginAttachment, ProducerInfo, RecordReport, RenderSource, ReplayReport, RetiredReport,
RouterInfo, Rung, RungAnswer, SampleRow, SchemaDrift, SchemaServer, SeedCoverage, Snapshot,
SnapshotDiff, SnapshotReport, SnapshotRow, StorageInfo, SubjectImpact, TimelineReport,
TopologyEdge, TopologyNode, TopologyReport, TotalityGap, TraceReport, ValueSource, WhyReport,
WhyVerdict, ZrecHeader, ZsnapHeader, judgement_exit_code,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use report::WatchdogSummary;
pub use report::{CondState, PreRollInfo, PreambleInfo, PreambleSemantics, Transition};
pub use tape::bench::{BenchSpec, run_bench};
pub use tape::ingest::{IngestRow, StreamLine, parse_row, parse_stream_line};
pub use tape::record::{
PREAMBLE_SKIP_REASON, RecordBounds, ReplayEvent, ReplaySpec, ReplayTarget, SinkCounts,
ZREC_READS, ZREC_VERSION, ZrecItem, ZrecReader, ZrecSink, ZrecSource, ZrecWriter, record,
replay,
};
#[cfg(feature = "decode")]
#[cfg_attr(docsrs, doc(cfg(feature = "decode")))]
pub use tape::snapshot::{SnapshotSpec, Taken, take_snapshot};
pub use tape::snapshot::{ZSNAP_VERSION, ZsnapReader, ZsnapWriter, report_of as snapshot_report};
#[cfg(feature = "blob")]
#[cfg_attr(docsrs, doc(cfg(feature = "blob")))]
pub use zblob;
#[cfg(all(test, feature = "decode"))]
const _: () = {
const fn assert_send<T: Send>() {}
#[allow(dead_code)]
fn engine_futures_are_send() {
assert_send::<crate::Fleet<'_>>();
assert_send::<crate::SliceSet>();
assert_send::<crate::SchemaStore>();
assert_send::<crate::Monitor>();
assert_send::<crate::Error>();
}
};