Move TUI on top of app server (parallel code) (#14717)

This PR replicates the `tui` code directory and creates a temporary
parallel `tui_app_server` directory. It also implements a new feature
flag `tui_app_server` to select between the two tui implementations.

Once the new app-server-based TUI is stabilized, we'll delete the old
`tui` directory and feature flag.
This commit is contained in:
Eric Traut
2026-03-16 10:49:19 -06:00
committed by GitHub
Unverified
parent c04a0a7454
commit db89b73a9c
1109 changed files with 134253 additions and 17 deletions
+8
View File
@@ -1,5 +1,13 @@
load("//:defs.bzl", "codex_rust_crate")
exports_files(
[
"templates/collaboration_mode/default.md",
"templates/collaboration_mode/plan.md",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "model_availability_nux_fixtures",
srcs = [
+6
View File
@@ -488,6 +488,9 @@
"tool_suggest": {
"type": "boolean"
},
"tui_app_server": {
"type": "boolean"
},
"undo": {
"type": "boolean"
},
@@ -2037,6 +2040,9 @@
"tool_suggest": {
"type": "boolean"
},
"tui_app_server": {
"type": "boolean"
},
"undo": {
"type": "boolean"
},
+12
View File
@@ -180,6 +180,8 @@ pub enum Feature {
VoiceTranscription,
/// Enable experimental realtime voice conversation mode in the TUI.
RealtimeConversation,
/// Route interactive startup to the app-server-backed TUI implementation.
TuiAppServer,
/// Prevent idle system sleep while a turn is actively running.
PreventIdleSleep,
/// Use the Responses API WebSocket transport for OpenAI by default.
@@ -827,6 +829,16 @@ pub const FEATURES: &[FeatureSpec] = &[
stage: Stage::UnderDevelopment,
default_enabled: false,
},
FeatureSpec {
id: Feature::TuiAppServer,
key: "tui_app_server",
stage: Stage::Experimental {
name: "App-server TUI",
menu_description: "Use the app-server-backed TUI implementation.",
announcement: "",
},
default_enabled: false,
},
FeatureSpec {
id: Feature::PreventIdleSleep,
key: "prevent_idle_sleep",