@google/gemini-cli 0.36.0-preview.6 → 0.36.0-preview.8

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.
Files changed (32) hide show
  1. package/bundle/{chunk-PDW366WH.js → chunk-5JDHTAA3.js} +85 -29
  2. package/bundle/{chunk-U2JBMR75.js → chunk-5Y6Y7SEB.js} +85 -29
  3. package/bundle/{chunk-4P6XQ35T.js → chunk-642LNT3F.js} +7382 -2769
  4. package/bundle/{chunk-5JYGJANN.js → chunk-FWCJAF6L.js} +7382 -2769
  5. package/bundle/{chunk-PXG3YTLU.js → chunk-MYI75E6G.js} +20 -6
  6. package/bundle/{chunk-OE54FCNN.js → chunk-N22U7LIR.js} +103 -18
  7. package/bundle/{chunk-QTNBTOHX.js → chunk-QBLIM2T2.js} +7382 -2769
  8. package/bundle/{chunk-HLML5SVJ.js → chunk-S2IQOR7T.js} +15 -6
  9. package/bundle/{chunk-NBSN2ZY6.js → chunk-UUJ4JLTB.js} +7382 -2769
  10. package/bundle/{chunk-I3Z6XPMI.js → chunk-X6CSYCBW.js} +85 -29
  11. package/bundle/{core-NSYWNIRO.js → core-N4UNRLQA.js} +2 -2
  12. package/bundle/{devtoolsService-3NAUMYXJ.js → devtoolsService-7D3WUF33.js} +3 -3
  13. package/bundle/{devtoolsService-MQCND52T.js → devtoolsService-NA7MR5UO.js} +3 -3
  14. package/bundle/{devtoolsService-2I6GE4QG.js → devtoolsService-VU7N6PSG.js} +3 -3
  15. package/bundle/{devtoolsService-FPXH5TOL.js → devtoolsService-Y53ZUB56.js} +3 -3
  16. package/bundle/{dist-2L2ZZ6UU.js → dist-HD2ZHBHJ.js} +2 -2
  17. package/bundle/{dist-ECE6U2CF.js → dist-JYY2GAAR.js} +2 -2
  18. package/bundle/{dist-JYBWVV27.js → dist-QEB25IFU.js} +2 -2
  19. package/bundle/docs/reference/configuration.md +26 -2
  20. package/bundle/gemini.js +7 -7
  21. package/bundle/{interactiveCli-T2GH3MML.js → interactiveCli-2JRQPNZP.js} +210 -223
  22. package/bundle/{interactiveCli-HNW3RGAN.js → interactiveCli-A6H7VTMC.js} +210 -223
  23. package/bundle/{interactiveCli-NZ7FBLY6.js → interactiveCli-LFO7EWZS.js} +210 -223
  24. package/bundle/{interactiveCli-MKWLBXZL.js → interactiveCli-R5N55BDV.js} +210 -223
  25. package/bundle/{memoryDiscovery-JXHCZBWK.js → memoryDiscovery-BQGYT4OD.js} +1 -1
  26. package/bundle/{memoryDiscovery-VQKOP6YW.js → memoryDiscovery-FCEPFZ3M.js} +1 -1
  27. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  28. package/bundle/{oauth2-provider-CD23TXNI.js → oauth2-provider-2WD22PTI.js} +2 -2
  29. package/bundle/{oauth2-provider-Q3ET7DXL.js → oauth2-provider-34BPLPQX.js} +2 -2
  30. package/bundle/{oauth2-provider-TMPMYL3F.js → oauth2-provider-MZAUZWUS.js} +2 -2
  31. package/bundle/{oauth2-provider-3IFRA7CZ.js → oauth2-provider-QOWLZC44.js} +2 -2
  32. package/package.json +1 -1
@@ -75,6 +75,7 @@ import {
75
75
  MessageBusType,
76
76
  OAUTH_FILE,
77
77
  PARAM_ADDITIONAL_PERMISSIONS,
78
+ PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
78
79
  PREVIEW_GEMINI_3_1_MODEL,
79
80
  PREVIEW_GEMINI_FLASH_MODEL,
80
81
  PREVIEW_GEMINI_MODEL,
@@ -192,7 +193,7 @@ import {
192
193
  toFriendlyError,
193
194
  unescapePath,
194
195
  zodToJsonSchema
195
- } from "./chunk-HLML5SVJ.js";
196
+ } from "./chunk-S2IQOR7T.js";
196
197
  import {
197
198
  require_dist as require_dist2,
198
199
  require_src
@@ -249986,8 +249987,8 @@ var Float64Vector = import_vector.default.Float64Vector;
249986
249987
  var PointerVector = import_vector.default.PointerVector;
249987
249988
 
249988
249989
  // packages/core/dist/src/generated/git-commit.js
249989
- var GIT_COMMIT_INFO = "975b7dc16";
249990
- var CLI_VERSION = "0.36.0-preview.5";
249990
+ var GIT_COMMIT_INFO = "201c74c03";
249991
+ var CLI_VERSION = "0.36.0-preview.8";
249991
249992
 
249992
249993
  // packages/core/dist/src/ide/detect-ide.js
249993
249994
  var IDE_DEFINITIONS = {
@@ -273101,7 +273102,7 @@ var FLASH_LITE_CHAIN = [
273101
273102
  ];
273102
273103
  function getModelPolicyChain(options) {
273103
273104
  if (options.previewEnabled) {
273104
- const previewModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useCustomToolModel);
273105
+ const previewModel = resolveModel(PREVIEW_GEMINI_MODEL, options.useGemini31, options.useGemini31FlashLite, options.useCustomToolModel);
273105
273106
  return [
273106
273107
  definePolicy({ model: previewModel }),
273107
273108
  definePolicy({ model: PREVIEW_GEMINI_FLASH_MODEL, isLastResort: true })
@@ -273146,14 +273147,16 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
273146
273147
  const configuredModel = config2.getModel();
273147
273148
  let chain2;
273148
273149
  const useGemini31 = config2.getGemini31LaunchedSync?.() ?? false;
273150
+ const useGemini31FlashLite = config2.getGemini31FlashLiteLaunchedSync?.() ?? false;
273149
273151
  const useCustomToolModel = config2.getUseCustomToolModelSync?.() ?? false;
273150
273152
  const hasAccessToPreview = config2.getHasAccessToPreviewModel?.() ?? true;
273151
- const resolvedModel = resolveModel(modelFromConfig, useGemini31, useCustomToolModel, hasAccessToPreview, config2);
273153
+ const resolvedModel = resolveModel(modelFromConfig, useGemini31, useGemini31FlashLite, useCustomToolModel, hasAccessToPreview, config2);
273152
273154
  const isAutoPreferred = preferredModel ? isAutoModel(preferredModel, config2) : false;
273153
273155
  const isAutoConfigured = isAutoModel(configuredModel, config2);
273154
273156
  if (config2.getExperimentalDynamicModelConfiguration?.() === true) {
273155
273157
  const context2 = {
273156
273158
  useGemini3_1: useGemini31,
273159
+ useGemini3_1FlashLite: useGemini31FlashLite,
273157
273160
  useCustomTools: useCustomToolModel
273158
273161
  };
273159
273162
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
@@ -273182,6 +273185,7 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
273182
273185
  previewEnabled,
273183
273186
  userTier: config2.getUserTier(),
273184
273187
  useGemini31,
273188
+ useGemini31FlashLite,
273185
273189
  useCustomToolModel
273186
273190
  });
273187
273191
  } else {
@@ -273189,6 +273193,7 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
273189
273193
  previewEnabled: false,
273190
273194
  userTier: config2.getUserTier(),
273191
273195
  useGemini31,
273196
+ useGemini31FlashLite,
273192
273197
  useCustomToolModel
273193
273198
  });
273194
273199
  }
@@ -275701,7 +275706,7 @@ function getVersion() {
275701
275706
  }
275702
275707
  versionPromise = (async () => {
275703
275708
  const pkgJson = await getPackageJson(__dirname4);
275704
- return "0.36.0-preview.5";
275709
+ return "0.36.0-preview.8";
275705
275710
  })();
275706
275711
  return versionPromise;
275707
275712
  }
@@ -276985,7 +276990,7 @@ async function createContentGenerator(config2, gcConfig, sessionId2) {
276985
276990
  return new LoggingContentGenerator(fakeGenerator, gcConfig);
276986
276991
  }
276987
276992
  const version4 = await getVersion();
276988
- const model = resolveModel(gcConfig.getModel(), config2.authType === AuthType.USE_GEMINI || config2.authType === AuthType.USE_VERTEX_AI || (await gcConfig.getGemini31Launched?.() ?? false), false, gcConfig.getHasAccessToPreviewModel?.() ?? true, gcConfig);
276993
+ const model = resolveModel(gcConfig.getModel(), config2.authType === AuthType.USE_GEMINI || config2.authType === AuthType.USE_VERTEX_AI || (await gcConfig.getGemini31Launched?.() ?? false), config2.authType === AuthType.USE_GEMINI || config2.authType === AuthType.USE_VERTEX_AI || (await gcConfig.getGemini31FlashLiteLaunched?.() ?? false), false, gcConfig.getHasAccessToPreviewModel?.() ?? true, gcConfig);
276989
276994
  const customHeadersEnv = process.env["GEMINI_CLI_CUSTOM_HEADERS"] || void 0;
276990
276995
  const clientName = gcConfig.getClientName();
276991
276996
  const surface = determineSurface2();
@@ -308584,9 +308589,11 @@ var GeminiChat = class {
308584
308589
  const initialActiveModel = this.context.config.getActiveModel();
308585
308590
  const apiCall = async () => {
308586
308591
  const useGemini3_1 = await this.context.config.getGemini31Launched?.() ?? false;
308587
- let modelToUse = resolveModel(lastModelToUse, useGemini3_1, false, this.context.config.getHasAccessToPreviewModel?.() ?? true, this.context.config);
308592
+ const useGemini3_1FlashLite = await this.context.config.getGemini31FlashLiteLaunched?.() ?? false;
308593
+ const hasAccessToPreview = this.context.config.getHasAccessToPreviewModel?.() ?? true;
308594
+ let modelToUse = resolveModel(lastModelToUse, useGemini3_1, useGemini3_1FlashLite, false, hasAccessToPreview, this.context.config);
308588
308595
  if (this.context.config.getActiveModel() !== initialActiveModel) {
308589
- modelToUse = resolveModel(this.context.config.getActiveModel(), useGemini3_1, false, this.context.config.getHasAccessToPreviewModel?.() ?? true, this.context.config);
308596
+ modelToUse = resolveModel(this.context.config.getActiveModel(), useGemini3_1, useGemini3_1FlashLite, false, hasAccessToPreview, this.context.config);
308590
308597
  }
308591
308598
  if (modelToUse !== lastModelToUse) {
308592
308599
  const { generateContentConfig: newConfig } = this.context.config.modelConfigService.getResolvedConfig({
@@ -310645,7 +310652,7 @@ var PromptProvider = class {
310645
310652
  const toolNames = context2.toolRegistry.getAllToolNames();
310646
310653
  const enabledToolNames = new Set(toolNames);
310647
310654
  const approvedPlanPath = context2.config.getApprovedPlanPath();
310648
- const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
310655
+ const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, context2.config.getGemini31FlashLiteLaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
310649
310656
  const isModernModel = supportsModernFeatures(desiredModel);
310650
310657
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
310651
310658
  const contextFilenames = getAllGeminiMdFilenames();
@@ -310743,7 +310750,7 @@ var PromptProvider = class {
310743
310750
  return sanitizedPrompt;
310744
310751
  }
310745
310752
  getCompressionPrompt(context2) {
310746
- const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
310753
+ const desiredModel = resolveModel(context2.config.getActiveModel(), context2.config.getGemini31LaunchedSync?.() ?? false, context2.config.getGemini31FlashLiteLaunchedSync?.() ?? false, false, context2.config.getHasAccessToPreviewModel?.() ?? true, context2.config);
310747
310754
  const isModernModel = supportsModernFeatures(desiredModel);
310748
310755
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
310749
310756
  return activeSnippets.getCompressionPrompt(context2.config.getApprovedPlanPath());
@@ -311822,6 +311829,8 @@ function modelStringToModelConfigAlias(model) {
311822
311829
  return "chat-compression-3-pro";
311823
311830
  case PREVIEW_GEMINI_FLASH_MODEL:
311824
311831
  return "chat-compression-3-flash";
311832
+ case PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL:
311833
+ return "chat-compression-3.1-flash-lite";
311825
311834
  case DEFAULT_GEMINI_MODEL:
311826
311835
  return "chat-compression-2.5-pro";
311827
311836
  case DEFAULT_GEMINI_FLASH_MODEL:
@@ -312620,7 +312629,7 @@ var GeminiClient = class {
312620
312629
  if (this.currentSequenceModel) {
312621
312630
  return this.currentSequenceModel;
312622
312631
  }
312623
- return resolveModel(this.config.getActiveModel(), this.config.getGemini31LaunchedSync?.() ?? false, false, this.config.getHasAccessToPreviewModel?.() ?? true, this.config);
312632
+ return resolveModel(this.config.getActiveModel(), this.config.getGemini31LaunchedSync?.() ?? false, this.config.getGemini31FlashLiteLaunchedSync?.() ?? false, false, this.config.getHasAccessToPreviewModel?.() ?? true, this.config);
312624
312633
  }
312625
312634
  async *processTurn(request, signal, prompt_id, boundedTurns, isInvalidStreamRetry, displayContent) {
312626
312635
  let turn = new Turn(this.getChat(), prompt_id);
@@ -318771,7 +318780,7 @@ ${formattedHistory}
318771
318780
  var DefaultStrategy = class {
318772
318781
  name = "default";
318773
318782
  async route(_context, config2, _baseLlmClient, _localLiteRtLmClient) {
318774
- const defaultModel = resolveModel(config2.getModel(), config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
318783
+ const defaultModel = resolveModel(config2.getModel(), config2.getGemini31LaunchedSync?.() ?? false, config2.getGemini31FlashLiteLaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
318775
318784
  return {
318776
318785
  model: defaultModel,
318777
318786
  metadata: {
@@ -318904,11 +318913,12 @@ var ClassifierStrategy = class {
318904
318913
  const routerResponse = ClassifierResponseSchema2.parse(jsonResponse);
318905
318914
  const reasoning = routerResponse.reasoning;
318906
318915
  const latencyMs = Date.now() - startTime;
318907
- const [useGemini3_1, useCustomToolModel] = await Promise.all([
318916
+ const [useGemini3_1, useGemini3_1FlashLite, useCustomToolModel] = await Promise.all([
318908
318917
  config2.getGemini31Launched(),
318918
+ config2.getGemini31FlashLiteLaunched(),
318909
318919
  config2.getUseCustomToolModel()
318910
318920
  ]);
318911
- const selectedModel = resolveClassifierModel(model, routerResponse.model_choice, useGemini3_1, useCustomToolModel, config2.getHasAccessToPreviewModel?.() ?? true, config2);
318921
+ const selectedModel = resolveClassifierModel(model, routerResponse.model_choice, useGemini3_1, useGemini3_1FlashLite, useCustomToolModel, config2.getHasAccessToPreviewModel?.() ?? true, config2);
318912
318922
  return {
318913
318923
  model: selectedModel,
318914
318924
  metadata: {
@@ -319029,11 +319039,12 @@ var NumericalClassifierStrategy = class {
319029
319039
  const routerResponse = ClassifierResponseSchema3.parse(jsonResponse);
319030
319040
  const score = routerResponse.complexity_score;
319031
319041
  const { threshold, groupLabel, modelAlias } = await this.getRoutingDecision(score, config2);
319032
- const [useGemini3_1, useCustomToolModel] = await Promise.all([
319042
+ const [useGemini3_1, useGemini3_1FlashLite, useCustomToolModel] = await Promise.all([
319033
319043
  config2.getGemini31Launched(),
319044
+ config2.getGemini31FlashLiteLaunched(),
319034
319045
  config2.getUseCustomToolModel()
319035
319046
  ]);
319036
- const selectedModel = resolveClassifierModel(model, modelAlias, useGemini3_1, useCustomToolModel, config2.getHasAccessToPreviewModel?.() ?? true, config2);
319047
+ const selectedModel = resolveClassifierModel(model, modelAlias, useGemini3_1, useGemini3_1FlashLite, useCustomToolModel, config2.getHasAccessToPreviewModel?.() ?? true, config2);
319037
319048
  const latencyMs = Date.now() - startTime;
319038
319049
  return {
319039
319050
  model: selectedModel,
@@ -319121,7 +319132,7 @@ var FallbackStrategy = class {
319121
319132
  name = "fallback";
319122
319133
  async route(context2, config2, _baseLlmClient, _localLiteRtLmClient) {
319123
319134
  const requestedModel = context2.requestedModel ?? config2.getModel();
319124
- const resolvedModel = resolveModel(requestedModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
319135
+ const resolvedModel = resolveModel(requestedModel, config2.getGemini31LaunchedSync?.() ?? false, config2.getGemini31FlashLiteLaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2);
319125
319136
  const service = config2.getModelAvailabilityService();
319126
319137
  const snapshot = service.snapshot(resolvedModel);
319127
319138
  if (snapshot.available) {
@@ -319151,7 +319162,7 @@ var OverrideStrategy = class {
319151
319162
  return null;
319152
319163
  }
319153
319164
  return {
319154
- model: resolveModel(overrideModel, config2.getGemini31LaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2),
319165
+ model: resolveModel(overrideModel, config2.getGemini31LaunchedSync?.() ?? false, config2.getGemini31FlashLiteLaunchedSync?.() ?? false, false, config2.getHasAccessToPreviewModel?.() ?? true, config2),
319155
319166
  metadata: {
319156
319167
  source: this.name,
319157
319168
  latencyMs: 0,
@@ -319318,6 +319329,8 @@ var ModelConfigService = class _ModelConfigService {
319318
319329
  switch (key) {
319319
319330
  case "useGemini3_1":
319320
319331
  return value === context2.useGemini3_1;
319332
+ case "useGemini3_1FlashLite":
319333
+ return value === context2.useGemini3_1FlashLite;
319321
319334
  case "useCustomTools":
319322
319335
  return value === context2.useCustomTools;
319323
319336
  case "hasAccessToPreview":
@@ -319784,6 +319797,11 @@ var DEFAULT_MODEL_CONFIGS = {
319784
319797
  model: "gemini-3-flash-preview"
319785
319798
  }
319786
319799
  },
319800
+ "chat-compression-3.1-flash-lite": {
319801
+ modelConfig: {
319802
+ model: "gemini-3.1-flash-lite-preview"
319803
+ }
319804
+ },
319787
319805
  "chat-compression-2.5-pro": {
319788
319806
  modelConfig: {
319789
319807
  model: "gemini-2.5-pro"
@@ -319996,6 +320014,15 @@ var DEFAULT_MODEL_CONFIGS = {
319996
320014
  "auto-gemini-2.5": {
319997
320015
  default: "gemini-2.5-pro"
319998
320016
  },
320017
+ "gemini-3.1-flash-lite-preview": {
320018
+ default: "gemini-3.1-flash-lite-preview",
320019
+ contexts: [
320020
+ {
320021
+ condition: { useGemini3_1FlashLite: false },
320022
+ target: "gemini-2.5-flash-lite"
320023
+ }
320024
+ ]
320025
+ },
319999
320026
  flash: {
320000
320027
  default: "gemini-3-flash-preview",
320001
320028
  contexts: [
@@ -320006,7 +320033,13 @@ var DEFAULT_MODEL_CONFIGS = {
320006
320033
  ]
320007
320034
  },
320008
320035
  "flash-lite": {
320009
- default: "gemini-2.5-flash-lite"
320036
+ default: "gemini-2.5-flash-lite",
320037
+ contexts: [
320038
+ {
320039
+ condition: { useGemini3_1FlashLite: true },
320040
+ target: "gemini-3.1-flash-lite-preview"
320041
+ }
320042
+ ]
320010
320043
  }
320011
320044
  },
320012
320045
  classifierIdResolutions: {
@@ -327095,7 +327128,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
327095
327128
  return provider;
327096
327129
  }
327097
327130
  case "oauth2": {
327098
- const { OAuth2AuthProvider } = await import("./oauth2-provider-TMPMYL3F.js");
327131
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-34BPLPQX.js");
327099
327132
  const provider = new OAuth2AuthProvider(authConfig, options.agentName ?? "unknown", agentCard, options.agentCardUrl);
327100
327133
  await provider.initialize();
327101
327134
  return provider;
@@ -330602,8 +330635,8 @@ var LocalAgentExecutor = class _LocalAgentExecutor {
330602
330635
  toolsList.push(toolRef);
330603
330636
  }
330604
330637
  }
330605
- toolsList.push(...this.toolRegistry.getFunctionDeclarations());
330606
330638
  }
330639
+ toolsList.push(...this.toolRegistry.getFunctionDeclarations(this.definition.modelConfig.model));
330607
330640
  const completeTool = {
330608
330641
  name: TASK_COMPLETE_TOOL_NAME,
330609
330642
  description: outputConfig ? "Call this tool to submit your final answer and complete the task. This is the ONLY way to finish." : "Call this tool to submit your final findings and complete the task. This is the ONLY way to finish.",
@@ -333004,7 +333037,8 @@ var ExperimentFlags = {
333004
333037
  MASKING_PRUNABLE_THRESHOLD: 45758818,
333005
333038
  MASKING_PROTECT_LATEST_TURN: 45758819,
333006
333039
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
333007
- PRO_MODEL_NO_ACCESS: 45768879
333040
+ PRO_MODEL_NO_ACCESS: 45768879,
333041
+ GEMINI_3_1_FLASH_LITE_LAUNCHED: 45771641
333008
333042
  };
333009
333043
 
333010
333044
  // packages/core/dist/src/skills/skillManager.js
@@ -346513,7 +346547,7 @@ var Config = class {
346513
346547
  };
346514
346548
  }
346515
346549
  this.modelConfigService = new ModelConfigService(modelConfigServiceConfig ?? DEFAULT_MODEL_CONFIGS);
346516
- this.experimentalJitContext = params.experimentalJitContext ?? true;
346550
+ this.experimentalJitContext = params.experimentalJitContext ?? false;
346517
346551
  this.experimentalMemoryManager = params.experimentalMemoryManager ?? false;
346518
346552
  this.topicUpdateNarration = params.topicUpdateNarration ?? false;
346519
346553
  this.modelSteering = params.modelSteering ?? false;
@@ -347006,7 +347040,7 @@ var Config = class {
347006
347040
  if (pooled.remaining !== void 0) {
347007
347041
  return pooled.remaining;
347008
347042
  }
347009
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync());
347043
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getGemini31FlashLiteLaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
347010
347044
  return this.modelQuotas.get(primaryModel)?.remaining;
347011
347045
  }
347012
347046
  getQuotaLimit() {
@@ -347014,7 +347048,7 @@ var Config = class {
347014
347048
  if (pooled.limit !== void 0) {
347015
347049
  return pooled.limit;
347016
347050
  }
347017
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync());
347051
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getGemini31FlashLiteLaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
347018
347052
  return this.modelQuotas.get(primaryModel)?.limit;
347019
347053
  }
347020
347054
  getQuotaResetTime() {
@@ -347022,7 +347056,7 @@ var Config = class {
347022
347056
  if (pooled.resetTime !== void 0) {
347023
347057
  return pooled.resetTime;
347024
347058
  }
347025
- const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync());
347059
+ const primaryModel = resolveModel(this.getModel(), this.getGemini31LaunchedSync(), this.getGemini31FlashLiteLaunchedSync(), this.getUseCustomToolModelSync(), this.getHasAccessToPreviewModel(), this);
347026
347060
  return this.modelQuotas.get(primaryModel)?.resetTime;
347027
347061
  }
347028
347062
  getEmbeddingModel() {
@@ -347263,7 +347297,7 @@ var Config = class {
347263
347297
  if (this.experimentalJitContext && this.contextManager) {
347264
347298
  await this.contextManager.refresh();
347265
347299
  } else {
347266
- const { refreshServerHierarchicalMemory: refreshServerHierarchicalMemory2 } = await import("./memoryDiscovery-VQKOP6YW.js");
347300
+ const { refreshServerHierarchicalMemory: refreshServerHierarchicalMemory2 } = await import("./memoryDiscovery-BQGYT4OD.js");
347267
347301
  await refreshServerHierarchicalMemory2(this);
347268
347302
  }
347269
347303
  if (this._geminiClient?.isInitialized()) {
@@ -347794,13 +347828,21 @@ ${sections.join("\n")}
347794
347828
  return this.experiments?.flags[ExperimentFlags.PRO_MODEL_NO_ACCESS]?.boolValue ?? false;
347795
347829
  }
347796
347830
  /**
347797
- * Returns whether Gemini 3.1 has been launched.
347831
+ * Returns whether Gemini 3.1 Pro has been launched.
347798
347832
  * This method is async and ensures that experiments are loaded before returning the result.
347799
347833
  */
347800
347834
  async getGemini31Launched() {
347801
347835
  await this.ensureExperimentsLoaded();
347802
347836
  return this.getGemini31LaunchedSync();
347803
347837
  }
347838
+ /**
347839
+ * Returns whether Gemini 3.1 Flash Lite has been launched.
347840
+ * This method is async and ensures that experiments are loaded before returning the result.
347841
+ */
347842
+ async getGemini31FlashLiteLaunched() {
347843
+ await this.ensureExperimentsLoaded();
347844
+ return this.getGemini31FlashLiteLaunchedSync();
347845
+ }
347804
347846
  /**
347805
347847
  * Returns whether the custom tool model should be used.
347806
347848
  */
@@ -347833,6 +347875,20 @@ ${sections.join("\n")}
347833
347875
  }
347834
347876
  return this.experiments?.flags[ExperimentFlags.GEMINI_3_1_PRO_LAUNCHED]?.boolValue ?? false;
347835
347877
  }
347878
+ /**
347879
+ * Returns whether Gemini 3.1 Flash Lite has been launched.
347880
+ *
347881
+ * Note: This method should only be called after startup, once experiments have been loaded.
347882
+ * If you need to call this during startup or from an async context, use
347883
+ * getGemini31FlashLiteLaunched instead.
347884
+ */
347885
+ getGemini31FlashLiteLaunchedSync() {
347886
+ const authType = this.contentGeneratorConfig?.authType;
347887
+ if (authType === AuthType.USE_GEMINI || authType === AuthType.USE_VERTEX_AI) {
347888
+ return true;
347889
+ }
347890
+ return this.experiments?.flags[ExperimentFlags.GEMINI_3_1_FLASH_LITE_LAUNCHED]?.boolValue ?? false;
347891
+ }
347836
347892
  async ensureExperimentsLoaded() {
347837
347893
  if (!this.experimentsPromise) {
347838
347894
  return;
@@ -705,7 +705,7 @@ import {
705
705
  wrapInAccountChooser,
706
706
  writeToStderr,
707
707
  writeToStdout
708
- } from "./chunk-OE54FCNN.js";
708
+ } from "./chunk-N22U7LIR.js";
709
709
  import {
710
710
  ACTIVATE_SKILL_TOOL_NAME,
711
711
  ALL_BUILTIN_TOOL_NAMES,
@@ -937,7 +937,7 @@ import {
937
937
  tmpdir,
938
938
  toFriendlyError,
939
939
  unescapePath
940
- } from "./chunk-PXG3YTLU.js";
940
+ } from "./chunk-MYI75E6G.js";
941
941
  import "./chunk-664ZODQF.js";
942
942
  import "./chunk-RJTRUG2J.js";
943
943
  import {
@@ -1,9 +1,9 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import "./chunk-OE54FCNN.js";
2
+ import "./chunk-N22U7LIR.js";
3
3
  import {
4
4
  coreEvents,
5
5
  debugLogger
6
- } from "./chunk-PXG3YTLU.js";
6
+ } from "./chunk-MYI75E6G.js";
7
7
  import {
8
8
  wrapper_default
9
9
  } from "./chunk-664ZODQF.js";
@@ -819,7 +819,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
819
819
  return;
820
820
  }
821
821
  try {
822
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-NSYWNIRO.js");
822
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-N4UNRLQA.js");
823
823
  const url = await startDevToolsServer(config);
824
824
  if (shouldLaunchBrowser()) {
825
825
  try {
@@ -1,10 +1,10 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import "./chunk-U2JBMR75.js";
2
+ import "./chunk-X6CSYCBW.js";
3
3
  import {
4
4
  CoreEvent,
5
5
  coreEvents,
6
6
  debugLogger
7
- } from "./chunk-HLML5SVJ.js";
7
+ } from "./chunk-S2IQOR7T.js";
8
8
  import {
9
9
  wrapper_default
10
10
  } from "./chunk-664ZODQF.js";
@@ -820,7 +820,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
820
820
  return;
821
821
  }
822
822
  try {
823
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-JYBWVV27.js");
823
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-HD2ZHBHJ.js");
824
824
  const url = await startDevToolsServer(config);
825
825
  if (shouldLaunchBrowser()) {
826
826
  try {
@@ -1,10 +1,10 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import "./chunk-PDW366WH.js";
2
+ import "./chunk-5Y6Y7SEB.js";
3
3
  import {
4
4
  CoreEvent,
5
5
  coreEvents,
6
6
  debugLogger
7
- } from "./chunk-HLML5SVJ.js";
7
+ } from "./chunk-S2IQOR7T.js";
8
8
  import {
9
9
  wrapper_default
10
10
  } from "./chunk-664ZODQF.js";
@@ -820,7 +820,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
820
820
  return;
821
821
  }
822
822
  try {
823
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-2L2ZZ6UU.js");
823
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-JYY2GAAR.js");
824
824
  const url = await startDevToolsServer(config);
825
825
  if (shouldLaunchBrowser()) {
826
826
  try {
@@ -1,10 +1,10 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
- import "./chunk-I3Z6XPMI.js";
2
+ import "./chunk-5JDHTAA3.js";
3
3
  import {
4
4
  CoreEvent,
5
5
  coreEvents,
6
6
  debugLogger
7
- } from "./chunk-HLML5SVJ.js";
7
+ } from "./chunk-S2IQOR7T.js";
8
8
  import {
9
9
  wrapper_default
10
10
  } from "./chunk-664ZODQF.js";
@@ -820,7 +820,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
820
820
  return;
821
821
  }
822
822
  try {
823
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-ECE6U2CF.js");
823
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-QEB25IFU.js");
824
824
  const url = await startDevToolsServer(config);
825
825
  if (shouldLaunchBrowser()) {
826
826
  try {
@@ -705,7 +705,7 @@ import {
705
705
  wrapInAccountChooser,
706
706
  writeToStderr,
707
707
  writeToStdout
708
- } from "./chunk-PDW366WH.js";
708
+ } from "./chunk-X6CSYCBW.js";
709
709
  import {
710
710
  ACTIVATE_SKILL_TOOL_NAME,
711
711
  ALL_BUILTIN_TOOL_NAMES,
@@ -937,7 +937,7 @@ import {
937
937
  tmpdir,
938
938
  toFriendlyError,
939
939
  unescapePath
940
- } from "./chunk-HLML5SVJ.js";
940
+ } from "./chunk-S2IQOR7T.js";
941
941
  import "./chunk-664ZODQF.js";
942
942
  import "./chunk-RJTRUG2J.js";
943
943
  import {
@@ -705,7 +705,7 @@ import {
705
705
  wrapInAccountChooser,
706
706
  writeToStderr,
707
707
  writeToStdout
708
- } from "./chunk-I3Z6XPMI.js";
708
+ } from "./chunk-5Y6Y7SEB.js";
709
709
  import {
710
710
  ACTIVATE_SKILL_TOOL_NAME,
711
711
  ALL_BUILTIN_TOOL_NAMES,
@@ -937,7 +937,7 @@ import {
937
937
  tmpdir,
938
938
  toFriendlyError,
939
939
  unescapePath
940
- } from "./chunk-HLML5SVJ.js";
940
+ } from "./chunk-S2IQOR7T.js";
941
941
  import "./chunk-664ZODQF.js";
942
942
  import "./chunk-RJTRUG2J.js";
943
943
  import {
@@ -705,7 +705,7 @@ import {
705
705
  wrapInAccountChooser,
706
706
  writeToStderr,
707
707
  writeToStdout
708
- } from "./chunk-U2JBMR75.js";
708
+ } from "./chunk-5JDHTAA3.js";
709
709
  import {
710
710
  ACTIVATE_SKILL_TOOL_NAME,
711
711
  ALL_BUILTIN_TOOL_NAMES,
@@ -937,7 +937,7 @@ import {
937
937
  tmpdir,
938
938
  toFriendlyError,
939
939
  unescapePath
940
- } from "./chunk-HLML5SVJ.js";
940
+ } from "./chunk-S2IQOR7T.js";
941
941
  import "./chunk-664ZODQF.js";
942
942
  import "./chunk-RJTRUG2J.js";
943
943
  import {
@@ -645,6 +645,11 @@ their corresponding top-level category object in your `settings.json` file.
645
645
  "model": "gemini-3-flash-preview"
646
646
  }
647
647
  },
648
+ "chat-compression-3.1-flash-lite": {
649
+ "modelConfig": {
650
+ "model": "gemini-3.1-flash-lite-preview"
651
+ }
652
+ },
648
653
  "chat-compression-2.5-pro": {
649
654
  "modelConfig": {
650
655
  "model": "gemini-2.5-pro"
@@ -973,6 +978,17 @@ their corresponding top-level category object in your `settings.json` file.
973
978
  "auto-gemini-2.5": {
974
979
  "default": "gemini-2.5-pro"
975
980
  },
981
+ "gemini-3.1-flash-lite-preview": {
982
+ "default": "gemini-3.1-flash-lite-preview",
983
+ "contexts": [
984
+ {
985
+ "condition": {
986
+ "useGemini3_1FlashLite": false
987
+ },
988
+ "target": "gemini-2.5-flash-lite"
989
+ }
990
+ ]
991
+ },
976
992
  "flash": {
977
993
  "default": "gemini-3-flash-preview",
978
994
  "contexts": [
@@ -985,7 +1001,15 @@ their corresponding top-level category object in your `settings.json` file.
985
1001
  ]
986
1002
  },
987
1003
  "flash-lite": {
988
- "default": "gemini-2.5-flash-lite"
1004
+ "default": "gemini-2.5-flash-lite",
1005
+ "contexts": [
1006
+ {
1007
+ "condition": {
1008
+ "useGemini3_1FlashLite": true
1009
+ },
1010
+ "target": "gemini-3.1-flash-lite-preview"
1011
+ }
1012
+ ]
989
1013
  }
990
1014
  }
991
1015
  ```
@@ -1576,7 +1600,7 @@ their corresponding top-level category object in your `settings.json` file.
1576
1600
 
1577
1601
  - **`experimental.jitContext`** (boolean):
1578
1602
  - **Description:** Enable Just-In-Time (JIT) context loading.
1579
- - **Default:** `true`
1603
+ - **Default:** `false`
1580
1604
  - **Requires restart:** Yes
1581
1605
 
1582
1606
  - **`experimental.useOSC52Paste`** (boolean):
package/bundle/gemini.js CHANGED
@@ -67,7 +67,7 @@ import {
67
67
  updateAllUpdatableExtensions,
68
68
  updateExtension,
69
69
  validateAuthMethod
70
- } from "./chunk-4P6XQ35T.js";
70
+ } from "./chunk-FWCJAF6L.js";
71
71
  import {
72
72
  AuthType,
73
73
  ChatRecordingService,
@@ -153,7 +153,7 @@ import {
153
153
  uiTelemetryService,
154
154
  writeToStderr,
155
155
  writeToStdout
156
- } from "./chunk-U2JBMR75.js";
156
+ } from "./chunk-X6CSYCBW.js";
157
157
  import {
158
158
  ASK_USER_TOOL_NAME,
159
159
  ApprovalMode,
@@ -198,7 +198,7 @@ import {
198
198
  resolveModel,
199
199
  resolveToRealPath,
200
200
  setGeminiMdFilename
201
- } from "./chunk-HLML5SVJ.js";
201
+ } from "./chunk-S2IQOR7T.js";
202
202
  import "./chunk-664ZODQF.js";
203
203
  import "./chunk-RJTRUG2J.js";
204
204
  import "./chunk-IUUIT4SU.js";
@@ -7245,7 +7245,7 @@ async function loadSandboxConfig(settings, argv) {
7245
7245
  }
7246
7246
  const command2 = getSandboxCommand(sandboxValue);
7247
7247
  const packageJson = await getPackageJson(__dirname3);
7248
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.36.0-preview.6" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7248
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.36.0-preview.8" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7249
7249
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7250
7250
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7251
7251
  }
@@ -9521,7 +9521,7 @@ async function runNonInteractive({
9521
9521
  }
9522
9522
  });
9523
9523
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
9524
- const { setupInitialActivityLogger } = await import("./devtoolsService-MQCND52T.js");
9524
+ const { setupInitialActivityLogger } = await import("./devtoolsService-NA7MR5UO.js");
9525
9525
  await setupInitialActivityLogger(config);
9526
9526
  }
9527
9527
  const { stdout: workingStdout } = createWorkingStdio();
@@ -13974,7 +13974,7 @@ ${reason.stack}` : ""}`;
13974
13974
  });
13975
13975
  }
13976
13976
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
13977
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-HNW3RGAN.js");
13977
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-R5N55BDV.js");
13978
13978
  await doStartUI(
13979
13979
  config,
13980
13980
  settings,
@@ -14170,7 +14170,7 @@ ${finalArgs[promptIndex + 1]}`;
14170
14170
  await config.storage.initialize();
14171
14171
  adminControlsListner.setConfig(config);
14172
14172
  if (config.isInteractive() && settings.merged.general.devtools) {
14173
- const { setupInitialActivityLogger } = await import("./devtoolsService-MQCND52T.js");
14173
+ const { setupInitialActivityLogger } = await import("./devtoolsService-NA7MR5UO.js");
14174
14174
  await setupInitialActivityLogger(config);
14175
14175
  }
14176
14176
  registerTelemetryConfig(config);