/**
 * Channel-provider registry for `agents send` / `agents notify`.
 *
 * One primitive, many channels. A provider knows how to deliver a message over
 * exactly one channel — the agent mailbox, a rush-daemon gateway (telegram /
 * imessage / slack / discord), openclaw, or a future "app". Providers register
 * themselves at module load; the command layer only ever calls
 * `resolveChannelProvider(name).send(...)` — no channel is special-cased above
 * this seam, so new channels (apps) slot in without touching the command.
 */
const REGISTRY = new Map();
export function registerChannelProvider(p) {
    REGISTRY.set(p.name, p);
}
export function resolveChannelProvider(name) {
    return REGISTRY.get(name);
}
export function listChannelProviders() {
    return [...REGISTRY.keys()].sort();
}
