OptionalcreatedISO 8601. Present on status() projections (read from the stored snapshot).
OptionalerrorOptionalresultOptionalresumeRuntime-owned monotonic per-step resume ordinal (dot-joined step key ->
count). ABSENT for a step's first suspension (never resumed), 1 after
the first resume, 2 after the second, and so on. This is the grant
binding tie-breaker paired with suspendedAt: unlike resumedAt the
runtime increments it on EVERY resume regardless of payload, so it is
collision-free and cannot be erased by a same-ms suspendedAt collision or
a no-payload resume. Approval bridges copy it into
CreateApprovalInput.resumeCount.
OptionalresumedEpoch-ms resume time per dot-joined suspended step key (core clock).
INFORMATIONAL audit metadata only — NOT the grant-binding tie-breaker
(that is resumeCount). Mastra stamps it only on a payload-bearing
resume, so it is absent for a first suspension AND for any re-suspension
reached via a falsy resume; do not use its presence to tell a first
suspension from a re-suspension.
OptionalsuspendedSuspended step paths, e.g. [['approval']]. Present when status is 'suspended'.
OptionalsuspendedEpoch-ms suspension time per dot-joined suspended step key (core clock), e.g. { approval: 1751882400000 }. Present when status is 'suspended' and the snapshot recorded step timestamps. Approval bridges copy the resumed step's entry into CreateApprovalInput.suspendedAt so grant minting can bind the decision to this exact suspension (clock-free).
OptionalsuspendKeyed by suspended step id, e.g. { approval: { reason } }.
OptionalupdatedISO 8601. Present on status() projections (read from the stored snapshot).
JSON-safe projection of a workflow run outcome for HTTP transport.