Runlane
ReferenceVocabulary

Delivery And Workers

Stable outbox, transport, worker, and delivery result values.

Delivery vocabulary spans contract-owned outbox state, transport publish outcomes, and public @runlane/core worker/runtime results. Use these values when building transports, worker orchestration, or operator views.

OutboxMessageStatus

EnumValueMeaning
OutboxMessageStatus.ClaimedclaimedA publisher owns the outbox row for a publish attempt.
OutboxMessageStatus.DeadLettereddead_letteredPublishing is terminally abandoned for this outbox row.
OutboxMessageStatus.FailedfailedLast publish attempt failed and the row may become available again.
OutboxMessageStatus.PendingpendingRow is waiting to be claimed for publish.
OutboxMessageStatus.PublishedpublishedTransport accepted the wakeup.

Outbox failure records use ErrorCode for code; provider-specific detail belongs in meta.

PathOutbox behavior
Default trigger()Persists the run and, when creation produced outbox rows, eagerly attempts to publish those new rows. Bounded queues produce outbox rows only after maintenance reserves dispatch capacity.
tick()Claims due pending or failed rows for maintenance flushes.
Retryable transport publish failureLeaves the run queued and marks the outbox row failed for later recovery.
Storage failure or non-transport publish errorRejects the trigger or maintenance call.
TriggerDispatchMode.DeferredPersists any trigger-created outbox rows and leaves publishing to tick().

dispatch.onTrigger

The default is contractDefaults.dispatch.onTrigger.

EnumValueMeaningDefault
TriggerDispatchMode.Eagereagertrigger() persists the run, then immediately attempts to publish any outbox rows created by that trigger.Yes
TriggerDispatchMode.Deferreddeferredtrigger() persists the run and any outbox rows created by that trigger, but publishing waits for tick() or another maintenance runner.No

WakeupPublishOutcomeType

EnumValueMeaning
WakeupPublishOutcomeType.FailedfailedProvider rejected the indexed wakeup publish attempt; the outcome carries an OutboxFailureRecord.
WakeupPublishOutcomeType.PublishedpublishedProvider accepted the indexed wakeup publish attempt; the outcome carries publishedAt and optional provider message id.

publishWakeups() returns outcomes by index, not by echoed ids: outcomes[index] is the result for command.attempts[index]. A returned result must include exactly one outcome for every attempted wakeup. Missing, extra, or malformed outcomes are adapter contract violations; operation-level transport outages should reject with TransportUnavailable or TransportPublishFailed instead.

WorkerMode

EnumValueMeaning
WorkerMode.DraindrainExecute currently due work until storage is idle or maxRuns is reached.
WorkerMode.PollpollKeep polling storage and sleeping on empty polls until stopped.

ExecuteDeliveryStatus

EnumValueMeaning
ExecuteDeliveryStatus.ExecutedexecutedThe delivered wakeup led to a persisted run outcome. Transport adapters can acknowledge it.
ExecuteDeliveryStatus.IgnoredignoredThe delivered wakeup was stale or not executable, but safe to acknowledge.

ExecuteDeliveryIgnoredReason

EnumValueMeaning
ExecuteDeliveryIgnoredReason.AbandonedabandonedThis worker started an attempt but lost lease ownership before it could persist the outcome.
ExecuteDeliveryIgnoredReason.AlreadyLeasedalready_leasedAnother worker currently owns the run lease.
ExecuteDeliveryIgnoredReason.ClaimLostclaim_lostStorage had due work, but the atomic lease claim did not succeed because another caller changed ownership, sequence, dispatch reservation, or capacity first.
ExecuteDeliveryIgnoredReason.NotDuenot_dueThe run exists but is scheduled for the future.
ExecuteDeliveryIgnoredReason.RunNotFoundrun_not_foundThe wakeup points at a run that no longer exists or was never persisted.
ExecuteDeliveryIgnoredReason.TerminalterminalThe run is already terminal.
ExecuteDeliveryIgnoredReason.WrongQueuewrong_queueThe delivered queue no longer matches the run's current queue.

Ignored delivery results are ack-safe. Framework, storage, projection, cancellation-before-claim, and persistence failures reject instead so provider integrations can retry or report batch item failure. Missing task or queue registration is persisted as a non-retryable run failure and returns ExecuteDeliveryStatus.Executed.

On this page