Title:
[bug] Compaction fails with image_url error on non-vision models
Body:
## Description
When using a model that does not support images (e.g. some custom models without vision capabilities), the context compaction pipeline sends `image_url` type
content in the messages, causing a 400 error from the API provider.
## Steps to Reproduce
1. Configure a model that does not support image input
2. Have a conversation where images appear (auto-detected by tools)
3. Trigger context compaction (or continue the conversation)
## Error
[compaction.failed] APIStatusError: 400 Error from provider:
Upstream request failed: [invalid_request_error] Failed to deserialize the JSON body into the target type: messages[124]: unknown variant image_url, expected text
at line 1 column 811568
## Expected Behavior
Before sending API requests, Kimi Code should detect whether the target model supports image input. If not, `image_url` type content should be filtered out or
converted to plain text descriptions.
## Environment
- Kimi Code CLI: latest version
- Model: custom non-vision model
- OS: Windows
Title:
Body:
[compaction.failed] APIStatusError: 400 Error from provider:
Upstream request failed: [invalid_request_error] Failed to deserialize the JSON body into the target type: messages[124]: unknown variant image_url, expected text
at line 1 column 811568