# `GenAI.Types.Graph`

GenAI.VNext.Graph Type Declarations.

# `graph`

```elixir
@type graph() :: term()
```

A GenAI.VNext.Graph Object

# `graph_id`

```elixir
@type graph_id() :: term()
```

A GenAI.VNext.Graph Object Identifier

# `graph_link`

```elixir
@type graph_link() :: term()
```

A GenAI.VNext.Graph Link Object

# `graph_link_id`

```elixir
@type graph_link_id() :: term()
```

A GenAI.VNext.Graph Link Object Identifier

# `graph_node`

```elixir
@type graph_node() :: term()
```

A GenAI.VNext.Graph Node Object

# `graph_node_id`

```elixir
@type graph_node_id() :: term()
```

A GenAI.VNext.Graph Node Object Identifier

# `link_label`

```elixir
@type link_label() :: term()
```

GenAI.VNext.Graph Link Label (e.g. "Log Output")

# `link_type`

```elixir
@type link_type() :: term()
```

GenAI.VNext.Graph Link Type (e.g. comment, path, etc.)

# `node_handle`

```elixir
@type node_handle() :: term()
```

A GenAI.VNext.Graph Node Handle - logical reference name for a node.

# `node_id`

```elixir
@type node_id() :: term()
```

A GenAI.VNext.Graph Node Identifier.

# `is_graph_id`
*macro* 

Guard to check if a value is a valid Graph ID.

# `is_link_id`
*macro* 

Guard to check if a value is a valid Link ID.

# `is_node_id`
*macro* 

Guard to check if a value is a valid Node ID.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
