452ab52d47
* feat: enable reasoning for Claude models via Kilo Gateway Enable extended thinking/reasoning support for Claude models when using Kilo Gateway (OpenRouter-based). This includes: - Add Kilo Gateway to OpenRouter SDK key mapping - Skip toolCallId normalization for OpenRouter/Kilo to preserve thinking blocks - Strip thinking/reasoning blocks from messages before sending to avoid Anthropic API signature validation errors (blocks must be unchanged) - Skip caching for OpenRouter/Kilo to avoid modifying thinking blocks - Add Claude-specific reasoning effort variants for Kilo Gateway - Enable default medium reasoning effort for Claude via Kilo Gateway - Add proper smallOptions handling for Claude vs other models The key insight is that Anthropic's API requires thinking blocks to be EXACTLY unchanged with valid signatures. Since our storage reconstructs messages, we strip thinking blocks (already shown to user) rather than risk signature validation failures. * fix: drop empty messages after stripping thinking blocks