Skip to content

Add marketplace ref support for plugin marketplaces - #317901

Merged
Connor Peet (connor4312) merged 3 commits into
microsoft:mainfrom
aaronpowell:aaronpowell/plugin-marketplace-ref-support
May 26, 2026
Merged

Add marketplace ref support for plugin marketplaces#317901
Connor Peet (connor4312) merged 3 commits into
microsoft:mainfrom
aaronpowell:aaronpowell/plugin-marketplace-ref-support

Conversation

@aaronpowell

@aaronpowell Aaron Powell (aaronpowell) commented May 22, 2026

Copy link
Copy Markdown
Contributor

Description

This updates plugin marketplace references to support explicit Git refs and switches the default github/awesome-copilot marketplace to github/awesome-copilot#marketplace.

It also wires the marketplace ref through the related code paths so that:

  • marketplace references can include #ref
  • GitHub marketplace fetches read definition files from the configured ref instead of always using main
  • ref-specific marketplace caches and clone locations stay distinct
  • workspace marketplace settings can carry a ref
  • tests cover parsing, fetching, and repository handling for ref-aware marketplaces

Related Issue

github/awesome-copilot#1368

Testing

Not run in this checkout. Local validation was blocked because
ode_modules and compiled out artifacts are not present.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 22, 2026 01:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds support for specifying a Git ref (via #ref) in plugin marketplace references, and ensures both caching and fetching honor that ref.

Changes:

  • Extend marketplace reference parsing to capture optional #ref for GitHub shorthand and git URIs, and incorporate it into canonical IDs / cache paths.
  • Wire the parsed ref through cloning and HTTP fetching logic (e.g., raw.githubusercontent.com/.../{ref}/...).
  • Add/adjust tests to validate parsing, caching uniqueness, and ref-aware fetching behavior.
Show a summary per file
File Description
src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.ts Accept ref in extraKnownMarketplaces entries and append #ref when parsing.
src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.ts Parse/encode #ref, update canonical IDs and cache segments to be ref-specific.
src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.ts Fetch GitHub marketplace definitions from the configured ref.
src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.ts Pass parsed ref through to repository cloning.
src/vs/workbench/contrib/chat/browser/chat.shared.contribution.ts Update configuration description/default to mention #ref.
src/vs/workbench/contrib/chat/test/common/plugins/workspacePluginSettingsService.test.ts Add test for parsing ref from extraKnownMarketplaces.
src/vs/workbench/contrib/chat/test/common/plugins/pluginMarketplaceService.test.ts Add tests for parsing #ref, uniqueness by ref, and ref-based fetching.
src/vs/workbench/contrib/chat/test/browser/plugins/agentPluginRepositoryService.test.ts Add tests for ref-specific cache path and cloning with ref.

Copilot's findings

  • Files reviewed: 8/8 changed files
  • Comments generated: 4

Comment thread src/vs/workbench/contrib/chat/common/plugins/marketplaceReference.ts Outdated
Comment thread src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.ts Outdated
Comment thread src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.ts Outdated
Comment thread src/vs/workbench/contrib/chat/common/plugins/workspacePluginSettingsService.ts Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@connor4312

Copy link
Copy Markdown
Member

thanks! Looks like a CI failure tho


Error: [core-ci                  ] [05:28:45] src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.ts(909,10): error TS6133: 'encodeGitHubPathSegment' is declared but its value is never read.

@aaronpowell

Copy link
Copy Markdown
Contributor Author

Connor Peet (@connor4312) CI passing now

@connor4312
Connor Peet (connor4312) merged commit ce732e4 into microsoft:main May 26, 2026
25 checks passed
@vs-code-engineering vs-code-engineering Bot added this to the 1.123.0 milestone May 26, 2026
@vs-code-engineering vs-code-engineering Bot locked and limited conversation to collaborators Jul 10, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants