Add configuration support for TUI input presets (#54379)

## What changed

Add `tui.presets` entries keyed by a single digit from `0` to `9`, each with an `input` prompt or slash command and an optional `label`. Expose presets in the configuration schema, load them into runtime configuration, and preserve them in TUI local settings.

Reject invalid slots, blank inputs, shell commands beginning with `!` after leading whitespace, and inputs exceeding 8,000 UTF-8 bytes.

## Testing

Extend the runtime configuration test to verify loading both a slash command with a label and a prompt without one.

GitOrigin-RevId: d2911e540bc50f05b4a5224abf17ce4ef5a18ea3
This commit is contained in:
Felipe Coury
2026-10-15 19:01:43 +00:00
committed by copyberry
parent 0884c8047a
commit 1544ffc79d
6 changed files with 110 additions and 0 deletions
@@ -308,6 +308,7 @@ async fn new_config(
tui_pet_anchor: TuiPetAnchor::Composer,
terminal_resize_reflow: TerminalResizeReflowConfig::default(),
tui_keymap: TuiKeymap::default(),
tui_quick_dials: BTreeMap::new(),
tui_session_picker_view: SessionPickerViewMode::Dense,
tui_agents_overview_grouping: Default::default(),
tui_resume_cwd: None,