#![forbid(unsafe_code)]
#![allow(clippy::multiple_crate_versions, clippy::cargo_common_metadata)]
pub mod error;
pub mod events;
pub mod executor;
pub mod hook;
pub mod host_abi;
pub mod ir;
pub mod manifest;
pub mod subcommand;
pub use error::{ExitInfo, PluginError};
pub use events::{BuildEvent, PlanSummary, StdStream};
pub use executor::{ArchiveId, ArtifactRef, CacheDecision, ExecutorInput, SnapshotRef, StepResult};
pub use hook::{HookEvent, HookEventKind, HookOutcome, HookPhase};
pub use host_abi::{
ArchiveReadArgs, CallbackData, DockerCommitArgs, DockerExecArgs, DockerExtractArgs,
DockerStartArgs, KeyringArgs, KeyringSetArgs, KvScope, Level, LoopbackHandle, LoopbackRecvArgs,
SocketHandle, SocketReadArgs, SocketWriteArgs, TtyConfirmArgs, TtyPromptArgs,
};
pub use ir::{Cache, CommandStep, Pipeline, Step, WaitStep};
pub use manifest::{
Capability, ClapJson, JsonSchema, LifecycleHookSpec, OutputFormatterSpec, PluginManifest,
StepExecutorSpec, SubcommandSpec,
};
pub use subcommand::SubcommandInput;
pub const HM_PLUGIN_API_VERSION: u32 = 1;