MCPcopy Create free account
hub / github.com/anomalyco/opencode / fromModelsDevProvider

Function fromModelsDevProvider

packages/opencode/src/provider/provider.ts:1239–1271  ·  view source on GitHub ↗
(provider: ModelsDev.Provider)

Source from the content-addressed store, hash-verified

1237}
1238
1239export function fromModelsDevProvider(provider: ModelsDev.Provider): Info {
1240 const models: Record<string, Model> = {}
1241 for (const [key, model] of Object.entries(provider.models)) {
1242 models[key] = fromModelsDevModel(provider, model)
1243 for (const [mode, opts] of Object.entries(model.experimental?.modes ?? {})) {
1244 const id = `${model.id}-${mode}`
1245 const base = fromModelsDevModel(provider, model)
1246 models[id] = {
1247 ...base,
1248 id: ModelV2.ID.make(id),
1249 name: `${model.name} ${mode[0].toUpperCase()}${mode.slice(1)}`,
1250 cost: opts.cost ? mergeDeep(base.cost, cost(opts.cost)) : base.cost,
1251 options: opts.provider?.body
1252 ? Object.fromEntries(
1253 Object.entries(opts.provider.body).map(([k, v]) => [
1254 k.replace(/_([a-z])/g, (_, c) => c.toUpperCase()),
1255 v,
1256 ]),
1257 )
1258 : base.options,
1259 headers: opts.provider?.headers ?? base.headers,
1260 }
1261 }
1262 }
1263 return {
1264 id: ProviderV2.ID.make(provider.id),
1265 source: "custom",
1266 name: provider.name,
1267 env: [...(provider.env ?? [])],
1268 options: {},
1269 models,
1270 }
1271}
1272
1273function modelSuggestions(provider: Info | undefined, modelID: ModelV2.ID, enableExperimentalModels: boolean) {
1274 const available = provider

Callers

nothing calls this directly

Calls 3

fromModelsDevModelFunction · 0.85
costFunction · 0.70
makeMethod · 0.45

Tested by

no test coverage detected