feat(admin): set admin.skills.enabled based on advancedFeaturesEnabled setting (#17095)

This commit is contained in:
Shreya Keshive
2026-01-20 11:57:47 -05:00
committed by GitHub
parent 79076d1d52
commit 943481ccc0
3 changed files with 22 additions and 0 deletions

View File

@@ -2200,6 +2200,23 @@ describe('Settings Loading and Merging', () => {
expect(loadedSettings.merged.admin?.mcp?.enabled).toBe(true);
expect(loadedSettings.merged.admin?.extensions?.enabled).toBe(false);
});
it('should set skills based on advancedFeaturesEnabled', () => {
const loadedSettings = loadSettings();
loadedSettings.setRemoteAdminSettings({
cliFeatureSetting: {
advancedFeaturesEnabled: true,
},
});
expect(loadedSettings.merged.admin.skills?.enabled).toBe(true);
loadedSettings.setRemoteAdminSettings({
cliFeatureSetting: {
advancedFeaturesEnabled: false,
},
});
expect(loadedSettings.merged.admin.skills?.enabled).toBe(false);
});
});
describe('getDefaultsFromSchema', () => {

View File

@@ -363,6 +363,10 @@ export class LoadedSettings {
admin.extensions = { enabled: extensionsSetting.extensionsEnabled };
}
if (cliFeatureSetting?.advancedFeaturesEnabled !== undefined) {
admin.skills = { enabled: cliFeatureSetting.advancedFeaturesEnabled };
}
this._remoteAdminSettings = { admin };
this._merged = this.computeMergedSettings();
}

View File

@@ -302,6 +302,7 @@ const ExtensionsSettingSchema = z.object({
const CliFeatureSettingSchema = z.object({
extensionsSetting: ExtensionsSettingSchema.optional(),
advancedFeaturesEnabled: z.boolean().optional(),
});
const McpSettingSchema = z.object({