car-messaging 0.48.0

Multi-channel messaging (iMessage + Slack) for the CAR daemon — approval transports (inbound poller/orchestrator, Slack wire parsing, per-channel config/allowlist/pairing) AND the general outbound send surface backing the runtime's messaging.send tool. Extracted from car-server-core (#418) to cut its test-binary link footprint.
//! Multi-channel messaging for the CAR daemon (iMessage + Slack) — both the
//! approval transports and the general outbound send surface.
//!
//! Two things live here, over one set of per-channel transports and one
//! per-channel config/allowlist/pairing store:
//!
//! - **Approval transports** ([`messaging_orchestrator`], [`slack_adapter`],
//!   [`channel_supervisor`], [`fanout`]) — an agent asks, a human answers
//!   approve/deny on their own device.
//! - **General outbound** ([`outbound`]) — the host side of the runtime's
//!   `messaging.send` tool, so "message a human" is a governed runtime
//!   capability (validator → policy → rate limit → eventlog) instead of a
//!   transport each agent hand-rolls where the policy engine cannot see it.
//!
//! Extracted from `car-server-core` (#418) so its heavy test binaries stop
//! inflating CI link/disk. Depends on `car-server-types` (HostState, channel,
//! approval) and on `car-engine` for the `MessageSink` seam — NOT on the
//! dispatcher, so there is no cycle.

pub mod channel_supervisor;
pub mod fanout;
pub mod messaging_config;
pub mod messaging_orchestrator;
pub mod outbound;
pub mod slack_adapter;