Skip to content

Add TUI model selector#13690

Open
moirahuang wants to merge 1 commit into
harry/code-1821-conversation-managementfrom
moira/models
Open

Add TUI model selector#13690
moirahuang wants to merge 1 commit into
harry/code-1821-conversation-managementfrom
moira/models

Conversation

@moirahuang

@moirahuang moirahuang commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Description

Stacked on #13662.

Adds a searchable /model picker to the headless TUI. The change reuses the shared model-query policy, generalizes inline-menu routing behind a trait-object handle, supports filtering and disabled choices, and persists the accepted agent model through AISettings.

Linked Issue

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below.

No linked issue was provided.

Testing

https://www.loom.com/share/7c6476f23f8c44d4b414de2c8c11911a

  • ./script/format
  • cargo test -p warp_tui --lib --no-run
  • cargo nextest run -p warp_tui — 166 passed
  • New app regression tests for model-picker filtering and /model classification — 2 passed
  • cargo clippy -p warp_tui --all-targets --all-features --tests -- -D warnings
  • cargo clippy -p warp --lib --tests -- -D warnings
  • CARGO_BUILD_JOBS=2 cargo build -p warp_tui --bin warp-tui
  • ./script/presubmit and integration tests — skipped at reviewer request
  • Live /model smoke test — interactive run was canceled
  • I have manually tested my changes locally with ./script/run-tui

The broader all-features workspace Clippy invocation is currently blocked by unrelated dead-code errors in terminal sharing and remote-server code; the affected packages pass strict Clippy.

Screenshots / Videos

Not captured because the interactive TUI smoke test was canceled.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp AI Agent Mode

CHANGELOG-IMPROVEMENT: Added searchable model selection to the headless TUI.

Co-Authored-By: Oz oz-agent@warp.dev

Co-Authored-By: Oz <oz-agent@warp.dev>

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

pub(crate) max_visible_rows: usize,
pub(crate) status: Option<TuiInlineMenuStatus>,
}
/// Reusable list mechanics shared by the slash-command, conversation, and model menus.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pulled out to be shared among slash command menu, conversation menu, and model menu

@moirahuang moirahuang marked this pull request as ready for review July 14, 2026 00:35
@moirahuang moirahuang requested a review from harryalbert July 14, 2026 00:35
@oz-for-oss

oz-for-oss Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@moirahuang

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds a searchable /model picker for the headless TUI, shares the existing model-picker ordering/filtering policy, routes model selection through the generalized inline-menu handle, and persists the accepted model through AISettings.

Concerns

  • No blocking correctness, security, or spec-drift concerns found in the annotated diff. The attached spec context contains no approved requirements, and the PR description includes a Loom link as visual evidence for this TUI-facing change.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant