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.
This commit is contained in:
kiloconnect[bot]
2026-02-17 20:56:49 +00:00
parent 6d84d4b6d2
commit 0741f0ca2b
3 changed files with 30 additions and 0 deletions
@@ -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(
+6
View File
@@ -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: {
+18
View File
@@ -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": [