---
url: >-
  https://adk.nht.io/api/@nhtio/adk/dispatch_runner/interfaces/RawDispatchRunnerInput.md
description: 'Plain input object supplied to [`DispatchRunner.dispatch`](https://adk.nht.io/api/@nhtio/adk/dispatch_runner/classes/DispatchRunner#dispatch).'
---

# Interface: RawDispatchRunnerInput

Defined in: [lib/dispatch\_runner.ts:60](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L60)

Plain input object supplied to [DispatchRunner.dispatch](../classes/DispatchRunner.md#dispatch).

## Remarks

Exactly one of `source` or `raw` is required:

* `source` — switches to the **derived path**. The runner snapshots primitives from the
  provided [@nhtio/adk!TurnContext](../../types/interfaces/TurnContext.md), wires all fetch/refresh/mutation callbacks to delegate to it,
  forwards emits back to its buses, and bubbles mutations to its Sets at the end of every
  iteration.

* `raw` — switches to the **standalone path**. The runner constructs an [@nhtio/adk!DispatchContext](../../types/interfaces/DispatchContext.md)
  directly from the provided raw input. No parent relationship exists; mutations are not bubbled.

The `executor` is the user-provided callback that performs the actual LLM API call between the
input and output middleware pipelines on every iteration.

## Properties

| Property                                                       | Type                                                                                                                                                                       | Description                                                                                                                                 | Defined in                                                                                                  |
| -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|  `executor`                      | [`DispatchExecutorFn`](../type-aliases/DispatchExecutorFn.md)                                                                                                              | User-provided callback that makes the LLM API call. Invoked between input and output pipelines on every iteration.                          | [lib/dispatch\_runner.ts:66](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L66) |
|  `hooks?`                           | [`DispatchRunnerFunctionalHookRegistrations`](../type-aliases/DispatchRunnerFunctionalHookRegistrations.md)                                                                | Optional functional hook registrations: message, thought, toolCall.                                                                         | [lib/dispatch\_runner.ts:72](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L72) |
|  `observers?`                   | [`DispatchRunnerObservabilityHookRegistrations`](../type-aliases/DispatchRunnerObservabilityHookRegistrations.md)                                                          | Optional observability hook registrations: lifecycle events + tool execution + error.                                                       | [lib/dispatch\_runner.ts:74](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L74) |
|  `raw?`                               | [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)<[`RawDispatchContext`](../../types/interfaces/RawDispatchContext.md), `"hooks"`> | Raw input for a standalone [@nhtio/adk!DispatchContext](../../types/interfaces/DispatchContext.md). Mutually exclusive with `source`.       | [lib/dispatch\_runner.ts:64](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L64) |
|  `source?`                         | [`TurnContext`](../../types/interfaces/TurnContext.md)                                                                                                                     | Source [@nhtio/adk!TurnContext](../../types/interfaces/TurnContext.md) to derive the execution context from. Mutually exclusive with `raw`. | [lib/dispatch\_runner.ts:62](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L62) |
|  `turnInputPipeline?`   | [`DispatchPipelineMiddlewareFn`](../type-aliases/DispatchPipelineMiddlewareFn.md)\[]                                                                                        | Input middleware functions, executed in order before the executor on every iteration.                                                       | [lib/dispatch\_runner.ts:68](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L68) |
|  `turnOutputPipeline?` | [`DispatchPipelineMiddlewareFn`](../type-aliases/DispatchPipelineMiddlewareFn.md)\[]                                                                                        | Output middleware functions, executed in order after the executor on every iteration.                                                       | [lib/dispatch\_runner.ts:70](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/dispatch_runner.ts#L70) |
