fix(model-registry): rebuild immediate runtime models

This commit is contained in:
usr-bin-roygbiv
2026-07-25 08:44:12 +00:00
parent 9ceebb2a4d
commit 83c3e9c869
2 changed files with 24 additions and 1 deletions
@@ -2414,7 +2414,7 @@ export class ModelRegistry {
const withRuntimeTransportOverride = runtimeTransportOverride
? nextModels.map(model => {
if (model.provider !== providerName) return model;
return this.#applyProviderTransportOverride(model, runtimeTransportOverride);
return this.#applyProviderTransportOverrideToModel(model, runtimeTransportOverride);
})
: nextModels;
@@ -155,6 +155,29 @@ describe("ModelRegistry runtime provider registration", () => {
expect(registry.find("openai", modelId)?.supportsComputerUse).toBe(true);
});
test("config.models re-registration rebuilds inferred capability after a saved transport override", () => {
const providerName = "openai";
const modelId = "gpt-5.4";
const proxyBaseUrl = "https://runtime-proxy.example.com/v1";
registry.registerProvider(providerName, { baseUrl: proxyBaseUrl }, "ext://runtime");
registry.registerProvider(
providerName,
{
baseUrl: "https://api.openai.com/v1",
api: "openai-responses",
apiKey: "RUNTIME_KEY",
models: [{ ...baseModel, id: modelId }],
},
"ext://runtime",
);
const model = registry.find(providerName, modelId);
expect(model?.baseUrl).toBe(proxyBaseUrl);
expect(model?.supportsComputerUse).toBe(false);
expect(model?.supportsComputerUseConfig).toBeUndefined();
});
test("registerProvider applies headers-only overrides to existing provider models across refresh", async () => {
const providerName = "anthropic";
const runtimeHeader = "X-Runtime-Provider-Header";