hermes-agent/tests
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
..
acp
agent feat(tools): centralize tool emoji metadata in registry + skin integration 2026-03-15 20:21:21 -07:00
cron fix(cron): support per-job runtime overrides 2026-03-14 22:22:31 -07:00
fakes
gateway Merge pull request #1495 from NousResearch/fix/814-group-session-isolation 2026-03-16 00:25:43 -07:00
hermes_cli feat: auto-detect provider when switching models via /model (#1506) 2026-03-16 04:34:45 -07:00
honcho_integration
integration test(voice): add integration tests with real NaCl crypto and Opus codec 2026-03-15 05:20:17 -07:00
skills fix: persist google oauth pkce for headless auth 2026-03-14 22:11:34 -07:00
tools feat: auto-detect provider when switching models via /model (#1506) 2026-03-16 04:34:45 -07:00
__init__.py
conftest.py feat: add direct endpoint overrides for auxiliary and delegation 2026-03-14 21:11:37 -07:00
run_interrupt_test.py fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
test_413_compression.py
test_860_dedup.py
test_agent_loop_tool_calling.py
test_agent_loop_vllm.py test: restore vllm integration coverage and add dict-args regression 2026-03-15 08:02:29 -07:00
test_agent_loop.py fix: salvage gateway dedup and executor cleanup from PR #993 2026-03-14 11:03:20 -07:00
test_anthropic_adapter.py Merge origin/main into hermes/hermes-daa73839 2026-03-14 23:44:47 -07:00
test_anthropic_oauth_flow.py fix: preflight Anthropic auth and prefer Claude store 2026-03-14 19:38:55 -07:00
test_anthropic_provider_persistence.py fix: preflight Anthropic auth and prefer Claude store 2026-03-14 19:38:55 -07:00
test_api_key_providers.py fix: exclude Coding Plan-only models from Moonshot model selection 2026-03-14 20:42:30 -07:00
test_atomic_json_write.py test: cover atomic temp cleanup on interrupts 2026-03-14 22:31:51 -07:00
test_atomic_yaml_write.py test: cover atomic temp cleanup on interrupts 2026-03-14 22:31:51 -07:00
test_auth_codex_provider.py
test_auth_nous_provider.py
test_auxiliary_config_bridge.py feat: add direct endpoint overrides for auxiliary and delegation 2026-03-14 21:11:37 -07:00
test_batch_runner_checkpoint.py
test_cli_approval_ui.py fix(cli): repair dangerous command approval UI 2026-03-14 11:57:44 -07:00
test_cli_init.py fix: initialize CLI voice state for single-query mode 2026-03-14 06:31:32 -07:00
test_cli_interrupt_subagent.py
test_cli_loading_indicator.py
test_cli_mcp_config_watch.py fix: auto-reload MCP tools when mcp_servers config changes without restart (#1474) 2026-03-15 19:03:34 -07:00
test_cli_model_command.py feat: auto-detect provider when switching models via /model (#1506) 2026-03-16 04:34:45 -07:00
test_cli_new_session.py
test_cli_plan_command.py fix: save /plan output in workspace (#1381) 2026-03-14 21:28:51 -07:00
test_cli_prefix_matching.py fix(test): add missing session_id and _pending_input to _make_cli fixture 2026-03-14 10:33:58 -07:00
test_cli_preloaded_skills.py feat: preload CLI skills on launch (#1359) 2026-03-14 19:33:59 -07:00
test_cli_provider_resolution.py fix(custom-endpoint): verify /models and suggest working /v1 base URL (#1480) 2026-03-15 20:09:50 -07:00
test_cli_retry.py test: lock retry replacement semantics 2026-03-14 21:19:22 -07:00
test_cli_secret_capture.py
test_cli_skin_integration.py
test_codex_execution_paths.py
test_codex_models.py
test_dict_tool_call_args.py test: restore vllm integration coverage and add dict-args regression 2026-03-15 08:02:29 -07:00
test_display.py
test_evidence_store.py feat: add OSS Security Forensics skill (Skills Hub) (#1482) 2026-03-15 21:59:53 -07:00
test_external_credential_detection.py
test_fallback_model.py
test_file_permissions.py
test_flush_memories_codex.py
test_hermes_state.py fix(cli): accept session ID prefixes for session actions 2026-03-15 04:01:56 -07:00
test_honcho_client_config.py
test_insights.py
test_interactive_interrupt.py fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
test_interrupt_propagation.py
test_managed_server_tool_support.py
test_minisweagent_path.py
test_model_provider_persistence.py
test_model_tools.py
test_openai_client_lifecycle.py fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
test_personality_none.py
test_provider_parity.py fix: convert anthropic image content blocks 2026-03-14 23:41:20 -07:00
test_quick_commands.py
test_real_interrupt_subagent.py
test_reasoning_command.py
test_redirect_stdout_issue.py
test_resume_display.py
test_run_agent_codex_responses.py
test_run_agent.py fix(honcho): isolate session routing for multi-user gateway (#1500) 2026-03-16 00:23:47 -07:00
test_runtime_provider_resolution.py fix: restore config-saved custom endpoint resolution 2026-03-14 20:58:12 -07:00
test_setup_model_selection.py
test_timezone.py test(cron): add cross-timezone naive timestamp regression 2026-03-14 10:33:32 -07:00
test_tool_call_parsers.py fix: use non-greedy regex in DeepSeek V3 parser for multi-tool calls (#1300) 2026-03-14 06:19:28 -07:00
test_toolset_distributions.py
test_toolsets.py
test_trajectory_compressor.py fix: harden trajectory compressor summary content handling 2026-03-14 11:03:25 -07:00
test_worktree_security.py fix: harden salvaged worktree include checks 2026-03-14 21:51:27 -07:00
test_worktree.py fix: harden salvaged worktree include checks 2026-03-14 21:51:27 -07:00