Interface MeetingManagerStores

The stores and hooks a manager keeps its runs in.

interface MeetingManagerStores {
    runs: IRunStore;
    jobs: IJobStore;
    transcript: ITranscriptStore;
    events: IEventStore;
    outbox: IOutbox;
    entitlement: IEntitlementHook;
    clock: IClock;
    supplierUsageInbox?: IDurableInbox<PendingSupplierUsage>;
}

Properties

runs: IRunStore

The runs' rows.

jobs: IJobStore

The dispatch jobs and their leases.

transcript: ITranscriptStore

The runs' transcript turns.

events: IEventStore

The runs' events, numbered per run.

outbox: IOutbox

The events' deliveries to the product's destinations.

entitlement: IEntitlementHook

The product's billing: reserve, meter, settle, release.

clock: IClock

The clock the manager measures every limit on.

supplierUsageInbox?: IDurableInbox<PendingSupplierUsage>

Optional. Where supplier totals wait when the entitlement hook's recordSupplierUsage refuses them (a report's, or those a provider's usage answers at reconciliation), until the next MeetingManager.reconcile hands them over again; a durable inbox (SqlDurableInbox) keeps them across a restart. A refusal holds back no run either way: the report is applied, and a run whose worker is gone still ends. Without an inbox, the hook's error is thrown once the report is applied, or at the end of the reconcile pass.