feat(adapters): add overriddenBuiltin flag to API and Adapter Manager UI

When an external plugin overrides a built-in adapter type, the
GET /api/adapters response now includes overriddenBuiltin: true. The
Adapter Manager shows an 'Overrides built-in' badge on such adapters.
This commit is contained in:
HenkDz 2026-04-03 22:25:27 +01:00
parent 2a2fa31a03
commit fb3aabb743
3 changed files with 10 additions and 0 deletions

View file

@ -63,6 +63,8 @@ interface AdapterInfo {
modelsCount: number;
loaded: boolean;
disabled: boolean;
/** True when an external plugin has replaced a built-in adapter of the same type. */
overriddenBuiltin?: boolean;
version?: string;
packageName?: string;
isLocalPath?: boolean;
@ -105,6 +107,7 @@ function buildAdapterInfo(adapter: ServerAdapterModule, externalRecord: AdapterP
modelsCount: (adapter.models ?? []).length,
loaded: true, // If it's in the registry, it's loaded
disabled: disabledSet.has(adapter.type),
overriddenBuiltin: externalRecord ? BUILTIN_ADAPTER_TYPES.has(adapter.type) : undefined,
// Prefer on-disk package.json so the UI reflects bumps without relying on store-only fields.
version: fromDisk ?? externalRecord?.version,
packageName: externalRecord?.packageName,