aether-wisp 0.1.7

A terminal UI for AI coding agents via the Agent Client Protocol (ACP)
Documentation
Holds everything needed to start the TUI after the ACP handshake completes.

[`RuntimeState::new`](RuntimeState::new) spawns the agent as a subprocess, sends `initialize` and `newSession` requests over ACP, loads the user's theme, and packages the results into this struct. The caller ([`run_tui`](crate::run_tui) or [`run_with_state`](crate::run_with_state)) then destructures it to build [`App`](crate::components::app::App) and the renderer.

# Fields

- **`session_id`** — the ACP session identifier, used for resumption.
- **`agent_name`** — human-readable agent name returned by `initialize`.
- **`prompt_capabilities`** — what the agent supports (slash commands, file mentions, etc.).
- **`config_options`** — agent-advertised settings (model, reasoning effort, mode).
- **`auth_methods`** — provider login methods the agent requires.
- **`theme`** — resolved [`Theme`]tui::Theme from the user's Wisp settings.
- **`event_rx`** — channel receiver for streamed [`AcpEvent`]acp_utils::client::AcpEvents.
- **`prompt_handle`** — handle for sending user prompts back to the agent.
- **`working_dir`** — the working directory passed to the agent session.

# See also

- [`run_tui`]crate::run_tui — the high-level entry point that creates a `RuntimeState` and runs the TUI
- [`App`]crate::components::app::App — consumes these fields to build the application