Skip to content

Commit 7749375

Browse files
committed
Plugins: reuse provider contract registry helpers
1 parent 7f68cea commit 7749375

File tree

3 files changed

+11
-18
lines changed

3 files changed

+11
-18
lines changed

src/plugins/contracts/auth-choice.contract.test.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
import { createCapturedPluginRegistration } from "../../test-utils/plugin-registration.js";
1313
import { buildProviderPluginMethodChoice } from "../provider-wizard.js";
1414
import type { OpenClawPluginApi, ProviderPlugin } from "../types.js";
15-
import { providerContractRegistry } from "./registry.js";
15+
import { requireProviderContractProvider, uniqueProviderContractProviders } from "./registry.js";
1616

1717
type ResolvePluginProviders =
1818
typeof import("../../commands/auth-choice.apply.plugin-provider.runtime.js").resolvePluginProviders;
@@ -102,11 +102,7 @@ describe("provider auth-choice contract", () => {
102102

103103
beforeEach(() => {
104104
resolvePreferredProviderPluginProvidersMock.mockReset();
105-
resolvePreferredProviderPluginProvidersMock.mockReturnValue([
106-
...new Map(
107-
providerContractRegistry.map((entry) => [entry.provider.id, entry.provider]),
108-
).values(),
109-
]);
105+
resolvePreferredProviderPluginProvidersMock.mockReturnValue(uniqueProviderContractProviders);
110106
});
111107

112108
afterEach(async () => {
@@ -130,10 +126,7 @@ describe("provider auth-choice contract", () => {
130126
"modelstudio",
131127
"ollama",
132128
].map((providerId) => {
133-
const provider = requireProvider(
134-
providerContractRegistry.map((entry) => entry.provider),
135-
providerId,
136-
);
129+
const provider = requireProviderContractProvider(providerId);
137130
return {
138131
authChoice: buildProviderPluginMethodChoice(provider.id, provider.auth[0]?.id ?? "default"),
139132
expectedProvider: provider.id,

src/plugins/contracts/loader.contract.test.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@ import { beforeEach, describe, expect, it, vi } from "vitest";
22
import { withBundledPluginAllowlistCompat } from "../bundled-compat.js";
33
import { __testing as providerTesting } from "../providers.js";
44
import { resolvePluginWebSearchProviders } from "../web-search-providers.js";
5-
import { providerContractRegistry, webSearchProviderContractRegistry } from "./registry.js";
5+
import {
6+
providerContractPluginIds,
7+
webSearchProviderContractRegistry,
8+
} from "./registry.js";
69

710
function uniqueSortedPluginIds(values: string[]) {
811
return [...new Set(values)].toSorted((left, right) => left.localeCompare(right));
@@ -19,7 +22,7 @@ describe("plugin loader contract", () => {
1922

2023
it("keeps bundled provider compatibility wired to the provider registry", () => {
2124
const providerPluginIds = uniqueSortedPluginIds(
22-
providerContractRegistry.map((entry) => normalizeProviderContractPluginId(entry.pluginId)),
25+
providerContractPluginIds.map(normalizeProviderContractPluginId),
2326
);
2427
const compatPluginIds = providerTesting.resolveBundledProviderCompatPluginIds({
2528
config: {
@@ -46,7 +49,7 @@ describe("plugin loader contract", () => {
4649

4750
it("keeps vitest bundled provider enablement wired to the provider registry", () => {
4851
const providerPluginIds = uniqueSortedPluginIds(
49-
providerContractRegistry.map((entry) => normalizeProviderContractPluginId(entry.pluginId)),
52+
providerContractPluginIds.map(normalizeProviderContractPluginId),
5053
);
5154
const compatConfig = providerTesting.withBundledProviderVitestCompat({
5255
config: undefined,

src/plugins/contracts/registry.contract.test.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { resolvePluginWebSearchProviders } from "../web-search-providers.js";
44
import {
55
mediaUnderstandingProviderContractRegistry,
66
pluginRegistrationContractRegistry,
7+
providerContractPluginIds,
78
providerContractRegistry,
89
speechProviderContractRegistry,
910
webSearchProviderContractRegistry,
@@ -92,11 +93,7 @@ describe("plugin contract registry", () => {
9293
.map((plugin) => plugin.id)
9394
.toSorted((left, right) => left.localeCompare(right));
9495

95-
expect(
96-
[...new Set(providerContractRegistry.map((entry) => entry.pluginId))].toSorted(
97-
(left, right) => left.localeCompare(right),
98-
),
99-
).toEqual(bundledProviderPluginIds);
96+
expect(providerContractPluginIds).toEqual(bundledProviderPluginIds);
10097
});
10198

10299
it("covers every bundled web search plugin from the shared resolver", () => {

0 commit comments

Comments
 (0)