Skip to main content

Interface: KernelConfig

Defined in: packages/workflow-engine/src/kernel/kernel.ts:145

Properties​

blobStore​

blobStore: BlobStore

Defined in: packages/workflow-engine/src/kernel/kernel.ts:147


clock​

clock: Clock

Defined in: packages/workflow-engine/src/kernel/kernel.ts:150


eventSink​

eventSink: EventSink

Defined in: packages/workflow-engine/src/kernel/kernel.ts:149


executor?​

optional executor?: ActivityExecutor

Defined in: packages/workflow-engine/src/kernel/kernel.ts:152


idempotencyStaleInProgressMs?​

optional idempotencyStaleInProgressMs?: number

Defined in: packages/workflow-engine/src/kernel/kernel.ts:166

How long an idempotency key may sit in_progress before a subsequent dispatch is allowed to reclaim it. Guards against a dispatcher that crashed between committing its transaction and calling completeIdempotencyKey, which would otherwise leave the key permanently stuck and every future dispatch with that key throwing IdempotencyInProgressError. Defaults to 10 minutes. Set to Infinity to disable reclaiming.


jobTransport​

jobTransport: JobTransport

Defined in: packages/workflow-engine/src/kernel/kernel.ts:148


persistence​

persistence: Persistence

Defined in: packages/workflow-engine/src/kernel/kernel.ts:146


registry​

registry: WorkflowRegistry

Defined in: packages/workflow-engine/src/kernel/kernel.ts:151


services?​

optional services?: KernelServices

Defined in: packages/workflow-engine/src/kernel/kernel.ts:156

Optional services exposed lazily through stage contexts.


spillThresholdBytes?​

optional spillThresholdBytes?: number

Defined in: packages/workflow-engine/src/kernel/kernel.ts:182

Soft threshold, in bytes of serialised JSON, above which a durable step result is written to blobStore and the ledger row keeps only a reference. Defaults to DEFAULT_SPILL_THRESHOLD_BYTES (64 KiB).

There is no hard ceiling above it — a payload larger than the threshold is spilled, never rejected. Reads resolve the reference before the value reaches the stage, so ctx.step.run(...) returns what it stored either way. Set to Number.POSITIVE_INFINITY to keep every result inline; already-spilled results still resolve on read.

Job payloads use the same mechanism but are opt-in at wiring time, because the transport is shared with the host: see createSpillingJobTransport.


stepLedger?​

optional stepLedger?: StepLedger

Defined in: packages/workflow-engine/src/kernel/kernel.ts:154

Optional durable step storage. Stages without ctx.step need none.