---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/validation/types/interfaces/AdjacencyRule.md
description: >-
  Requires a first-kind primitive to be immediately followed by a permitted
  primitive.
---

# Interface: AdjacencyRule

Defined in: [src/batteries/validation/types.ts:108](https://github.com/NHTIO/ADK/blob/v1.20260824.1/src/src/batteries/validation/types.ts#L108)

Requires a first-kind primitive to be immediately followed by a permitted primitive.

## Remarks

The ADK's [Message](../../../../common/classes/Message.md) has no `payload` field, and its MessageRole documentation
says tool results never appear in persisted message history. Results live on [ToolCall](../../../../forge/classes/ToolCall.md)
itself, so the former field-correlation model could never resolve a tool result. This rule
therefore directly forbids selected kinds as the immediate successor.

## Properties

| Property                                                | Type                                                                  | Description                                                               | Defined in                                                                                                                          |
| ------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|  `disallowBetween` | [`OrderingPrimitiveKind`](../type-aliases/OrderingPrimitiveKind.md)\[] | Primitive kinds that may not immediately follow a `first`-kind primitive. | [src/batteries/validation/types.ts:116](https://github.com/NHTIO/ADK/blob/v1.20260824.1/src/src/batteries/validation/types.ts#L116) |
|  `first`                     | [`OrderingPrimitiveKind`](../type-aliases/OrderingPrimitiveKind.md)   | Primitive whose immediate successor is constrained.                       | [src/batteries/validation/types.ts:114](https://github.com/NHTIO/ADK/blob/v1.20260824.1/src/src/batteries/validation/types.ts#L114) |
|  `id`                           | `string`                                                              | Stable identifier used in violations.                                     | [src/batteries/validation/types.ts:112](https://github.com/NHTIO/ADK/blob/v1.20260824.1/src/src/batteries/validation/types.ts#L112) |
|  `type`                       | `"adjacency"`                                                         | Discriminator selecting the adjacency evaluator.                          | [src/batteries/validation/types.ts:110](https://github.com/NHTIO/ADK/blob/v1.20260824.1/src/src/batteries/validation/types.ts#L110) |
