hermes-agent/tests/tui_gateway
Brooklyn Nicholson e24bac49fa feat(desktop): tell the agent when it is floating in HUD mode
In HUD mode Hermes is a strip over the app the user is actually working
in, so "what's under you?" or "look up the weather" is almost always
about that app — but the agent had no way to know it was floating, and
answered from its own browser and panes instead.

The desktop tags a HUD submit with `surface: 'hud'` and the gateway turns
that into a per-turn note pointing at read_window_below, and at carrying
the work out in the app underneath. It rides the model-bound message
beside the reaction and speech-interrupted notes rather than the system
prompt: one session can be driven from the app window on one turn and the
HUD on the next, and the system prompt has to stay byte-stable.

Every tool the note names is checked against the agent's own schema
first, so a session without computer_use or read_window_below is never
pointed at a tool it cannot call.
2026-08-08 15:37:41 -05:00
..
__init__.py
…
test_auto_continue.py
…
test_billing_rpc.py
…
test_change_watcher.py
…
test_codex_app_server_live_events.py
…
test_cold_start_gil_stall.py test: harden cold-start regression tests + debug-log the env-var skip 2026-08-03 21:16:09 +05:30
test_compaction_status.py
…
test_compress_lock_skip.py
…
test_compute_host.py fix(compression): let explicit interrupts cancel safely 2026-08-02 22:15:20 +05:30
test_compute_host_phase1.py fix(tui_gateway): retain live-turn sessions unfinalized when the drain deadline expires 2026-08-03 09:59:58 +05:30
test_custom_provider_session_persistence.py
…
test_delegation_session_lifecycle.py
…
test_entry_import_off_main_thread.py
…
test_entry_picker_prewarm.py test(tui): pin picker-cache prewarm wiring in entry.main() 2026-08-04 12:28:05 +05:30
test_entry_sys_path.py
…
test_failed_turn_retention.py
…
test_fast_session_scope.py
…
test_finalize_session_persist.py
…
test_gateway_owned_session_reap.py
…
test_goal_command.py
…
test_gui_surface_toolsets.py test: pin read_window_below into the toolset + post-hook contracts, appease eslint 2026-08-08 12:17:50 -05:00
test_hud_surface_note.py feat(desktop): tell the agent when it is floating in HUD mode 2026-08-08 15:37:41 -05:00
test_image_routing_stale_model.py
…
test_inline_rpc_gil_starvation.py
…
test_interim_assistant_callback.py
…
test_iso_certify_seam.py
…
test_kanban_notify_poller.py fix(tui): avoid writable Kanban opens on empty polls 2026-08-03 20:40:28 +05:30
test_make_agent_personality_prompt.py test(personality): regression coverage for #81791 2026-08-08 14:01:57 -05:00
test_make_agent_provider.py
…
test_mcp_late_refresh_thread_owner.py
…
test_mcp_reload_rev.py
…
test_moa_reference_emit.py
…
test_model_switch_marker_role.py
…
test_personality_clobbers_system_prompt.py test(personality): regression coverage for #81791 2026-08-08 14:01:57 -05:00
test_pet_generate_rpc.py
…
test_project_tree.py fix(desktop): stop rendering a repo's main checkout as a duplicate sidebar lane 2026-08-07 12:48:41 -05:00
test_projects_rpc.py
…
test_protocol.py fix(sessions): tip-only resume guard on the CLI mid-setup path; fail open on guard errors 2026-08-08 13:36:08 +05:30
test_reasoning_config_per_model.py
…
test_reasoning_session_scope.py
…
test_render.py
…
test_review_summary_callback.py
…
test_session_cwd_follow.py
…
test_session_db_ownership_teardown.py test(tui_gateway): pin the raising-close swallow + no-retry contract 2026-08-07 19:44:41 +05:30
test_session_id_injection.py
…
test_session_images_dir.py
…
test_session_platform_resolution.py
…
test_session_reclaim_notify.py
…
test_session_resume_db_ownership.py tui_gateway: session.resume abandons the profile SessionDB it opens 2026-08-07 19:44:41 +05:30
test_slash_fuzzy.py Port from superagent-ai/grok-cli: description-aware slash-menu fuzzy scoring 2026-08-08 04:29:16 -07:00
test_slash_worker_ansi.py
…
test_slash_worker_mcp_discovery.py
…
test_slash_worker_profile_home.py
…
test_slash_worker_sys_path.py
…
test_subagent_child_mirror.py
…
test_subprocess_encoding.py
…
test_undo_command.py
…
test_wait_for_mcp_discovery.py
…