@google/gemini-cli 0.44.0 → 0.45.0-preview.0

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 (54) hide show
  1. package/bundle/{chunk-BOYNQXWU.js → chunk-2O7YSVPU.js} +2 -2
  2. package/bundle/{chunk-CBT4PN4R.js → chunk-2RRZM3IR.js} +8 -8
  3. package/bundle/{chunk-BE42OOYM.js → chunk-4FNXKOEB.js} +377 -297
  4. package/bundle/{chunk-FOOWNGAB.js → chunk-4M3TG6ZU.js} +1 -1
  5. package/bundle/{chunk-XTG4JBIR.js → chunk-APSDEHHA.js} +1 -1
  6. package/bundle/{chunk-SIXPHUVZ.js → chunk-CWAXEILN.js} +423 -330
  7. package/bundle/{chunk-LM6XTSWQ.js → chunk-DMCSPKNM.js} +56 -2
  8. package/bundle/{chunk-M3EDSAPV.js → chunk-EZCW6IDX.js} +1 -1
  9. package/bundle/{chunk-3K52543M.js → chunk-GIXFMPPJ.js} +56 -2
  10. package/bundle/{chunk-TN4WXWFM.js → chunk-I7UI7NB6.js} +3 -3
  11. package/bundle/{chunk-OTLI6LZ3.js → chunk-IPQLMJS5.js} +1 -1
  12. package/bundle/{chunk-VUERI7WB.js → chunk-J4QUIOHJ.js} +8 -8
  13. package/bundle/{chunk-TW47A6FW.js → chunk-J7SEBVDD.js} +423 -330
  14. package/bundle/{chunk-QUZ62PY7.js → chunk-LUQGJPIY.js} +2 -2
  15. package/bundle/{chunk-N4SGO3W6.js → chunk-N4X4WHSW.js} +2 -2
  16. package/bundle/{chunk-EKUU3KNX.js → chunk-NOJPXYUJ.js} +1 -1
  17. package/bundle/{chunk-DALZZYPQ.js → chunk-OY6QYVTR.js} +1 -1
  18. package/bundle/{chunk-6W2Z7FTE.js → chunk-Q3UZDZZV.js} +3 -3
  19. package/bundle/{chunk-5CABHQOE.js → chunk-R5OZKB4U.js} +1 -1
  20. package/bundle/{chunk-7KIX5G5D.js → chunk-S4CJ6KAO.js} +3 -3
  21. package/bundle/{chunk-OLBOCZ5F.js → chunk-TH3OOWK4.js} +8 -8
  22. package/bundle/{chunk-7ZH745HC.js → chunk-VS2OY6HJ.js} +56 -2
  23. package/bundle/{chunk-G2L4VCSN.js → chunk-WPCNMQ6J.js} +1 -1
  24. package/bundle/{chunk-ONQVFEHS.js → chunk-Y5REX36P.js} +1 -1
  25. package/bundle/{cleanup-PDT5ATZB.js → cleanup-2WCUS5XU.js} +2 -2
  26. package/bundle/{cleanup-SF7XW2P3.js → cleanup-7FHLTEXT.js} +2 -2
  27. package/bundle/{cleanup-UW3DZLXP.js → cleanup-WGOZFAQJ.js} +2 -2
  28. package/bundle/{core-LN2S4IOX.js → core-LD6MHGD6.js} +3 -7
  29. package/bundle/{dist-J4RONYVV.js → core-SIRU2VWJ.js} +3 -7
  30. package/bundle/{devtoolsService-DUEWJW52.js → devtoolsService-4Y2RGEUE.js} +2 -2
  31. package/bundle/{devtoolsService-ZC7E4R2A.js → devtoolsService-F5XFL4BF.js} +2 -2
  32. package/bundle/{devtoolsService-64QE2V7E.js → devtoolsService-IANYOK3R.js} +2 -2
  33. package/bundle/{core-GW6VAL53.js → dist-67ZORME5.js} +3 -7
  34. package/bundle/docs/changelogs/index.md +15 -0
  35. package/bundle/docs/changelogs/latest.md +198 -262
  36. package/bundle/docs/changelogs/preview.md +202 -181
  37. package/bundle/docs/reference/configuration.md +24 -29
  38. package/bundle/{gemini-SSQIKHR2.js → gemini-24ENZ343.js} +41 -30
  39. package/bundle/{gemini-CMBH5YG6.js → gemini-5ZI322FJ.js} +41 -30
  40. package/bundle/{gemini-CSPRLMWN.js → gemini-74UML3PJ.js} +41 -30
  41. package/bundle/gemini.js +15 -10
  42. package/bundle/{interactiveCli-RDMZS6KL.js → interactiveCli-7GM3U7SA.js} +34 -58
  43. package/bundle/{interactiveCli-TOEU7LIO.js → interactiveCli-BVZLMTVC.js} +34 -58
  44. package/bundle/{interactiveCli-Q2A2JFLA.js → interactiveCli-XM5HDVD7.js} +34 -58
  45. package/bundle/{liteRtServerManager-ASKAVAO7.js → liteRtServerManager-3HS3VUPU.js} +4 -4
  46. package/bundle/{liteRtServerManager-6BWTXMUI.js → liteRtServerManager-6N5DYDEQ.js} +4 -4
  47. package/bundle/{liteRtServerManager-ZS3BCW53.js → liteRtServerManager-JVMDH3TN.js} +4 -4
  48. package/bundle/{oauth2-provider-SYRZDGL5.js → oauth2-provider-RUFABDNL.js} +1 -1
  49. package/bundle/{oauth2-provider-FGI6QDEM.js → oauth2-provider-U72EWZHQ.js} +1 -1
  50. package/bundle/{oauth2-provider-7JOVY727.js → oauth2-provider-WS7LUQ5V.js} +1 -1
  51. package/bundle/{start-KJCIH3GX.js → start-DJ6EBFEA.js} +6 -6
  52. package/bundle/{start-TU5WNP77.js → start-KOAGXRA2.js} +6 -6
  53. package/bundle/{start-47OYCVVA.js → start-XLIGOOW3.js} +6 -6
  54. package/package.json +1 -1
@@ -41,18 +41,18 @@ import {
41
41
  updateAllUpdatableExtensions,
42
42
  updateExtension,
43
43
  validateAuthMethod
44
- } from "./chunk-VUERI7WB.js";
44
+ } from "./chunk-J4QUIOHJ.js";
45
45
  import {
46
46
  appEvents
47
47
  } from "./chunk-5PS3AYFU.js";
48
48
  import {
49
49
  startCommand,
50
50
  startServer
51
- } from "./chunk-6W2Z7FTE.js";
51
+ } from "./chunk-S4CJ6KAO.js";
52
52
  import {
53
53
  exitCli,
54
54
  require_source
55
- } from "./chunk-FOOWNGAB.js";
55
+ } from "./chunk-EZCW6IDX.js";
56
56
  import {
57
57
  DEFAULT_PORT,
58
58
  GEMMA_MODEL_NAME,
@@ -86,11 +86,11 @@ import {
86
86
  readServerProcessInfo,
87
87
  resolveGemmaConfig,
88
88
  saveModelChange
89
- } from "./chunk-LM6XTSWQ.js";
89
+ } from "./chunk-DMCSPKNM.js";
90
90
  import {
91
91
  RELAUNCH_EXIT_CODE
92
- } from "./chunk-N4SGO3W6.js";
93
- import "./chunk-EKUU3KNX.js";
92
+ } from "./chunk-2O7YSVPU.js";
93
+ import "./chunk-NOJPXYUJ.js";
94
94
  import {
95
95
  cleanupCheckpoints,
96
96
  registerCleanup,
@@ -99,7 +99,7 @@ import {
99
99
  runExitCleanup,
100
100
  runSyncCleanup,
101
101
  setupSignalHandlers
102
- } from "./chunk-DALZZYPQ.js";
102
+ } from "./chunk-R5OZKB4U.js";
103
103
  import {
104
104
  ASK_USER_TOOL_NAME,
105
105
  ApprovalMode,
@@ -143,8 +143,8 @@ import {
143
143
  MessageBusType,
144
144
  OutputFormat,
145
145
  PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL,
146
- PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
147
146
  PREVIEW_GEMINI_3_1_MODEL,
147
+ PREVIEW_GEMINI_FLASH_LITE_MODEL,
148
148
  PREVIEW_GEMINI_FLASH_MODEL,
149
149
  PREVIEW_GEMINI_MODEL,
150
150
  PolicyDecision,
@@ -247,7 +247,7 @@ import {
247
247
  updatePolicy,
248
248
  writeToStderr,
249
249
  writeToStdout
250
- } from "./chunk-BE42OOYM.js";
250
+ } from "./chunk-4FNXKOEB.js";
251
251
  import "./chunk-6HI7VNOG.js";
252
252
  import "./chunk-TUDYL3X4.js";
253
253
  import "./chunk-IUUIT4SU.js";
@@ -5433,12 +5433,12 @@ async function testMCPConnection(serverName, config, isTrusted, activeSettings)
5433
5433
  return MCPServerStatus.DISCONNECTED;
5434
5434
  }
5435
5435
  }
5436
- async function getServerStatus(serverName, server, isTrusted, activeSettings) {
5436
+ async function getServerStatus(serverName, server, isTrusted, activeSettings, consolidatedExcluded, consolidatedAllowed) {
5437
5437
  const mcpEnablementManager = McpServerEnablementManager.getInstance();
5438
5438
  const loadResult = await canLoadServer(serverName, {
5439
5439
  adminMcpEnabled: activeSettings.admin?.mcp?.enabled ?? true,
5440
- allowedList: activeSettings.mcp?.allowed,
5441
- excludedList: activeSettings.mcp?.excluded,
5440
+ allowedList: consolidatedAllowed,
5441
+ excludedList: consolidatedExcluded.length > 0 ? consolidatedExcluded : void 0,
5442
5442
  enablement: mcpEnablementManager.getEnablementCallbacks()
5443
5443
  });
5444
5444
  if (!loadResult.allowed) {
@@ -5478,6 +5478,8 @@ async function listMcpServers(loadedSettingsArg) {
5478
5478
  )
5479
5479
  );
5480
5480
  }
5481
+ const consolidatedExcluded = loadedSettings.getConsolidatedExcludedMcpServers();
5482
+ const consolidatedAllowed = loadedSettings.getConsolidatedAllowedMcpServers();
5481
5483
  debugLogger.log("Configured MCP servers:\n");
5482
5484
  for (const serverName of serverNames) {
5483
5485
  const server = mcpServers[serverName];
@@ -5485,7 +5487,9 @@ async function listMcpServers(loadedSettingsArg) {
5485
5487
  serverName,
5486
5488
  server,
5487
5489
  loadedSettings.isTrusted,
5488
- activeSettings
5490
+ activeSettings,
5491
+ consolidatedExcluded,
5492
+ consolidatedAllowed
5489
5493
  );
5490
5494
  let statusIndicator = "";
5491
5495
  let statusText = "";
@@ -7837,7 +7841,7 @@ async function loadSandboxConfig(settings, argv) {
7837
7841
  }
7838
7842
  const command2 = getSandboxCommand(sandboxValue);
7839
7843
  const packageJson = await getPackageJson(__dirname3);
7840
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.44.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7844
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.45.0-preview.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7841
7845
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7842
7846
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7843
7847
  }
@@ -8252,7 +8256,12 @@ function isDebugMode(argv) {
8252
8256
  );
8253
8257
  }
8254
8258
  async function loadCliConfig(settings, sessionId, argv, options = {}) {
8255
- const { cwd = process3.cwd(), projectHooks, skipExtensions = false } = options;
8259
+ const {
8260
+ cwd = process3.cwd(),
8261
+ projectHooks,
8262
+ skipExtensions = false,
8263
+ loadedSettings
8264
+ } = options;
8256
8265
  const debugMode = isDebugMode(argv);
8257
8266
  const worktreeSettings = options.worktreeSettings ?? await resolveWorktreeSettings(cwd);
8258
8267
  if (argv.sandbox) {
@@ -8499,6 +8508,8 @@ async function loadCliConfig(settings, sessionId, argv, options = {}) {
8499
8508
  let profileSelector = void 0;
8500
8509
  if (settings.experimental?.stressTestProfile) {
8501
8510
  profileSelector = "stressTestProfile";
8511
+ } else if (settings.experimental?.powerUserProfile) {
8512
+ profileSelector = "powerUserProfile";
8502
8513
  } else if (settings.experimental?.generalistProfile || settings.experimental?.contextManagement) {
8503
8514
  profileSelector = "generalistProfile";
8504
8515
  }
@@ -8538,8 +8549,8 @@ async function loadCliConfig(settings, sessionId, argv, options = {}) {
8538
8549
  extensionsEnabled,
8539
8550
  agents: settings.agents,
8540
8551
  adminSkillsEnabled,
8541
- allowedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ?? settings.mcp?.allowed : void 0,
8542
- blockedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ? void 0 : settings.mcp?.excluded : void 0,
8552
+ allowedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ?? (loadedSettings ? loadedSettings.getConsolidatedAllowedMcpServers() : settings.mcp?.allowed) : void 0,
8553
+ blockedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ? void 0 : loadedSettings ? loadedSettings.getConsolidatedExcludedMcpServers() : settings.mcp?.excluded : void 0,
8543
8554
  blockedEnvironmentVariables: settings.security?.environmentVariableRedaction?.blocked,
8544
8555
  allowedEnvironmentVariables: settings.security?.environmentVariableRedaction?.allowed,
8545
8556
  enableEnvironmentVariableRedaction: settings.security?.environmentVariableRedaction?.enabled,
@@ -10238,7 +10249,7 @@ async function runNonInteractive({
10238
10249
  }
10239
10250
  });
10240
10251
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10241
- const { setupInitialActivityLogger } = await import("./devtoolsService-64QE2V7E.js");
10252
+ const { setupInitialActivityLogger } = await import("./devtoolsService-IANYOK3R.js");
10242
10253
  setupInitialActivityLogger(config);
10243
10254
  }
10244
10255
  const { stdout: workingStdout } = createWorkingStdio();
@@ -10709,7 +10720,7 @@ async function runNonInteractive2(params) {
10709
10720
  }
10710
10721
  });
10711
10722
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10712
- const { setupInitialActivityLogger } = await import("./devtoolsService-64QE2V7E.js");
10723
+ const { setupInitialActivityLogger } = await import("./devtoolsService-IANYOK3R.js");
10713
10724
  setupInitialActivityLogger(config);
10714
10725
  }
10715
10726
  const { stdout: workingStdout } = createWorkingStdio();
@@ -13653,13 +13664,11 @@ function buildAvailableModels(config, settings) {
13653
13664
  const preferredModel = config.getModel() || GEMINI_MODEL_ALIAS_AUTO;
13654
13665
  const shouldShowPreviewModels = config.getHasAccessToPreviewModel();
13655
13666
  const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
13656
- const useGemini31FlashLite = config.getGemini31FlashLiteLaunchedSync?.() ?? false;
13657
13667
  const selectedAuthType = settings.merged.security.auth.selectedType;
13658
13668
  const useCustomToolModel = useGemini31 && selectedAuthType === AuthType.USE_GEMINI;
13659
13669
  if (config.getExperimentalDynamicModelConfiguration?.() === true && config.getModelConfigService) {
13660
13670
  const options = config.getModelConfigService().getAvailableModelOptions({
13661
13671
  useGemini3_1: useGemini31,
13662
- useGemini3_1FlashLite: useGemini31FlashLite,
13663
13672
  useCustomTools: useCustomToolModel,
13664
13673
  hasAccessToPreview: shouldShowPreviewModels
13665
13674
  });
@@ -13705,10 +13714,10 @@ function buildAvailableModels(config, settings) {
13705
13714
  title: getDisplayString(PREVIEW_GEMINI_FLASH_MODEL)
13706
13715
  }
13707
13716
  ];
13708
- if (useGemini31FlashLite) {
13717
+ if (PREVIEW_GEMINI_FLASH_LITE_MODEL !== "none") {
13709
13718
  previewOptions.push({
13710
- value: PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
13711
- title: getDisplayString(PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL)
13719
+ value: PREVIEW_GEMINI_FLASH_LITE_MODEL,
13720
+ title: getDisplayString(PREVIEW_GEMINI_FLASH_LITE_MODEL)
13712
13721
  });
13713
13722
  }
13714
13723
  manualOptions.unshift(...previewOptions);
@@ -15439,7 +15448,7 @@ async function relaunchOnExitCode(runner) {
15439
15448
  while (true) {
15440
15449
  try {
15441
15450
  const exitCode = await runner();
15442
- if (exitCode !== RELAUNCH_EXIT_CODE) {
15451
+ if (process.platform === "android" || exitCode !== RELAUNCH_EXIT_CODE) {
15443
15452
  process.exit(exitCode);
15444
15453
  }
15445
15454
  } catch (error) {
@@ -15899,7 +15908,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
15899
15908
  }
15900
15909
  }
15901
15910
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
15902
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-RDMZS6KL.js");
15911
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-7GM3U7SA.js");
15903
15912
  await doStartUI(
15904
15913
  config,
15905
15914
  settings,
@@ -16013,7 +16022,8 @@ async function main() {
16013
16022
  }
16014
16023
  const partialConfig = await loadCliConfig(settings.merged, sessionId, argv, {
16015
16024
  projectHooks: settings.workspace.settings.hooks,
16016
- skipExtensions: true
16025
+ skipExtensions: true,
16026
+ loadedSettings: settings
16017
16027
  });
16018
16028
  adminControlsListner.setConfig(partialConfig);
16019
16029
  let initialAuthFailed = false;
@@ -16100,13 +16110,14 @@ ${finalArgs[promptIndex + 1]}`;
16100
16110
  const loadConfigHandle = startupProfiler.start("load_cli_config");
16101
16111
  config = await loadCliConfig(settings.merged, sessionId, argv, {
16102
16112
  projectHooks: settings.workspace.settings.hooks,
16103
- worktreeSettings: worktreeInfo
16113
+ worktreeSettings: worktreeInfo,
16114
+ loadedSettings: settings
16104
16115
  });
16105
16116
  loadConfigHandle?.end();
16106
16117
  await config.storage.initialize();
16107
16118
  adminControlsListner.setConfig(config);
16108
16119
  if (config.isInteractive() && settings.merged.general.devtools) {
16109
- const { setupInitialActivityLogger } = await import("./devtoolsService-64QE2V7E.js");
16120
+ const { setupInitialActivityLogger } = await import("./devtoolsService-IANYOK3R.js");
16110
16121
  setupInitialActivityLogger(config);
16111
16122
  }
16112
16123
  registerTelemetryConfig(config);
@@ -16165,7 +16176,7 @@ ${finalArgs[promptIndex + 1]}`;
16165
16176
  const initAppHandle = startupProfiler.start("initialize_app");
16166
16177
  const initializationResult = await initializeApp(config, settings);
16167
16178
  initAppHandle?.end();
16168
- import("./liteRtServerManager-6BWTXMUI.js").then(({ LiteRtServerManager }) => {
16179
+ import("./liteRtServerManager-JVMDH3TN.js").then(({ LiteRtServerManager }) => {
16169
16180
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16170
16181
  if (!mergedGemma) return;
16171
16182
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;
@@ -41,18 +41,18 @@ import {
41
41
  updateAllUpdatableExtensions,
42
42
  updateExtension,
43
43
  validateAuthMethod
44
- } from "./chunk-OLBOCZ5F.js";
44
+ } from "./chunk-2RRZM3IR.js";
45
45
  import {
46
46
  appEvents
47
47
  } from "./chunk-5PS3AYFU.js";
48
48
  import {
49
49
  startCommand,
50
50
  startServer
51
- } from "./chunk-7KIX5G5D.js";
51
+ } from "./chunk-Q3UZDZZV.js";
52
52
  import {
53
53
  exitCli,
54
54
  require_source
55
- } from "./chunk-M3EDSAPV.js";
55
+ } from "./chunk-4M3TG6ZU.js";
56
56
  import {
57
57
  DEFAULT_PORT,
58
58
  GEMMA_MODEL_NAME,
@@ -86,11 +86,11 @@ import {
86
86
  readServerProcessInfo,
87
87
  resolveGemmaConfig,
88
88
  saveModelChange
89
- } from "./chunk-7ZH745HC.js";
89
+ } from "./chunk-GIXFMPPJ.js";
90
90
  import {
91
91
  RELAUNCH_EXIT_CODE
92
- } from "./chunk-BOYNQXWU.js";
93
- import "./chunk-G2L4VCSN.js";
92
+ } from "./chunk-LUQGJPIY.js";
93
+ import "./chunk-WPCNMQ6J.js";
94
94
  import {
95
95
  cleanupCheckpoints,
96
96
  registerCleanup,
@@ -99,7 +99,7 @@ import {
99
99
  runExitCleanup,
100
100
  runSyncCleanup,
101
101
  setupSignalHandlers
102
- } from "./chunk-5CABHQOE.js";
102
+ } from "./chunk-OY6QYVTR.js";
103
103
  import {
104
104
  ASK_USER_TOOL_NAME,
105
105
  AuthType,
@@ -133,8 +133,8 @@ import {
133
133
  Logger,
134
134
  MCPServerConfig,
135
135
  PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL,
136
- PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
137
136
  PREVIEW_GEMINI_3_1_MODEL,
137
+ PREVIEW_GEMINI_FLASH_LITE_MODEL,
138
138
  PREVIEW_GEMINI_FLASH_MODEL,
139
139
  PREVIEW_GEMINI_MODEL,
140
140
  PolicyIntegrityManager,
@@ -231,7 +231,7 @@ import {
231
231
  updatePolicy,
232
232
  writeToStderr,
233
233
  writeToStdout
234
- } from "./chunk-TW47A6FW.js";
234
+ } from "./chunk-CWAXEILN.js";
235
235
  import "./chunk-6HI7VNOG.js";
236
236
  import "./chunk-TUDYL3X4.js";
237
237
  import "./chunk-IUUIT4SU.js";
@@ -5417,12 +5417,12 @@ async function testMCPConnection(serverName, config, isTrusted, activeSettings)
5417
5417
  return "disconnected" /* DISCONNECTED */;
5418
5418
  }
5419
5419
  }
5420
- async function getServerStatus(serverName, server, isTrusted, activeSettings) {
5420
+ async function getServerStatus(serverName, server, isTrusted, activeSettings, consolidatedExcluded, consolidatedAllowed) {
5421
5421
  const mcpEnablementManager = McpServerEnablementManager.getInstance();
5422
5422
  const loadResult = await canLoadServer(serverName, {
5423
5423
  adminMcpEnabled: activeSettings.admin?.mcp?.enabled ?? true,
5424
- allowedList: activeSettings.mcp?.allowed,
5425
- excludedList: activeSettings.mcp?.excluded,
5424
+ allowedList: consolidatedAllowed,
5425
+ excludedList: consolidatedExcluded.length > 0 ? consolidatedExcluded : void 0,
5426
5426
  enablement: mcpEnablementManager.getEnablementCallbacks()
5427
5427
  });
5428
5428
  if (!loadResult.allowed) {
@@ -5462,6 +5462,8 @@ async function listMcpServers(loadedSettingsArg) {
5462
5462
  )
5463
5463
  );
5464
5464
  }
5465
+ const consolidatedExcluded = loadedSettings.getConsolidatedExcludedMcpServers();
5466
+ const consolidatedAllowed = loadedSettings.getConsolidatedAllowedMcpServers();
5465
5467
  debugLogger.log("Configured MCP servers:\n");
5466
5468
  for (const serverName of serverNames) {
5467
5469
  const server = mcpServers[serverName];
@@ -5469,7 +5471,9 @@ async function listMcpServers(loadedSettingsArg) {
5469
5471
  serverName,
5470
5472
  server,
5471
5473
  loadedSettings.isTrusted,
5472
- activeSettings
5474
+ activeSettings,
5475
+ consolidatedExcluded,
5476
+ consolidatedAllowed
5473
5477
  );
5474
5478
  let statusIndicator = "";
5475
5479
  let statusText = "";
@@ -7821,7 +7825,7 @@ async function loadSandboxConfig(settings, argv) {
7821
7825
  }
7822
7826
  const command2 = getSandboxCommand(sandboxValue);
7823
7827
  const packageJson = await getPackageJson(__dirname3);
7824
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.44.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7828
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.45.0-nightly.20260521.g854f811be" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7825
7829
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7826
7830
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7827
7831
  }
@@ -8236,7 +8240,12 @@ function isDebugMode(argv) {
8236
8240
  );
8237
8241
  }
8238
8242
  async function loadCliConfig(settings, sessionId, argv, options = {}) {
8239
- const { cwd = process3.cwd(), projectHooks, skipExtensions = false } = options;
8243
+ const {
8244
+ cwd = process3.cwd(),
8245
+ projectHooks,
8246
+ skipExtensions = false,
8247
+ loadedSettings
8248
+ } = options;
8240
8249
  const debugMode = isDebugMode(argv);
8241
8250
  const worktreeSettings = options.worktreeSettings ?? await resolveWorktreeSettings(cwd);
8242
8251
  if (argv.sandbox) {
@@ -8483,6 +8492,8 @@ async function loadCliConfig(settings, sessionId, argv, options = {}) {
8483
8492
  let profileSelector = void 0;
8484
8493
  if (settings.experimental?.stressTestProfile) {
8485
8494
  profileSelector = "stressTestProfile";
8495
+ } else if (settings.experimental?.powerUserProfile) {
8496
+ profileSelector = "powerUserProfile";
8486
8497
  } else if (settings.experimental?.generalistProfile || settings.experimental?.contextManagement) {
8487
8498
  profileSelector = "generalistProfile";
8488
8499
  }
@@ -8522,8 +8533,8 @@ async function loadCliConfig(settings, sessionId, argv, options = {}) {
8522
8533
  extensionsEnabled,
8523
8534
  agents: settings.agents,
8524
8535
  adminSkillsEnabled,
8525
- allowedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ?? settings.mcp?.allowed : void 0,
8526
- blockedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ? void 0 : settings.mcp?.excluded : void 0,
8536
+ allowedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ?? (loadedSettings ? loadedSettings.getConsolidatedAllowedMcpServers() : settings.mcp?.allowed) : void 0,
8537
+ blockedMcpServers: mcpEnabled ? argv.allowedMcpServerNames ? void 0 : loadedSettings ? loadedSettings.getConsolidatedExcludedMcpServers() : settings.mcp?.excluded : void 0,
8527
8538
  blockedEnvironmentVariables: settings.security?.environmentVariableRedaction?.blocked,
8528
8539
  allowedEnvironmentVariables: settings.security?.environmentVariableRedaction?.allowed,
8529
8540
  enableEnvironmentVariableRedaction: settings.security?.environmentVariableRedaction?.enabled,
@@ -10222,7 +10233,7 @@ async function runNonInteractive({
10222
10233
  }
10223
10234
  });
10224
10235
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10225
- const { setupInitialActivityLogger } = await import("./devtoolsService-ZC7E4R2A.js");
10236
+ const { setupInitialActivityLogger } = await import("./devtoolsService-4Y2RGEUE.js");
10226
10237
  setupInitialActivityLogger(config);
10227
10238
  }
10228
10239
  const { stdout: workingStdout } = createWorkingStdio();
@@ -10693,7 +10704,7 @@ async function runNonInteractive2(params) {
10693
10704
  }
10694
10705
  });
10695
10706
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
10696
- const { setupInitialActivityLogger } = await import("./devtoolsService-ZC7E4R2A.js");
10707
+ const { setupInitialActivityLogger } = await import("./devtoolsService-4Y2RGEUE.js");
10697
10708
  setupInitialActivityLogger(config);
10698
10709
  }
10699
10710
  const { stdout: workingStdout } = createWorkingStdio();
@@ -13637,13 +13648,11 @@ function buildAvailableModels(config, settings) {
13637
13648
  const preferredModel = config.getModel() || GEMINI_MODEL_ALIAS_AUTO;
13638
13649
  const shouldShowPreviewModels = config.getHasAccessToPreviewModel();
13639
13650
  const useGemini31 = config.getGemini31LaunchedSync?.() ?? false;
13640
- const useGemini31FlashLite = config.getGemini31FlashLiteLaunchedSync?.() ?? false;
13641
13651
  const selectedAuthType = settings.merged.security.auth.selectedType;
13642
13652
  const useCustomToolModel = useGemini31 && selectedAuthType === "gemini-api-key" /* USE_GEMINI */;
13643
13653
  if (config.getExperimentalDynamicModelConfiguration?.() === true && config.getModelConfigService) {
13644
13654
  const options = config.getModelConfigService().getAvailableModelOptions({
13645
13655
  useGemini3_1: useGemini31,
13646
- useGemini3_1FlashLite: useGemini31FlashLite,
13647
13656
  useCustomTools: useCustomToolModel,
13648
13657
  hasAccessToPreview: shouldShowPreviewModels
13649
13658
  });
@@ -13689,10 +13698,10 @@ function buildAvailableModels(config, settings) {
13689
13698
  title: getDisplayString(PREVIEW_GEMINI_FLASH_MODEL)
13690
13699
  }
13691
13700
  ];
13692
- if (useGemini31FlashLite) {
13701
+ if (PREVIEW_GEMINI_FLASH_LITE_MODEL !== "none") {
13693
13702
  previewOptions.push({
13694
- value: PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL,
13695
- title: getDisplayString(PREVIEW_GEMINI_3_1_FLASH_LITE_MODEL)
13703
+ value: PREVIEW_GEMINI_FLASH_LITE_MODEL,
13704
+ title: getDisplayString(PREVIEW_GEMINI_FLASH_LITE_MODEL)
13696
13705
  });
13697
13706
  }
13698
13707
  manualOptions.unshift(...previewOptions);
@@ -15423,7 +15432,7 @@ async function relaunchOnExitCode(runner) {
15423
15432
  while (true) {
15424
15433
  try {
15425
15434
  const exitCode = await runner();
15426
- if (exitCode !== RELAUNCH_EXIT_CODE) {
15435
+ if (process.platform === "android" || exitCode !== RELAUNCH_EXIT_CODE) {
15427
15436
  process.exit(exitCode);
15428
15437
  }
15429
15438
  } catch (error) {
@@ -15883,7 +15892,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
15883
15892
  }
15884
15893
  }
15885
15894
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
15886
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-Q2A2JFLA.js");
15895
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-XM5HDVD7.js");
15887
15896
  await doStartUI(
15888
15897
  config,
15889
15898
  settings,
@@ -15997,7 +16006,8 @@ async function main() {
15997
16006
  }
15998
16007
  const partialConfig = await loadCliConfig(settings.merged, sessionId, argv, {
15999
16008
  projectHooks: settings.workspace.settings.hooks,
16000
- skipExtensions: true
16009
+ skipExtensions: true,
16010
+ loadedSettings: settings
16001
16011
  });
16002
16012
  adminControlsListner.setConfig(partialConfig);
16003
16013
  let initialAuthFailed = false;
@@ -16084,13 +16094,14 @@ ${finalArgs[promptIndex + 1]}`;
16084
16094
  const loadConfigHandle = startupProfiler.start("load_cli_config");
16085
16095
  config = await loadCliConfig(settings.merged, sessionId, argv, {
16086
16096
  projectHooks: settings.workspace.settings.hooks,
16087
- worktreeSettings: worktreeInfo
16097
+ worktreeSettings: worktreeInfo,
16098
+ loadedSettings: settings
16088
16099
  });
16089
16100
  loadConfigHandle?.end();
16090
16101
  await config.storage.initialize();
16091
16102
  adminControlsListner.setConfig(config);
16092
16103
  if (config.isInteractive() && settings.merged.general.devtools) {
16093
- const { setupInitialActivityLogger } = await import("./devtoolsService-ZC7E4R2A.js");
16104
+ const { setupInitialActivityLogger } = await import("./devtoolsService-4Y2RGEUE.js");
16094
16105
  setupInitialActivityLogger(config);
16095
16106
  }
16096
16107
  registerTelemetryConfig(config);
@@ -16149,7 +16160,7 @@ ${finalArgs[promptIndex + 1]}`;
16149
16160
  const initAppHandle = startupProfiler.start("initialize_app");
16150
16161
  const initializationResult = await initializeApp(config, settings);
16151
16162
  initAppHandle?.end();
16152
- import("./liteRtServerManager-ZS3BCW53.js").then(({ LiteRtServerManager }) => {
16163
+ import("./liteRtServerManager-6N5DYDEQ.js").then(({ LiteRtServerManager }) => {
16153
16164
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
16154
16165
  if (!mergedGemma) return;
16155
16166
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;