#![warn(missing_docs)]
mod actions;
mod artifact_resolver;
mod backend;
mod clock;
mod display;
mod entropy;
mod executor;
mod expressions;
mod output_config;
mod protocol;
mod reporter;
mod runner;
mod state;
mod step_info;
mod system_info;
pub mod test_support;
mod transcript;
mod transcript_sink;
pub use executor::ExecutionError;
pub use actions::{ActionCategory, ActionMetadata, ArtifactValue};
pub use backend::{BackendFactory, BackendRegistry};
pub use clock::{Clock, SystemClock};
pub use protocol::{
ExecEvent, Icon, MaterialOverview, MaterialOverviewKind, PromptId, Response, UiCommand,
UiSignal,
};
pub use system_info::{
BackendVersion, BuildInfo, Disk, Environment, FeatureCheck, FeatureStatus, Hardening, HostInfo,
ParseError as SystemInfoParseError, StartupSnapshot, SystemInfo,
};
pub use display::{fact_summary, signal_summary, truncate_for_display};
pub use entropy::{
CeremonyRandom, DERIVATION_V1, Draw, MAX_DRAW_LEN, build_path, derive_value, fold_seed,
initial_seed,
};
pub use reporter::{Reporter, ReporterError};
pub use runner::{Action, ActionError, ActionRegistry, ExecutionSummary, Executor, parse_params};
pub use transcript_sink::{
EntropyVerified, InMemorySink, JsonlFileSink, LoadedTranscript, TimedFact,
TranscriptFingerprint, TranscriptSink, TranscriptVerified, VerifyError,
read_verified_transcript, verify_entropy, verify_transcript as verify_step_fact_transcript,
};
pub use state::{ExecutionState, HandlerContext, StepResult};
pub use step_info::StepInfo;
pub use output_config::OutputConfig;
pub use transcript::{compute_file_fingerprint, compute_fingerprint};
pub use expressions::{
evaluate, evaluate_expr_value, evaluate_expr_value_to_string, value_to_json,
};
pub use artifact_resolver::{BackendKeyMeta, resolve_artifact_bytes, resolve_backend_key};