Add local status line provider configuration (#61211)

## What changed

Add `tui.status_line_provider` to select `"default"` or an MCP provider identified by `server` and `tool`. Replace provider identities as a unit across configuration layers so partial overrides cannot inherit half an identity.

Ignore this setting from project configuration and packaged defaults when computing effective values and origins, while retaining strict validation. Preserve relative path resolution when an ignored provider value is malformed.

Carry the selection into TUI local settings and refresh it on configuration reload. Use the client's configuration home when rebuilding settings for remote sessions.

## Testing

Add coverage for provider precedence, incomplete profile overrides, malformed values and diagnostics, relative path resolution, and local preference preservation when resuming remote sessions.

GitOrigin-RevId: 0777d754d46cf009569ff0c90fd7426f8b7650bf
This commit is contained in:
Joe Savona
2026-11-13 00:28:10 +00:00
committed by copyberry
parent f562a7b3e2
commit 8cdabf23ae
21 changed files with 490 additions and 43 deletions
@@ -310,6 +310,7 @@ async fn new_config(
tui_right_click_paste: Default::default(),
tui_alternate_screen: AltScreenMode::Auto,
tui_status_line: None,
tui_status_line_provider: None,
tui_status_line_use_colors: true,
tui_terminal_title: None,
tui_theme: None,