Publish harness and TUI open-source

initial sync from the monorepo
This commit is contained in:
grokkybara[bot] 2026-07-16 06:46:02 +01:00
commit c68e39f604
2734 changed files with 1437016 additions and 0 deletions

View file

@ -0,0 +1,59 @@
use std::path::PathBuf;
/// Errors that can occur during hook loading, parsing, or execution.
#[derive(Debug, thiserror::Error)]
pub enum HookError {
#[error("failed to read hook file {path}: {source}")]
ReadFile {
path: PathBuf,
source: std::io::Error,
},
#[error("failed to parse hook file {path}: {detail}")]
ParseFile { path: PathBuf, detail: String },
#[error("hook {name} in {path}: invalid regex pattern: {source}")]
InvalidMatcher {
name: String,
path: PathBuf,
source: regex::Error,
},
#[error("hook {name} in {path}: lifecycle hooks ({event}) must not specify a matcher in v0")]
LifecycleMatcherNotAllowed {
name: String,
path: PathBuf,
event: String,
},
#[error("hook {name} timed out after {elapsed_ms}ms")]
Timeout { name: String, elapsed_ms: u64 },
#[error("hook {name} command failed: {source}")]
CommandFailed {
name: String,
source: std::io::Error,
},
#[error("hook {name} produced invalid output: {detail}")]
InvalidOutput { name: String, detail: String },
#[error("hook {name}: command not found or not executable: {path}")]
CommandNotFound { name: String, path: PathBuf },
#[error("hook {name} in {path}: {detail}")]
InvalidConfig {
name: String,
path: PathBuf,
detail: String,
},
#[error(
"hook {name} in {path}: unsupported handler type '{handler_type}', only 'command' is supported in v0"
)]
UnsupportedHandlerType {
name: String,
path: PathBuf,
handler_type: String,
},
}