#![warn(missing_docs)]
mod actions;
mod artifact_resolver;
mod backend;
mod display;
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, KeyFormat};
pub use backend::{BackendFactory, BackendRegistry};
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 reporter::{Reporter, ReporterError};
pub use runner::{Action, ActionError, ActionRegistry, ExecutionSummary, Executor, parse_params};
pub use transcript_sink::{
InMemorySink, JsonlFileSink, LoadedTranscript, TranscriptFingerprint, TranscriptSink,
TranscriptVerified, VerifyError, read_verified_transcript,
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::{resolve_artifact_bytes, resolve_backend_key};