* feat(vscode-ide-companion): add image paste support
- Add clipboard image paste functionality with drag-and-drop support
- Implement image preview component with removal capability
- Support multimodal content in ACP session manager for text and images
- Save pasted images to temporary .gemini-clipboard directory
- Add image attachment display in user messages
- Update CSP to allow data: URIs for inline image display
- Add comprehensive image utilities with size validation (max 10MB)
- Include tests for image processing utilities
* refactor: simplify VS Code paste image implementation
- Remove dead code and redundant error handling
- Extract common isAuthError() helper function
- Simplify SessionMessageHandler methods (80% reduction)
- Change temp directory from .gemini-clipboard to clipboard (aligned with CLI)
- Keep multimodal image sending format (type: image + base64)
Stats:
- 6 files changed
- 367 insertions (+)
- 1176 deletions (-)
* refactor: align paste image handling
* chore: trim paste image diff
* refactor(vscode-ide-companion): remove unused attachments logic
- Remove unused ImageAttachment type imports
- Remove attachments field from TextMessage interface
- Remove attachments from message data sent to WebView
- Clean up debug console.log statements
- Simplify SessionMessageHandler handleSendMessage method
This removes dead code from the previous image paste implementation
that was no longer needed after switching to @path reference approach.
* refactor(vscode-ide-companion/webview): extract image handling into dedicated hooks and utils
- extract ImagePreview and ImageMessageRenderer components from App.tsx
- create useImageAttachments hook for managing image attachments
- create useImageResolution hook for image path resolution
- add imageAttachmentHandler for saving images to temp files
- add imageMessageUtils for message expansion and resolution
- add imagePathResolver for resolving image paths in webview
- integrate image resolution in useWebViewMessages
- extract shouldSendMessage utility from useMessageSubmit
- add getLocalResourceRoots in PanelManager for resource access
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* fix: harden vscode image handling and webview hosts
* fix: remove this alias in acp connection
* feat: add path escaping utility functions and tests
* feat: add support for image attachments and improve prompt handling
* refactor(webview): Optimize editing mode switching function
* refactor(vscode-ide-companion): move path escaping utilities to local module
- Move escapePath and unescapePath functions from qwen-code-core to local utils
- Add pathEscaping.ts with shell special characters handling
- Update imports in imageFormats.ts, imageAttachmentHandler.ts, and imageMessageUtils.ts
- Add unit tests for path escaping round-trip and browser bundle verification
- Fix browser bundling issue by avoiding node-only module dependencies in webview
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* refactor: consolidate image handling logic across vscode-ide-companion and webui
- Merge分散的 image hooks (useImageAttachments, useImageResolution, usePasteHandler) into unified useImage hook
- Replace image utils (imageMessageUtils, imagePathResolver, imageUtils) with imageHandler and imageSupport
- Remove clipboard image storage from core package
- Consolidate webui image components into ImageComponents.tsx
- Update imports and tests to reflect new structure
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* chore: drop unrelated core tool changes
* test: fix webview provider mocks and drop unrelated core diffs
* fix(cli): resolve original prompt through standard path in no_command case
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>