fix(settings): use union merge for excludeTools (#7842)

This commit is contained in:
Spencer Schrock
2025-09-10 12:28:29 -06:00
committed by GitHub
parent 30b13c6357
commit ff705ec286
2 changed files with 6 additions and 2 deletions

View File

@@ -428,8 +428,11 @@ describe('Settings Loading and Merging', () => {
'/workspace/dir',
]);
// Verify excludeTools are overwritten by workspace
expect(settings.merged.tools?.exclude).toEqual(['workspace-tool']);
// Verify excludeTools are concatenated and de-duped
expect(settings.merged.tools?.exclude).toEqual([
'user-tool',
'workspace-tool',
]);
// Verify excludedProjectEnvVars are concatenated and de-duped
expect(settings.merged.advanced?.excludedEnvVars).toEqual(

View File

@@ -662,6 +662,7 @@ const SETTINGS_SCHEMA = {
default: undefined as string[] | undefined,
description: 'Tool names to exclude from discovery.',
showInDialog: false,
mergeStrategy: MergeStrategy.UNION,
},
discoveryCommand: {
type: 'string',