* feat(feishu): format TodoWrite tool input as readable list
Parse TodoWrite JSON input and display as a formatted list with status
icons (✅ completed, 🔄 in_progress, ⏳ pending) instead of raw JSON.
- Added isTodoWriteToolName() to detect TodoWrite tool
- Added formatTodoWriteInput() to parse and format todos
- Shows content, status icon, and activeForm for each todo
- Falls back to default formatting if JSON parsing fails
Fixes task t-20260401-3c8no7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(feishu): TodoWrite fallback uses text block instead of inline code
When formatTodoWriteInput returns empty (invalid JSON or empty todos),
return a ```text block directly instead of falling through to the
generic formatter which uses inline backticks for short strings.
Fixes CI test failures for TestFormatProgressToolInput.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>