> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/guardrails/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.colang.v2_x.lang.expansion

## Module Contents

### Functions

| Name                                                                                                            | Description                                                                     |
| --------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [`_create_member_ast_dict_helper`](#nemoguardrails-colang-v2_x-lang-expansion-_create_member_ast_dict_helper)   | -                                                                               |
| [`_create_ref_ast_dict_helper`](#nemoguardrails-colang-v2_x-lang-expansion-_create_ref_ast_dict_helper)         | -                                                                               |
| [`_expand_activate_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_activate_element)               | -                                                                               |
| [`_expand_assignment_stmt_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_assignment_stmt_element) | -                                                                               |
| [`_expand_await_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_await_element)                     | -                                                                               |
| [`_expand_deactivate_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_deactivate_element)           | -                                                                               |
| [`_expand_element_group`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_element_group)                     | -                                                                               |
| [`_expand_if_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_if_element)                           | -                                                                               |
| [`_expand_match_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_match_element)                     | -                                                                               |
| [`_expand_send_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_send_element)                       | -                                                                               |
| [`_expand_start_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_start_element)                     | -                                                                               |
| [`_expand_stop_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_stop_element)                       | -                                                                               |
| [`_expand_when_stmt_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_when_stmt_element)             | -                                                                               |
| [`_expand_while_stmt_element`](#nemoguardrails-colang-v2_x-lang-expansion-_expand_while_stmt_element)           | -                                                                               |
| [`expand_elements`](#nemoguardrails-colang-v2_x-lang-expansion-expand_elements)                                 | Iterates through all elements and expands/replaces them according to the rules. |
| [`flatten_or_group`](#nemoguardrails-colang-v2_x-lang-expansion-flatten_or_group)                               | Flattens a group that has multiple or levels to a single one.                   |
| [`normalize_element_groups`](#nemoguardrails-colang-v2_x-lang-expansion-normalize_element_groups)               | Normalize groups to the disjunctive normal form (DNF),                          |

### API

```python
nemoguardrails.colang.v2_x.lang.expansion._create_member_ast_dict_helper(
    name: str,
    arguments: dict
) -> list
```

```python
nemoguardrails.colang.v2_x.lang.expansion._create_ref_ast_dict_helper(
    ref_name: str
) -> dict
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_activate_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_assignment_stmt_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.Assignment
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_await_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_deactivate_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_element_group(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_if_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.If,
    flow_configs: typing.Dict[str, nemoguardrails.colang.v2_x.runtime.flows.FlowConfig]
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_match_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_send_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_start_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_stop_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.SpecOp
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_when_stmt_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.When,
    flow_configs: typing.Dict[str, nemoguardrails.colang.v2_x.runtime.flows.FlowConfig]
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion._expand_while_stmt_element(
    element: nemoguardrails.colang.v2_x.lang.colang_ast.While,
    flow_configs: typing.Dict[str, nemoguardrails.colang.v2_x.runtime.flows.FlowConfig]
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

```python
nemoguardrails.colang.v2_x.lang.expansion.expand_elements(
    elements: typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType],
    flow_configs: typing.Dict[str, nemoguardrails.colang.v2_x.runtime.flows.FlowConfig],
    continue_break_labels: typing.Optional[typing.Tuple[str, str]] = None
) -> typing.List[nemoguardrails.colang.v2_x.lang.colang_ast.ElementType]
```

Iterates through all elements and expands/replaces them according to the rules.

```python
nemoguardrails.colang.v2_x.lang.expansion.flatten_or_group(
    group: dict
)
```

Flattens a group that has multiple or levels to a single one.

```python
nemoguardrails.colang.v2_x.lang.expansion.normalize_element_groups(
    group: typing.Union[nemoguardrails.colang.v2_x.lang.colang_ast.Spec, dict]
) -> dict
```

Normalize groups to the disjunctive normal form (DNF),
resulting in a single or group that contains multiple and groups.