Anchorage API reference
    Preparing search index...
    interface RunnerRuntimeOptions {
        executionFence?: ExecutionFenceStore;
        logger?: false | IMastraLogger;
        pubsub?: PubSub;
        requestContextForRun?: RequestContextProvider;
        startIdempotency?: StartIdempotencyStore;
        storage: MastraCompositeStore;
    }
    Index

    Properties

    executionFence?: ExecutionFenceStore

    The deployment execution fence (execution-fence.ts), consulted on EVERY start and resume. THIS is the closure guarantee for runs: a check here cannot be routed around by a surface that forgot to gate itself.

    Absent ⇒ unfenced.

    logger?: false | IMastraLogger
    pubsub?: PubSub

    The host Durable Object's single pubsub identity from do-runner/pubsub.ts, threaded here by init() alongside storage so a host that configures it reaches the runtime with no host change.

    Passed to core at workflow.createRun({ runId, pubsub }) and to Mastra at construction. The pubsub getter exposes the held identity so an agent runner sharing this isolate uses the same feed. When absent, core defaults a fresh emitter per run.

    requestContextForRun?: RequestContextProvider

    Consulted on every start/resume — see RequestContextProvider.

    startIdempotency?: StartIdempotencyStore

    The deployment's start reservations (start-idempotency.ts). The runtime neither creates nor claims one — the surfaces above it do — but it owns the terminal reconcile that marks a key spent.

    A reservation that never settles is not a correctness bug (replay still answers from the snapshot) but it never leaves the drain inventory and never becomes purgeable, so a deployment would eventually be unable to prove itself empty.

    Absent ⇒ no reconcile.

    storage: MastraCompositeStore