## Terminal AI Features
- Add Terminal AI panel with command execution support
- Add term_get_scrollback tool for reading terminal output history
- Add terminal tool with command approval workflow
- Add auto-execute mode for trusted commands
- Add duplicate command detection to prevent AI loops
- Improve command response format with clear success markers
## Screenshot Chat (Experimental)
- Add screenshot chat window for quick AI conversations
- Add global shortcut support for screenshot capture
- Add experimental settings page
## Code Quality
- Fix all compiler warnings with proper analysis
- Remove unused imports and dead code
- Add #[allow(dead_code)] for reserved/planned features
- Remove deprecated terminal-plugin from recommendations
## Other Changes
- Update model registry with new capabilities
- Improve config observer system
- Add webview panel position fields (reserved)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allow binding to 0.0.0.0 or :: to enable LAN access, with security
requirements:
1. Add is_valid_bind_host() and is_non_local_bind() helper functions
2. Allow 0.0.0.0 and :: as valid bind addresses
3. Require non-default API key when binding to all interfaces
4. Update validation in:
- save_config command
- hot_reload validation
- bootstrap validation
Security: When using 0.0.0.0 or ::, users must set a custom API key
(not the default "proxy_cast") to prevent unauthorized access.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Improve AWS Event Stream parsing to fix streaming response interruption:
1. Change JSON start detection to search for specific patterns instead of
simple '{' character. AWS Event Stream contains binary headers that may
have '{' in unexpected positions. Now searches for valid JSON patterns:
- {"content": - text content
- {"name": - tool call start
- {"toolUseId": - tool use event
- {"input": - tool input continuation
- {"stop": - stop event
- {"usage": - usage info
- {"contextUsagePercentage": - context usage
2. Handle standalone {"input":...} events for tool call input continuation.
Kiro may send tool calls in multiple events:
- {"name":"xxx","toolUseId":"xxx"} - start
- {"input":"..."} - input data (may be multiple)
- {"stop":true} - end
3. Handle standalone {"stop":true} events that close active tool calls.
This mirrors the fix from AIClient-2-API project.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add image handling for both Anthropic and OpenAI request translators
when converting to CodeWhisperer format.
Changes:
- Anthropic translator: Parse image blocks from message content and
convert to CWImage format (format + base64 data)
- OpenAI translator: Add get_images() method to ChatMessage to extract
images from data URLs in image_url content parts
- Both translators now pass images through ProcessedMessage to
UserInputMessage for current message and history
- Fix unused imports in frontend files
Image format: { format: "jpeg", source: { bytes: "base64_data" } }
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The WSLShellProc struct uses parking_lot::Mutex, so we need to use
the same type when creating writer and master instances.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fixed 20 translation entries with concatenated words and incorrect formatting
- Fixed critical bug in DOM replacer that caused partial translations
- Sort translation patches by length (longest first) to prevent substring replacement issues
- Fixed TypeScript and ESLint errors
- Added comprehensive documentation of fixes