| .. |
|
__init__.py
|
test: reorganize test structure and add missing unit tests
|
2026-02-26 03:20:08 +03:00 |
|
test_ai_gateway_models.py
|
refactor(ai-gateway): single source of truth for model catalog (#13304)
|
2026-04-20 22:21:21 -07:00 |
|
test_anthropic_model_flow_stale_oauth.py
|
fix: re-auth on stale OAuth token; read Claude Code credentials from macOS Keychain
|
2026-04-24 07:14:00 -07: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: add Step Plan provider support (salvage #6005)
|
2026-04-22 02:59:58 -07:00 |
|
test_arcee_provider.py
|
test: stop testing mutable data — convert change-detectors to invariants (#13363)
|
2026-04-20 23:20:33 -07:00 |
|
test_argparse_flag_propagation.py
|
feat: shell hooks — wire shell scripts as Hermes hook callbacks
|
2026-04-20 20:53:51 -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
|
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(model): let Codex setup reuse or reauthenticate
|
2026-04-24 04:53:32 -07:00 |
|
test_auth_commands.py
|
fix: clarify auth retry guidance
|
2026-04-24 05:20:05 -07:00 |
|
test_auth_nous_provider.py
|
fix: validate nous auth status against runtime credentials
|
2026-04-24 05:20:05 -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_auth_ssl_macos.py
|
fix(auth): honor SSL CA env vars across httpx + requests callsites
|
2026-04-24 03:00:33 -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
|
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: 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): let Codex setup reuse or reauthenticate
|
2026-04-24 04:53:32 -07:00 |
|
test_commands.py
|
refactor(commands): drop /provider, /plan handler, and clean up slash registry (#15047)
|
2026-04-24 03:10:52 -07:00 |
|
test_completion.py
|
fix: preserve profile name completion in dynamic shell completion
|
2026-04-14 10:45:42 -07:00 |
|
test_config.py
|
test: stop testing mutable data — convert change-detectors to invariants (#13363)
|
2026-04-20 23:20:33 -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
|
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_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
|
fix(model): repair Discord Copilot /model flow
|
2026-04-24 03:33:29 -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(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(debug): distinguish empty-log from missing-log in report placeholder
|
2026-04-22 15:27:54 -05: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: 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_doctor.py
|
fix(cli): validate user-defined providers consistently
|
2026-04-24 04:48:56 -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(cli): ensure project .env is sanitized before loading
|
2026-04-22 05:51:44 -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): recover stale pid and planned restart state
|
2026-04-22 16:33:46 -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): kill tool subprocesses before adapter disconnect on drain timeout (#14728)
|
2026-04-23 13:59:29 -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_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
|
test: stop testing mutable data — convert change-detectors to invariants (#13363)
|
2026-04-20 23:20:33 -07:00 |
|
test_hooks_cli.py
|
feat: shell hooks — wire shell scripts as Hermes hook callbacks
|
2026-04-20 20:53:51 -07:00 |
|
test_ignore_user_config_flags.py
|
feat(cli): add --ignore-user-config and --ignore-rules flags
|
2026-04-22 19:58:42 -07:00 |
|
test_image_gen_picker.py
|
fix(image-gen): persist plugin provider on reconfigure
|
2026-04-23 01:56:09 -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(model-normalize): pass DeepSeek V-series IDs through instead of folding to deepseek-chat
|
2026-04-24 05:24:54 -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
|
feat: add Step Plan provider support (salvage #6005)
|
2026-04-22 02:59:58 -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(opencode): derive api_mode from target model, not stale config default (#15106)
|
2026-04-24 04:58:46 -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
|
fix(cli): support model validation for anthropic_messages and cloudflare-protected endpoints
|
2026-04-24 05:48:15 -07:00 |
|
test_models.py
|
feat(aux): use Portal /api/nous/recommended-models for auxiliary models
|
2026-04-21 20:35:16 -07:00 |
|
test_models_dev_preferred_merge.py
|
feat(/model): merge models.dev entries for lesser-loved providers (#14221)
|
2026-04-22 17:33:42 -07:00 |
|
test_non_ascii_credential.py
|
fix(env_loader): warn when non-ASCII stripped from credential env vars (#13300)
|
2026-04-20 22:14:03 -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
|
fix(opencode): derive api_mode from target model, not stale config default (#15106)
|
2026-04-24 04:58:46 -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
|
feat(/model): merge models.dev entries for lesser-loved providers (#14221)
|
2026-04-22 17:33:42 -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
|
fix(model_picker): detect mapped-provider auth-store credentials
|
2026-04-24 05:20:05 -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_plugin_scanner_recursion.py
|
feat(plugins): pluggable image_gen backends + OpenAI provider (#13799)
|
2026-04-21 21:30:10 -07:00 |
|
test_plugins.py
|
refactor(spotify): convert to built-in bundled plugin under plugins/spotify (#15174)
|
2026-04-24 07:06:11 -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(profiles): stage profile imports to prevent directory clobbering
|
2026-04-23 03:02:34 -07:00 |
|
test_provider_config_validation.py
|
fix(config): preserve list-format models in custom_providers normalize
|
2026-04-23 02:37:07 -07:00 |
|
test_pty_bridge.py
|
feat(web): add /api/pty WebSocket bridge to embed TUI in dashboard
|
2026-04-24 10:51:49 -04:00 |
|
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
|
fix(redact): honor security.redact_secrets from config.yaml (#15109)
|
2026-04-24 05:03:26 -07:00 |
|
test_runtime_provider_resolution.py
|
fix(runtime): resolve bare custom provider to loopback or CUSTOM_BASE_URL
|
2026-04-24 04:54:16 -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
|
fix(cli): validate user-defined providers consistently
|
2026-04-24 04:48:56 -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
|
Update env vars for openclaw migration
|
2026-04-20 14:56:04 -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(tests): resolve 17 persistent CI test failures (#15084)
|
2026-04-24 03:46:46 -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: align status bar skin tests with upstream main
|
2026-04-22 13:20:02 -07:00 |
|
test_spotify_auth.py
|
feat(spotify): interactive setup wizard + docs page (#15130)
|
2026-04-24 05:30:05 -07:00 |
|
test_status.py
|
fix: validate nous auth status against runtime credentials
|
2026-04-24 05:20:05 -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
|
feat(cron): honor hermes tools config for the cron platform (#14798)
|
2026-04-23 15:48:50 -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
|
fix(gateway): drain-aware hermes update + faster still-working pings (#14736)
|
2026-04-23 14:01:57 -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(cli): non-zero /model counts for native OpenAI and direct API rows
|
2026-04-24 05:48:15 -07:00 |
|
test_voice_wrapper.py
|
feat(tui): match CLI's voice slash + VAD-continuous recording model
|
2026-04-23 16:18:15 -07:00 |
|
test_web_server.py
|
fix: mobile chat in new layout
|
2026-04-24 12:07:46 -04:00 |
|
test_web_server_host_header.py
|
fix(web_server,whatsapp-bridge): validate Host header against bound interface (#13530)
|
2026-04-21 06:26:35 -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
|
fix(normalize): lowercase Xiaomi model IDs for case-insensitive config (#15066)
|
2026-04-24 03:33:05 -07:00 |