hermes-agent/tests/agent
teknium1 1b8a1c7d5e fix: handle multimodal content in context compression summarization
The _generate_summary() method assumed message content is always a
string (msg.get('content') or ''). When content is a multimodal list
(e.g. [{type: 'text', text: '...'}, {type: 'image_url', ...}]), this
produced mangled output: len() returned the list length instead of
character count, and slicing produced list items instead of substrings.

Add _content_to_text() helper that safely converts any content format
to plain text:
- str → returned as-is
- None → empty string
- list (multimodal) → text parts joined, images replaced with [image]
- dict/other → JSON serialization with str() fallback

This ensures multimodal conversations compress correctly instead of
producing garbled summaries.

Inspired by PR #776 by @kshitijk4poor.
2026-03-11 05:42:31 -07:00
..
__init__.py test: add unit tests for 8 modules (batch 2) 2026-02-26 13:54:20 +03:00
test_auxiliary_client.py fix: vision auto-detection now falls back to custom/local endpoints 2026-03-09 15:36:19 -07:00
test_context_compressor.py fix: handle multimodal content in context compression summarization 2026-03-11 05:42:31 -07:00
test_model_metadata.py test: comprehensive tests for model metadata + firecrawl config 2026-03-05 18:22:39 -08:00
test_prompt_builder.py feat: platform-conditional skill loading + Apple/macOS skills 2026-03-07 00:47:54 -08:00
test_prompt_caching.py test: add unit tests for 8 modules (batch 2) 2026-02-26 13:54:20 +03:00
test_redact.py test(redact): add sensitive text redaction 2026-02-28 21:56:27 -08:00
test_skill_commands.py feat: platform-conditional skill loading + Apple/macOS skills 2026-03-07 00:47:54 -08:00
test_subagent_progress.py fix(display): fix subagent progress tree-view visual nits 2026-02-28 23:29:49 -08:00