systemprompt-traits 0.6.1

Trait-first interface contracts for systemprompt.io AI governance infrastructure. Repository, provider, and service abstractions shared across the MCP governance pipeline.
Documentation
//! Startup event channel and re-exports.
//!
//! Submodules:
//! - [`events`](self) — the [`StartupEvent`] enum;
//! - [`types`](self) — [`Phase`], [`ServiceInfo`], [`ModuleInfo`];
//! - [`ext`](self) — extension traits ([`StartupEventExt`],
//!   [`OptionalStartupEventExt`]) for emitting events ergonomically.

mod events;
mod ext;
mod types;

pub use events::StartupEvent;
pub use ext::{OptionalStartupEventExt, StartupEventExt};
pub use types::{ModuleInfo, Phase, ServiceInfo, ServiceState, ServiceType};

use futures::channel::mpsc;

pub type StartupEventSender = mpsc::UnboundedSender<StartupEvent>;

pub type StartupEventReceiver = mpsc::UnboundedReceiver<StartupEvent>;

pub fn startup_channel() -> (StartupEventSender, StartupEventReceiver) {
    mpsc::unbounded()
}