pub mod channels;
mod jobqueue;
mod trait_;
pub use channels::{ChannelAdapter, ChannelError, JobQueueChannel, LogChannel, WebhookChannel};
pub use jobqueue::JobQueueEscalation;
pub use trait_::{
Escalation, EscalationError, EscalationFilter, EscalationId, EscalationState, EscalationTicket,
ProvenanceRef, Resolution, ResolutionOutcome, Severity,
};
pub fn audited_escalation(jobs: std::sync::Arc<dyn klieo_core::JobQueue>) -> JobQueueEscalation {
let base = JobQueueEscalation::new(jobs);
if let Some(ctx) = crate::run_context::current_run_context() {
base.with_audit(ctx.episodic, ctx.run_id)
} else {
base
}
}