@google/gemini-cli-core 0.61.0-preview.0 → 0.61.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/reference/configuration.md +88 -25
- package/dist/google-gemini-cli-core-0.61.0-preview.0.tgz +0 -0
- package/dist/src/availability/autoRoutingFallback.integration.test.js +84 -14
- package/dist/src/availability/autoRoutingFallback.integration.test.js.map +1 -1
- package/dist/src/availability/policyCatalog.d.ts +2 -0
- package/dist/src/availability/policyCatalog.js +16 -27
- package/dist/src/availability/policyCatalog.js.map +1 -1
- package/dist/src/availability/policyCatalog.test.js +11 -3
- package/dist/src/availability/policyCatalog.test.js.map +1 -1
- package/dist/src/availability/policyHelpers.js +18 -12
- package/dist/src/availability/policyHelpers.js.map +1 -1
- package/dist/src/availability/policyHelpers.test.js +19 -13
- package/dist/src/availability/policyHelpers.test.js.map +1 -1
- package/dist/src/code_assist/experiments/flagNames.d.ts +3 -0
- package/dist/src/code_assist/experiments/flagNames.js +3 -0
- package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
- package/dist/src/config/config.d.ts +7 -3
- package/dist/src/config/config.js +44 -19
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +112 -13
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/config/defaultModelConfigs.js +88 -27
- package/dist/src/config/defaultModelConfigs.js.map +1 -1
- package/dist/src/config/models.d.ts +38 -6
- package/dist/src/config/models.js +132 -45
- package/dist/src/config/models.js.map +1 -1
- package/dist/src/config/models.test.js +80 -29
- package/dist/src/config/models.test.js.map +1 -1
- package/dist/src/context/chatCompressionService.js +7 -2
- package/dist/src/context/chatCompressionService.js.map +1 -1
- package/dist/src/context/chatCompressionService.test.js +5 -0
- package/dist/src/context/chatCompressionService.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +3 -3
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +4 -5
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/geminiChat.test.js +2 -2
- package/dist/src/core/geminiChat.test.js.map +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js +1 -1
- package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
- package/dist/src/core/modelMappingContentGenerator.d.ts +1 -1
- package/dist/src/core/modelMappingContentGenerator.js +4 -3
- package/dist/src/core/modelMappingContentGenerator.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +2 -2
- package/dist/src/generated/git-commit.js +2 -2
- package/dist/src/routing/strategies/approvalModeStrategy.js +4 -3
- package/dist/src/routing/strategies/approvalModeStrategy.js.map +1 -1
- package/dist/src/routing/strategies/approvalModeStrategy.test.js +7 -4
- package/dist/src/routing/strategies/approvalModeStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.js +3 -2
- package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/classifierStrategy.test.js +7 -4
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js +1 -1
- package/dist/src/routing/strategies/defaultStrategy.js.map +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
- package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js +3 -2
- package/dist/src/routing/strategies/gemmaClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js +7 -4
- package/dist/src/routing/strategies/gemmaClassifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.js +3 -2
- package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +4 -4
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js +1 -1
- package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
- package/dist/src/services/modelConfigService.d.ts +5 -1
- package/dist/src/services/modelConfigService.js +18 -6
- package/dist/src/services/modelConfigService.js.map +1 -1
- package/dist/src/services/test-data/resolved-aliases-retry.golden.json +24 -0
- package/dist/src/services/test-data/resolved-aliases.golden.json +24 -0
- package/dist/src/utils/errorParsing.test.js +1 -1
- package/dist/src/utils/errorParsing.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -10,25 +10,35 @@ export const PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = 'gemini-3.1-pro-preview-cus
|
|
|
10
10
|
// cleaned up.
|
|
11
11
|
export let PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview';
|
|
12
12
|
export const DEFAULT_GEMINI_MODEL = 'gemini-2.5-pro';
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
//
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
// TODO: Cleanup once the experiment for 3_5 flash rollut can be cleaned up.
|
|
13
|
+
// Flash Tier: Base (stable GA) vs. Latest (experiment-gated GA)
|
|
14
|
+
export const BASE_GEMINI_FLASH_MODEL = 'gemini-3.5-flash';
|
|
15
|
+
export const LATEST_GEMINI_FLASH_MODEL = 'gemini-3.8-flash';
|
|
16
|
+
export const LEGACY_CCPA_FLASH_MODEL = 'gemini-3-flash';
|
|
17
|
+
// Backward-compatible aliases
|
|
18
|
+
export const DEFAULT_GEMINI_3_5_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
|
|
19
|
+
export const SECONDARY_GEMINI_3_5_FLASH_MODEL = LEGACY_CCPA_FLASH_MODEL;
|
|
20
|
+
// Flash Lite Tier: Base (stable GA) vs. Latest (experiment-gated GA)
|
|
21
|
+
export const BASE_GEMINI_FLASH_LITE_MODEL = 'gemini-3.1-flash-lite';
|
|
22
|
+
export const LATEST_GEMINI_FLASH_LITE_MODEL = 'gemini-3.5-flash-lite';
|
|
23
|
+
// Runtime active defaults (mutated when experiment flags are evaluated)
|
|
24
|
+
export let DEFAULT_GEMINI_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
|
|
25
|
+
export let DEFAULT_GEMINI_FLASH_LITE_MODEL = BASE_GEMINI_FLASH_LITE_MODEL;
|
|
27
26
|
export function setFlashModels(preview, defaultFlash) {
|
|
28
27
|
PREVIEW_GEMINI_FLASH_MODEL = preview;
|
|
29
28
|
DEFAULT_GEMINI_FLASH_MODEL = defaultFlash;
|
|
30
29
|
}
|
|
31
|
-
export
|
|
30
|
+
export function setFlashLiteModel(defaultFlashLite) {
|
|
31
|
+
DEFAULT_GEMINI_FLASH_LITE_MODEL = defaultFlashLite;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resets the mutated model constants to their baseline defaults.
|
|
35
|
+
* For use in test cleanup to prevent cross-test state leakage.
|
|
36
|
+
*/
|
|
37
|
+
export function resetModelsForTesting() {
|
|
38
|
+
PREVIEW_GEMINI_FLASH_MODEL = 'gemini-3-flash-preview';
|
|
39
|
+
DEFAULT_GEMINI_FLASH_MODEL = BASE_GEMINI_FLASH_MODEL;
|
|
40
|
+
DEFAULT_GEMINI_FLASH_LITE_MODEL = BASE_GEMINI_FLASH_LITE_MODEL;
|
|
41
|
+
}
|
|
32
42
|
/** @deprecated Gemini 3.1 Flash Lite is now GA. Use DEFAULT_GEMINI_FLASH_LITE_MODEL. */
|
|
33
43
|
export const PREVIEW_GEMINI_FLASH_LITE_MODEL = 'none';
|
|
34
44
|
export const GEMMA_4_31B_IT_MODEL = 'gemma-4-31b-it';
|
|
@@ -44,9 +54,38 @@ export const VALID_GEMINI_MODELS = new Set([
|
|
|
44
54
|
DEFAULT_GEMINI_3_5_FLASH_MODEL,
|
|
45
55
|
SECONDARY_GEMINI_3_5_FLASH_MODEL,
|
|
46
56
|
DEFAULT_GEMINI_FLASH_LITE_MODEL,
|
|
57
|
+
BASE_GEMINI_FLASH_MODEL,
|
|
58
|
+
LATEST_GEMINI_FLASH_MODEL,
|
|
59
|
+
LEGACY_CCPA_FLASH_MODEL,
|
|
60
|
+
BASE_GEMINI_FLASH_LITE_MODEL,
|
|
61
|
+
LATEST_GEMINI_FLASH_LITE_MODEL,
|
|
47
62
|
GEMMA_4_31B_IT_MODEL,
|
|
48
63
|
GEMMA_4_26B_A4B_IT_MODEL,
|
|
49
64
|
]);
|
|
65
|
+
/**
|
|
66
|
+
* Dynamically maps model IDs for outbound backend requests:
|
|
67
|
+
* - When LATEST_FLASH_GA_LAUNCHED is true: rewrites BASE_GEMINI_FLASH_MODEL ('gemini-3.5-flash')
|
|
68
|
+
* and LEGACY_CCPA_FLASH_MODEL ('gemini-3-flash') -> LATEST_GEMINI_FLASH_MODEL ('gemini-3.8-flash').
|
|
69
|
+
* - When LATEST_FLASH_GA_LAUNCHED is false on Code Assist (CCPA): maps 'gemini-3.5-flash' -> 'gemini-3-flash'.
|
|
70
|
+
* - When LATEST_FLASH_LITE_GA_LAUNCHED is true: rewrites BASE_GEMINI_FLASH_LITE_MODEL ('gemini-3.1-flash-lite')
|
|
71
|
+
* -> LATEST_GEMINI_FLASH_LITE_MODEL ('gemini-3.5-flash-lite').
|
|
72
|
+
*/
|
|
73
|
+
export function getBackendModelMappings(context, isCodeAssistBackend = true) {
|
|
74
|
+
const mappings = {};
|
|
75
|
+
const useLatestFlash = context?.hasLatestFlashGAAccess?.() ?? false;
|
|
76
|
+
const useLatestFlashLite = context?.hasLatestFlashLiteGAAccess?.() ?? false;
|
|
77
|
+
if (useLatestFlash) {
|
|
78
|
+
mappings[BASE_GEMINI_FLASH_MODEL] = LATEST_GEMINI_FLASH_MODEL;
|
|
79
|
+
mappings[LEGACY_CCPA_FLASH_MODEL] = LATEST_GEMINI_FLASH_MODEL;
|
|
80
|
+
}
|
|
81
|
+
else if (isCodeAssistBackend) {
|
|
82
|
+
mappings[BASE_GEMINI_FLASH_MODEL] = LEGACY_CCPA_FLASH_MODEL;
|
|
83
|
+
}
|
|
84
|
+
if (useLatestFlashLite) {
|
|
85
|
+
mappings[BASE_GEMINI_FLASH_LITE_MODEL] = LATEST_GEMINI_FLASH_LITE_MODEL;
|
|
86
|
+
}
|
|
87
|
+
return mappings;
|
|
88
|
+
}
|
|
50
89
|
/** @deprecated Use GEMINI_MODEL_ALIAS_AUTO instead. */
|
|
51
90
|
export const PREVIEW_GEMINI_MODEL_AUTO = 'auto-gemini-3';
|
|
52
91
|
/** @deprecated Use GEMINI_MODEL_ALIAS_AUTO instead. */
|
|
@@ -59,15 +98,15 @@ export const GEMINI_MODEL_ALIAS_FLASH_LITE = 'flash-lite';
|
|
|
59
98
|
export const DEFAULT_GEMINI_EMBEDDING_MODEL = 'gemini-embedding-001';
|
|
60
99
|
// Cap the thinking at 8192 to prevent run-away thinking loops.
|
|
61
100
|
export const DEFAULT_THINKING_MODE = 8192;
|
|
62
|
-
export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false,
|
|
101
|
+
export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false, useLatestFlash = false) {
|
|
63
102
|
const proModel = hasAccessToPreview
|
|
64
103
|
? useGemini3_1
|
|
65
104
|
? PREVIEW_GEMINI_3_1_MODEL
|
|
66
105
|
: PREVIEW_GEMINI_MODEL
|
|
67
106
|
: DEFAULT_GEMINI_MODEL;
|
|
68
107
|
const flashModel = hasAccessToPreview
|
|
69
|
-
?
|
|
70
|
-
?
|
|
108
|
+
? useLatestFlash
|
|
109
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
71
110
|
: PREVIEW_GEMINI_FLASH_MODEL
|
|
72
111
|
: DEFAULT_GEMINI_FLASH_MODEL;
|
|
73
112
|
return `Let Gemini CLI decide the best model for the task: ${getDisplayString(proModel)}, ${getDisplayString(flashModel)}`;
|
|
@@ -78,31 +117,41 @@ export function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false
|
|
|
78
117
|
*
|
|
79
118
|
* @param requestedModel The model alias or concrete model name requested by the user.
|
|
80
119
|
* @param useGemini3_1 Whether to use Gemini 3.1 Pro Preview for auto/pro aliases.
|
|
81
|
-
* @param
|
|
120
|
+
* @param useCustomToolModel Whether to use the custom tool model.
|
|
82
121
|
* @param hasAccessToPreview Whether the user has access to preview models.
|
|
122
|
+
* @param config Optional config object for dynamic model configuration.
|
|
123
|
+
* @param useLatestFlash Whether to use the latest Flash GA model.
|
|
124
|
+
* @param useLatestFlashLite Whether to use the latest Flash Lite GA model.
|
|
83
125
|
* @returns The resolved concrete model name.
|
|
84
126
|
*/
|
|
85
|
-
export function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config,
|
|
127
|
+
export function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useLatestFlash = false, useLatestFlashLite = false) {
|
|
86
128
|
// Defensive check against non-string inputs at runtime
|
|
87
129
|
const normalizedModel = Array.isArray(requestedModel)
|
|
88
130
|
? String(requestedModel.at(-1) ?? '').trim() || ''
|
|
89
131
|
: typeof requestedModel !== 'string'
|
|
90
132
|
? String(requestedModel ?? '').trim() || ''
|
|
91
133
|
: requestedModel.trim() || '';
|
|
134
|
+
const effectiveUseLatestFlash = useLatestFlash || (config?.hasLatestFlashGAAccess?.() ?? false);
|
|
135
|
+
const effectiveUseLatestFlashLite = useLatestFlashLite || (config?.hasLatestFlashLiteGAAccess?.() ?? false);
|
|
92
136
|
if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
|
|
93
137
|
const resolved = config.modelConfigService.resolveModelId(normalizedModel, {
|
|
94
138
|
useGemini3_1,
|
|
95
139
|
useCustomTools: useCustomToolModel,
|
|
96
140
|
hasAccessToPreview,
|
|
97
|
-
|
|
141
|
+
useLatestFlash: effectiveUseLatestFlash,
|
|
142
|
+
useLatestFlashLite: effectiveUseLatestFlashLite,
|
|
98
143
|
});
|
|
99
144
|
if (!hasAccessToPreview && isPreviewModel(resolved, config)) {
|
|
100
145
|
// Fallback for unknown preview models.
|
|
101
146
|
if (resolved.includes('flash-lite')) {
|
|
102
|
-
return
|
|
147
|
+
return effectiveUseLatestFlashLite
|
|
148
|
+
? LATEST_GEMINI_FLASH_LITE_MODEL
|
|
149
|
+
: BASE_GEMINI_FLASH_LITE_MODEL;
|
|
103
150
|
}
|
|
104
151
|
if (resolved.includes('flash')) {
|
|
105
|
-
return
|
|
152
|
+
return effectiveUseLatestFlash
|
|
153
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
154
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
106
155
|
}
|
|
107
156
|
return DEFAULT_GEMINI_MODEL;
|
|
108
157
|
}
|
|
@@ -135,13 +184,15 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
|
|
|
135
184
|
break;
|
|
136
185
|
}
|
|
137
186
|
case GEMINI_MODEL_ALIAS_FLASH: {
|
|
138
|
-
resolved =
|
|
139
|
-
?
|
|
187
|
+
resolved = effectiveUseLatestFlash
|
|
188
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
140
189
|
: PREVIEW_GEMINI_FLASH_MODEL;
|
|
141
190
|
break;
|
|
142
191
|
}
|
|
143
192
|
case GEMINI_MODEL_ALIAS_FLASH_LITE: {
|
|
144
|
-
resolved =
|
|
193
|
+
resolved = effectiveUseLatestFlashLite
|
|
194
|
+
? LATEST_GEMINI_FLASH_LITE_MODEL
|
|
195
|
+
: BASE_GEMINI_FLASH_LITE_MODEL;
|
|
145
196
|
break;
|
|
146
197
|
}
|
|
147
198
|
default: {
|
|
@@ -150,18 +201,25 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
|
|
|
150
201
|
}
|
|
151
202
|
}
|
|
152
203
|
if (resolved === 'none') {
|
|
153
|
-
return
|
|
204
|
+
return effectiveUseLatestFlashLite
|
|
205
|
+
? LATEST_GEMINI_FLASH_LITE_MODEL
|
|
206
|
+
: BASE_GEMINI_FLASH_LITE_MODEL;
|
|
154
207
|
}
|
|
155
|
-
if (
|
|
208
|
+
if (effectiveUseLatestFlash &&
|
|
156
209
|
isPromotableFlashModel(resolved) &&
|
|
157
210
|
normalizedModel !== PREVIEW_GEMINI_FLASH_MODEL) {
|
|
158
|
-
return
|
|
211
|
+
return LATEST_GEMINI_FLASH_MODEL;
|
|
212
|
+
}
|
|
213
|
+
if (effectiveUseLatestFlashLite && isPromotableFlashLiteModel(resolved)) {
|
|
214
|
+
return LATEST_GEMINI_FLASH_LITE_MODEL;
|
|
159
215
|
}
|
|
160
216
|
if (!hasAccessToPreview && isPreviewModel(resolved)) {
|
|
161
217
|
// Downgrade to stable models if user lacks preview access.
|
|
162
218
|
switch (resolved) {
|
|
163
219
|
case PREVIEW_GEMINI_FLASH_MODEL:
|
|
164
|
-
return
|
|
220
|
+
return effectiveUseLatestFlash
|
|
221
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
222
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
165
223
|
case PREVIEW_GEMINI_MODEL:
|
|
166
224
|
case PREVIEW_GEMINI_3_1_MODEL:
|
|
167
225
|
case PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL:
|
|
@@ -169,10 +227,14 @@ export function resolveModel(requestedModel, useGemini3_1 = false, useCustomTool
|
|
|
169
227
|
default:
|
|
170
228
|
// Fallback for unknown preview models, preserving original logic.
|
|
171
229
|
if (resolved.includes('flash-lite')) {
|
|
172
|
-
return
|
|
230
|
+
return effectiveUseLatestFlashLite
|
|
231
|
+
? LATEST_GEMINI_FLASH_LITE_MODEL
|
|
232
|
+
: BASE_GEMINI_FLASH_LITE_MODEL;
|
|
173
233
|
}
|
|
174
234
|
if (resolved.includes('flash')) {
|
|
175
|
-
return
|
|
235
|
+
return effectiveUseLatestFlash
|
|
236
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
237
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
176
238
|
}
|
|
177
239
|
return DEFAULT_GEMINI_MODEL;
|
|
178
240
|
}
|
|
@@ -186,7 +248,14 @@ function isPromotableFlashModel(model) {
|
|
|
186
248
|
model === PREVIEW_GEMINI_FLASH_MODEL ||
|
|
187
249
|
model === DEFAULT_GEMINI_3_5_FLASH_MODEL ||
|
|
188
250
|
model === SECONDARY_GEMINI_3_5_FLASH_MODEL ||
|
|
189
|
-
model === GEMINI_MODEL_ALIAS_FLASH
|
|
251
|
+
model === GEMINI_MODEL_ALIAS_FLASH ||
|
|
252
|
+
model === BASE_GEMINI_FLASH_MODEL ||
|
|
253
|
+
model === LEGACY_CCPA_FLASH_MODEL);
|
|
254
|
+
}
|
|
255
|
+
function isPromotableFlashLiteModel(model) {
|
|
256
|
+
return (model === DEFAULT_GEMINI_FLASH_LITE_MODEL ||
|
|
257
|
+
model === BASE_GEMINI_FLASH_LITE_MODEL ||
|
|
258
|
+
model === GEMINI_MODEL_ALIAS_FLASH_LITE);
|
|
190
259
|
}
|
|
191
260
|
/**
|
|
192
261
|
* Resolves the appropriate model based on the classifier's decision.
|
|
@@ -198,33 +267,42 @@ function isPromotableFlashModel(model) {
|
|
|
198
267
|
* @param config Optional config object for dynamic model configuration.
|
|
199
268
|
* @returns The resolved concrete model name.
|
|
200
269
|
*/
|
|
201
|
-
export function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config,
|
|
270
|
+
export function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config, useLatestFlash = false, useLatestFlashLite = false) {
|
|
271
|
+
const effectiveUseLatestFlash = useLatestFlash || (config?.hasLatestFlashGAAccess?.() ?? false);
|
|
272
|
+
const effectiveUseLatestFlashLite = useLatestFlashLite || (config?.hasLatestFlashLiteGAAccess?.() ?? false);
|
|
273
|
+
const effectiveHasAccessToPreview = hasAccessToPreview || (config?.getHasAccessToPreviewModel?.() ?? false);
|
|
202
274
|
if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
|
|
203
275
|
return config.modelConfigService.resolveClassifierModelId(modelAlias, requestedModel, {
|
|
204
276
|
useGemini3_1,
|
|
205
277
|
useCustomTools: useCustomToolModel,
|
|
206
|
-
hasAccessToPreview,
|
|
207
|
-
|
|
278
|
+
hasAccessToPreview: effectiveHasAccessToPreview,
|
|
279
|
+
useLatestFlash: effectiveUseLatestFlash,
|
|
280
|
+
useLatestFlashLite: effectiveUseLatestFlashLite,
|
|
208
281
|
});
|
|
209
282
|
}
|
|
210
283
|
if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
|
|
211
284
|
if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO ||
|
|
212
285
|
requestedModel === DEFAULT_GEMINI_MODEL) {
|
|
213
|
-
return
|
|
286
|
+
return effectiveUseLatestFlash
|
|
287
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
288
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
214
289
|
}
|
|
215
290
|
if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO ||
|
|
216
291
|
requestedModel === PREVIEW_GEMINI_MODEL ||
|
|
217
292
|
requestedModel === GEMINI_MODEL_ALIAS_AUTO) {
|
|
218
|
-
if (
|
|
219
|
-
return
|
|
293
|
+
if (effectiveUseLatestFlash) {
|
|
294
|
+
return LATEST_GEMINI_FLASH_MODEL;
|
|
220
295
|
}
|
|
221
|
-
return
|
|
296
|
+
return effectiveHasAccessToPreview
|
|
222
297
|
? PREVIEW_GEMINI_FLASH_MODEL
|
|
223
|
-
:
|
|
298
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
224
299
|
}
|
|
225
|
-
return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false,
|
|
300
|
+
return resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
|
|
301
|
+
}
|
|
302
|
+
if (modelAlias === GEMINI_MODEL_ALIAS_FLASH_LITE) {
|
|
303
|
+
return resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
|
|
226
304
|
}
|
|
227
|
-
return resolveModel(requestedModel, useGemini3_1, useCustomToolModel,
|
|
305
|
+
return resolveModel(requestedModel, useGemini3_1, useCustomToolModel, effectiveHasAccessToPreview, config, effectiveUseLatestFlash, effectiveUseLatestFlashLite);
|
|
228
306
|
}
|
|
229
307
|
export function getDisplayString(model, config) {
|
|
230
308
|
if (config?.getExperimentalDynamicModelConfiguration?.() === true) {
|
|
@@ -233,9 +311,18 @@ export function getDisplayString(model, config) {
|
|
|
233
311
|
return definition.displayName;
|
|
234
312
|
}
|
|
235
313
|
}
|
|
314
|
+
const useLatestFlash = config?.hasLatestFlashGAAccess?.() ?? false;
|
|
315
|
+
const useLatestFlashLite = config?.hasLatestFlashLiteGAAccess?.() ?? false;
|
|
236
316
|
switch (model) {
|
|
237
|
-
case
|
|
238
|
-
|
|
317
|
+
case LEGACY_CCPA_FLASH_MODEL:
|
|
318
|
+
case BASE_GEMINI_FLASH_MODEL:
|
|
319
|
+
return useLatestFlash
|
|
320
|
+
? LATEST_GEMINI_FLASH_MODEL
|
|
321
|
+
: BASE_GEMINI_FLASH_MODEL;
|
|
322
|
+
case BASE_GEMINI_FLASH_LITE_MODEL:
|
|
323
|
+
return useLatestFlashLite
|
|
324
|
+
? LATEST_GEMINI_FLASH_LITE_MODEL
|
|
325
|
+
: BASE_GEMINI_FLASH_LITE_MODEL;
|
|
239
326
|
case GEMINI_MODEL_ALIAS_AUTO:
|
|
240
327
|
return 'Auto';
|
|
241
328
|
case PREVIEW_GEMINI_MODEL_AUTO:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/config/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,14 @@
|
|
|
3
3
|
* Copyright 2025 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { describe, it, expect } from 'vitest';
|
|
7
|
-
import { resolveModel, resolveClassifierModel, isGemini3Model, isGemini2Model, isCustomModel, supportsModernFeatures, isAutoModel, getDisplayString, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL,
|
|
6
|
+
import { describe, it, expect, beforeEach, afterEach } from 'vitest';
|
|
7
|
+
import { resolveModel, resolveClassifierModel, isGemini3Model, isGemini2Model, isCustomModel, supportsModernFeatures, isAutoModel, getDisplayString, DEFAULT_GEMINI_MODEL, PREVIEW_GEMINI_MODEL, DEFAULT_GEMINI_FLASH_MODEL, DEFAULT_GEMINI_FLASH_LITE_MODEL, BASE_GEMINI_FLASH_MODEL, BASE_GEMINI_FLASH_LITE_MODEL, setFlashModels, setFlashLiteModel, resetModelsForTesting, supportsMultimodalFunctionResponse, GEMINI_MODEL_ALIAS_PRO, GEMINI_MODEL_ALIAS_FLASH, GEMINI_MODEL_ALIAS_FLASH_LITE, GEMINI_MODEL_ALIAS_AUTO, PREVIEW_GEMINI_FLASH_MODEL, PREVIEW_GEMINI_MODEL_AUTO, DEFAULT_GEMINI_MODEL_AUTO, isActiveModel, PREVIEW_GEMINI_3_1_MODEL, PREVIEW_GEMINI_FLASH_LITE_MODEL, PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL, isPreviewModel, isProModel, LATEST_GEMINI_FLASH_MODEL, LATEST_GEMINI_FLASH_LITE_MODEL, GEMMA_4_31B_IT_MODEL, GEMMA_4_26B_A4B_IT_MODEL, getAutoModelDescription, } from './models.js';
|
|
8
8
|
import { ModelConfigService } from '../services/modelConfigService.js';
|
|
9
9
|
import { DEFAULT_MODEL_CONFIGS } from './defaultModelConfigs.js';
|
|
10
10
|
const modelConfigService = new ModelConfigService(DEFAULT_MODEL_CONFIGS);
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
resetModelsForTesting();
|
|
13
|
+
});
|
|
11
14
|
const dynamicConfig = {
|
|
12
15
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
13
16
|
modelConfigService,
|
|
@@ -494,7 +497,7 @@ describe('getAutoModelDescription', () => {
|
|
|
494
497
|
it('should return Gemini 2.5 description when hasAccessToPreview is false', () => {
|
|
495
498
|
const desc = getAutoModelDescription(false, false);
|
|
496
499
|
expect(desc).toContain('gemini-2.5-pro');
|
|
497
|
-
expect(desc).toContain('gemini-
|
|
500
|
+
expect(desc).toContain('gemini-3.5-flash');
|
|
498
501
|
});
|
|
499
502
|
it('should return Gemini 3.0 description when hasAccessToPreview is true', () => {
|
|
500
503
|
const desc = getAutoModelDescription(true, false);
|
|
@@ -506,33 +509,33 @@ describe('getAutoModelDescription', () => {
|
|
|
506
509
|
expect(desc).toContain('gemini-3.1-pro-preview');
|
|
507
510
|
expect(desc).toContain('gemini-3-flash-preview');
|
|
508
511
|
});
|
|
509
|
-
it('should return
|
|
512
|
+
it('should return latest Flash description when hasAccessToPreview and useLatestFlash are true', () => {
|
|
510
513
|
const desc = getAutoModelDescription(true, true, true);
|
|
511
514
|
expect(desc).toContain('gemini-3.1-pro-preview');
|
|
512
|
-
expect(desc).toContain(
|
|
515
|
+
expect(desc).toContain(LATEST_GEMINI_FLASH_MODEL);
|
|
513
516
|
});
|
|
514
517
|
});
|
|
515
518
|
describe('resolveModel Gemini 3.5 Flash GA', () => {
|
|
516
|
-
it('should resolve known non-preview flash models to
|
|
517
|
-
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(
|
|
518
|
-
expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(
|
|
519
|
+
it('should resolve known non-preview flash models to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (legacy)', () => {
|
|
520
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
521
|
+
expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
519
522
|
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
520
523
|
});
|
|
521
524
|
it.each([
|
|
522
525
|
'gemini-3.6-flash',
|
|
523
526
|
'gemini-3.7-flash',
|
|
524
|
-
'gemini-3.
|
|
527
|
+
'gemini-3.9-flash',
|
|
525
528
|
'gemini-9.9-flash',
|
|
526
529
|
])('should preserve the explicit versioned model %s when useGemini3_5Flash is true (legacy)', (model) => {
|
|
527
530
|
expect(resolveModel(model, false, false, true, undefined, true)).toBe(model);
|
|
528
531
|
});
|
|
529
|
-
it('should resolve known non-preview flash models to
|
|
532
|
+
it('should resolve known non-preview flash models to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
|
|
530
533
|
const mockDynamicConfig = {
|
|
531
534
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
532
535
|
modelConfigService,
|
|
533
536
|
};
|
|
534
|
-
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(
|
|
535
|
-
expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe(
|
|
537
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
538
|
+
expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
536
539
|
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
537
540
|
});
|
|
538
541
|
it('should NOT resolve flash models to DEFAULT_GEMINI_FLASH_MODEL when useGemini3_5Flash is false', () => {
|
|
@@ -546,28 +549,28 @@ describe('resolveModel Gemini 3.5 Flash GA', () => {
|
|
|
546
549
|
modelConfigService,
|
|
547
550
|
};
|
|
548
551
|
expect(resolveModel(DEFAULT_GEMINI_FLASH_MODEL, false, false, false, // No preview access
|
|
549
|
-
mockDynamicConfig, false)).toBe(
|
|
552
|
+
mockDynamicConfig, false)).toBe(DEFAULT_GEMINI_FLASH_MODEL);
|
|
550
553
|
});
|
|
551
|
-
it('should resolve auto to
|
|
552
|
-
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(
|
|
554
|
+
it('should resolve auto to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true and classifier selects flash', () => {
|
|
555
|
+
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
553
556
|
});
|
|
554
|
-
it('should resolve auto to
|
|
557
|
+
it('should resolve auto to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true and classifier selects flash (dynamic)', () => {
|
|
555
558
|
const mockDynamicConfig = {
|
|
556
559
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
557
560
|
modelConfigService,
|
|
558
561
|
};
|
|
559
|
-
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(
|
|
562
|
+
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
560
563
|
});
|
|
561
564
|
describe('Flash model promotion and manual override routing logic', () => {
|
|
562
|
-
it('should resolve flash alias to
|
|
563
|
-
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(
|
|
565
|
+
it('should resolve flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
|
|
566
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
564
567
|
});
|
|
565
|
-
it('should resolve flash alias to
|
|
568
|
+
it('should resolve flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
|
|
566
569
|
const mockDynamicConfig = {
|
|
567
570
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
568
571
|
modelConfigService,
|
|
569
572
|
};
|
|
570
|
-
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(
|
|
573
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
571
574
|
});
|
|
572
575
|
it('should resolve manual selection of gemini-3-flash-preview to gemini-3-flash-preview when useGemini3_5Flash is true and has preview access (static)', () => {
|
|
573
576
|
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, undefined, true)).toBe('gemini-3-flash-preview');
|
|
@@ -579,30 +582,78 @@ describe('resolveModel Gemini 3.5 Flash GA', () => {
|
|
|
579
582
|
};
|
|
580
583
|
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, true, mockDynamicConfig, true)).toBe('gemini-3-flash-preview');
|
|
581
584
|
});
|
|
582
|
-
it('should resolve manual selection of gemini-3-flash-preview to
|
|
583
|
-
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, undefined, true)).toBe(
|
|
585
|
+
it('should resolve manual selection of gemini-3-flash-preview to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true but lacks preview access (static)', () => {
|
|
586
|
+
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
584
587
|
});
|
|
585
|
-
it('should resolve manual selection of gemini-3-flash-preview to
|
|
588
|
+
it('should resolve manual selection of gemini-3-flash-preview to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true but lacks preview access (dynamic)', () => {
|
|
586
589
|
const mockDynamicConfig = {
|
|
587
590
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
588
591
|
modelConfigService,
|
|
589
592
|
};
|
|
590
|
-
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, mockDynamicConfig, true)).toBe(
|
|
593
|
+
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
591
594
|
});
|
|
592
|
-
it('should resolve classifier-selected flash alias to
|
|
593
|
-
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(
|
|
595
|
+
it('should resolve classifier-selected flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (static)', () => {
|
|
596
|
+
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, undefined, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
594
597
|
});
|
|
595
|
-
it('should resolve classifier-selected flash alias to
|
|
598
|
+
it('should resolve classifier-selected flash alias to LATEST_GEMINI_FLASH_MODEL when useGemini3_5Flash is true (dynamic)', () => {
|
|
596
599
|
const mockDynamicConfig = {
|
|
597
600
|
getExperimentalDynamicModelConfiguration: () => true,
|
|
598
601
|
modelConfigService,
|
|
599
602
|
};
|
|
600
|
-
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(
|
|
603
|
+
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, mockDynamicConfig, true)).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
601
604
|
});
|
|
602
605
|
it('should resolve auto to PREVIEW_GEMINI_MODEL when useGemini3_5Flash is true and has preview access', () => {
|
|
603
606
|
expect(resolveModel(GEMINI_MODEL_ALIAS_AUTO, false, false, true, // hasAccessToPreview
|
|
604
607
|
undefined, true)).toBe(PREVIEW_GEMINI_MODEL);
|
|
605
608
|
});
|
|
606
609
|
});
|
|
610
|
+
describe('multi-session isolation and global state leakage prevention', () => {
|
|
611
|
+
beforeEach(() => {
|
|
612
|
+
resetModelsForTesting();
|
|
613
|
+
});
|
|
614
|
+
afterEach(() => {
|
|
615
|
+
resetModelsForTesting();
|
|
616
|
+
});
|
|
617
|
+
it('should NOT leak latest flash or flash lite models to sessions without access even if global models are mutated', () => {
|
|
618
|
+
// Simulate Session A (which has access) mutating global models via setFlashModels / setFlashLiteModel
|
|
619
|
+
setFlashModels('gemini-3-flash-preview', LATEST_GEMINI_FLASH_MODEL);
|
|
620
|
+
setFlashLiteModel(LATEST_GEMINI_FLASH_LITE_MODEL);
|
|
621
|
+
// Verify global variables were indeed mutated to the latest models
|
|
622
|
+
expect(DEFAULT_GEMINI_FLASH_MODEL).toBe(LATEST_GEMINI_FLASH_MODEL);
|
|
623
|
+
expect(DEFAULT_GEMINI_FLASH_LITE_MODEL).toBe(LATEST_GEMINI_FLASH_LITE_MODEL);
|
|
624
|
+
// Session B has NO access (experiment flags false / hasLatestFlashGAAccess returns false)
|
|
625
|
+
const sessionBConfig = {
|
|
626
|
+
getExperimentalDynamicModelConfiguration: () => false,
|
|
627
|
+
hasLatestFlashGAAccess: () => false,
|
|
628
|
+
hasLatestFlashLiteGAAccess: () => false,
|
|
629
|
+
getHasAccessToPreviewModel: () => true,
|
|
630
|
+
modelConfigService,
|
|
631
|
+
};
|
|
632
|
+
// Session B resolving 'flash' should NOT get LATEST_GEMINI_FLASH_MODEL
|
|
633
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
634
|
+
// Session B resolving 'flash-lite' should NOT get LATEST_GEMINI_FLASH_LITE_MODEL
|
|
635
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, true, sessionBConfig, false, false)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
|
|
636
|
+
// Session B resolving without preview access should get BASE models, NOT LATEST
|
|
637
|
+
expect(resolveModel(PREVIEW_GEMINI_FLASH_MODEL, false, false, false, sessionBConfig, false, false)).toBe(BASE_GEMINI_FLASH_MODEL);
|
|
638
|
+
// Session B classifier resolving flash should NOT get LATEST_GEMINI_FLASH_MODEL
|
|
639
|
+
expect(resolveClassifierModel(GEMINI_MODEL_ALIAS_AUTO, GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
640
|
+
// Session B getDisplayString should NOT return latest models
|
|
641
|
+
expect(getDisplayString(BASE_GEMINI_FLASH_MODEL, sessionBConfig)).toBe(BASE_GEMINI_FLASH_MODEL);
|
|
642
|
+
expect(getDisplayString(BASE_GEMINI_FLASH_LITE_MODEL, sessionBConfig)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
|
|
643
|
+
});
|
|
644
|
+
it('should NOT leak latest models in dynamic configuration mode when global models are mutated', () => {
|
|
645
|
+
setFlashModels('gemini-3-flash-preview', LATEST_GEMINI_FLASH_MODEL);
|
|
646
|
+
setFlashLiteModel(LATEST_GEMINI_FLASH_LITE_MODEL);
|
|
647
|
+
const sessionBDynamicConfig = {
|
|
648
|
+
getExperimentalDynamicModelConfiguration: () => true,
|
|
649
|
+
hasLatestFlashGAAccess: () => false,
|
|
650
|
+
hasLatestFlashLiteGAAccess: () => false,
|
|
651
|
+
getHasAccessToPreviewModel: () => true,
|
|
652
|
+
modelConfigService,
|
|
653
|
+
};
|
|
654
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH, false, false, true, sessionBDynamicConfig, false, false)).toBe(PREVIEW_GEMINI_FLASH_MODEL);
|
|
655
|
+
expect(resolveModel(GEMINI_MODEL_ALIAS_FLASH_LITE, false, false, true, sessionBDynamicConfig, false, false)).toBe(BASE_GEMINI_FLASH_LITE_MODEL);
|
|
656
|
+
});
|
|
657
|
+
});
|
|
607
658
|
});
|
|
608
659
|
//# sourceMappingURL=models.test.js.map
|