hm_plugin_protocol/
lib.rs1#![forbid(unsafe_code)]
9#![allow(clippy::multiple_crate_versions, clippy::cargo_common_metadata)]
13
14pub mod error;
15pub mod events;
16pub mod executor;
17pub mod hook;
18pub mod host_abi;
19pub mod ir;
20pub mod manifest;
21pub mod subcommand;
22
23pub use error::{ExitInfo, PluginError};
24pub use events::{BuildEvent, PlanSummary, StdStream};
25pub use executor::{ArchiveId, ArtifactRef, CacheDecision, ExecutorInput, SnapshotRef, StepResult};
26pub use hook::{HookEvent, HookEventKind, HookOutcome, HookPhase};
27pub use host_abi::{
28 ArchiveReadArgs, CallbackData, DockerCommitArgs, DockerExecArgs, DockerExtractArgs,
29 DockerStartArgs, KeyringArgs, KeyringSetArgs, KvScope, Level, LoopbackHandle, LoopbackRecvArgs,
30 SocketHandle, SocketReadArgs, SocketWriteArgs, TtyConfirmArgs, TtyPromptArgs,
31};
32pub use ir::{Cache, CommandStep, Pipeline, Step, WaitStep};
33pub use manifest::{
34 Capability, ClapJson, JsonSchema, LifecycleHookSpec, OutputFormatterSpec, PluginManifest,
35 StepExecutorSpec, SubcommandSpec,
36};
37pub use subcommand::SubcommandInput;
38
39pub const HM_PLUGIN_API_VERSION: u32 = 1;