Skip to content

Commit 75ab995

Browse files
committed
fix(plugins): preserve setup.cliBackends owner matching in provider scan
resolveOwningPluginIdsForProvider now also checks plugin.setup?.cliBackends. The pre-PR no-registry fallback used resolvePluginContributionOwners which includes both top-level cliBackends and setup.cliBackends; the PR's manifest scan replacement was missing the setup case.
1 parent 1abe536 commit 75ab995

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/plugins/providers.test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,18 @@ describe("resolvePluginProviders", () => {
527527
expectOwningPluginIds("codex-cli");
528528
});
529529

530+
it("maps setup-only cli backend ids to owning plugin ids via manifests", () => {
531+
setManifestPlugins([
532+
createManifestProviderPlugin({
533+
id: "setup-only-backend-owner",
534+
providerIds: [],
535+
setup: { cliBackends: ["setup-only-cli"] },
536+
}),
537+
]);
538+
539+
expectOwningPluginIds("setup-only-cli", ["setup-only-backend-owner"]);
540+
});
541+
530542
it("reflects provider ownership manifest changes on the next lookup", () => {
531543
setManifestPlugins([
532544
createManifestProviderPlugin({

src/plugins/providers.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,9 @@ export function resolveOwningPluginIdsForProvider(params: {
527527
) ||
528528
plugin.cliBackends.some(
529529
(backendId) => normalizeProviderId(backendId) === normalizedProvider,
530+
) ||
531+
(plugin.setup?.cliBackends ?? []).some(
532+
(backendId) => normalizeProviderId(backendId) === normalizedProvider,
530533
),
531534
)
532535
.map((plugin) => plugin.id);

0 commit comments

Comments
 (0)