feat(coding-agent): expose dynamic provider refresh

This commit is contained in:
Mario Zechner
2026-07-15 12:56:50 +02:00
parent 45203abfa0
commit bd9e09db44
13 changed files with 164 additions and 55 deletions
+3 -3
View File
@@ -282,7 +282,7 @@ class ModelsImpl implements MutableModels {
if (options.signal?.aborted) return;
const store: ProviderModelsStore = {
read: () => this.modelsStore.read(provider.id),
write: (models) => this.modelsStore.write(provider.id, models),
write: (entry) => this.modelsStore.write(provider.id, entry),
delete: () => this.modelsStore.delete(provider.id),
};
let stored: Credential | undefined;
@@ -589,7 +589,7 @@ export function createProvider<TApi extends Api = Api>(input: CreateProviderOpti
try {
const stored = await context.store.read();
if (stored) {
dynamicModels = stored
dynamicModels = stored.models
.filter((model) => model.provider === input.id)
.map((model) => model as Model<TApi>);
}
@@ -597,7 +597,7 @@ export function createProvider<TApi extends Api = Api>(input: CreateProviderOpti
const refreshed = await fetchModels(context);
if (context.signal?.aborted) return;
dynamicModels = refreshed;
await context.store.write(refreshed);
await context.store.write({ models: refreshed, checkedAt: Date.now() });
} finally {
inflightRefresh = undefined;
}