mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-20 00:04:14 +08:00
* feat: hide hardcoded CLI/Claude harnesses when providerApi is enabled When `chat.customizations.providerApi.enabled` is true, the browser harness service now only registers the Local (VS Code) harness statically. All additional harnesses are expected to come from extensions via the provider API rather than the hardcoded built-ins. - CustomizationHarnessService reads the providerApi setting at construction time and only includes CLI/Claude harnesses when the setting is off - Simplify _getAllHarnesses(): external harnesses no longer shadow static ones with the same id (the overlap case can't happen when providerApi is on and only Local is registered) - Simplify registerExternalHarness dispose: drop the 'restored static harness' fallback guard — always fall back to first available harness - Remove tests that verified the now-deleted external-overrides-static behaviour * fix: extension menu contributions now evaluated for the hooks section buildCreateActions() had an early 'return actions' for the hooks code path that exited before the extension menu contribution check. This meant extensions contributing to chat/customizations/create with a 'aiCustomizationManagementSection == hooks' when-clause were silently ignored. Move the AICustomizationManagementCreateMenuId evaluation (and its 'if (extensionCreateActions.length > 0) return extensionCreateActions' short-circuit) to immediately after the commandId override check and before the hooks-specific block, so extension-contributed actions take precedence for all section types including hooks.