> 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 AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.library.pangea.actions

## Module Contents

### Classes

| Name                                                                            | Description |
| ------------------------------------------------------------------------------- | ----------- |
| [`Message`](#nemoguardrails-library-pangea-actions-Message)                     | -           |
| [`TextGuardResponse`](#nemoguardrails-library-pangea-actions-TextGuardResponse) | -           |
| [`TextGuardResult`](#nemoguardrails-library-pangea-actions-TextGuardResult)     | -           |

### Functions

| Name                                                                            | Description |
| ------------------------------------------------------------------------------- | ----------- |
| [`get_pangea_config`](#nemoguardrails-library-pangea-actions-get_pangea_config) | -           |
| [`pangea_ai_guard`](#nemoguardrails-library-pangea-actions-pangea_ai_guard)     | -           |

### Data

[`log`](#nemoguardrails-library-pangea-actions-log)

### API

```python
class nemoguardrails.library.pangea.actions.Message()
```

**Bases:** `BaseModel`

**`content`** `str`

---

**`role`** `str`

---

```python
class nemoguardrails.library.pangea.actions.TextGuardResponse()
```

**Bases:** `BaseModel`

**`result`** `TextGuardResult`

---

```python
class nemoguardrails.library.pangea.actions.TextGuardResult()
```

**Bases:** `BaseModel`

**`blocked`** `Optional[bool] = None`

Whether or not the prompt triggered a block detection.

---

**`bot_message`** `Optional[str] = None`

---

**`prompt_messages`** `Optional[list[Message]] = None`

Updated structured prompt, if applicable.

---

**`transformed`** `Optional[bool] = None`

Whether or not the original input was transformed.

---

**`user_message`** `Optional[str] = None`

---

```python
nemoguardrails.library.pangea.actions.get_pangea_config(
    config: nemoguardrails.rails.llm.config.RailsConfig
) -> nemoguardrails.rails.llm.config.PangeaRailConfig
```

```python
nemoguardrails.library.pangea.actions.pangea_ai_guard(
    mode: typing_extensions.Literal['input', 'output'],
    config: nemoguardrails.rails.llm.config.RailsConfig,
    context: collections.abc.Mapping[str, typing.Any] = {},
    user_message: typing.Optional[str] = None,
    bot_message: typing.Optional[str] = None
) -> nemoguardrails.library.pangea.actions.TextGuardResult
```

async

```python
nemoguardrails.library.pangea.actions.log = logging.getLogger(__name__)
```