Setu-TS
    Preparing search index...

    Interface IInbox

    The consumer inbox, registered under CAPABILITIES.INBOX (inbox.<name> for a named messaging instance).

    The promise. For one consumer name, the handler's writes through the supplied unit of work are committed at most once per topic and envelope id while the marker is retained; a delivery after the marker is purged is processed again. Nothing is promised about effects outside that unit of work, about two processes using one consumer name with different handlers, or about a database other than the store's.

    The delivery path is internal; these are the operator's methods. Each is an operator capability: the application gates any route that calls it.

    0.9.0

    interface IInbox {
        parked(limit?: number): Promise<readonly ParkedInboxEntry[]>;
        purge(): Promise<number>;
        release(
            rowId: string,
            action: "retry" | "discard",
        ): Promise<InboxReleaseResult>;
    }
    Index
    • Deletes rows of every status — processed, discarded and parked markers and failure-count rows — last written before retainMs ago, at most purge.batch per status per run. The table stays within the window only while inflow per status stays below that rate.

      Returns Promise<number>

      The number of rows deleted

    • Releases a parked delivery. retry deletes the parked marker and answers the stored envelope; re-publish it with broker.publish(topic, envelope) — WITHOUT a deduplicationId, which NATS and Service Bus would use to drop the re-publish — and the next delivery runs the handler. discard keeps the marker as discarded with its envelope cleared, so redeliveries stay skipped. The inbox never re-runs a handler itself: that would bypass the messaging behaviour chain.

      Parameters

      • rowId: string

        A marker id from IInbox.parked

      • action: "retry" | "discard"

        retry or discard

      Returns Promise<InboxReleaseResult>

      The topic, and for retry the envelope