hermes-agent/tests/tools
teknium1 cf810c2950 fix: pre-process CLI clipboard images through vision tool instead of raw embedding
Images pasted in the CLI were embedded as raw base64 image_url content
parts in the conversation history, which only works with vision-capable
models. If the main model (e.g. Nous API) doesn't support vision, this
breaks the request and poisons all subsequent messages.

Now the CLI uses the same approach as the messaging gateway: images are
pre-processed through the auxiliary vision model (Gemini Flash via
OpenRouter or Nous Portal) and converted to text descriptions. The
local file path is included so the agent can re-examine via
vision_analyze if needed. Works with any model.

Fixes #638.
2026-03-08 06:22:00 -07:00
..
__init__.py
test_approval.py test: strengthen assertions across 3 more test files (batch 2) 2026-03-05 18:46:30 -08:00
test_clarify_tool.py
test_clipboard.py fix: pre-process CLI clipboard images through vision tool instead of raw embedding 2026-03-08 06:22:00 -07:00
test_code_execution.py fix: correct mock tool name 'search' → 'search_files' in test_code_execution 2026-03-06 03:53:43 -08:00
test_cron_prompt_injection.py
test_cronjob_tools.py
test_daytona_environment.py fix(daytona): use shell timeout wrapper instead of broken SDK exec timeout 2026-03-05 13:12:41 -08:00
test_debug_helpers.py
test_delegate.py fix: remove stale 'model' assertion from delegate_task schema test 2026-03-07 11:29:55 -08:00
test_file_operations.py
test_file_tools_live.py
test_file_tools.py
test_force_dangerous_override.py fix: prevent --force from overriding dangerous verdict in should_allow_install 2026-03-04 18:10:18 +03:00
test_fuzzy_match.py
test_hidden_dir_filter.py fix: use Path.parts for hidden directory filter in skill listing 2026-03-04 18:34:16 +03:00
test_homeassistant_tool.py
test_interrupt.py
test_mcp_tool.py feat(mcp): banner integration, /reload-mcp command, resources & prompts 2026-03-02 19:15:59 -08:00
test_memory_tool.py test: strengthen assertions in skill_manager + memory_tool (batch 3) 2026-03-05 18:51:43 -08:00
test_patch_parser.py
test_process_registry.py
test_registry.py fix: catch exceptions from check_fn in is_toolset_available() 2026-03-04 14:22:30 -08:00
test_session_search.py fix: exclude current session from session_search results 2026-03-04 06:06:40 -08:00
test_skill_manager_tool.py test: strengthen assertions in skill_manager + memory_tool (batch 3) 2026-03-05 18:51:43 -08:00
test_skill_view_path_check.py refactor: use Path.is_relative_to() for skill_view boundary check 2026-03-04 05:30:43 -08:00
test_skill_view_traversal.py
test_skills_guard.py Merge PR #388: fix --force bypassing dangerous verdict in should_allow_install 2026-03-04 19:19:57 -08:00
test_skills_hub_clawhub.py
test_skills_hub.py
test_skills_sync.py fix: prevent data loss in skills sync on copy/update failure 2026-03-07 03:58:32 +03:00
test_skills_tool.py Revert "feat: skill prerequisites — hide skills with unmet runtime dependencies" 2026-03-08 03:58:13 -07:00
test_symlink_prefix_confusion.py fix: use is_relative_to() for symlink boundary check in skills_guard 2026-03-04 17:23:23 +03:00
test_terminal_disk_usage.py
test_todo_tool.py
test_web_tools_config.py test: comprehensive tests for model metadata + firecrawl config 2026-03-05 18:22:39 -08:00
test_windows_compat.py
test_write_deny.py