hermes-agent/tests/hermes_cli
Teknium 9ed9af2f7d
fix(update): name new config options in migration prompt; skip prompt for pure version bumps (#35658)
The 'hermes update' config-migration prompt printed only counts ('1 new
config option available') then asked 'configure them now?' without ever
saying what the options were. Users said no because they couldn't tell what
they were agreeing to. For pure config-format version bumps (no new
env/config keys) it still asked the question, where saying yes just bumped
the version and looked like a no-op.

- List each new env var / config key by name + description before prompting
  (cap at 8, then '… and N more'). The data was already available; we just
  threw it away and printed a count.
- Pure version bump (no new options): apply the format migration
  non-interactively and print what happened, instead of asking a misleading
  yes/no.

Reported by ScottFive and Tt2021.
2026-05-30 20:42:37 -07:00
..
__init__.py
conftest.py fix(update): quarantine hermes.exe vs concurrent Windows instance (#26670) (#26677) 2026-05-19 11:10:51 -07:00
conftest_dashboard_auth.py fix(dashboard-auth): use fixed-length sig suffix in stub token framing 2026-05-27 02:12:27 -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 fix(cli): show masked feedback for secret prompts 2026-05-25 01:20:33 -07:00
test_anthropic_provider_persistence.py refactor(tests): re-architect tests + fix CI failures (#5946) 2026-04-07 17:19:07 -07:00
test_api_key_providers.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_apply_model_switch_result_context.py fix(cli): /model picker honors provider-specific context caps (#16030) 2026-04-26 05:43:31 -07:00
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 remove Vercel AI Gateway and Vercel Sandbox (#33067) 2026-05-27 00:43:32 -07:00
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 fix(tui): @folder: only yields directories, @file: only yields files 2026-04-21 14:31:48 -05:00
test_atomic_json_write.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_auth_commands.py test(auth): update nous jwt-only expectations 2026-05-29 02:24:48 -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-oauth): accept bare-code manual paste (state=None) (#26923) (#33880) 2026-05-28 05:47:30 -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 fix(auth): fall back to global auth.json in _load_provider_state 2026-05-27 09:38:58 -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 fix(auth): honor SSL CA env vars across httpx + requests callsites 2026-04-24 03:00:33 -07:00
test_auth_toctou_file_modes.py test: migrate stale os.kill monkeypatches to gateway.status._pid_exists 2026-05-08 14:27:40 -07:00
test_auth_usable_secret.py security: harden API server key placeholder handling (#30738) 2026-05-24 04:25:32 -07:00
test_auth_xai_oauth_provider.py fix(xai-oauth): pin inference base_url to x.ai origin (#28952) 2026-05-19 14:51:21 -07:00
test_aux_config.py fix(aux): remove stale session_search model menu entry 2026-05-18 20:01:34 -07:00
test_azure_detect.py feat(azure-foundry): add Microsoft Entra ID auth 2026-05-18 10:14:38 -07:00
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 feat(banner): hyperlink startup banner title to latest GitHub release (#14945) 2026-04-23 23:28:34 -07:00
test_banner_git_state.py fix(docker): bake build-time git SHA into the image 2026-05-28 15:14:05 +10:00
test_banner_pip_update.py refactor: DRY cleanup from code review 2026-05-15 14:45:43 -07:00
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 fix(docker): bake build-time git SHA into the image 2026-05-28 15:14:05 +10:00
test_bundles.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_chat_skills_flag.py fix(termux): add local image chat route 2026-04-09 16:24:53 -07:00
test_claw.py fix(ci): stabilize main test suite regressions (#17660) 2026-04-29 23:18:55 -07:00
test_clear_stale_base_url.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_cli_output.py fix(cli): show masked feedback for secret prompts 2026-05-25 01:20:33 -07:00
test_cmd_update.py fix(update): name new config options in migration prompt; skip prompt for pure version bumps (#35658) 2026-05-30 20:42:37 -07:00
test_cmd_update_docker.py test(docker-update): stub subprocess.run in git-install regression guard 2026-05-28 15:50:25 +10:00
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(codex): drop dead model slugs that HTTP 400 on ChatGPT Pro (#33424) 2026-05-27 12:16:15 -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 chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_commands.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_completion.py test(cli): strengthen zsh completion regression coverage 2026-05-13 09:34:15 -07:00
test_config.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_config_drift.py feat(delegate): orchestrator role and configurable spawn depth (default flat) 2026-04-21 14:23:45 -07:00
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 fix(config): preserve env refs when save_config rewrites config (#11892) 2026-04-17 19:03:26 -07:00
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 fix(ci): stabilize main test suite regressions (#17660) 2026-04-29 23:18:55 -07:00
test_container_boot.py fix(container_boot): publish reconciled service dirs atomically 2026-05-24 18:05:33 -07: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 fix(copilot): require successful exchange when walking credential_pool catalog tokens 2026-04-28 01:18:09 -07:00
test_copilot_context.py fix(copilot): wire live /models max_prompt_tokens into context-window resolver 2026-04-24 05:09:08 -07:00
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 fix(copilot): exchange raw GitHub token for Copilot API JWT 2026-04-24 05:09:08 -07:00
test_cron.py feat: add cron job profile support 2026-05-18 17:39:50 +00: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 feat(curator): show rename map in user-visible summary (#22910) 2026-05-09 18:43:40 -07:00
test_curator_run.py fix(curator): make manual runs synchronous 2026-05-07 05:27:47 -07:00
test_curator_status.py fix(curator): make manual runs synchronous 2026-05-07 05:27:47 -07:00
test_curses_color_compat.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_custom_provider_context_length.py fix(context): honor custom_providers context_length on /model switch + bump probe tier to 256K (#15844) 2026-04-25 18:47:53 -07:00
test_custom_provider_model_switch.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_dashboard_auth_401_reauth.py fix(dashboard-auth): share /api/* public allowlist between legacy and OAuth gates 2026-05-29 12:17:12 +10:00
test_dashboard_auth_audit.py feat(dashboard-auth): json-lines audit log at $HERMES_HOME/logs/dashboard-auth.log 2026-05-27 02:12:27 -07:00
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 feat(dashboard-auth): Nous plugin always-on; default portal URL; specific error messages 2026-05-27 02:12:27 -07:00
test_dashboard_auth_middleware.py fix(dashboard-auth): share /api/* public allowlist between legacy and OAuth gates 2026-05-29 12:17:12 +10:00
test_dashboard_auth_plugin_hook.py feat(plugins): add register_dashboard_auth_provider hook on PluginContext 2026-05-27 02:12:27 -07:00
test_dashboard_auth_prefix.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_dashboard_auth_provider_base.py test(dashboard-auth): cover registry register/get/list/clear semantics 2026-05-27 02:12:27 -07:00
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): stub auth provider for E2E gate testing 2026-05-27 02:12:27 -07:00
test_dashboard_auth_ws_auth.py fix(dashboard): allow insecure WS peers on explicit non-loopback binds (#35386) 2026-05-30 07:33:02 -07:00
test_dashboard_auth_ws_tickets.py feat(dashboard-auth): single-use WS tickets + POST /api/auth/ws-ticket 2026-05-27 02:12:27 -07:00
test_dashboard_browser_safe_imports.py Merge upstream/main and address Copilot review feedback 2026-04-30 06:43:22 -04:00
test_dashboard_lifecycle_flags.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_dashboard_profiles_nav_label.py fix(dashboard): UI polish — modals, layout, consistency, test fixes 2026-05-12 13:59:22 -04:00
test_debug.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07: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 feat: confirm prompt for destructive slash commands (#4069) (#22687) 2026-05-09 11:04:46 -07:00
test_detect_api_mode_for_url.py fix: restrict provider URL detection to exact hostname matches 2026-04-20 22:14:29 -07:00
test_determine_api_mode_hostname.py fix: extend hostname-match provider detection across remaining call sites 2026-04-20 22:14:29 -07:00
test_dingtalk_auth.py test(dingtalk): cover QR device-flow auth + OpenClaw branding disclosure 2026-04-17 05:08:07 -07:00
test_discord_skill_clamp_warning.py test: add tests for cmd_key preservation through name clamping 2026-05-03 03:25:45 -07:00
test_doctor.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 fix(doctor): skip pluggable provider profiles when a dedicated check exists (#22346) 2026-05-09 13:36:33 -07:00
test_dump_git_commit.py fix(docker): bake build-time git SHA into the image 2026-05-28 15:14:05 +10:00
test_env_load_cache.py perf(tools): cache get_nous_auth_status() and load_env() to fix slow hermes tools menus (#25341) 2026-05-13 18:40:14 -07:00
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 clarify placeholder telegram credential in tests 2026-05-04 15:31:15 -04:00
test_fallback_cmd.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_linger.py fix(termux): disable gateway service flows on android 2026-04-09 16:24:53 -07:00
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 fix(gateway): detect gateway process via /proc in Docker without procps 2026-05-09 17:54:17 -07:00
test_gateway_runtime_health.py fix(gateway): harden Telegram polling conflict handling 2026-03-14 12:11:23 -07:00
test_gateway_s6_dispatch.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gateway_service.py test(gateway): update system-unit cwd assertion to HERMES_HOME anchor 2026-05-29 12:36:59 -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): drain on Windows hermes gateway stop so sessions survive restart (#33798) 2026-05-28 03:25:32 -07:00
test_gateway_wsl.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_gemini_free_tier_setup_block.py feat(gemini): block free-tier keys at setup + surface guidance on 429 (#15100) 2026-04-24 04:46:17 -07:00
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_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 refactor(cli): derive relaunch flag table from argparse introspection 2026-04-29 20:33:29 -07:00
test_image_gen_picker.py fix(auth): refresh Nous entitlement in tool menus 2026-05-28 00:19:31 -07:00
test_install_cua_driver.py fix(cli): pre-check CUA release asset for Intel macOS before install 2026-05-21 19:17:45 -07:00
test_inventory.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07: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 fix(kanban): align board_exists with board discovery rules 2026-05-18 20:17:10 -07:00
test_kanban_cli.py feat(kanban): configure worktree paths and branches 2026-05-18 21:33:08 -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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_kanban_db.py fix(kanban): align recompute_ready guard with breaker's configured failure_limit 2026-05-30 01:40:57 -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): detect cycles in decompose_triage_task sibling-link pre-validation 2026-05-18 09:40:44 -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 fix(kanban): honor severity thresholds in diagnostics 2026-05-18 20:47:01 -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 feat(kanban): --ids bulk promote + AUTHOR_MAP entry for #29464 2026-05-23 23:10:36 -07:00
test_kanban_specify.py feat(kanban): add specify — auxiliary LLM fleshes out triage tasks (#21435) 2026-05-07 13:04:41 -07:00
test_kanban_specify_db.py feat(kanban): add specify — auxiliary LLM fleshes out triage tasks (#21435) 2026-05-07 13:04:41 -07:00
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 fix: use argparse entrypoint in top-level launcher (#3874) 2026-03-29 21:54:36 -07:00
test_list_picker_providers.py fix(gateway): preserve model picker current context 2026-05-06 03:50:59 -07:00
test_logs.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_managed_installs.py fix(tests): catch up 25 stale tests after recent merges (#28626) 2026-05-19 01:28:32 -07:00
test_mcp_add_command_dest.py fix(mcp): give 'mcp add --command' a distinct argparse dest 2026-05-07 05:17:03 -07:00
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): stop reporting false OAuth success when no token was obtained (#34807) 2026-05-29 12:32:19 -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(honcho): harden self-hosted setup paths 2026-05-29 22:29:48 -07:00
test_migrate_xai.py fix(xai): align migrate retirement map with docs 2026-05-20 09:18:23 -07:00
test_model_catalog.py test(model-catalog): use exact URL equality in fallback tests 2026-05-29 00:25:36 -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_viewport.py refactor(cli): align model picker viewport with PR #11260 vocabulary 2026-04-17 06:33:21 -07:00
test_model_provider_persistence.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_model_switch_context_display.py fix(context): honor custom_providers context_length on /model switch + bump probe tier to 256K (#15844) 2026-04-25 18:47:53 -07:00
test_model_switch_copilot_api_mode.py fix: recompute Copilot api_mode after model switch 2026-04-16 01:16:14 -07:00
test_model_switch_custom_providers.py fix(model): isolate custom provider picker credentials 2026-05-29 12:32:35 -07:00
test_model_switch_opencode_anthropic.py fix(opencode): derive api_mode from target model, not stale config default (#15106) 2026-04-24 04:58:46 -07:00
test_model_switch_variant_tags.py fix(models): preserve OpenRouter variant tags (:free, :extended, :fast) during model switch (#6383) 2026-04-08 19:58:16 -07:00
test_model_validation.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -07:00
test_models.py test: remove low-value model-catalog mirror tests 2026-05-29 23:45:05 -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 feat(auth) normalise the way in which we check whether a user has free/paid access to nous portal so we can expose behaviour and error messages accordingly. 2026-05-28 00:19:31 -07:00
test_nous_auth_status_cache.py perf(tools): cache get_nous_auth_status() and load_env() to fix slow hermes tools menus (#25341) 2026-05-13 18:40:14 -07:00
test_nous_hermes_non_agentic.py fix(cli): narrow Nous Hermes non-agentic warning to actual hermes-3/-4 models 2026-04-13 04:33:52 -07:00
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(setup): write config for image_gen and video_gen in apply_nous_managed_defaults (#35109) 2026-05-30 03:45:12 +00:00
test_ollama_cloud_auth.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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 fix(codex-spark): defensive 128k entry in DEFAULT_CONTEXT_LENGTHS + clarify validation test docstring 2026-05-09 23:17:25 -07:00
test_opencode_go_flat_namespace.py fix(opencode-go): keep users on opencode-go instead of hijacking to native providers (#20802) 2026-05-06 09:08:33 -07:00
test_opencode_go_in_model_list.py chore: ruff auto-fix PLR6201 resweep — tuple → set in membership tests (#27355) 2026-05-17 02:29:41 -07:00
test_opencode_go_validation_fallback.py fix(/model): accept provider switches when /models is unreachable 2026-04-21 05:19:43 -07:00
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 feat(cli): add file path autocomplete in the input prompt (#1545) 2026-03-16 06:07:45 -07:00
test_pin_kanban_board_env.py test(kanban): isolate HERMES_KANBAN_BOARD writes in pin-env tests 2026-05-05 04:37:47 -07:00
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 fix: cover remaining config placeholder help text 2026-03-14 10:35:14 -07:00
test_plugin_auxiliary_tasks.py feat(plugins): add register_auxiliary_task() to PluginContext API 2026-05-23 17:49:47 -07:00
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_plugins_cmd.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_plugins_cmd_list.py fix: improve plugins list usability 2026-05-29 00:59:42 -07:00
test_plugins_transcription_registration.py feat(stt): add register_transcription_provider() plugin hook 2026-05-25 01:41:19 -07:00
test_plugins_tts_registration.py feat(tts): add register_tts_provider() plugin hook (closes #30398) 2026-05-24 18:04:54 -07:00
test_post_setup_gating.py fix(tools): install cua-driver when Computer Use is enabled via 'hermes tools' (#22765) 2026-05-09 13:02:25 -07:00
test_profile_describer.py feat(kanban): orchestrator-driven auto-decomposition on triage (#27572) 2026-05-17 13:54:12 -07:00
test_profile_distribution.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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(honcho): harden self-hosted setup paths 2026-05-29 22:29:48 -07:00
test_profiles_s6_hooks.py fix(profiles): short-circuit s6 hooks on host before importing service_manager 2026-05-24 18:07:47 -07:00
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 fix(cli): show masked feedback for secret prompts 2026-05-25 01:20:33 -07:00
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): group multi-endpoint providers under one row (#35227) 2026-05-30 01:41:33 -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 fix(android): reject unsafe tar members in psutil compatibility installer 2026-05-28 02:36:09 -07:00
test_pty_bridge.py test: use subprocesses for each test file (#29016) 2026-05-21 16:40:04 +05:30
test_reasoning_effort_menu.py fix: normalize reasoning effort ordering in UI 2026-04-09 14:20:16 -07:00
test_redact_config_bridge.py feat(security): enable secret redaction by default (#17691, #20785) (#21193) 2026-05-07 05:10:33 -07:00
test_regression_16767.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_relaunch.py fix(windows): prefer npm.cmd over npm.ps1, skip .py argv0 in relaunch 2026-05-08 14:27:40 -07:00
test_resolve_last_session.py fix(cli): tighten MRU lookup and session DB cleanup 2026-04-27 08:52:12 -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 fix(cli): show masked feedback for secret prompts 2026-05-25 01:20:33 -07:00
test_security_advisories.py feat(security): supply-chain advisory checker + lazy-install framework + tiered install fallback (#24220) 2026-05-12 01:02:25 -07:00
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07: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 feat(session): make /handoff actually transfer the session live 2026-05-10 13:06:25 -07:00
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(sessions): wire sessions_dir through auto-prune + file-cleanup regression tests 2026-04-26 18:31:07 -07:00
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 fix(gateway): shutdown + restart hygiene (drain timeout, false-fatal, success log) (#18761) 2026-05-02 02:08:06 -07:00
test_setup_hermes_script.py chore: remove Atropos RL environments and tinker-atropos integration (#26106) 2026-05-15 10:36:38 +05:30
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_model_provider.py feat(video_gen): wire Nous subscription override into hermes tools UX 2026-05-29 22:26:24 +05:30
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 chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_setup_openclaw_migration.py fix(tests): catch up 25 stale tests after recent merges (#28626) 2026-05-19 01:28:32 -07:00
test_setup_prompt_menus.py fix(cli): show masked feedback for secret prompts 2026-05-25 01:20:33 -07:00
test_setup_reconfigure.py fix(setup): drop post-setup chat handoff (#25067) 2026-05-13 13:28:25 -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 fix(skills-hub): stop ellipsis-truncating the Identifier column (#33810) 2026-05-28 04:53:13 -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 fix(slack): enable writable app home DMs in manifest 2026-05-08 17:01:12 -07:00
test_spotify_auth.py fix(auth): keep Spotify logout from resetting model config 2026-05-07 05:53:14 -07:00
test_startup_plugin_gating.py perf(cli): skip eager plugin discovery on known built-in subcommands (#22120) 2026-05-08 16:07:23 -07:00
test_status.py fix(auth): refresh Nous entitlement in tool menus 2026-05-28 00:19:31 -07:00
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_subparser_routing_fallback.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_subprocess_timeouts.py fix(cli): add missing subprocess.run() timeouts in doctor and status (#4009) 2026-03-30 11:17:15 -07:00
test_suppress_eio_on_interrupt.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_teams_pipeline_plugin_cli.py feat(teams-pipeline): add plugin runtime and operator cli 2026-05-08 11:18:14 -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 Harden setup provider flows 2026-04-10 02:57:39 -07:00
test_timeouts.py fix(codex): size and propagate timeouts for Responses-API requests; lower stale defaults 2026-05-25 01:47:55 -07:00
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 fix(setup): write config for image_gen and video_gen in apply_nous_managed_defaults (#35109) 2026-05-30 03:45:12 +00:00
test_tools_disable_enable.py fix: MCP toolset resolution for runtime and config (#3252) 2026-03-26 13:39:41 -07:00
test_tts_picker.py feat(tts): add register_tts_provider() plugin hook (closes #30398) 2026-05-24 18:04:54 -07:00
test_tui_bundled.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_tui_mouse_residue_suppression.py fix(tui): suppress mouse-residue leaks during Python launcher startup (#31213) 2026-05-27 22:03:45 -05:00
test_tui_npm_install.py fix(tui): surface verbose tool details (#30225) 2026-05-22 00:16:52 -05:00
test_tui_resume_flow.py fix(cli): surface oneshot agent exceptions to stderr with rc=1 2026-05-30 07:31:48 -07:00
test_uninstall_node_symlinks.py fix(cli): remove Hermes-managed node/npm/npx symlinks on uninstall 2026-05-29 17:24:38 -07:00
test_update_autostash.py fix(ci): stabilize shared test state after 21012 2026-05-14 14:28:14 -07:00
test_update_check.py feat(cli): warn on unsupported pip installs + fix stale update-check cache (#34491) (#34846) 2026-05-29 13:30:28 -07: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 fix(anthropic): complete third-party Anthropic-compatible provider support (#12846) 2026-04-19 22:43:09 -07:00
test_update_hangup_protection.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_update_post_pull_syntax_guard.py feat(update): syntax-validate critical files post-pull, auto-rollback on failure (#28669) 2026-05-19 03:01:02 -07:00
test_update_stale_dashboard.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
test_update_yes_flag.py test: remove 50 stale/broken tests to unblock CI (#22098) 2026-05-08 14:55:40 -07:00
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 test(model_switch): cover private user_providers override 2026-04-30 19:44:26 -07:00
test_uv_tool_update.py fix(update): handle pipx installs + --system fallback in _cmd_update_pip 2026-05-30 02:08:11 -07:00
test_video_gen_picker.py fix(tools): video_gen picker reflects active xAI selection and runs xai_grok post_setup 2026-05-15 12:11:32 -07:00
test_voice_wrapper.py fix(tui): restore voice push-to-talk parity (#20897) 2026-05-06 15:49:59 -07:00
test_web_oauth_dispatch.py refactor(auth): Disable Nous legacy session key fallback 2026-05-29 02:24:48 -07:00
test_web_server.py test: deflake process-registry kill + PTY resize tests 2026-05-29 04:22:41 -07:00
test_web_server_cron_profiles.py fix(cron): reject id mutation + validate output paths under OUTPUT_DIR 2026-05-25 01:15:24 -07:00
test_web_server_host_header.py fix(dashboard): validate WebSocket Host and Origin 2026-05-24 15:00:44 -07:00
test_web_server_oauth_write.py Protect dashboard OAuth credentials with the same file-safety guarantees as other auth paths 2026-05-24 17:47:24 -07:00
test_web_ui_build.py chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -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_xai_oauth_pkce_token_exchange.py test(xai-oauth): pin PKCE token-exchange wire format 2026-05-17 12:35:01 -07:00
test_xai_provider_labels.py fix(model): include Premium+ in xAI OAuth label 2026-05-24 18:12:16 -07:00
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