> This page is for version v0.24.0.
> For other versions, use one of these documentation indexes:
> - Latest (default): https://docs.nvidia.com/nemo/guardrails/latest/llms.txt
> - v0.24.1: https://docs.nvidia.com/nemo/guardrails/v0.24.1/llms.txt
> - v0.24.0: https://docs.nvidia.com/nemo/guardrails/v0.24.0/llms.txt
> - v0.23.0: https://docs.nvidia.com/nemo/guardrails/v0.23.0/llms.txt
> - v0.22.0: https://docs.nvidia.com/nemo/guardrails/v0.22.0/llms.txt

> 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                                            |
| ------------------------------------------------------------------------------- | ------------------------------------------------------ |
| [`_pangea_outcome`](#nemoguardrails-library-pangea-actions-_pangea_outcome)     | -                                                      |
| [`get_pangea_config`](#nemoguardrails-library-pangea-actions-get_pangea_config) | -                                                      |
| [`pangea_ai_guard`](#nemoguardrails-library-pangea-actions-pangea_ai_guard)     | Evaluate input or output content with 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._pangea_outcome(
    result: nemoguardrails.library.pangea.actions.TextGuardResult,
    mode: typing_extensions.Literal['input', 'output']
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

```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,
    http_client: typing.Optional[nemoguardrails.http.HTTPClient] = None
) -> nemoguardrails.actions.rail_outcome.RailOutcome
```

async

Evaluate input or output content with Pangea AI Guard.

Provider results may allow, block, or transform the selected message.
Failures while calling or validating the provider response are logged and
fail open with the original content.

**Parameters:**

**`mode`** `Literal['input', 'output']`

Whether to evaluate input or output content.

---

**`config`** `RailsConfig`

Rails configuration containing the Pangea settings.

---

**`context`** `Mapping[str, Any]` — default: \{}

Runtime context used to resolve messages.

---

**`user_message`** `Optional[str]` — default: None

Optional user message overriding the context value.

---

**`bot_message`** `Optional[str]` — default: None

Optional bot message overriding the context value.

---

**`http_client`** `Optional[HTTPClient]` — default: None

Optional caller-owned HTTP client.

---

**Returns:** `RailOutcome`

The provider decision, or an allow outcome after a provider failure.

**Raises:**

* `ValueError`: If the API token or content is missing.

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