* plugins: allow updating agent plugins
Add update detection and update buttons to the agent plugins view and editor.
This allows users to see when installed plugins have newer versions available
and update them directly from the UI without manually checking for updates.
- Export hasSourceChanged() from pluginMarketplaceService for reuse
- Add 'outdated' and 'liveMarketplacePlugin' fields to IInstalledPluginItem
- Fetch marketplace data in AgentPluginsListView.show() to cross-reference
installed vs live versions and mark outdated plugins
- Add UpdatePluginAction to list view with live marketplace data
- Add UpdatePluginEditorAction to plugin editor with live marketplace data
- Both update actions re-register the plugin with updated metadata after
successful update so the UI immediately reflects the new version
- Read fresh installed metadata from pluginMarketplaceService.installedPlugins
store (not stale IAgentPlugin.fromMarketplace) for accurate version checks
- Pass 'silent' option to runInstall() to show non-blocking notification
instead of dialog when silent=true
- Re-register plugins with live data after updateAllPlugins() completes
so stored sourceDescriptor reflects new version/ref/sha
(Commit message generated by Copilot)
* pr comments and cleanup
* fix test failure
* sessions - fix chat input shrinking at narrow widths (#299498)
style - set width to 100% for `interactive-input-part`
* modal - force focus into first modal editor always
* fix: update precondition for FixDiagnosticsAction and hide input widget on command execution (#299499)
fixes https://github.com/microsoft/vscode/issues/299251
* refactor: remove workspace context service dependency from FolderPicker
* Add logging for agent feedback actions
* modal - some fixes to actions and layout
* modal - surface some editor actions in a new toolbar (#299582)
* modal - surface some editor actions in a new toolbar
* ccr
* keybindings - remove "Edit as JSON" as its now available from the title menu
* settings - remove "Edit as JSON" as its now available from the title menu
* update hover fixes
* terminal fixes
* terminal improvements
* Sessions: fix auth scopes of gh FSP
* sessions customizations: make it easier to scan mcp/plugin marketplac… (#299636)
sessions customizations: make it easier to scan mcp/plugin marketplace list
* sessions: add built-in prompt files with override support (#299629)
* sessions: add built-in prompt files with override support
Ship bundled .prompt.md files with the Sessions app that appear as
slash commands out of the box. Built-in prompts use a BUILTIN_STORAGE
constant (cast as PromptsStorage) defined in the aiCustomization layer,
avoiding changes to the core PromptsStorage enum and prompt service types.
- AgenticPromptsService discovers prompts from vs/sessions/prompts/
at runtime via FileAccess and injects them into the listing pipeline
- Override logic: user/workspace prompts with matching names take
precedence over built-in ones
- Built-in prompts open as read-only in the management editor
- Sessions tree view, workspace service, and counts handle BUILTIN_STORAGE
- Add /create-pr as the first built-in prompt
- Bundle prompt files via gulpfile resource includes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* sessions: use AICustomizationPromptsStorage type for builtin storage
Adopt the new AICustomizationPromptsStorage union type in the sessions
tree view method signature. Use string-keyed Records and targeted casts
at the PromptsStorage boundary to stay type-safe.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* sessions: remove PromptsStorage casts, widen IStorageSourceFilter
Use AICustomizationPromptsStorage in sessions-local interfaces
(IAICustomizationGroupItem, IAICustomizationFileItem) and widen
IStorageSourceFilter.sources to readonly string[] so BUILTIN_STORAGE
flows through without casts. The only remaining cast is at the
IPromptPath creation boundary in AgenticPromptsService.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* sessions: move BUILTIN_STORAGE to sessions common layer
Move AICustomizationPromptsStorage type and BUILTIN_STORAGE constant
from the workbench browser UI module to sessions/contrib/chat/common
so that AgenticPromptsService (a service) does not depend on UI code.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* sessions: fix ESLint dangerous type assertion in builtin prompts (#299663)
Replace the `as IPromptPath` cast in discoverBuiltinPrompts with a
createBuiltinPromptPath factory function that contains the type
narrowing in one place, satisfying the code-no-dangerous-type-assertions
ESLint rule.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enhance Agent Sessions Control and Renderer with observable active session resource
* fix terminal
* Enable model management in NewChatWidget
* review feedback
* different competion settings for copilot markdown and plaintext
---------
Co-authored-by: Benjamin Pasero <benjamin.pasero@gmail.com>
Co-authored-by: Benjamin Pasero <benjamin.pasero@microsoft.com>
Co-authored-by: Johannes Rieken <johannes.rieken@gmail.com>
Co-authored-by: BeniBenj <besimmonds@microsoft.com>
Co-authored-by: Osvaldo Ortega <osortega@microsoft.com>
Co-authored-by: Josh Spicer <23246594+joshspicer@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Fixes#299332
Restoring previous webpack behavior. In the future let's consider just moving these to the `git/scripts` folder so we don't have to copy them around
* chat: add support for agent plugin sources
- Adds support for agent plugins to reference sources as specified in
PLUGIN_SOURCES.md, enabling installation from GitHub, npm, pip, and
other package registries
- Integrates source parsing and validation into the plugin installation
service and repository service
- Adds comprehensive test coverage for plugin source handling and
installation from various sources
- Creates PLUGIN_SOURCES.md documentation describing how to specify
plugin source configurations
(Commit message generated by Copilot)
* comments
* windows fixes and fault handling
* fix tests
* 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>