mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-10 05:10:59 -07:00
feat(core): Wire up chat code path for model configs. (#12850)
This commit is contained in:
@@ -56,9 +56,15 @@ export interface _ResolvedModelConfig {
|
||||
}
|
||||
|
||||
export class ModelConfigService {
|
||||
private readonly runtimeAliases: Record<string, ModelConfigAlias> = {};
|
||||
|
||||
// TODO(12597): Process config to build a typed alias hierarchy.
|
||||
constructor(private readonly config: ModelConfigServiceConfig) {}
|
||||
|
||||
registerRuntimeModelConfig(aliasName: string, alias: ModelConfigAlias): void {
|
||||
this.runtimeAliases[aliasName] = alias;
|
||||
}
|
||||
|
||||
private resolveAlias(
|
||||
aliasName: string,
|
||||
aliases: Record<string, ModelConfigAlias>,
|
||||
@@ -99,12 +105,13 @@ export class ModelConfigService {
|
||||
} {
|
||||
const config = this.config || {};
|
||||
const { aliases = {}, overrides = [] } = config;
|
||||
const allAliases = { ...aliases, ...this.runtimeAliases };
|
||||
let baseModel: string | undefined = context.model;
|
||||
let resolvedConfig: GenerateContentConfig = {};
|
||||
|
||||
// Step 1: Alias Resolution
|
||||
if (aliases[context.model]) {
|
||||
const resolvedAlias = this.resolveAlias(context.model, aliases);
|
||||
if (allAliases[context.model]) {
|
||||
const resolvedAlias = this.resolveAlias(context.model, allAliases);
|
||||
baseModel = resolvedAlias.modelConfig.model; // This can now be undefined
|
||||
resolvedConfig = this.deepMerge(
|
||||
resolvedConfig,
|
||||
|
||||
Reference in New Issue
Block a user