hermes-agent/tests/agent
Teknium f324222b79
fix: add vLLM/local server error patterns + MCP initial connection retry (#9281)
Port two improvements inspired by Kilo-Org/kilocode analysis:

1. Error classifier: add context overflow patterns for vLLM, Ollama,
   and llama.cpp/llama-server. These local inference servers return
   different error formats than cloud providers (e.g., 'exceeds the
   max_model_len', 'context length exceeded', 'slot context'). Without
   these patterns, context overflow errors from local servers are
   misclassified as format errors, causing infinite retries instead
   of triggering compression.

2. MCP initial connection retry: previously, if the very first
   connection attempt to an MCP server failed (e.g., transient DNS
   blip at startup), the server was permanently marked as failed with
   no retry. Post-connect reconnection had 5 retries with exponential
   backoff, but initial connection had zero. Now initial connections
   retry up to 3 times with backoff before giving up, matching the
   resilience of post-connect reconnection.
   (Inspired by Kilo Code's MCP server disappearing fix in v1.3.3)

Tests: 6 new error classifier tests, 4 new MCP retry tests, 1
updated existing test. All 276 affected tests pass.
2026-04-13 18:46:14 -07:00
..
__init__.py
test_anthropic_adapter.py fix: MiniMax/Alibaba incorrectly detected as Anthropic OAuth, causing mcp_ tool prefix (#7509) 2026-04-11 00:43:01 -07:00
test_auxiliary_client.py fix(copilot-acp): keep acp runtime off responses path 2026-04-13 16:17:43 -07:00
test_auxiliary_config_bridge.py fix: remove legacy compression.summary_* config and env var fallbacks (#8992) 2026-04-13 04:59:26 -07:00
test_auxiliary_named_custom_providers.py fix(agent): propagate api_mode to vision provider resolution 2026-04-13 05:02:54 -07:00
test_compress_focus.py feat: /compress <focus> — guided compression with focus topic (#8017) 2026-04-11 19:23:29 -07:00
test_context_compressor.py fix(agent): route compression aux through live session runtime 2026-04-12 01:34:52 -07:00
test_context_engine.py feat: wire context engine plugin slot into agent and plugin system 2026-04-10 19:15:50 -07:00
test_context_references.py fix(agent): preserve quoted @file references with spaces 2026-04-10 13:05:01 -07:00
test_credential_pool_routing.py
test_credential_pool.py fix(auth): gate Claude Code credential seeding behind explicit provider config 2026-04-10 05:19:21 -07:00
test_crossloop_client_cache.py
test_display_emoji.py
test_display.py
test_error_classifier.py fix: add vLLM/local server error patterns + MCP initial connection retry (#9281) 2026-04-13 18:46:14 -07:00
test_external_skills.py
test_insights.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
test_local_stream_timeout.py fix: is_local_endpoint misses Docker/Podman DNS names (#7950) 2026-04-11 14:46:18 -07:00
test_memory_provider.py fix: remove 115 verified dead code symbols across 46 production files 2026-04-10 03:44:43 -07:00
test_memory_user_id.py
test_minimax_auxiliary_url.py
test_minimax_provider.py fix: preserve dots in model names for OpenCode Zen and ZAI providers (#8794) 2026-04-12 21:22:59 -07:00
test_model_metadata_local_ctx.py fix(agent): prefer Ollama Modelfile num_ctx over GGUF training max 2026-04-13 04:24:07 -07:00
test_model_metadata.py fix: use ceiling division for token estimation, deduplicate inline formula 2026-04-11 16:33:40 -07:00
test_models_dev.py fix: three provider-related bugs (#8161, #8181, #8147) (#8243) 2026-04-12 01:44:18 -07:00
test_prompt_builder.py feat: add WSL environment hint to system prompt (#8285) 2026-04-12 02:26:28 -07:00
test_prompt_caching.py
test_rate_limit_tracker.py feat: capture provider rate limit headers and show in /usage (#6541) 2026-04-09 03:43:14 -07:00
test_redact.py
test_skill_commands.py
test_smart_model_routing.py
test_subagent_progress.py
test_subdirectory_hints.py fix(agent): catch PermissionError in subdirectory hint discovery 2026-04-09 03:10:30 -07:00
test_title_generator.py
test_usage_pricing.py