# TextualUIAdapter

> **Class** in `deepagents_cli`

📖 [View in docs](https://reference.langchain.com/python/deepagents-cli/textual_adapter/TextualUIAdapter)

Adapter for rendering agent output to Textual widgets.

This adapter provides an abstraction layer between the agent execution and the
Textual UI, allowing streaming output to be rendered as widgets.

## Signature

```python
TextualUIAdapter(
    self,
    mount_message: Callable[..., Awaitable[None]],
    update_status: Callable[[str], None],
    request_approval: Callable[..., Awaitable[Any]],
    on_auto_approve_enabled: Callable[[], None] | None = None,
    set_spinner: Callable[[SpinnerStatus], Awaitable[None]] | None = None,
    set_active_message: Callable[[str | None], None] | None = None,
    sync_message_content: Callable[[str, str], None] | None = None,
    request_ask_user: Callable[[list[Question]], Awaitable[asyncio.Future[AskUserWidgetResult] | None]] | None = None,
)
```

## Constructors

```python
__init__(
    self,
    mount_message: Callable[..., Awaitable[None]],
    update_status: Callable[[str], None],
    request_approval: Callable[..., Awaitable[Any]],
    on_auto_approve_enabled: Callable[[], None] | None = None,
    set_spinner: Callable[[SpinnerStatus], Awaitable[None]] | None = None,
    set_active_message: Callable[[str | None], None] | None = None,
    sync_message_content: Callable[[str, str], None] | None = None,
    request_ask_user: Callable[[list[Question]], Awaitable[asyncio.Future[AskUserWidgetResult] | None]] | None = None,
) -> None
```

| Name | Type |
|------|------|
| `mount_message` | `Callable[..., Awaitable[None]]` |
| `update_status` | `Callable[[str], None]` |
| `request_approval` | `Callable[..., Awaitable[Any]]` |
| `on_auto_approve_enabled` | `Callable[[], None] \| None` |
| `set_spinner` | `Callable[[SpinnerStatus], Awaitable[None]] \| None` |
| `set_active_message` | `Callable[[str \| None], None] \| None` |
| `sync_message_content` | `Callable[[str, str], None] \| None` |
| `request_ask_user` | `Callable[[list[Question]], Awaitable[asyncio.Future[AskUserWidgetResult] \| None]] \| None` |


## Methods

- [`finalize_pending_tools_with_error()`](https://reference.langchain.com/python/deepagents-cli/textual_adapter/TextualUIAdapter/finalize_pending_tools_with_error)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/829909166606f8a9d9571b00da725845bad08da7/libs/cli/deepagents_cli/textual_adapter.py#L205)