#![deny(missing_docs)]
mod agent;
mod error;
mod git;
mod mcp_proxy;
mod runner;
mod watcher;
pub use agent::detect_agent;
pub use error::{RecordError, Result};
pub use git::GitMeta;
pub use mcp_proxy::{run_mcp_proxy, McpProxyOptions, McpProxyOutcome};
pub use runner::{run, RunOptions, RunOutcome};
pub use watcher::{spawn_watcher, watcher_smoke_test, WatchOptions, WatcherHandle};
#[cfg(feature = "fuzzing")]
pub use mcp_proxy::fuzzing;
pub use hh_core::store::Store;
pub(crate) fn make_blob_store(
store: &Store,
redactor: Option<std::sync::Arc<hh_core::redact::Detectors>>,
) -> hh_core::blob::BlobStore {
let root = store.blobs().root().to_path_buf();
match redactor {
Some(r) => hh_core::blob::BlobStore::with_redactor(root, r),
None => hh_core::blob::BlobStore::new(root),
}
}