hermes-bsd/tests/hermes_cli
Tranquil-Flow a8f404b29f fix(gateway): probe launchd domain instead of hardcoding user/<uid> (#40831)
The previous fix for #23387 changed _launchd_domain() from gui/<uid> to
user/<uid> to support Background/SSH sessions on macOS 26+. However, this
broke Aqua sessions where gui/<uid> is the only working domain and
user/<uid> cannot bootstrap or manage the service.

Now _launchd_domain() probes which domain actually contains the loaded
service:
1. Try gui/<uid> first (Aqua sessions)
2. Fall back to user/<uid> (Background/SSH sessions)
3. Use launchctl managername as heuristic when neither has the service
4. Cache the result for the process lifetime

Regression tests cover all four paths plus caching behavior.
2026-06-10 12:39:48 -07:00
..
__init__.py
conftest.py test(hermes_cli): harden concurrent-gate fixture against partial-import race (#42626) 2026-06-08 22:54:25 -07:00
conftest_dashboard_auth.py
test_active_sessions.py feat(sessions): add optional max session cap 2026-06-08 15:12:12 -07:00
test_anthropic_model_flow_stale_oauth.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_anthropic_oauth_flow.py
test_anthropic_picker_curated.py fix(models): keep curated Anthropic aliases in /model picker (#43103) 2026-06-09 14:45:19 -07:00
test_anthropic_provider_persistence.py
test_api_key_providers.py fix(minimax): update AUTHOR_MAP entry + test_minimax_oauth_aux_model_registered 2026-06-04 05:53:35 -07:00
test_apply_model_switch_result_context.py
test_apply_profile_override.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_arcee_provider.py
test_argparse_flag_propagation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_at_context_completion_filter.py
test_atomic_json_write.py fix(utils): guard os.fchmod for Windows in atomic_json_write 2026-06-01 09:57:10 -07:00
test_atomic_yaml_write.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_codex_provider.py fix(auth): preserve independent Codex pool entries on re-auth (#39236) 2026-06-08 11:57:03 -07:00
test_auth_commands.py fix(auth): add Codex OAuth accounts as distinct pool entries 2026-06-08 11:57:03 -07:00
test_auth_loopback_ssh_hint.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_manual_paste.py fix(xai): accept Grok Build code during loopback wait + tiny screenshot guard 2026-06-09 23:21:24 -07:00
test_auth_nous_provider.py refactor(auth): remove vestigial Nous min_key_ttl/inference_auth_mode params 2026-05-29 02:24:48 -07:00
test_auth_profile_fallback.py revert: keep Google Chat OAuth secret + active_provider profile-scoped (#39398) 2026-06-04 16:54:40 -07:00
test_auth_provider_gate.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_qwen_provider.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_ssl_macos.py
test_auth_toctou_file_modes.py
test_auth_usable_secret.py
test_auth_xai_oauth_provider.py
test_aux_config.py
test_azure_detect.py
test_azure_foundry_entra.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_backup.py fix(cron): restore jobs.json emptied by config migration on update 2026-05-29 13:22:54 -07:00
test_banner.py fix(mcp): banner shows 'disabled' not 'failed' for enabled:false servers (#38204) 2026-06-03 05:41:13 -07:00
test_banner_git_state.py
test_banner_pip_update.py
test_banner_skills.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_bedrock_model_picker.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_build_info.py
test_bundles.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_chat_skills_flag.py
test_claw.py
test_clear_stale_base_url.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_cli_active_session_limit.py feat(sessions): add optional max session cap 2026-06-08 15:12:12 -07:00
test_cli_output.py
test_cmd_update.py fix: align test fixture arg order + add zakame to AUTHOR_MAP 2026-06-06 18:22:20 -07:00
test_cmd_update_docker.py
test_coalesce_session_args.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_codex_cli_model_picker.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_codex_models.py fix(model): require confirmation for expensive model selections 2026-06-10 00:24:06 -07:00
test_codex_runtime_plugin_migration.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_codex_runtime_switch.py
test_commands.py feat(memory,skills): approve/deny gate for memory + skill writes (#38199) 2026-06-09 21:51:43 -07:00
test_completion.py
test_config.py fix(config): preserve original .env file mode in remove_env_value too (#43349) 2026-06-10 19:53:07 +10:00
test_config_drift.py
test_config_env_expansion.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_config_env_refs.py
test_config_validation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_container_aware_cli.py
test_container_boot.py fix(docker): seed s6 gateway state for legacy run cmd (#34829) 2026-06-01 11:28:56 +10:00
test_copilot_auth.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_copilot_catalog_oauth_fallback.py
test_copilot_context.py
test_copilot_in_model_list.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -07:00
test_copilot_token_exchange.py
test_cron.py fix(cron): don't crash on cron list when a job's repeat is null 2026-06-05 00:19:45 -07:00
test_curator_archive_prune.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_curator_recent_run_notice.py
test_curator_run.py
test_curator_status.py
test_curses_arrow_keys.py test: skip curses tests on Windows where _curses is unavailable (#40611) 2026-06-07 18:21:03 -07:00
test_curses_color_compat.py test: skip curses tests on Windows where _curses is unavailable (#40611) 2026-06-07 18:21:03 -07:00
test_curses_ui_fuzzy_rank.py feat(cli): ranked fuzzy search in the curses model picker 2026-06-01 16:58:58 -07:00
test_curses_ui_search.py feat(cli): add fuzzy search helpers for curses pickers 2026-06-01 16:58:58 -07:00
test_custom_provider_context_length.py
test_custom_provider_model_switch.py feat(model): honor discover_models in terminal hermes model named-custom flow 2026-06-06 01:29:41 +05:30
test_dashboard_admin_endpoints.py feat(dashboard): return recent commits from /api/hermes/update/check 2026-06-08 08:58:26 -07:00
test_dashboard_auth_401_reauth.py feat(dashboard-auth): rotate dashboard sessions via refresh token (#37247) 2026-06-02 21:16:41 +10:00
test_dashboard_auth_audit.py
test_dashboard_auth_cookies.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_dashboard_auth_gate.py
test_dashboard_auth_middleware.py fix(dashboard): _require_token endpoints all 401 behind the OAuth gate (#42578) 2026-06-09 22:57:49 -07:00
test_dashboard_auth_password_login.py test(dashboard-auth): cover password login route, provider, and plugin 2026-06-04 01:02:25 -07:00
test_dashboard_auth_plugin_hook.py
test_dashboard_auth_prefix.py fix(dashboard-auth): warn when public_url override is silently rejected (#43214) 2026-06-10 12:14:57 +10:00
test_dashboard_auth_provider_base.py
test_dashboard_auth_status_endpoint.py fix(dashboard-auth): share /api/* public allowlist between legacy and OAuth gates 2026-05-29 12:17:12 +10:00
test_dashboard_auth_stub_provider.py
test_dashboard_auth_ws_auth.py fix(dashboard): authenticate server-spawned PTY child WS with a process-internal credential 2026-06-02 23:43:27 -07:00
test_dashboard_auth_ws_tickets.py test(dashboard): direct unit coverage for internal WS credential + docstring fix 2026-06-02 23:43:27 -07:00
test_dashboard_browser_safe_imports.py
test_dashboard_lifecycle_flags.py feat(dashboard): always enable embedded chat; remove dashboard --tui flag 2026-06-04 03:03:35 -07:00
test_dashboard_profiles_nav_label.py
test_dashboard_register.py fix(cli): persist custom --portal-url to .env on dashboard register (#42435) 2026-06-09 13:56:33 +10:00
test_dashboard_tui_backcompat.py fix(ci): map @TheGardenGallery email + drop unused pytest import 2026-06-06 12:43:28 -05:00
test_debug.py feat(dashboard): add Debug Share to the System page (#38600) 2026-06-03 19:37:04 -07:00
test_default_interface_resolution.py feat(cli): configurable default interface (cli vs tui) 2026-06-02 20:49:44 -05:00
test_dep_ensure.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_deprecated_cwd_warning.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_destructive_slash_confirm_gate.py
test_detect_api_mode_for_url.py
test_determine_api_mode_hostname.py
test_dingtalk_auth.py
test_discord_skill_clamp_warning.py
test_doctor.py fix(doctor): allow vendor slugs for named custom providers 2026-06-08 15:53:09 -07:00
test_doctor_command_install.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_doctor_dedicated_provider_skip.py
test_dump_git_commit.py
test_ensure_hermes_home_uid_34107.py fix(config): chown ensure_hermes_home dirs to HERMES_UID/GID in Docker (#34107) (#34268) 2026-06-01 13:27:30 +10:00
test_ensure_utf8_locale.py fix(cli): repair non-UTF-8 stdout/stderr on all platforms, not just Windows (#43439) 2026-06-10 02:21:00 -07:00
test_env_load_cache.py
test_env_loader.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_env_sanitize_on_load.py
test_fallback_cmd.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway.py Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
test_gateway_linger.py
test_gateway_platform_gating.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_proc_fallback.py
test_gateway_restart_loop.py fix(gateway,cron): reuse existing _HERMES_GATEWAY marker; tighten cron regex 2026-05-30 23:05:56 -07:00
test_gateway_runtime_health.py
test_gateway_s6_dispatch.py fix(gateway): fall back to in-process heartbeat when s6 sleep is missing (#36208) (#37120) 2026-06-02 11:59:27 +10:00
test_gateway_service.py fix(gateway): probe launchd domain instead of hardcoding user/<uid> (#40831) 2026-06-10 12:39:48 -07:00
test_gateway_service_paths.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_windows.py fix(gateway-windows): anchor detached/startup cwd at HERMES_HOME 2026-06-03 19:37:29 -07:00
test_gateway_wsl.py fix(gateway,windows): reliability — JOB breakaway + status --deep probes + test-leak fix (#40909) 2026-06-06 19:53:58 -07:00
test_gemini_free_tier_setup_block.py
test_gemini_provider.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gmi_provider.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -07:00
test_goals.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_graphical_browser_detection.py fix(auth): don't launch a text-mode browser inside the terminal for OAuth (#34479) 2026-05-29 01:23:06 -07:00
test_gui_command.py fix(install): self-heal a stuck Electron download (salvage of #42894) (#42998) 2026-06-09 18:19:14 +00:00
test_gui_uninstall.py feat: uninstall the Chat GUI without removing the agent (CLI + desktop UI) (#40355) 2026-06-06 18:22:38 -07:00
test_hooks_cli.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_ignore_user_config_flags.py
test_image_gen_picker.py
test_install_cua_driver.py
test_inventory.py refactor(inventory): make force_fresh_nous_tier keyword-only + pin contract 2026-06-07 00:41:13 -07:00
test_inventory_pricing.py Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
test_kanban_blocked_sticky.py fix(kanban): align recompute_ready guard with breaker's configured failure_limit 2026-05-30 01:40:57 -07:00
test_kanban_boards.py
test_kanban_cli.py fix(kanban): isolate board override per concurrent call 2026-06-04 07:39:53 -07:00
test_kanban_cli_dispatch_passthrough.py fix(kanban): CLI dispatch honors max_in_progress/max_spawn from config; swap missing 'avoid-ai-writing' skill for bundled humanizer (#33488, #29415) (#34337) 2026-05-28 21:00:46 -07:00
test_kanban_core_functionality.py refactor(gateway): extract kanban watcher loops into GatewayKanbanWatchersMixin (god-file Phase 3) 2026-06-07 23:14:18 -07:00
test_kanban_db.py fix(kanban): sweep deferred scratch parent on non-scratch child completion + tests 2026-06-07 09:50:44 -07:00
test_kanban_db_init.py fix(kanban): rebuild legacy TEXT-PK tables to INTEGER AUTOINCREMENT on open 2026-05-30 01:40:49 -07:00
test_kanban_decompose.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_decompose_db.py fix(kanban): decompose children inherit root workspace instead of forcing scratch (#37172) 2026-06-01 20:26:57 -07:00
test_kanban_default_assignee.py feat(kanban): default_assignee fallback + per-profile concurrency cap (#27145, #21582) (#34244) 2026-05-28 19:02:55 -07:00
test_kanban_diagnostics.py
test_kanban_goal_mode.py feat(kanban): goal_mode cards run workers in a /goal loop (#35710) 2026-05-31 01:16:33 -07:00
test_kanban_notify.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_per_profile_cap.py feat(kanban): default_assignee fallback + per-profile concurrency cap (#27145, #21582) (#34244) 2026-05-28 19:02:55 -07:00
test_kanban_promote.py
test_kanban_specify.py
test_kanban_specify_db.py
test_kanban_swarm.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_worker_image_extraction.py feat(kanban): attach images referenced in task bodies to worker vision (#34210) 2026-05-28 17:50:42 -07:00
test_launcher.py
test_list_picker_providers.py
test_logs.py Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
test_managed_installs.py
test_managed_uv.py fix(update/windows): don't return _UvResult on Windows (subprocess argv crash) (#39820) 2026-06-05 07:54:08 -05:00
test_mcp_add_command_dest.py
test_mcp_catalog.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mcp_config.py fix(mcp): resolve ${ENV} in discovery probe so header auth works (#38571) 2026-06-03 17:49:39 -07:00
test_mcp_reload_confirm_gate.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_mcp_startup.py perf(cli): stop eager MCP discovery from blocking agent-capable startup 2026-05-30 07:45:26 -07:00
test_mcp_tools_config.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_memory_reset.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_memory_setup_provider_arg.py fix(memory): fall back to pip when uv is unavailable (salvage #5954) (#38668) 2026-06-04 14:03:02 +10:00
test_migrate_xai.py
test_model_catalog.py Add Hermes desktop app (#20059) 2026-05-31 17:46:56 -05:00
test_model_cost_guard.py fix(model): require confirmation for expensive model selections 2026-06-10 00:24:06 -07:00
test_model_normalize.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_model_picker_expensive_confirm.py fix(model): require confirmation for expensive model selections 2026-06-10 00:24:06 -07:00
test_model_picker_viewport.py
test_model_provider_persistence.py fix(cli): migrate setup model/provider pickers off simple_term_menu to curses 2026-05-31 03:19:37 -07:00
test_model_switch_context_display.py
test_model_switch_copilot_api_mode.py
test_model_switch_custom_providers.py fix(doctor): allow vendor slugs for named custom providers 2026-06-08 15:53:09 -07:00
test_model_switch_opencode_anthropic.py
test_model_switch_variant_tags.py
test_model_validation.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -07:00
test_models.py switch model order 2026-06-04 17:29:31 -07:00
test_models_dev_preferred_merge.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_non_ascii_credential.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_nous_account.py
test_nous_auth_status_cache.py
test_nous_hermes_non_agentic.py
test_nous_inference_url_validation.py test(auth): update nous jwt-only expectations 2026-05-29 02:24:48 -07:00
test_nous_subscription.py fix(cli): require Chromium for local browser readiness in setup/status surfaces 2026-06-05 04:06:17 -07:00
test_ollama_cloud_auth.py fix(completion): remove /model <arg> autocomplete from CLI/TUI (#39727) 2026-06-05 06:43:51 -07:00
test_ollama_cloud_provider.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -07:00
test_openai_codex_model_validation_fallback.py
test_openai_picker_curated.py fix(model-picker): OpenAI shows curated models; OpenRouter no longer phantom-shows (#37404) 2026-06-02 06:31:37 -07:00
test_opencode_go_flat_namespace.py
test_opencode_go_in_model_list.py
test_opencode_go_validation_fallback.py
test_overlay_slug_resolution.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_path_completion.py
test_picker_prewarm.py perf(/model): prewarm picker provider-models cache in background (#39847) 2026-06-05 06:55:09 -07:00
test_pin_kanban_board_env.py
test_pip_install_detection.py fix(cli): don't treat any container as the Docker image for updates (#35139) 2026-05-30 00:22:46 -07:00
test_placeholder_usage.py
test_plugin_auxiliary_tasks.py
test_plugin_cli_registration.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_plugin_scanner_recursion.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_plugins.py fix(middleware): single-use next_call guard + deepcopy-safe request copies 2026-06-06 23:07:25 +05:30
test_plugins_cmd.py feat(plugins): install from a subdirectory within a repo (#42963) 2026-06-09 13:42:51 -04:00
test_plugins_cmd_category_discovery.py fix(plugins): discover nested category plugins in 'plugins list' (issue #41066) 2026-06-07 08:02:55 +00:00
test_plugins_cmd_enable_disable_nested.py fix(plugins): alias-normalize enable/disable for nested category plugins (follow-up to #41076) 2026-06-08 17:57:37 +05:30
test_plugins_cmd_list.py fix(plugins): alias-normalize enable/disable for nested category plugins (follow-up to #41076) 2026-06-08 17:57:37 +05:30
test_plugins_transcription_registration.py
test_plugins_tts_registration.py
test_portal_cli.py fix(cli): harden hermes portal SystemExit handling + finish model-pick doc sweep 2026-06-04 02:33:33 +05:30
test_post_setup_gating.py
test_profile_describer.py
test_profile_distribution.py fix(dist): stop USER_OWNED_EXCLUDE from filtering nested directories 2026-06-07 21:50:57 -07:00
test_profile_export_credentials.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_profiles.py fix(desktop): release profile backends before delete (#42613) 2026-06-09 10:52:02 -05:00
test_profiles_s6_hooks.py
test_project_plugin_rce_bypass.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_prompt_api_key.py
test_prompt_size.py feat(cli): add hermes prompt-size diagnostic (#35276) 2026-05-30 02:53:42 -07:00
test_provider_config_validation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_provider_groups.py feat(model-picker): show short description on grouped provider rows 2026-05-31 15:02:26 -07:00
test_proxy.py refactor(auth): remove vestigial Nous min_key_ttl/inference_auth_mode params 2026-05-29 02:24:48 -07:00
test_psutil_android_extract.py
test_pty_bridge.py fix(pty-bridge): terminate PTY process groups on teardown 2026-06-08 07:03:12 -07:00
test_reasoning_effort_menu.py fix(cli): migrate setup model/provider pickers off simple_term_menu to curses 2026-05-31 03:19:37 -07:00
test_redact_config_bridge.py
test_regression_16767.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_relaunch.py
test_resolve_last_session.py
test_resolve_provider_openrouter_pool.py fix(auth): auto-detect OpenRouter credential from the pool, not just env (#42263) 2026-06-08 10:01:47 -07:00
test_run_with_idle_timeout.py fix(update): stream + idle-kill npm run build so a stalled webui-build can't soft-brick the install (#33803) 2026-05-28 03:34:47 -07:00
test_runtime_provider_resolution.py fix(model): isolate custom provider picker credentials 2026-05-29 12:32:35 -07:00
test_secret_prompt.py
test_secrets_bitwarden_non_tty.py fix(secrets): fail early with clear error when bitwarden setup runs without TTY (#40571) 2026-06-06 18:36:40 -07:00
test_security_advisories.py
test_security_audit.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_send_cmd.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_service_manager.py fix(gateway): auto-start after container restart via planned-stop marker (#42675) (#43236) 2026-06-10 14:01:34 +10:00
test_session_browse.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_session_handoff.py
test_session_recap.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_sessions_delete.py
test_set_config_value.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_agent_settings.py
test_setup_hermes_script.py
test_setup_irc.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_matrix_e2ee.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_menu_curses_migration.py feat(cli): ranked fuzzy search in the curses model picker 2026-06-01 16:58:58 -07:00
test_setup_model_provider.py fix(cli): require Chromium for local browser readiness in setup/status surfaces 2026-06-05 04:06:17 -07:00
test_setup_noninteractive.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_ollama_cloud_force_refresh.py refactor(cli): extract 18 model-flow wizard functions into model_setup_flows (god-file Phase 2) 2026-06-08 09:42:44 -07:00
test_setup_openclaw_migration.py
test_setup_prompt_menus.py
test_setup_reconfigure.py feat(setup): thin out setup — Quick Setup via Nous Portal + Full Setup defaults (#35723) 2026-05-31 09:13:06 -07:00
test_signal_handler_kanban_worker.py fix(kanban): SIGTERM on worker must terminate the process (#28181) 2026-05-28 11:59:58 -07:00
test_skills_config.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skills_hub.py feat(skills): show live per-source progress while browsing (#43398) 2026-06-10 01:02:40 -07:00
test_skills_install_flags.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skills_skip_confirm.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skills_subparser.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_skin_engine.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_slack_cli.py
test_spotify_auth.py
test_startup_plugin_gating.py
test_status.py feat(cli): make hermes portal the human-readable Portal onboarding alias 2026-06-04 01:19:28 +05:30
test_status_model_provider.py feat(video_gen): wire Nous subscription override into hermes tools UX 2026-05-29 22:26:24 +05:30
test_subcommands_batch.py refactor(cli): extract 25 more subcommand parsers into hermes_cli/subcommands/ 2026-06-07 22:18:14 -07:00
test_subcommands_cron.py refactor(cli): extract hermes cron parser into hermes_cli/subcommands/ (god-file Phase 2) 2026-06-07 22:18:14 -07:00
test_subcommands_followup.py refactor(cli): promote 9 closure handlers to top-level + extract their parsers (god-file Phase 2 follow-up) 2026-06-07 22:56:23 -07:00
test_subcommands_profile_gateway.py refactor(cli): extract profile + gateway/proxy parsers into hermes_cli/subcommands/ 2026-06-07 22:18:14 -07:00
test_subparser_routing_fallback.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_subprocess_timeouts.py
test_suppress_eio_on_interrupt.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_systemd_optional_directives.py fix(gateway): normalize optional systemd directives in stale-check (#41119) 2026-06-07 21:50:57 -07:00
test_teams_pipeline_plugin_cli.py
test_telegram_managed_bot.py Add CLI Telegram QR onboarding 2026-06-05 03:20:10 -07:00
test_tencent_tokenhub_provider.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_terminal_menu_fallbacks.py fix(model): require confirmation for expensive model selections 2026-06-10 00:24:06 -07:00
test_timeouts.py
test_tips.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_tool_token_estimation.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_tools_config.py feat(desktop): polish credentials settings and messaging env routing (#39217) 2026-06-04 14:01:15 -04:00
test_tools_disable_enable.py
test_tts_picker.py
test_tui_bundled.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_tui_heap_sizing.py fix(tui): cgroup-aware V8 heap cap so memory-limited containers stop dying silently (#38541) 2026-06-03 16:40:28 -07:00
test_tui_mouse_residue_suppression.py
test_tui_npm_install.py test: update non-Termux workspace-scope fixtures for #38358 fix 2026-06-06 18:22:20 -07:00
test_tui_resume_flow.py fix(tui): apply terminal backend config before launch 2026-06-09 00:31:27 -07:00
test_uninstall_node_symlinks.py fix(installer): symlink bundled node/npm into command bin dir for FHS root installs 2026-06-04 02:31:49 -07:00
test_update_autostash.py fix(update): scope git fetch to target branch 2026-06-08 15:24:31 -04:00
test_update_check.py fix(update-check): stop reporting phantom "N commits behind" inside Docker (#39559) 2026-06-05 15:37:19 +10:00
test_update_concurrent_quarantine.py fix(update/windows): robustly exclude launcher-shim ancestors from concurrent check (#35257) 2026-05-30 02:38:40 -07:00
test_update_config_clears_custom_fields.py
test_update_hangup_protection.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_update_interrupted_recovery.py fix(update): self-heal a venv left half-built by an interrupted install (#42172) 2026-06-10 02:57:05 -07:00
test_update_post_pull_syntax_guard.py
test_update_stale_dashboard.py fix(cli): exclude desktop-managed backend from stale-dashboard kill 2026-06-03 04:59:49 -07:00
test_update_yes_flag.py
test_update_zip_symlink_reject.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_user_providers_model_switch.py fix(model-picker): stop routing OpenAI selection to OpenRouter (#37175) 2026-06-01 20:27:41 -07:00
test_uv_tool_update.py fix(install): scrap rebuild venv 2026-06-04 23:20:29 -04:00
test_verify_core_dependencies.py fix(cli): quarantine running hermes.exe during update dep-verification repair on Windows (#40409) 2026-06-06 12:50:58 -05:00
test_video_gen_picker.py
test_voice_wrapper.py
test_web_oauth_dispatch.py fix(desktop): signal loopback worker to stop on cancel 2026-06-02 18:28:24 -05:00
test_web_server.py feat(dashboard): full-featured profile builder (model + skills + MCPs) (#39084) 2026-06-10 09:18:32 -07:00
test_web_server_cron_profiles.py
test_web_server_files.py Add dashboard file browser paths 2026-06-10 09:53:12 -07:00
test_web_server_host_header.py
test_web_server_oauth_write.py
test_web_server_pty_import.py feat(windows): enable dashboard /chat tab via ConPTY (win_pty_bridge) + tests (#42251) 2026-06-08 11:32:43 -07:00
test_web_server_session_search.py perf(desktop): make session-id search SQL-bounded, not O(n) 2026-06-04 07:49:34 -07:00
test_web_ui_build.py test: update non-Termux workspace-scope fixtures for #38358 fix 2026-06-06 18:22:20 -07:00
test_webhook_cli.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_whatsapp_setup_ordering.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_win_pty_bridge.py feat(windows): enable dashboard /chat tab via ConPTY (win_pty_bridge) + tests (#42251) 2026-06-08 11:32:43 -07:00
test_windows_native_docs.py docs(windows): fix Get-Command PATH guidance to venv\Scripts\hermes.exe (#40613) 2026-06-07 18:28:23 -07:00
test_xai_model_flow.py fix(xai): accept Grok Build code during loopback wait + tiny screenshot guard 2026-06-09 23:21:24 -07:00
test_xai_oauth_pkce_token_exchange.py
test_xai_provider_labels.py
test_xai_retirement.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_xiaomi_provider.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00