* Add support for custom chat agents in the API
- Introduced `chatCustomAgents` proposal in extensions API.
- Implemented methods to handle custom agents in `MainThreadChatAgents2`.
- Added `ICustomAgentDto` interface and related functionality in extHost.
- Created new type definitions for custom agents in `vscode.proposed.chatCustomAgents.d.ts`.
* Filter custom agents by visibility before pushing to the proxy
* Refactor onDidChangeCustomAgents to use direct event listener
* Update custom agent tools property to allow undefined values
* Add chatCustomAgents to enabledApiProposals in package.json
* update
* update
* support skills
* support instructions
* update
* update
---------
Co-authored-by: Martin Aeschlimann <martinae@microsoft.com>
* feat: add optional codeSelection property to feedback comment and agent feedback variable entries
* refactor: remove unused range property and model service from feedback comment renderer
* Add ESC to dismiss inline chat editor affordance
Adds a new action bound to Escape that hides the editor affordance
without collapsing the selection.
Fixes https://github.com/Microsoft/vscode/issues/297994
* fix orphaned separators when toolbar items are hidden
Fixes https://github.com/microsoft/vscode/issues/298659
* Add tests for InlineChatAffordance telemetry events
* undo instruct-changes
* feat: add dynamic customization slash commands to sessions new-chat page
Add individual prompt/skill files as slash commands in the sessions
window's new-chat input, matching what the customizations view shows.
- Add getFilteredPromptSlashCommands() to IAICustomizationWorkspaceService
- Core: passthrough to IPromptsService
- Sessions: filters via applyStorageSourceFilter() per prompt type
- Add second completion provider in SlashCommandHandler for dynamic
prompt/skill slash commands alongside existing static ones
- Update decorations to recognize and highlight dynamic prompt commands
- Subscribe to onDidChangeSlashCommands for cache refresh
- Fix regex in tryExecuteSlashCommand to support Unicode prompt names
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat: expand prompt slash commands into CLI-friendly references
When a user types /my-prompt in the sessions new-chat input, expand it
before sending to: 'Use the prompt file located at [name](uri).' so
the CLI agent can locate and process the prompt file.
- Add tryExpandPromptSlashCommand() to SlashCommandHandler
- Call it in _send() before session.setQuery() to rewrite the query
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Commit customization files to main repo for worktree persistence
Customization files (agents, skills, instructions, prompts, hooks) are
now always committed to the main repository so they persist across
worktrees. When a worktree session is active, the file is also copied
and committed there so the running session picks it up immediately.
- Rewrite SessionsAICustomizationWorkspaceService.commitFiles() with
dual-commit logic (main repo + worktree)
- Add deleteFiles() to IAICustomizationWorkspaceService interface
- Wire delete action to commit removals to git
- Show friendly warning when main repo commit fails from a worktree
* Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>