Skip to content

Commit 3b418bd

Browse files
committed
perf(test): avoid repeated model manifest scans
1 parent b40e5b9 commit 3b418bd

2 files changed

Lines changed: 33 additions & 8 deletions

File tree

src/agents/embedded-agent-runner/model.static-catalog.test.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ vi.mock("../../plugins/provider-discovery.js", async (importOriginal) => ({
4545

4646
import { getModelProviderRequestTransport } from "../provider-request-config.js";
4747
import {
48+
canonicalizeManifestModelCatalogProviderAlias,
4849
createBundledProviderStaticCatalogContextResolver,
4950
createBundledProviderStaticCatalogModelResolver,
5051
createBundledStaticCatalogModelResolver,
@@ -137,6 +138,28 @@ beforeEach(() => {
137138
providerMocks.normalizePluginDiscoveryResult.mockReturnValue({});
138139
});
139140

141+
describe("canonicalizeManifestModelCatalogProviderAlias", () => {
142+
it("canonicalizes unambiguous manifest-owned aliases", () => {
143+
manifestMocks.loadPluginManifestRegistry.mockReturnValue({
144+
plugins: [
145+
{
146+
providers: ["moonshot"],
147+
modelCatalog: {
148+
aliases: {
149+
"moonshot-ai": { provider: "moonshot" },
150+
moonshotai: { provider: "moonshot" },
151+
},
152+
},
153+
},
154+
],
155+
});
156+
157+
for (const provider of ["moonshotai", "moonshot-ai"]) {
158+
expect(canonicalizeManifestModelCatalogProviderAlias({ provider })).toBe("moonshot");
159+
}
160+
});
161+
});
162+
140163
describe("resolveBundledStaticCatalogModel", () => {
141164
it("reuses one manifest scan across prepared lookups", () => {
142165
setManifestPlugins([createMistralManifestPlugin()]);

src/agents/embedded-agent-runner/model.test.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,16 @@ vi.mock("../../plugins/synthetic-auth.runtime.js", () => ({
141141
resolveRuntimeExternalAuthProviderRefs: resolveRuntimeExternalAuthProviderRefsMock,
142142
}));
143143

144-
vi.mock("./model.static-catalog.js", async (importOriginal) => {
145-
const actual = await importOriginal<typeof import("./model.static-catalog.js")>();
146-
return {
147-
...actual,
148-
resolveBundledProviderStaticCatalogModel: resolveBundledProviderStaticCatalogModelMock,
149-
resolveBundledStaticCatalogModel: resolveBundledStaticCatalogModelMock,
150-
};
151-
});
144+
vi.mock("./model.static-catalog.js", () => ({
145+
canonicalizeManifestModelCatalogProviderAlias: ({ provider }: { provider: string }) => {
146+
// Static-catalog coverage exercises alias discovery. Model resolution only needs the canonical
147+
// result here; rescanning every plugin manifest made each table-like case pay I/O.
148+
const normalized = provider.trim().toLowerCase();
149+
return normalized === "moonshotai" || normalized === "moonshot-ai" ? "moonshot" : provider;
150+
},
151+
resolveBundledProviderStaticCatalogModel: resolveBundledProviderStaticCatalogModelMock,
152+
resolveBundledStaticCatalogModel: resolveBundledStaticCatalogModelMock,
153+
}));
152154

153155
import type { OpenRouterModelCapabilities } from "./openrouter-model-capabilities.js";
154156

0 commit comments

Comments
 (0)