



























@@ -143,6 +143,43 @@ describe("manifest model catalog planner", () => {
143143]);
144144});
145145146+it("keeps alias provider rows out of unfiltered broad planning", () => {
147+const plan = planManifestModelCatalogRows({
148+registry: {
149+plugins: [
150+{
151+id: "openai",
152+providers: ["openai"],
153+modelCatalog: {
154+aliases: {
155+"azure-openai-responses": {
156+provider: "openai",
157+api: "azure-openai-responses",
158+baseUrl: "https://example.openai.azure.com/openai/v1",
159+},
160+},
161+providers: {
162+openai: {
163+api: "openai-responses",
164+baseUrl: "https://api.openai.com/v1",
165+models: [{ id: "gpt-5.4", name: "GPT-5.4" }],
166+},
167+},
168+},
169+},
170+],
171+},
172+});
173+174+expect(plan.entries.map((entry) => entry.provider)).toEqual(["openai"]);
175+expect(plan.rows.map((row) => row.ref)).toEqual(["openai/gpt-5.4"]);
176+expect(plan.rows).not.toContainEqual(
177+expect.objectContaining({
178+provider: "azure-openai-responses",
179+}),
180+);
181+});
182+146183it("reports duplicate provider/model keys and excludes conflicted rows", () => {
147184const plan = planManifestModelCatalogRows({
148185registry: {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。