Add ChatPluginMarketplaces enterprise policy#315352
Draft
Miaku wants to merge 1 commit intomicrosoft:mainfrom
Draft
Add ChatPluginMarketplaces enterprise policy#315352Miaku wants to merge 1 commit intomicrosoft:mainfrom
Miaku wants to merge 1 commit intomicrosoft:mainfrom
Conversation
Adds a policy block to the chat.plugins.marketplaces setting so admins can lock the list of plugin marketplaces queried by chat (e.g. to a curated internal marketplace) via Group Policy / Intune / .plist, matching the existing pattern used by ChatApprovedAccountOrganizations.
Contributor
There was a problem hiding this comment.
Pull request overview
Adds an enterprise policy hook to the existing chat.plugins.marketplaces setting so enterprise admins can manage/lock down the marketplaces queried by chat via managed policy channels.
Changes:
- Adds a
policyblock tochat.plugins.marketplaceswith nameChatPluginMarketplacesunderPolicyCategory.InteractiveSession.
Show a summary per file
| File | Description |
|---|---|
| src/vs/workbench/contrib/chat/browser/chat.contribution.ts | Adds an enterprise policy definition for the plugin marketplaces configuration setting. |
Copilot's findings
Comments suppressed due to low confidence (1)
src/vs/workbench/contrib/chat/browser/chat.contribution.ts:886
minimumVersionmust match thePolicyDefinition.minimumVersiontype (${number}.${number}), so'1.NNN'will fail TypeScript compilation. Please replace this placeholder with a concrete VS Code version like the other policies in this file (e.g.'1.116').
name: 'ChatPluginMarketplaces',
category: PolicyCategory.InteractiveSession,
minimumVersion: '1.NNN',
localization: {
- Files reviewed: 1/1 changed files
- Comments generated: 1
Comment on lines
+882
to
+885
| policy: { | ||
| name: 'ChatPluginMarketplaces', | ||
| category: PolicyCategory.InteractiveSession, | ||
| minimumVersion: '1.NNN', |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add
ChatPluginMarketplacesenterprise policySummary
Adds a
policyblock to the existingchat.plugins.marketplacesconfiguration so that the list of plugin marketplaces queried by chat (Agent Customizations) can be locked down by enterprise admins via Group Policy / Intune /.plist, per the enterprise policies docs.Motivation
Today,
chat.plugins.marketplaces(chat.contribution.ts#L873-L882) defaults to:…and is freely overridable in user settings. Enterprises that want their developers to only consume plugins from an internal, vetted marketplace (e.g. a curated repo on GitHub Enterprise or a private org) currently have no way to enforce this. Any user can point chat at an arbitrary repo by editing
settings.json.Adding a
policyblock exposes the setting through the same managed-config channels asChatApprovedAccountOrganizations,ChatAgentMode,ExtensionGalleryServiceUrl, etc. — making this safe to deploy in regulated/compliance-sensitive environments.Change
Single change: extend the existing schema entry with a
policyblock (mirrors the pattern used bychat.approvedAccountOrganizations, which is also atype: 'array'policy):When the policy is set, the list is locked:
accountPolicyService/multiplexPolicyServicewill override the user setting and only the policy-supplied marketplaces are queried.Open questions for maintainers
minimumVersion— placeholder1.NNNneeds to be replaced with the target Insiders/stable version.policyData.jsoncentry — onceminimumVersionis fixed, a corresponding entry should be added tobuild/lib/policies/policyData.jsoncso the ADMX/.plistartifacts pick it up.tags: ['experimental']. Adding a policy implies some commitment to schema stability; happy to defer if the team would rather wait for GA.extraKnownMarketplaces(workspacePluginSettingsService.ts) — should the policy also override these, or is it acceptable for workspace JSON to add additional marketplaces on top of policy-pinned ones? My read: policy should be the floor (always present) but workspaceextraKnownMarketplacesshould still be additive. Open to either interpretation.Testing
npm run compile).ChatPluginMarketplacesvia registry /defaults write, confirm user setting is overridden.policyData.jsoncregeneration onceminimumVersionis finalized.Notes
Filed as a draft to start the conversation. Happy to address the open questions above and follow up with the
policyData.jsoncentry once version is settled.