Skip to content

RungsOptions

Defined in: packages/core/src/service/create-rungs.ts:34

Host callbacks the service passes in. They may be sync or async.

readonly optional calendar?: Calendar

Defined in: packages/core/src/service/create-rungs.ts:40


readonly clock: () => Date

Defined in: packages/core/src/service/create-rungs.ts:37

Required: the core never reads a clock.

Date


readonly optional dispatchRetry?: object

Defined in: packages/core/src/service/create-rungs.ts:52

Backoff for failed deliveries. Default { baseDelay: "PT30S", maxDelay: "PT1H" }.

readonly optional baseDelay?: string

readonly optional maxDelay?: string


readonly optional events?: "outbox" | "discard"

Defined in: packages/core/src/service/create-rungs.ts:48

"discard" writes no outbox entries, for hosts that never consume events. Default "outbox".


readonly ids: () => string

Defined in: packages/core/src/service/create-rungs.ts:39

Required: generates request ids.

string


readonly optional isActiveUser?: (userId, ctx) => boolean | Promise<boolean>

Defined in: packages/core/src/resolution/collect.ts:32

Omitted: every user is active.

string

ResolveContext

boolean | Promise<boolean>

ResolutionHooks.isActiveUser


readonly optional onEvent?: (event) => void | Promise<void>

Defined in: packages/core/src/service/create-rungs.ts:46

Called after each commit, in seq order, at least once. A throw never fails the command. Without it, events stay in the outbox for a process that has it, e.g. a worker running dispatchPending (EC-58).

DomainEvent

void | Promise<void>


readonly optional onEventError?: (error, event, attempts) => void

Defined in: packages/core/src/service/create-rungs.ts:50

Called for each failed delivery; the event stays in the outbox and is retried later.

unknown

DomainEvent

number

void


readonly optional resolvers?: Readonly<Record<string, (args) => UserIds>>

Defined in: packages/core/src/resolution/collect.ts:30

ResolutionHooks.resolvers


readonly optional roles?: (role, ctx) => UserIds

Defined in: packages/core/src/resolution/collect.ts:29

string

ResolveContext

UserIds

ResolutionHooks.roles


readonly store: RungsStore

Defined in: packages/core/src/service/create-rungs.ts:35