Delivery values
Look up stable transport, message, worker, and maintenance values.
Import these values from @runlane/contracts. Provider code should branch on enums, not copied strings.
Transport profiles
| Enum | Value | Meaning |
|---|---|---|
TransportDurability.BestEffort | best_effort | A positive publish result does not promise durable retention |
TransportDurability.Durable | durable | A positive result crossed the provider's durable boundary |
TransportOrdering.None | none | No cross-message order is promised |
TransportOrdering.Partition | partition | Accepted messages preserve order for one effective partition |
Transport limit fields are:
maxMessageBytesfor one logical message.maxPublishMessagesfor one publish call.
Publish outcomes
| Enum | Value | Meaning |
|---|---|---|
PublishOutcomeType.Published | published | The provider acknowledged one input message |
PublishOutcomeType.Failed | failed | The provider returned a reliable failure for one input |
A request failure without trustworthy item results rejects the call instead of inventing per-item outcomes.
Ordering applies only to messages with published outcomes. A failed item was not accepted into broker order; retrying it is a later publish, so it may follow messages that came after it in the original input.
Delivery dispositions
| Enum | Value | Provider action |
|---|---|---|
DeliveryDispositionType.Handled | handled | Acknowledge, delete, or commit the native message |
DeliveryDispositionType.Retry | retry | Preserve it for another delivery |
DeliveryDispositionType.Reject | reject | Apply configured terminal handling |
Canonical envelope
The current delivery envelope:
- has
type: "run_wakeup". - has
version: 1. - contains no user task payload.
- is limited by
contractDefaults.delivery.maxEnvelopeBytesto 65,536 UTF-8 bytes.
Treat it as opaque canonical bytes inside a transport provider.
Worker polling defaults
Storage-polling workers use:
| Default | Value |
|---|---|
contractDefaults.delivery.storagePollingEmptyPollDelay | 100ms |
contractDefaults.delivery.storagePollingMaximumEmptyPollDelay | 5s |
Wait-token and maintenance defaults
Omitting a wait-token idempotency TTL keeps the owner until the terminal token is pruned.
Both maintenance token limits default to 100:
contractDefaults.maintenance.waitTokenTimeoutLimit.contractDefaults.maintenance.waitTokenResumeLimit.
Token completion also attempts one linked-run resume for lower latency. Maintenance remains the recovery owner for all links left behind.
See build a transport provider and run maintenance for behavior behind these values.