pub mod backfill;
#[cfg(feature = "catalog")]
pub mod catalog;
pub mod completions;
pub mod conformance;
#[cfg(feature = "contract")]
pub mod contract;
#[cfg(feature = "cli-dev")]
pub mod dev;
pub mod discover;
pub mod dlq;
pub mod doctor;
pub mod explain;
pub mod fmt;
#[cfg(feature = "catalog")]
pub mod history;
pub mod init;
pub mod install;
pub mod list;
#[cfg(feature = "masking")]
pub mod masking;
pub mod migrate;
pub mod new;
#[cfg(feature = "notify")]
pub mod notify;
pub mod plan;
pub mod preview;
pub mod replicate;
pub mod run;
#[cfg(feature = "schedule")]
pub mod schedule;
pub mod schema;
pub mod search;
#[cfg(feature = "serve")]
pub mod serve;
pub mod test;
pub mod validate;
use crate::error::CliError;
pub fn report(err: &CliError) {
use crate::secrets::registry::redact;
eprintln!("error: {}", redact(&err.to_string()));
let mut src = std::error::Error::source(err);
while let Some(s) = src {
eprintln!(" caused by: {}", redact(&s.to_string()));
src = std::error::Error::source(s);
}
}