From 0741f0ca2b0d2f669c59d061a9a99efa97a5bd05 Mon Sep 17 00:00:00 2001 From: "kiloconnect[bot]" <240665456+kiloconnect[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 20:56:49 +0000 Subject: [PATCH] fix: add recommended and recommendedIndex fields to Provider.Model schema Add missing recommended and recommendedIndex optional fields to the Provider.Model zod schema and propagate them in fromModelsDevModel and config model construction. Also regenerate SDK types and OpenAPI spec to include these fields. Fixes typecheck errors in dialog-model.tsx where these properties were referenced but not defined on the Model type. --- packages/opencode/src/provider/provider.ts | 6 ++++++ packages/sdk/js/src/v2/gen/types.gen.ts | 6 ++++++ packages/sdk/openapi.json | 18 ++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 169d18bed4e..bb8bb11ec16 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -619,6 +619,8 @@ export namespace Provider { headers: z.record(z.string(), z.string()), release_date: z.string(), variants: z.record(z.string(), z.record(z.string(), z.any())).optional(), + recommended: z.boolean().optional(), // kilocode_change + recommendedIndex: z.number().optional(), // kilocode_change }) .meta({ ref: "Model", @@ -700,6 +702,8 @@ export namespace Provider { }, release_date: model.release_date, variants: {}, + recommended: model.recommended, // kilocode_change + recommendedIndex: model.recommendedIndex, // kilocode_change } m.variants = mapValues(ProviderTransform.variants(m), (v) => v) @@ -843,6 +847,8 @@ export namespace Provider { family: model.family ?? existingModel?.family ?? "", release_date: model.release_date ?? existingModel?.release_date ?? "", variants: {}, + recommended: model.recommended ?? existingModel?.recommended, // kilocode_change + recommendedIndex: model.recommendedIndex ?? existingModel?.recommendedIndex, // kilocode_change } const merged = mergeDeep(ProviderTransform.variants(parsedModel), model.variants ?? {}) parsedModel.variants = mapValues( diff --git a/packages/sdk/js/src/v2/gen/types.gen.ts b/packages/sdk/js/src/v2/gen/types.gen.ts index d964a2990ae..e2b189bb55c 100644 --- a/packages/sdk/js/src/v2/gen/types.gen.ts +++ b/packages/sdk/js/src/v2/gen/types.gen.ts @@ -1532,6 +1532,8 @@ export type ProviderConfig = { input: Array<"text" | "audio" | "image" | "video" | "pdf"> output: Array<"text" | "audio" | "image" | "video" | "pdf"> } + recommended?: boolean + recommendedIndex?: number experimental?: boolean status?: "alpha" | "beta" | "deprecated" options?: { @@ -1984,6 +1986,8 @@ export type Model = { [key: string]: unknown } } + recommended?: boolean + recommendedIndex?: number } export type Provider = { @@ -4052,6 +4056,8 @@ export type ProviderListResponses = { input: Array<"text" | "audio" | "image" | "video" | "pdf"> output: Array<"text" | "audio" | "image" | "video" | "pdf"> } + recommended?: boolean + recommendedIndex?: number experimental?: boolean status?: "alpha" | "beta" | "deprecated" options: { diff --git a/packages/sdk/openapi.json b/packages/sdk/openapi.json index e10a696aa2e..837dbbea127 100644 --- a/packages/sdk/openapi.json +++ b/packages/sdk/openapi.json @@ -3762,6 +3762,12 @@ }, "required": ["input", "output"] }, + "recommended": { + "type": "boolean" + }, + "recommendedIndex": { + "type": "number" + }, "experimental": { "type": "boolean" }, @@ -9654,6 +9660,12 @@ }, "required": ["input", "output"] }, + "recommended": { + "type": "boolean" + }, + "recommendedIndex": { + "type": "number" + }, "experimental": { "type": "boolean" }, @@ -10635,6 +10647,12 @@ }, "additionalProperties": {} } + }, + "recommended": { + "type": "boolean" + }, + "recommendedIndex": { + "type": "number" } }, "required": [