Skip to content

Commit 7130406

Browse files
committed
refactor(provider): generalize model discovery to support multiple providers
1 parent ce19c05 commit 7130406

1 file changed

Lines changed: 14 additions & 12 deletions

File tree

packages/opencode/src/provider/provider.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,20 +1255,22 @@ export namespace Provider {
12551255
mergeProvider(providerID, partial)
12561256
}
12571257

1258-
const gitlab = ProviderID.make("gitlab")
1259-
if (discoveryLoaders[gitlab] && providers[gitlab] && isProviderAllowed(gitlab)) {
1260-
yield* Effect.promise(async () => {
1261-
try {
1262-
const discovered = await discoveryLoaders[gitlab]()
1263-
for (const [modelID, model] of Object.entries(discovered)) {
1264-
if (!providers[gitlab].models[modelID]) {
1265-
providers[gitlab].models[modelID] = model
1258+
for (const [id, discover] of Object.entries(discoveryLoaders)) {
1259+
const providerID = ProviderID.make(id)
1260+
if (providers[providerID] && isProviderAllowed(providerID)) {
1261+
yield* Effect.promise(async () => {
1262+
try {
1263+
const discovered = await discover()
1264+
for (const [modelID, model] of Object.entries(discovered)) {
1265+
if (!providers[providerID].models[modelID]) {
1266+
providers[providerID].models[modelID] = model
1267+
}
12661268
}
1269+
} catch (e) {
1270+
log.warn("state discovery error", { id, error: e })
12671271
}
1268-
} catch (e) {
1269-
log.warn("state discovery error", { id: "gitlab", error: e })
1270-
}
1271-
})
1272+
})
1273+
}
12721274
}
12731275

12741276
for (const hook of plugins) {

0 commit comments

Comments
 (0)