---
url: 'https://adk.nht.io/api/@nhtio/adk/common/interfaces/RawTurnGate.md'
description: 'Plain input object supplied to [`TurnGate`](https://adk.nht.io/api/@nhtio/adk/common/interfaces/TurnGate) at construction time.'
---

# Interface: RawTurnGate

Defined in: [lib/classes/turn\_gate.ts:24](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L24)

Plain input object supplied to [TurnGate](TurnGate.md) at construction time.

## Remarks

`turnId` and `abortSignal` are injected by the runner — callers constructing a gate via
`ctx.waitFor()` never supply them directly.

`abortSignal` is `AbortSignal` (not `AbortController`) because the gate reacts to turn-level
cancellation but cannot trigger it. The gate owns its own internal `AbortController` for
`gate.abort()`.

## Properties

| Property                                         | Type                                                      | Description                                                                                                                                                    | Defined in                                                                                                      |
| ------------------------------------------------ | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|  `abortSignal?` | `AbortSignal`                                             | The turn's abort signal. When fired the gate self-rejects with [@nhtio/adk!E\_TURN\_GATE\_ABORTED](../../exceptions/variables/E_TURN_GATE_ABORTED.md).            | [lib/classes/turn\_gate.ts:38](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L38) |
|  `createdAt`      | `string` | `number` | `Date` | `DateTime`<`boolean`> | When this gate was created.                                                                                                                                    | [lib/classes/turn\_gate.ts:40](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L40) |
|  `id`                    | `string`                                                  | Stable unique identifier for this gate.                                                                                                                        | [lib/classes/turn\_gate.ts:26](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L26) |
|  `payload`          | `unknown`                                                 | Arbitrary data supplied to the gate opener; passed through to `turnGateOpen` listeners.                                                                        | [lib/classes/turn\_gate.ts:32](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L32) |
|  `reason`            | `string`                                                  | Human-readable label describing why this gate was opened (e.g. `'tool_approval'`).                                                                             | [lib/classes/turn\_gate.ts:30](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L30) |
|  `schema?`           | `Schema`                                                  | Optional validator schema for the resolution value. When present, `resolve()` validates before settling.                                                       | [lib/classes/turn\_gate.ts:34](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L34) |
|  `timeout?`         | `number`                                                  | Optional timeout in milliseconds. When elapsed the gate self-rejects with [@nhtio/adk!E\_TURN\_GATE\_TIMEOUT](../../exceptions/variables/E_TURN_GATE_TIMEOUT.md). | [lib/classes/turn\_gate.ts:36](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L36) |
|  `turnId`            | `string`                                                  | The ID of the turn that opened this gate.                                                                                                                      | [lib/classes/turn\_gate.ts:28](https://github.com/NHTIO/ADK/blob/v1.20260605.0/src/lib/classes/turn_gate.ts#L28) |
