Skip to content

feat(tui): restyle the question and plan approval prompts with a quiet rail - #1541

Merged
edenreich merged 2 commits into
mainfrom
feat/quiet-rail-prompts
Oct 4, 2026
Merged

edenreich merged 2 commits into
mainfrom
feat/quiet-rail-prompts

Conversation

@edenreich

Copy link
Copy Markdown
Contributor

Summary

The AskUserQuestion and plan approval prompts share one look now: no box, a thin accent rail on the left, a header chip and dim key hints.

│  Format  1 of 2                              │  Plan  pending approval
│                                              │
│ Which output format should the export use?   │ Restyle the prompts
│                                              │ Steps
│ ❯ JSON (Recommended)                         │ 1. Rework the huh theme
│     structured, easy to parse                │ 2. Rebuild the plan actions
│   YAML                                       │
│     human friendly                           │  Accept   Reject   Approve each step
│   Other…                                     │ ←→ choose · enter confirm · esc reject
│
│ ↑ up • ↓ down • / filter • enter submit

Changes

  • Question prompt - the rounded box is replaced by the rail. The header is a chip with an N of M counter (hidden for a single question), the question is bold, and each option's description sits dim on its own line. Selectors use ❯, multi-select uses ✓ / •. The free-text field is titled "Your answer".
  • Plan approval - the plan sits behind a rail in its status color with a Plan chip. The selected action is a solid accent pill, the others are dim, and the working keys are listed underneath. This removes a lookup of a theme color that does not exist (selection_bg).
  • Shared helpers - RenderRail and RenderChip on the style provider.
  • Status lines - shortened to "Waiting for your answer" and "Plan ready for review", since they repeated the key hints.
  • Plan approval placeholder - now reads "Plan approval required". The old text advertised h/l, y, n and s, which are not reachable.
  • docs/plan-mode.md - matches the new status line and the keys that work.

Testing

  • task lint and go test ./internal/presentation/... pass.
  • Driven live in tmux against the mock gateway: single select, multi-select, the free-text answer, moving across the plan actions, accepting a plan, and the question prompt at a 50 column width.
  • Not checked live: the accepted and rejected plan states, and the light theme.

Not in this PR

  • The y / n / s / h / l plan approval keys are still dead. That is a keybinding bug.
  • The tool approval box keeps its bordered style.

…t rail

AskUserQuestion drops its rounded box for a thin accent rail, a header chip with an N of M counter, a bold question and dim option descriptions on their own line. Plan approval gets the same rail in its status color, a Plan chip and a solid pill for the selected action with the working keys underneath.

The status lines no longer repeat the key hints, and the plan approval placeholder stops advertising keys that are not reachable.
@edenreich
edenreich requested a review from a team as a code owner October 4, 2026 22:43
@github-project-automation github-project-automation Bot moved this to Todo in 2026 Oct 4, 2026
A turn that ends while paused on a user decision subtracted two separate
time.Since calls, so the summary could land just under the true duration
and made TestStatusViewTurnDurationSummary flaky.
@edenreich
edenreich merged commit 9762e88 into main Oct 4, 2026
12 checks passed
@edenreich
edenreich deleted the feat/quiet-rail-prompts branch October 4, 2026 23:10
@inference-gateway-releaser

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 0.226.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant