feat(providers): make bundled Hoplite opt-in from the catalog

Keep the contributor ACP adapter and provisioning progress while activating it only when a provider config entry exists. Removing the entry removes membership across restarts; existing provider defaults remain unchanged.

Present the Add provider catalog as a searchable grid and gate Hoplite activation on host support.

Co-authored-by: Odin Glynn-Martin <odin.glynn@icloud.com>
This commit is contained in:
Mohamed Boudra
2026-10-15 13:24:50 +02:00
co-authored by Odin Glynn-Martin
parent 665e15ed31
commit 95ea57746a
42 changed files with 977 additions and 185 deletions
@@ -812,3 +812,14 @@ describe("checkout PR schemas", () => {
});
});
});
test.each([undefined, false, true])(
"accepts optional Hoplite capability (%s)",
(hopliteProvider) => {
const features = hopliteProvider === undefined ? {} : { hopliteProvider };
expect(
ServerInfoStatusPayloadSchema.parse({ status: "server_info", serverId: "test", features })
.features,
).toEqual(features);
},
);
+2
View File
@@ -3710,6 +3710,8 @@ export const ServerInfoStatusPayloadSchema = z
commitBaseClassification: z.boolean().optional(),
// COMPAT(providerRemoval): added in v0.1.105, drop the gate when floor >= v0.1.105.
providerRemoval: z.boolean().optional(),
// COMPAT(hopliteProvider): added after v0.11.2, remove after 2027-04-15 once host floor includes the bundled adapter.
hopliteProvider: z.boolean().optional(),
// COMPAT(importSessionWorkspaceTarget): added in v0.1.110, remove gate after 2027-01-16.
importSessionWorkspaceTarget: z.boolean().optional(),
// COMPAT(importSessionSearch): added in v0.8.0, remove gate after 2027-03-02.