Runlane
ReferenceContract values

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

EnumValueMeaning
TransportDurability.BestEffortbest_effortA positive publish result does not promise durable retention
TransportDurability.DurabledurableA positive result crossed the provider's durable boundary
TransportOrdering.NonenoneNo cross-message order is promised
TransportOrdering.PartitionpartitionAccepted messages preserve order for one effective partition

Transport limit fields are:

  • maxMessageBytes for one logical message.
  • maxPublishMessages for one publish call.

Publish outcomes

EnumValueMeaning
PublishOutcomeType.PublishedpublishedThe provider acknowledged one input message
PublishOutcomeType.FailedfailedThe 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

EnumValueProvider action
DeliveryDispositionType.HandledhandledAcknowledge, delete, or commit the native message
DeliveryDispositionType.RetryretryPreserve it for another delivery
DeliveryDispositionType.RejectrejectApply 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.maxEnvelopeBytes to 65,536 UTF-8 bytes.

Treat it as opaque canonical bytes inside a transport provider.

Worker polling defaults

Storage-polling workers use:

DefaultValue
contractDefaults.delivery.storagePollingEmptyPollDelay100ms
contractDefaults.delivery.storagePollingMaximumEmptyPollDelay5s

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.

On this page