Textual widgets for deepagents-code.
Import directly from submodules, e.g.:
from deepagents_code.widgets.chat_input import ChatInput
from deepagents_code.widgets.messages import AssistantMessageDedicated modal for the update-available notification.
Shown automatically at startup when a newer version of
deepagents-code is available on PyPI. Surfaces the same actions the
notification center would offer for the update entry but with a
focused, single-purpose presentation instead of the generic
notification list.
TUI screens for managing stored model-provider credentials.
AuthPromptScreen accepts an API key for a single provider, persists it via
auth_store, and is the sole place that deletes existing credentials (after
a DeleteCredentialConfirmScreen confirmation). AuthManagerScreen lists
known providers and routes the user into the prompt; it does not delete
directly. Both are reachable via the /auth slash command.
Security notes:
password=True so the key is never echoed to
the terminal.notify()
payloads, and never round-trips it through Rich markup. Callers that
introduce new logging here must do the same.Onboarding screens for the interactive TUI.
Notification settings screen for /notifications command.
Message store for virtualized chat history.
This module provides data structures and management for message virtualization, allowing the TUI to handle large message histories efficiently by keeping only a sliding window of widgets in the DOM while storing all message data as lightweight dataclasses.
The approach is inspired by Textual's Log widget, which only keeps N lines
in the DOM and recreates older ones on demand.
Interactive agent selector screen for /agents command.
Notification center modal for pending actionable notices.
Surfaces a list of PendingNotification entries as single-line rows.
Selecting a row drills into a dedicated detail modal
(UpdateAvailableScreen for update entries, NotificationDetailScreen
otherwise) stacked on top of the center. When the detail modal
dismisses with any non-SUPPRESS action the center dismisses with a
NotificationActionResult so the app layer can dispatch; SUPPRESS is
handled in place via NotificationSuppressRequested so the remaining
notifications stay reachable. When the detail cancels, the center
stays open on the list.
Welcome banner widget.
Autocomplete system for @ mentions and / commands.
This is a custom implementation that handles trigger-based completion for slash commands (/) and file mentions (@).
Generic detail modal for a single pending notification.
Used by NotificationCenterScreen when the user drills into an entry
whose payload does not have a dedicated modal (e.g. missing-dependency
notices). Update-available notifications continue to use
UpdateAvailableScreen, which adds a changelog row on top of the
action list.
Dismisses with the selected ActionId, or None on Esc.
Loading widget with animated spinner for agent activity.
Read-only MCP server and tool viewer modal.
Progress modal for app self-update installs.
Status bar widget.
Enhanced diff widget for displaying unified diffs.
Interactive theme selector screen for /theme command.
Tool renderers for approval widgets - registry pattern.
Interactive model selector screen for /model command.
Command history manager for input persistence.
Chat input widget for deepagents-code with autocomplete and history support.
Ask user widget for interactive questions during agent execution.
Tool-specific approval widgets for HITL display.
Interactive thread selector screen for /threads command.
Message widgets.
Approval widget for HITL - using standard Textual patterns.