hermes-agent/tests/tools
Teknium c1da1fdcd5
feat: auto-detect provider when switching models via /model (#1506)
When typing /model deepseek-chat while on a different provider, the
model name now auto-resolves to the correct provider instead of
silently staying on the wrong one and causing API errors.

Detection priority:
1. Direct provider with credentials (e.g. DEEPSEEK_API_KEY set)
2. OpenRouter catalog match with proper slug remapping
3. Direct provider without creds (clear error beats silent failure)

Also adds DeepSeek as a first-class API-key provider — just set
DEEPSEEK_API_KEY and /model deepseek-chat routes directly.

Bare model names get remapped to proper OpenRouter slugs:
  /model gpt-5.4 → openai/gpt-5.4
  /model claude-opus-4.6 → anthropic/claude-opus-4.6

Salvages the concept from PR #1177 by @virtaava with credential
awareness and OpenRouter slug mapping added.

Co-authored-by: virtaava <virtaava@users.noreply.github.com>
2026-03-16 04:34:45 -07:00
..
__init__.py
test_approval.py Merge pull request #1397 from NousResearch/hermes/hermes-629f8bde 2026-03-14 22:17:16 -07:00
test_browser_cleanup.py Fix browser cleanup consistency and screenshot recovery 2026-03-14 11:28:26 -07:00
test_browser_console.py
test_checkpoint_manager.py
test_clarify_tool.py
test_clipboard.py
test_code_execution.py test: cover repo-root imports in execute_code sandbox 2026-03-14 21:41:12 -07:00
test_command_guards.py
test_cron_prompt_injection.py
test_cronjob_tools.py fix: preserve thread context for cronjob deliver=origin 2026-03-15 06:57:00 -07:00
test_daytona_environment.py
test_debug_helpers.py
test_delegate.py feat: add direct endpoint overrides for auxiliary and delegation 2026-03-14 21:11:37 -07:00
test_docker_environment.py
test_docker_find.py
test_file_operations.py
test_file_tools_live.py
test_file_tools.py
test_force_dangerous_override.py
test_fuzzy_match.py
test_hidden_dir_filter.py
test_homeassistant_tool.py
test_honcho_tools.py fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
test_interrupt.py
test_local_env_blocklist.py feat: auto-detect provider when switching models via /model (#1506) 2026-03-16 04:34:45 -07:00
test_local_persistent.py simplify docstrings, fix some bugs 2026-03-15 01:20:42 +05:30
test_mcp_tool_issue_948.py
test_mcp_tool.py
test_memory_tool.py fix: tighten memory and session recall guidance 2026-03-14 11:36:47 -07:00
test_mixture_of_agents_tool.py
test_modal_sandbox_fixes.py
test_parse_env_var.py
test_patch_parser.py
test_process_registry.py fix(security): block gateway and tool env vars in subprocesses 2026-03-15 02:51:04 -07:00
test_read_loop_detection.py
test_registry.py feat(tools): centralize tool emoji metadata in registry + skin integration 2026-03-15 20:21:21 -07:00
test_rl_training_tool.py
test_send_message_tool.py fix: suppress duplicate cron sends to auto-delivery targets 2026-03-14 19:07:50 -07:00
test_session_search.py fix: tighten memory and session recall guidance 2026-03-14 11:36:47 -07:00
test_skill_manager_tool.py
test_skill_view_path_check.py
test_skill_view_traversal.py
test_skills_guard.py
test_skills_hub_clawhub.py fix: improve clawhub skill search matching 2026-03-14 23:15:04 -07:00
test_skills_hub.py
test_skills_sync.py
test_skills_tool.py
test_ssh_environment.py merge: resolve conflicts with origin/main (SSH preflight check) 2026-03-15 21:13:40 -07:00
test_symlink_prefix_confusion.py
test_terminal_disk_usage.py
test_terminal_requirements.py
test_terminal_tool_requirements.py
test_tirith_security.py fix(cli): silence tirith prefetch install warnings at startup (#1452) 2026-03-15 18:07:03 -07:00
test_todo_tool.py
test_transcription_tools.py fix: restore local STT fallback for gateway voice notes 2026-03-15 21:51:40 -07:00
test_transcription.py fix: propagate STT disable through shared transcription config 2026-03-14 22:09:59 -07:00
test_vision_tools.py refactor: unify vision backend gating 2026-03-14 20:22:13 -07:00
test_voice_cli_integration.py
test_voice_mode.py
test_web_tools_config.py
test_windows_compat.py
test_write_deny.py
test_yolo_mode.py