Moonshot/Kimi K2.5 API:

Moonshot/Kimi K2.5 API: assistant messages MUST include content field. OpenAI-compatible APIs (Moonshot) reject conversation history where assistant messages lack content key — even when tool_calls is present. OpenAI SDK returns msg.content=None for tool-only responses, so conditional content assignment silently drops field. Fix: always set content: msg.content or empty string. Also applies to conversation store serialization.