- Changed default channel from 'Desktop' to 'ACP' in AcpProcessClient and related interfaces.
- Updated tests to reflect new channel naming and added support for CLI channel overrides.
- Enhanced error handling in SessionSocketHub to normalize error responses for better clarity.
- Modified session creation and loading responses to include 'cwd' in the session object.
- Added a new test case to surface ACP prompt errors as structured protocol objects.
* feat(vscode): expose /skills as slash command with secondary picker
Add a secondary completion picker for the /skills slash command in the
VSCode IDE companion, allowing users to browse and select skills from
a dropdown before sending.
Changes:
- CLI: add 'skills' to ALLOWED_BUILTIN_COMMANDS_NON_INTERACTIVE whitelist
- CLI: send available_skills_update via ACP with skill names/descriptions
- Extension: handle available_skills_update in session update handler
- Webview: implement secondary picker that triggers after selecting /skills
- Webview: allow spaces in completion trigger for /skills sub-queries
Closes#1562
Made-with: Cursor
* feat(vscode-ide-companion): embed skills in commands update metadata
- Move available skills from separate session update to _meta field of
available_commands_update for more efficient delivery
- Simplify skill data to just skill names (string array)
- Add skillsCompletion utility for secondary picker logic
- Cache available skills in WebViewProvider for replay on webview ready
- Update all related types and handlers to support the new structure
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* refactor(vscode-ide-companion): simplify skills picker flow
* refactor(vscode-ide-companion): extract skills completion utils to shared module
Move `isSkillsSecondaryQuery`, `shouldOpenSkillsSecondaryPicker`, and
`SKILL_ITEM_ID_PREFIX` from App.tsx and useCompletionTrigger.ts into a
shared `completionUtils.ts` file to eliminate duplication.
* fix(vscode-ide-companion): restore skills picker state on reload
Cache and replay available skills when the webview becomes ready again.
Clear stale skills when commands metadata does not include availableSkills.
* fix(vscode-ide-companion): replay slash commands after webview reload
Cache available commands in the webview provider.
Replay them on webviewReady so slash command state survives reloads.
* fix(vscode-ide-companion): import AvailableCommand from ACP SDK
* fix(vscode-ide-companion): fallback /skills to direct command
* test(vscode-ide-companion): cover skills secondary picker flow
* test(vscode-ide-companion): guard App mock initialization
* fix(vscode-ide-companion): remove duplicate AvailableCommand import
The auto-merge introduced a duplicate AvailableCommand in the
@agentclientprotocol/sdk import block, causing TS2300.
* fix(vscode-ide-companion): remove duplicate availableCommands replay in handleWebviewReady
The handleWebviewReady method was sending cachedAvailableCommands twice
on every webview-ready handshake, causing an unnecessary extra state
update in the webview.
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>