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": [