DashScope's consumer compatible-mode endpoint
(dashscope.aliyuncs.com/compatible-mode/v1) rejects multipart message
content with '400 InternalError.Algo.InvalidParameter: The provided
messages input is invalid. The error info is [Unexpected item type in
content.]' whenever a non-vision Qwen id (qwen-max, qwen3.7-max,
qwen3-coder-*, ...) is asked to consume an image_url part. The agent hit
this whenever a screenshot or other image-bearing tool result was
batched into the synthetic user turn convertMessages emits between
successive turns.
Add isDashscopeCompatibleModeTextOnlyQwen in vision-guard.ts and gate
both supportsImages checks in convertMessages on it, so a misconfigured
custom provider claiming input: ["text", "image"] for a text-only
Qwen on that endpoint falls back to the standard
[image omitted: model does not support vision] placeholder. The
coding-intl.dashscope.aliyuncs.com coding-plan endpoint and explicit
qwen-vl-* / qwen-omni-* / qwen-audio-* ids are unaffected.
Fixes#1859