---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/orchestration/plan/functions/isPlanNode.md
---

# Function: isPlanNode()

```ts
function isPlanNode(v: unknown): v is PlanNode;
```

Defined in: [src/batteries/orchestration/plan.ts:62](https://github.com/NHTIO/ADK/blob/v1.20260906.0/src/src/batteries/orchestration/plan.ts#L62)

True when `v` is a well-shaped `PlanNode`.

## Parameters

| Parameter | Type      | Description        |
| --------- | --------- | ------------------ |
| `v`       | `unknown` | The value to test. |

## Returns

`v is PlanNode`

True when `v` is a `PlanNode`.

## Remarks

A shape guard, not a validator: it checks the closed union of `kind` values and the presence of
the `id`/`definition` fields, and does not descend into the definition (whose shape is the
freeze validator's job). `kind` must be one of the seven closed values; anything else is not a
plan node. `id` must be a string; `definition` must be a non-null object. Extra fields are
tolerated — a node may carry `phase`.
