/**
 * Recap Publisher Port
 *
 * Output port for publishing a generated contributor recap artifact to a
 * single channel. The use case fans out across `IRecapPublisher` adapters
 * (one per channel) using `Promise.allSettled` so a single channel failure
 * does not block the others (research decision 5, NFR-12).
 *
 * Each external side-effect is gated upstream through
 * `ISupervisorAgent.evaluate(...)` (NFR-5); the publisher trusts that gate.
 */
/**
 * Base error for recap publisher failures.
 */
export class RecapPublisherError extends Error {
    channel;
    constructor(message, channel, cause) {
        super(message);
        this.channel = channel;
        this.name = 'RecapPublisherError';
        Object.setPrototypeOf(this, new.target.prototype);
        if (cause)
            this.cause = cause;
    }
}
