---
url: 'https://adk.nht.io/api/@nhtio/adk/batteries/media/interfaces/StepContext.md'
description: The mutable execution context threaded through interceptors and step impls.
---

# Interface: StepContext

Defined in: [src/batteries/media/runtime.ts:49](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L49)

The mutable execution context threaded through interceptors and step impls.

## Properties

| Property                                    | Modifier   | Type                                  | Description                                                                       | Defined in                                                                                                                  |
| ------------------------------------------- | ---------- | ------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|  `engines`     | `readonly` | [`EngineRegistry`](EngineRegistry.md) | The deployment's engine registry — ordered, capability-filtered dispatch.         | [src/batteries/media/runtime.ts:68](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L68) |
|  `payload`     | `public`   | [`StepPayload`](StepPayload.md)       | The input payload for this step.                                                  | [src/batteries/media/runtime.ts:57](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L57) |
|  `plan`           | `readonly` | [`MediaPlan`](MediaPlan.md)           | The whole plan being executed.                                                    | [src/batteries/media/runtime.ts:51](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L51) |
|  `signal?`      | `readonly` | `AbortSignal`                         | Abort signal threaded from the caller.                                            | [src/batteries/media/runtime.ts:59](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L59) |
|  `stash`         | `readonly` | `Map`<`string`, `unknown`>          | Scratchpad shared across the execution (interceptors may stash timings, hashes…). | [src/batteries/media/runtime.ts:61](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L61) |
|  `step`           | `readonly` | [`MediaStep`](MediaStep.md)           | The current step.                                                                 | [src/batteries/media/runtime.ts:55](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L55) |
|  `stepIndex` | `readonly` | `number`                              | Zero-based index of the current step.                                             | [src/batteries/media/runtime.ts:53](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L53) |

## Methods

### resolveRef()

```ts
resolveRef(id: string): Promise<StepPayload>;
```

Defined in: [src/batteries/media/runtime.ts:73](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L73)

Resolve another media participating in this step (merge/diff targets), by ref id.
Supplied by the pipeline from its configured media resolver.

#### Parameters

| Parameter | Type     |
| --------- | -------- |
| `id`      | `string` |

#### Returns

`Promise`<[`StepPayload`](StepPayload.md)>

***

### shortCircuit()

```ts
shortCircuit(payload: StepPayload): never;
```

Defined in: [src/batteries/media/runtime.ts:66](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/runtime.ts#L66)

Short-circuit this step: skip the implementation and continue the chain with `bytes`
(the cache idiom). Throws internally — call it, don't return it.

#### Parameters

| Parameter | Type                            |
| --------- | ------------------------------- |
| `payload` | [`StepPayload`](StepPayload.md) |

#### Returns

`never`
