hermes-agent-features/tests
Teknium 6ee90a7cf6
fix: hermes auth remove now clears env-seeded credentials permanently (#5285)
Removing an env-seeded credential (e.g. from OPENROUTER_API_KEY) via
'hermes auth' previously had no lasting effect -- the entry was deleted
from auth.json but load_pool() re-created it on the next call because
the env var was still set.

Now auth_remove_command detects env-sourced entries (source starts with
'env:') and calls the new remove_env_value() to strip the var from both
.env and os.environ, preventing re-seeding.

Changes:
- hermes_cli/config.py: add remove_env_value() -- atomically removes a
  line from .env and pops from os.environ
- hermes_cli/auth_commands.py: auth_remove_command clears env var when
  removing an env-seeded pool entry
- 8 new tests covering remove_env_value and the full zombie-credential
  lifecycle (remove -> reload -> stays gone)
2026-04-05 12:00:53 -07:00
..
acp
agent fix(gateway): resolve Telegram's underscored /commands to skill/plugin keys 2026-04-05 11:59:28 -07:00
cron fix: resolve listed messaging targets consistently 2026-04-05 11:59:28 -07:00
e2e
fakes
gateway fix(gateway): surface unknown /commands instead of leaking them to the LLM 2026-04-05 11:59:28 -07:00
hermes_cli fix: hermes auth remove now clears env-seeded credentials permanently (#5285) 2026-04-05 12:00:53 -07:00
honcho_plugin
integration
skills fix: protect profile-scoped google workspace oauth tokens 2026-04-03 17:49:18 -07:00
tools fix: resolve listed messaging targets consistently 2026-04-05 11:59:28 -07:00
__init__.py
conftest.py
run_interrupt_test.py
test_413_compression.py fix: remove stale test skips, fix regex backtracking, file search bug, and test flakiness 2026-04-04 10:18:57 -07:00
test_860_dedup.py
test_1630_context_overflow_loop.py
test_agent_guardrails.py
test_agent_loop_tool_calling.py fix: remove stale test skips, fix regex backtracking, file search bug, and test flakiness 2026-04-04 10:18:57 -07:00
test_agent_loop_vllm.py
test_agent_loop.py
test_anthropic_adapter.py
test_anthropic_error_handling.py
test_anthropic_oauth_flow.py
test_anthropic_provider_persistence.py
test_api_key_providers.py
test_async_httpx_del_neuter.py
test_atomic_json_write.py
test_atomic_yaml_write.py
test_auth_codex_provider.py
test_auth_commands.py fix: hermes auth remove now clears env-seeded credentials permanently (#5285) 2026-04-05 12:00:53 -07:00
test_auth_nous_provider.py
test_auxiliary_config_bridge.py
test_batch_runner_checkpoint.py
test_branch_command.py fix: clear ghost status-bar lines on terminal resize (#4960) 2026-04-03 22:43:45 -07:00
test_cli_approval_ui.py
test_cli_background_tui_refresh.py
test_cli_context_warning.py
test_cli_extension_hooks.py
test_cli_file_drop.py
test_cli_init.py fix(cli): surface recent sessions inside /history and /resume 2026-04-03 00:50:49 -07:00
test_cli_interrupt_subagent.py
test_cli_loading_indicator.py
test_cli_mcp_config_watch.py
test_cli_new_session.py
test_cli_plan_command.py
test_cli_prefix_matching.py
test_cli_preloaded_skills.py
test_cli_provider_resolution.py
test_cli_retry.py
test_cli_save_config_value.py
test_cli_secret_capture.py
test_cli_skin_integration.py
test_cli_status_bar.py
test_cli_tools_command.py
test_codex_execution_paths.py
test_codex_models.py
test_compression_boundary.py
test_compression_persistence.py
test_compressor_fallback_update.py
test_config_env_expansion.py
test_context_pressure.py
test_context_references.py
test_context_token_tracking.py
test_credential_pool_routing.py Honor provider reset windows in pooled credential failover 2026-04-05 00:20:53 -07:00
test_credential_pool.py Honor provider reset windows in pooled credential failover 2026-04-05 00:20:53 -07:00
test_crossloop_client_cache.py
test_dict_tool_call_args.py
test_display.py
test_evidence_store.py
test_exit_cleanup_interrupt.py
test_external_credential_detection.py
test_fallback_model.py
test_file_permissions.py
test_flush_memories_codex.py
test_hermes_state.py
test_honcho_client_config.py
test_insights.py
test_interactive_interrupt.py
test_interrupt_propagation.py
test_large_tool_result.py feat: save oversized tool results to file instead of destructive truncation (#5210) 2026-04-05 10:29:57 -07:00
test_long_context_tier_429.py fix: handle Anthropic Sonnet long-context tier 429 by reducing to 200k (#4747) 2026-04-03 02:05:02 -07:00
test_managed_server_tool_support.py
test_mcp_serve.py
test_minisweagent_path.py
test_model_metadata_local_ctx.py
test_model_provider_persistence.py
test_model_tools_async_bridge.py
test_model_tools.py
test_ollama_cloud_auth.py fix: Ollama Cloud auth, /model switch persistence, and alias tab completion 2026-04-05 11:06:06 -07:00
test_openai_client_lifecycle.py
test_packaging_metadata.py
test_percentage_clamp.py
test_personality_none.py
test_plugins_cmd.py
test_plugins.py fix: move pre_llm_call plugin context to user message, preserve prompt cache (#5146) 2026-04-04 16:55:44 -07:00
test_primary_runtime_restore.py
test_project_metadata.py
test_provider_fallback.py
test_provider_parity.py test: add test for _should_sanitize_tool_calls() 2026-04-05 00:13:25 -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: accept reasoning-only responses without retries — set content to "(empty)" (#5278) 2026-04-05 11:30:52 -07:00
test_runtime_provider_resolution.py fix(opencode-go): strip trailing /v1 from base URL for Anthropic models (#4918) 2026-04-03 18:47:51 -07:00
test_session_meta_filtering.py fix: filter transcript-only roles from chat-completions payload (#4715) 2026-04-03 14:57:33 -07:00
test_session_reset_fix.py
test_setup_model_selection.py
test_sql_injection.py
test_streaming.py
test_strict_api_validation.py test: add strict API validation tests for Fireworks compatibility 2026-04-05 00:13:25 -07:00
test_surrogate_sanitization.py
test_timezone.py
test_token_persistence_non_cli.py
test_tool_arg_coercion.py feat: coerce tool call arguments to match JSON Schema types (#5265) 2026-04-05 10:57:34 -07:00
test_tool_call_parsers.py
test_toolset_distributions.py
test_toolsets.py
test_trajectory_compressor_async.py
test_trajectory_compressor.py
test_utils_truthy_values.py
test_worktree_security.py
test_worktree.py