diff options
| author | Dax Raad <[email protected]> | 2025-10-15 20:12:37 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-10-15 20:12:37 -0400 |
| commit | ab8471a7ff2a50170efaf390b5fc467628861ab9 (patch) | |
| tree | bb79bb19a5e5bf9ddf0e47879927022781fdbda4 | |
| parent | 4c674b075b9c6fefc9dee2405456f5dc5fc1d43e (diff) | |
| download | opencode-ab8471a7ff2a50170efaf390b5fc467628861ab9.tar.gz opencode-ab8471a7ff2a50170efaf390b5fc467628861ab9.zip | |
core: filter out alpha status models from provider list
| -rw-r--r-- | packages/opencode/src/provider/models.ts | 1 | ||||
| -rw-r--r-- | packages/opencode/src/provider/provider.ts | 25 |
2 files changed, 15 insertions, 11 deletions
diff --git a/packages/opencode/src/provider/models.ts b/packages/opencode/src/provider/models.ts index adcf4004b..6003c701e 100644 --- a/packages/opencode/src/provider/models.ts +++ b/packages/opencode/src/provider/models.ts @@ -35,6 +35,7 @@ export namespace ModelsDev { }) .optional(), experimental: z.boolean().optional(), + status: z.enum(["alpha", "beta"]).optional(), options: z.record(z.string(), z.any()), provider: z.object({ npm: z.string() }).optional(), }) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 37a0efdcb..5e87575ec 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -270,17 +270,17 @@ export namespace Provider { cost: !model.cost && !existing?.cost ? { - input: 0, - output: 0, - cache_read: 0, - cache_write: 0, - } + input: 0, + output: 0, + cache_read: 0, + cache_write: 0, + } : { - cache_read: 0, - cache_write: 0, - ...existing?.cost, - ...model.cost, - }, + cache_read: 0, + cache_write: 0, + ...existing?.cost, + ...model.cost, + }, options: { ...existing?.options, ...model.options, @@ -361,7 +361,10 @@ export namespace Provider { modelID !== "gpt-5-chat-latest" && !(providerID === "openrouter" && modelID === "openai/gpt-5-chat"), ) // Filter out experimental models - .filter(([, model]) => !model.experimental || Flag.OPENCODE_ENABLE_EXPERIMENTAL_MODELS), + .filter( + ([, model]) => + (!model.experimental && model.status !== "alpha") || Flag.OPENCODE_ENABLE_EXPERIMENTAL_MODELS, + ), ) provider.info.models = filteredModels |
