Anchorage API reference
    Preparing search index...

    JSON-safe projection of a workflow run outcome for HTTP transport.

    interface RunSummary {
        createdAt?: string;
        error?: string;
        result?: unknown;
        resumeCount?: Record<string, number>;
        resumedAt?: Record<string, number>;
        runId: string;
        status: WorkflowRunStatus;
        suspended?: string[][];
        suspendedAt?: Record<string, number>;
        suspendPayload?: unknown;
        updatedAt?: string;
    }
    Index

    Properties

    createdAt?: string

    ISO 8601. Present on status() projections (read from the stored snapshot).

    error?: string
    result?: unknown
    resumeCount?: Record<string, number>

    Runtime-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.

    resumedAt?: Record<string, number>

    Epoch-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.

    runId: string
    status: WorkflowRunStatus
    suspended?: string[][]

    Suspended step paths, e.g. [['approval']]. Present when status is 'suspended'.

    suspendedAt?: Record<string, number>

    Epoch-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).

    suspendPayload?: unknown

    Keyed by suspended step id, e.g. { approval: { reason } }.

    updatedAt?: string

    ISO 8601. Present on status() projections (read from the stored snapshot).