- parse [图片: path] markers in text and convert to Gemini inlineData parts
- unify reply path via call_with_tools to reuse multimodal conversion
- keep legacy safety behavior (BLOCK_NONE) and restore safety ratings logging on empty response
- add multimodal request image-part count log for debugging