hermes-agent/tests
teknium1 2317d115cd fix: clipboard image paste on WSL2, Wayland, and VSCode terminal
The original implementation only supported xclip (X11), which silently
fails on WSL2 (can't access Windows clipboard for images), Wayland
desktops (xclip is X11-only), and VSCode terminal on WSL2.

Clipboard backend changes (hermes_cli/clipboard.py):
- WSL2: detect via /proc/version, use powershell.exe with .NET
  System.Windows.Forms.Clipboard to extract images as base64 PNG
- Wayland: use wl-paste with MIME type detection, auto-convert BMP
  to PNG for WSLg environments (via Pillow or ImageMagick)
- Dispatch order: WSL → Wayland → X11 (xclip), with fallthrough
- New has_clipboard_image() for lightweight clipboard checks
- Cache WSL detection result per-process

CLI changes (cli.py):
- /paste command: explicit clipboard image check for terminals where
  BracketedPaste doesn't fire (image-only clipboard in VSCode/WinTerm)
- Ctrl+V keybinding: fallback for Linux terminals where Ctrl+V sends
  raw byte instead of triggering bracketed paste

Tests: 80 tests (up from 37) covering WSL, Wayland, X11 dispatch,
BMP conversion, has_clipboard_image, and /paste command.
2026-03-05 20:22:44 -08:00
..
agent test: comprehensive tests for model metadata + firecrawl config 2026-03-05 18:22:39 -08:00
cron test: strengthen assertions across 7 test files (batch 1) 2026-03-05 18:39:37 -08:00
fakes test: add HA integration tests with fake in-process server 2026-02-28 14:28:04 +03:00
gateway test: strengthen assertions across 7 test files (batch 1) 2026-03-05 18:39:37 -08:00
hermes_cli test: enhance session source tests and add validation for chat types 2026-02-26 00:53:57 -08:00
honcho_integration Merge PR #193: add unit tests for 5 security/logic-critical modules (batch 4) 2026-03-04 19:35:01 -08:00
integration test: add HA integration tests with fake in-process server 2026-02-28 14:28:04 +03:00
tools fix: clipboard image paste on WSL2, Wayland, and VSCode terminal 2026-03-05 20:22:44 -08:00
__init__.py A bit of restructuring for simplicity and organization 2025-10-01 23:29:25 +00:00
conftest.py fix(tests): isolate HERMES_HOME in tests and adjust log directory for debug session 2026-03-02 04:34:21 -08:00
test_413_compression.py fix: preflight context compression + error handler ordering for model switches 2026-03-04 14:42:41 -08:00
test_auth_codex_provider.py refactor(auth): transition Codex OAuth tokens to Hermes auth store 2026-03-01 19:59:24 -08:00
test_auth_nous_provider.py Fix nous refresh token rotation failure in case where api key mint/retrieval fails 2026-03-02 17:18:15 +11:00
test_cli_init.py test: strengthen assertions across 7 test files (batch 1) 2026-03-05 18:39:37 -08:00
test_cli_provider_resolution.py Add OpenAI Codex provider runtime and responses integration (without .agent/PLANS.md) 2026-02-25 18:20:38 -08:00
test_codex_execution_paths.py fix: update mock agent signature to accept task_id after PR #419 2026-03-05 01:41:50 -08:00
test_codex_models.py Harden Codex auth refresh and responses compatibility 2026-02-25 19:27:54 -08:00
test_external_credential_detection.py refactor(auth): transition Codex OAuth tokens to Hermes auth store 2026-03-01 19:59:24 -08:00
test_flush_memories_codex.py refactor(cli): Finalize OpenAI Codex Integration with OAuth 2026-02-28 21:47:51 -08:00
test_hermes_state.py test: strengthen assertions across 7 test files (batch 1) 2026-03-05 18:39:37 -08:00
test_honcho_client_config.py fix(honcho): auto-enable when API key is present 2026-03-01 03:12:37 -05:00
test_model_tools.py test: strengthen assertions across 3 more test files (batch 2) 2026-03-05 18:46:30 -08:00
test_provider_parity.py feat(agent): add summary handling for reasoning items 2026-03-01 20:03:03 -08:00
test_run_agent.py test: strengthen assertions across 3 more test files (batch 2) 2026-03-05 18:46:30 -08:00
test_run_agent_codex_responses.py refactor(cli): Finalize OpenAI Codex Integration with OAuth 2026-02-28 21:47:51 -08:00
test_runtime_provider_resolution.py fix: prioritize OPENROUTER_API_KEY over OPENAI_API_KEY 2026-03-03 00:28:26 +03:00
test_toolset_distributions.py test: add unit tests for 8 modules (batch 2) 2026-02-26 13:54:20 +03:00
test_toolsets.py test: add unit tests for 8 untested modules 2026-02-26 13:27:58 +03:00
test_trajectory_compressor.py test: add 25 unit tests for trajectory_compressor 2026-02-28 21:28:28 +03:00