- Add interactive option selection for AskUserQuestion tool
(arrow keys ↑↓, Enter confirm, 1-9 quick select, Esc cancel)
- Last option with '其他/Other' enters free text input mode
- New ASK_USER_STRUCTURED_CALLBACK in AskUserQuestionTool
accepts (question, options) BiFunction for structured interaction
- ClaudeCodeComponent renders option list with ❯ indicator
- Cursor position adjusts for variable-height ask area
- Falls back to simple text prompt when no options provided
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Header: use colored values (API cyan, model green, dir yellow, etc.)
- Markdown: render progressively during streaming (not just after completion)
- Streaming cursor appended to last rendered line
- Scroll: preserve user scroll offset during streaming token updates
- Previously reset to 0 on every token, now keeps user position
- All process info (tool calls, thinking) persists after completion
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Restore original ASCII coffee cup logo in header (dual-column layout)
- Fix shortcutBar to single line with height(1) constraint
- Add spinning animation for thinking indicator (◐◓◑◒ cycle at 120ms)
- Create MarkdownToText converter for assistant messages:
- Headers (# ## ###) with distinct colors and prefixes
- Bold (**text**) rendering
- Inline code (\code\) in yellow
- Code blocks with language label and │ prefix
- Ordered/unordered lists with bullet points
- Streaming messages show raw text; completed messages use markdown
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>