hermes-agent/tests/cli
Neo c969090878
Some checks failed
CI / Detect affected areas (push) Has been cancelled
CI / OSV scan (push) Has been cancelled
Deploy Site / deploy-vercel (push) Has been cancelled
Deploy Site / deploy-docs (push) Has been cancelled
CI / Python tests (push) Has been cancelled
CI / Python lints (push) Has been cancelled
CI / TypeScript (push) Has been cancelled
CI / Docs Site (push) Has been cancelled
CI / Deny unrelated histories (push) Has been cancelled
CI / Check contributors (push) Has been cancelled
CI / Check uv.lock (push) Has been cancelled
CI / Lint Docker scripts (push) Has been cancelled
CI / Build&Test Docker image (push) Has been cancelled
CI / Supply-chain scan (push) Has been cancelled
CI / All required checks pass (push) Has been cancelled
CI / CI timing report (push) Has been cancelled
fix(cli): clear input-blocking overlays when interrupting a running agent
Interrupting the agent while an approval/clarify/sudo/secret prompt is up
left the overlay state dict set with no thread servicing it. The prompt's
worker thread is torn down on interrupt, but read_only (gated on
_command_running) plus the keypress filter kept the CLI input locked until
the prompt's own timeout expired — the terminal appeared frozen.

Drain and clear all four input-blocking overlays on interrupt via a single
helper (_clear_active_overlays_for_interrupt): approval -> deny,
clarify/sudo/secret -> cancel, each guarded so a dead queue can't block the
others; sudo restores the pre-modal draft. Wired into all three interrupt
paths — new-message interrupt, Ctrl+C, and Ctrl+Q. Blocking overlays now
clear AND fall through so one keypress both clears a stale overlay and
interrupts a still-running agent; the /model picker and slash-confirm
foreground prompts keep their cancel-and-return behavior.

Closes #13618.
2026-06-30 04:49:29 -07:00
..
__init__.py
test_bracketed_paste_timeout.py
test_branch_command.py
test_busy_input_mode_command.py
test_cli_active_agent_ref_wiring.py
test_cli_approval_ui.py
test_cli_background_status_indicator.py
test_cli_background_tui_refresh.py
test_cli_bracketed_paste_sanitizer.py
test_cli_browser_connect.py
test_cli_context_warning.py
test_cli_copy_command.py
test_cli_delegate_background_notice.py
test_cli_extension_hooks.py
test_cli_external_editor.py
test_cli_file_drop.py
test_cli_force_redraw.py
test_cli_goal_interrupt.py
test_cli_image_command.py
test_cli_init.py
test_cli_insights_command.py
test_cli_interrupt_subagent.py
test_cli_light_mode.py
test_cli_loading_indicator.py
test_cli_markdown_rendering.py
test_cli_mcp_config_watch.py
test_cli_new_session.py
test_cli_pet_pane.py
test_cli_prefix_matching.py
test_cli_preloaded_skills.py
test_cli_provider_resolution.py
test_cli_reload_skills.py
test_cli_resume_command.py
test_cli_retry.py
test_cli_save_config_value.py
test_cli_secret_capture.py
test_cli_shift_enter_newline.py
test_cli_shutdown_memory_messages.py
test_cli_skin_integration.py
test_cli_status_bar.py
test_cli_status_command.py
test_cli_steer_busy_path.py
test_cli_terminal_response_sanitizer.py
test_cli_terminal_shortcuts.py
test_cli_tools_command.py
test_cli_user_message_preview.py
test_cli_yolo_toggle.py
test_compress_focus.py
test_compress_here.py
test_cprint_bg_thread.py
test_ctrl_enter_newline.py
test_cwd_env_respect.py
test_destructive_slash_confirm.py
test_destructive_slash_inline_skip_e2e.py
test_exit_delete_session.py
test_exit_summary_resume_hint.py
test_fast_command.py
test_manual_compress.py
test_moa_command.py
test_partial_compress.py
test_personality_none.py
test_prefill_config.py
test_prepend_note_to_message.py
test_prompt_text_input_thread_safety.py
test_quick_commands.py
test_reasoning_command.py
test_resume_display.py
test_resume_quiet_stderr.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_save_conversation_location.py
test_session_boundary_hooks.py
test_single_query_session_finalize.py
test_slash_command_interrupt.py
test_slash_confirm_windows.py
test_steer_inline_repaint_34569.py
test_stream_delta_think_tag.py
test_surrogate_sanitization.py
test_terminal_interrupt_recovery.py
test_tool_progress_scrollback.py
test_tui_terminal_reset_on_exit.py
test_update_command.py
test_version_command.py
test_worktree.py
test_worktree_security.py
test_worktree_sync_base.py