..
__init__.py
test: reorganize test structure and add missing unit tests
2026-02-26 03:20:08 +03:00
test_anthropic_oauth_flow.py
refactor(tests): re-architect tests + fix CI failures ( #5946 )
2026-04-07 17:19:07 -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
feat(providers): add native NVIDIA NIM provider
2026-04-17 13:47:46 -07:00
test_arcee_provider.py
test: make test env hermetic; enforce CI parity via scripts/run_tests.sh ( #11577 )
2026-04-17 06:09:09 -07:00
test_argparse_flag_propagation.py
test: remove 169 change-detector tests across 21 files ( #11472 )
2026-04-17 01:05:09 -07:00
test_atomic_json_write.py
refactor(tests): re-architect tests + fix CI failures ( #5946 )
2026-04-07 17:19:07 -07:00
test_atomic_yaml_write.py
refactor(tests): re-architect tests + fix CI failures ( #5946 )
2026-04-07 17:19:07 -07:00
test_auth_codex_provider.py
fix(codex): Hermes owns its own Codex auth; stop touching ~/.codex/auth.json ( #12360 )
2026-04-18 19:19:46 -07:00
test_auth_commands.py
fix(auth): restore --label for hermes auth add nous --type oauth
2026-04-17 19:13:40 -07:00
test_auth_nous_provider.py
fix(auth): use ssl.SSLContext for CA bundle instead of deprecated string path ( #12706 )
2026-04-19 22:44:35 -07:00
test_auth_provider_gate.py
fix: resolve CI test failures — add missing functions, fix stale tests ( #9483 )
2026-04-14 01:43:45 -07:00
test_auth_qwen_provider.py
feat(qwen): add Qwen OAuth provider with portal request support
2026-04-08 13:46:30 -07:00
test_aux_config.py
fix(aux): add session_search extra_body and concurrency controls
2026-04-20 00:47:39 -07:00
test_backup.py
fix(backup): handle files with pre-1980 timestamps
2026-04-20 00:47:40 -07:00
test_banner.py
fix(banner): normalize toolset labels and use skin colors
2026-03-18 03:22:58 -07:00
test_banner_git_state.py
fix: CLI/UX batch — ChatConsole errors, curses scroll, skin-aware banner, git state banner ( #5974 )
2026-04-07 17:59:42 -07:00
test_banner_skills.py
fix: disabled skills respected across banner, system prompt, slash commands, and skill_view ( #1897 )
2026-03-18 03:17:37 -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: unify OpenClaw detection, add isatty guard, fix print_warning import
2026-04-12 16:40:37 -07:00
test_clear_stale_base_url.py
fix: warn and clear stale OPENAI_BASE_URL on provider switch ( #5161 )
2026-04-11 01:52:58 -07:00
test_cmd_update.py
test: update stale tests to match current code ( #11963 )
2026-04-17 21:35:30 -07:00
test_coalesce_session_args.py
fix(cli): handle unquoted multi-word session names in -c/--continue and -r/--resume
2026-03-09 21:36:29 -07:00
test_codex_cli_model_picker.py
fix(tests): unstick CI — sweep stale tests from recent merges ( #12670 )
2026-04-19 12:39:58 -07:00
test_codex_models.py
fix(model): normalize native provider-prefixed model ids
2026-04-10 05:52:45 -07:00
test_commands.py
Merge branch 'main' of github.com:NousResearch/hermes-agent into feat/ink-refactor
2026-04-15 17:43:41 -05:00
test_completion.py
fix: preserve profile name completion in dynamic shell completion
2026-04-14 10:45:42 -07:00
test_config.py
feat(plugins): make all plugins opt-in by default
2026-04-20 04:46:45 -07:00
test_config_env_expansion.py
refactor(tests): re-architect tests + fix CI failures ( #5946 )
2026-04-07 17:19:07 -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
fix(gemini): tighten native routing and streaming replay
2026-04-19 12:40:08 -07:00
test_container_aware_cli.py
fix(gateway): harden Docker/container gateway pathway
2026-04-12 16:36:11 -07:00
test_copilot_auth.py
fix: remove 115 verified dead code symbols across 46 production files
2026-04-10 03:44:43 -07:00
test_cron.py
feat(skills): consolidate find-nearby into maps as a single location skill
2026-04-19 05:19:22 -07:00
test_custom_provider_model_switch.py
fix: three provider-related bugs ( #8161 , #8181 , #8147 ) ( #8243 )
2026-04-12 01:44:18 -07:00
test_debug.py
fix: two process leaks (agent-browser daemons, paste.rs sleepers) ( #11843 )
2026-04-17 18:46:30 -07:00
test_deprecated_cwd_warning.py
fix: enforce config.yaml as sole CWD source + deprecate .env CWD vars + add hermes memory reset ( #11029 )
2026-04-16 06:48:33 -07:00
test_detect_api_mode_for_url.py
fix(anthropic): complete third-party Anthropic-compatible provider support ( #12846 )
2026-04-19 22:43:09 -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_doctor.py
fix(doctor): skip health check for OpenCode Go (no shared /models endpoint)
2026-04-15 15:05:32 -07:00
test_doctor_command_install.py
feat(doctor): add Command Installation check for hermes bin symlink
2026-04-14 23:13:11 -07:00
test_env_loader.py
fix(config): reload .env over stale shell overrides
2026-03-15 06:46:28 -07:00
test_env_sanitize_on_load.py
fix: follow-up for salvaged PR #8939
2026-04-13 04:35:37 -07:00
test_gateway.py
fix(gateway): allow systemd-backed distrobox services
2026-04-17 19:24:30 -07:00
test_gateway_linger.py
fix(termux): disable gateway service flows on android
2026-04-09 16:24:53 -07:00
test_gateway_runtime_health.py
fix(gateway): harden Telegram polling conflict handling
2026-03-14 12:11:23 -07:00
test_gateway_service.py
fix(gateway): detect legacy hermes.service + mark --replace SIGTERM as planned ( #11909 )
2026-04-17 19:27:58 -07:00
test_gateway_wsl.py
feat(gateway): WSL-aware gateway with smart systemd detection ( #7510 )
2026-04-10 21:15:47 -07:00
test_gemini_provider.py
fix(gemini): tighten native routing and streaming replay
2026-04-19 12:40:08 -07:00
test_launcher.py
fix: use argparse entrypoint in top-level launcher ( #3874 )
2026-03-29 21:54:36 -07:00
test_logs.py
feat: component-separated logging with session context and filtering ( #7991 )
2026-04-11 17:23:36 -07:00
test_managed_installs.py
chore: prepare Hermes for Homebrew packaging ( #4099 )
2026-03-30 17:34:43 -07:00
test_mcp_config.py
fix(mcp): consolidate OAuth handling, pick up external token refreshes ( #11383 )
2026-04-16 21:57:10 -07:00
test_mcp_tools_config.py
feat: interactive MCP tool configuration in hermes tools ( #1694 )
2026-03-17 03:48:44 -07:00
test_memory_reset.py
fix: enforce config.yaml as sole CWD source + deprecate .env CWD vars + add hermes memory reset ( #11029 )
2026-04-16 06:48:33 -07:00
test_model_normalize.py
fix(copilot): normalize vendor-prefixed and dash-notation model IDs ( #6879 ) ( #11561 )
2026-04-17 04:19:36 -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
fix(setup): validate base URL input in hermes model flow ( #8264 )
2026-04-12 01:51:57 -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_switch): enumerate dict-format models in /model picker
2026-04-19 11:07:29 -07:00
test_model_switch_opencode_anthropic.py
feat(providers): extend request_timeout_seconds to all client paths
2026-04-19 11:23:00 -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: update stale tests to match current code ( #11963 )
2026-04-17 21:35:30 -07:00
test_models.py
refactor: remove dead code — 1,784 lines across 77 files ( #9180 )
2026-04-13 16:32:04 -07:00
test_non_ascii_credential.py
fix: detect and strip non-ASCII characters from API keys ( #6843 )
2026-04-14 20:20:31 -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_subscription.py
feat: ungate Tool Gateway — subscription-based access with per-tool opt-in
2026-04-16 12:36:49 -07:00
test_ollama_cloud_auth.py
refactor(tests): re-architect tests + fix CI failures ( #5946 )
2026-04-07 17:19:07 -07:00
test_ollama_cloud_provider.py
fix: wire up Ollama Cloud dynamic model discovery in /model TUI picker
2026-04-16 07:17:45 -07:00
test_opencode_go_in_model_list.py
fix(tests): make AIAgent constructor calls self-contained ( #11755 )
2026-04-17 12:32:03 -07:00
test_overlay_slug_resolution.py
fix: resolve overlay provider slug mismatch in /model picker ( #7373 )
2026-04-10 14:46:57 -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_placeholder_usage.py
fix: cover remaining config placeholder help text
2026-03-14 10:35:14 -07:00
test_plugin_cli_registration.py
test: remove 169 change-detector tests across 21 files ( #11472 )
2026-04-17 01:05:09 -07:00
test_plugins.py
feat(plugins): make all plugins opt-in by default
2026-04-20 04:46:45 -07:00
test_plugins_cmd.py
test: remove 169 change-detector tests across 21 files ( #11472 )
2026-04-17 01:05:09 -07:00
test_profile_export_credentials.py
fix: also exclude .env from default profile exports
2026-04-01 11:20:33 -07:00
test_profiles.py
fix(gateway): fix discrepancies in gateway status
2026-04-17 18:58:29 -07:00
test_reasoning_effort_menu.py
fix: normalize reasoning effort ordering in UI
2026-04-09 14:20:16 -07:00
test_runtime_provider_resolution.py
fix(config): restore custom providers after v11→v12 migration
2026-04-13 10:50:52 -07:00
test_session_browse.py
feat: interactive session browser with search filtering ( #718 )
2026-03-08 17:42:50 -07:00
test_sessions_delete.py
fix(cli): handle EOFError in sessions delete/prune confirmation prompts ( #3101 )
2026-03-25 18:06:04 -07:00
test_set_config_value.py
fix(cli): allow empty strings and falsy values in config set
2026-03-31 11:41:12 -07:00
test_setup.py
feat: ungate Tool Gateway — subscription-based access with per-tool opt-in
2026-04-16 12:36:49 -07:00
test_setup_agent_settings.py
fix(setup): stop hardcoding max-iterations copy
2026-04-19 00:28:25 -07:00
test_setup_hermes_script.py
fix(termux): make setup-hermes use android path
2026-04-09 16:24:53 -07:00
test_setup_matrix_e2ee.py
docs(matrix): update all references from matrix-nio to mautrix
2026-04-10 21:15:59 -07:00
test_setup_model_provider.py
fix: remove 115 verified dead code symbols across 46 production files
2026-04-10 03:44:43 -07:00
test_setup_noninteractive.py
Harden setup provider flows
2026-04-10 02:57:39 -07:00
test_setup_openclaw_migration.py
fix: OpenClaw migration now shows dry-run preview before executing ( #6769 )
2026-04-09 12:15:06 -07:00
test_setup_prompt_menus.py
fix(ci): resolve 4 pre-existing main failures (docs lint + 3 stale tests) ( #11373 )
2026-04-16 20:43:41 -07:00
test_skills_config.py
fix: respect per-platform disabled skills in Telegram menu and gateway dispatch ( #4799 )
2026-04-03 10:10:53 -07:00
test_skills_hub.py
fix(cli): add ChatConsole.status for /skills search
2026-04-11 15:38:43 -07:00
test_skills_install_flags.py
fix: add --yes flag to bypass confirmation in /skills install and uninstall ( #1647 )
2026-03-17 01:59:07 -07:00
test_skills_skip_confirm.py
fix(skills): cache-aware /skills install and uninstall in TUI ( #3586 )
2026-03-28 14:32:23 -07:00
test_skills_subparser.py
fix(cli): resolve duplicate 'skills' subparser crash on Python 3.11+
2026-03-11 00:50:39 -07:00
test_skin_engine.py
fix(cli): handle null/non-dict display config in skin initialization
2026-04-16 06:35:31 -07:00
test_status.py
fix(termux): improve status and install UX
2026-04-09 16:24:53 -07:00
test_status_model_provider.py
feat: ungate Tool Gateway — subscription-based access with per-tool opt-in
2026-04-16 12:36:49 -07:00
test_subparser_routing_fallback.py
test: remove 169 change-detector tests across 21 files ( #11472 )
2026-04-17 01:05:09 -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_terminal_menu_fallbacks.py
Harden setup provider flows
2026-04-10 02:57:39 -07:00
test_timeouts.py
fix(config): add stale timeout settings
2026-04-20 00:52:50 -07:00
test_tips.py
refactor: remove dead code — 1,784 lines across 77 files ( #9180 )
2026-04-13 16:32:04 -07:00
test_tool_token_estimation.py
fix(tests): resolve 10 CI failures across hooks, tiktoken, plugins ( #3848 )
2026-03-29 20:05:59 -07:00
test_tools_config.py
test(dingtalk): cover get_connected_platforms + null platform_toolsets
2026-04-17 06:26:18 -07:00
test_tools_disable_enable.py
fix: MCP toolset resolution for runtime and config ( #3252 )
2026-03-26 13:39:41 -07:00
test_tui_npm_install.py
chore: uptick
2026-04-15 10:23:15 -05:00
test_tui_resume_flow.py
chore(tui): strip noise comments
2026-04-16 19:14:05 -05:00
test_update_autostash.py
fix(update): always reset on stash conflict — never leave conflict markers ( #7010 )
2026-04-10 00:32:20 -07:00
test_update_check.py
test: remove 8 flaky tests that fail under parallel xdist scheduling ( #12784 )
2026-04-19 19:38:02 -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_gateway_restart.py
feat(update): warn about legacy hermes.service units during hermes update ( #11918 )
2026-04-17 19:35:12 -07:00
test_update_hangup_protection.py
fix(update): survive mid-update terminal disconnect ( #11960 )
2026-04-17 21:29:24 -07:00
test_user_providers_model_switch.py
fix(model-picker): dedup overlapping providers: dict and custom_providers: list entries
2026-04-19 22:15:49 -07:00
test_web_server.py
dashboard: show GATEWAY_HEALTH_URL instead of PID for remote gateways
2026-04-16 16:48:14 -07:00
test_webhook_cli.py
feat(webhook): hermes webhook CLI + skill for event-driven subscriptions ( #3578 )
2026-03-28 14:33:35 -07:00
test_xiaomi_provider.py
test: make test env hermetic; enforce CI parity via scripts/run_tests.sh ( #11577 )
2026-04-17 06:09:09 -07:00