@google/gemini-cli 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.
Files changed (67) hide show
  1. package/bundle/{chunk-YJFCJUWN.js → chunk-34PFYALD.js} +1 -1
  2. package/bundle/{chunk-3KWHN3A7.js → chunk-4D7PRDBS.js} +1 -1
  3. package/bundle/{chunk-ZJHBR7W3.js → chunk-4YQFFXRN.js} +1 -1
  4. package/bundle/{chunk-OZG5CLDY.js → chunk-7HAUMOMS.js} +7 -7
  5. package/bundle/{chunk-FIYKTSCR.js → chunk-BFB2YEJY.js} +1 -1
  6. package/bundle/{chunk-AIMNGITH.js → chunk-BHKACUMI.js} +3 -3
  7. package/bundle/{chunk-WFZMFTEE.js → chunk-EM2O5AOZ.js} +3 -3
  8. package/bundle/{chunk-HGJ3LRCZ.js → chunk-EUZJSBKR.js} +1 -1
  9. package/bundle/{chunk-DO6WSZ5A.js → chunk-FSZD7V6N.js} +2 -2
  10. package/bundle/{chunk-DOJZLPDE.js → chunk-GOOJJ7ZQ.js} +1 -1
  11. package/bundle/{chunk-LDL5PSV7.js → chunk-H6SLDOAI.js} +2 -2
  12. package/bundle/{chunk-ACTC6X24.js → chunk-HDPU5WOJ.js} +291 -134
  13. package/bundle/{chunk-4WJNJ3DK.js → chunk-JKUZ4FYJ.js} +1 -1
  14. package/bundle/{chunk-ZOKIJ2CA.js → chunk-KXVODVLE.js} +67 -54
  15. package/bundle/{chunk-HQQJ2XNS.js → chunk-LZGP7KFI.js} +17 -2
  16. package/bundle/{chunk-UUSSUQWL.js → chunk-MNBKYFEY.js} +9 -8
  17. package/bundle/{chunk-XL4BRDNV.js → chunk-MXQQJJNZ.js} +7 -7
  18. package/bundle/{chunk-OANXWSAG.js → chunk-NQXTLK5U.js} +8027 -14705
  19. package/bundle/chunk-NXDIRTLT.js +512 -0
  20. package/bundle/{chunk-GLGFO33Y.js → chunk-O4KOWLVM.js} +17 -2
  21. package/bundle/chunk-OO7JC2QX.js +399635 -0
  22. package/bundle/{chunk-UCLFGIUA.js → chunk-OTWH6H2T.js} +2 -2
  23. package/bundle/{chunk-BCGPZKAR.js → chunk-PBNOO4UX.js} +1 -1
  24. package/bundle/{chunk-6HVPDYWM.js → chunk-SABJGE2G.js} +3 -3
  25. package/bundle/chunk-TFQNPQHU.js +154 -0
  26. package/bundle/{chunk-KUWKDEHW.js → chunk-UEKG6P2N.js} +24 -6
  27. package/bundle/chunk-UST2ZL7P.js +1571 -0
  28. package/bundle/chunk-VSZD56FP.js +102678 -0
  29. package/bundle/{chunk-FH2AJT7C.js → chunk-X63OLHR4.js} +325 -136
  30. package/bundle/chunk-YD7YFB3H.js +398 -0
  31. package/bundle/chunk-ZAUQFML4.js +118 -0
  32. package/bundle/chunk-ZXK7SZMG.js +17368 -0
  33. package/bundle/{cleanup-AM5TUWBB.js → cleanup-DGDWVDXX.js} +2 -2
  34. package/bundle/{cleanup-FLPPBDLV.js → cleanup-ILJI4AEW.js} +2 -2
  35. package/bundle/{cleanup-KI735Y45.js → cleanup-QW4EQ3QR.js} +2 -2
  36. package/bundle/cleanup-R6YFTONK.js +32 -0
  37. package/bundle/{core-R7CF7CQD.js → core-HFCJBVEU.js} +17 -1
  38. package/bundle/{devtoolsService-MA34M6Q7.js → devtoolsService-KXJDH42U.js} +2 -2
  39. package/bundle/{devtoolsService-UUGXHVTK.js → devtoolsService-LWSF6JIT.js} +2 -2
  40. package/bundle/{devtoolsService-WOA7VJLA.js → devtoolsService-N3A5BSJN.js} +4 -3
  41. package/bundle/devtoolsService-N4LL6WGD.js +4359 -0
  42. package/bundle/{dist-VH7RJCTA.js → dist-2BSGBE32.js} +17 -1
  43. package/bundle/{core-F6IWXMFD.js → dist-6YQ35ICZ.js} +17 -1
  44. package/bundle/dist-C4IKSTQN.js +2232 -0
  45. package/bundle/docs/reference/configuration.md +88 -25
  46. package/bundle/{gemini-SRSLV7D2.js → gemini-5UNXMZT3.js} +219 -201
  47. package/bundle/gemini-ATQ3WGVL.js +17764 -0
  48. package/bundle/{gemini-NLU2EPRF.js → gemini-G7D5KPQ2.js} +18 -16
  49. package/bundle/{gemini-N24ID3HC.js → gemini-RWMUQAJ6.js} +18 -16
  50. package/bundle/gemini.js +7 -7
  51. package/bundle/{interactiveCli-SOMGNC7U.js → interactiveCli-EAB7PSHJ.js} +19 -14
  52. package/bundle/{interactiveCli-DDJZ4B26.js → interactiveCli-JYJNFC5D.js} +326 -302
  53. package/bundle/interactiveCli-KQPTYHND.js +35029 -0
  54. package/bundle/{interactiveCli-PNXXOFIE.js → interactiveCli-WC6IXMOE.js} +19 -14
  55. package/bundle/{liteRtServerManager-HDIBGLHN.js → liteRtServerManager-27LLIZ3H.js} +4 -4
  56. package/bundle/{liteRtServerManager-XEOODEAA.js → liteRtServerManager-HB6JSWYM.js} +4 -4
  57. package/bundle/{liteRtServerManager-GW22Q7F4.js → liteRtServerManager-NSPOA7KV.js} +4 -4
  58. package/bundle/liteRtServerManager-WXCFUD52.js +65 -0
  59. package/bundle/{oauth2-provider-ZC45IIOS.js → oauth2-provider-5CXK7KFQ.js} +1 -1
  60. package/bundle/{oauth2-provider-SADAKLZ2.js → oauth2-provider-FYIOQREN.js} +1 -1
  61. package/bundle/{oauth2-provider-347DWYC5.js → oauth2-provider-N7JBWITO.js} +38 -72
  62. package/bundle/oauth2-provider-Z7WSYKBF.js +235 -0
  63. package/bundle/{start-IVH46CBG.js → start-4CI64D6Q.js} +6 -6
  64. package/bundle/{start-PRP35I6V.js → start-MHS6EQUA.js} +6 -6
  65. package/bundle/{start-H7F3LFFN.js → start-OO24SR5D.js} +6 -6
  66. package/bundle/start-WRVCTB7Z.js +18 -0
  67. package/package.json +1 -1
@@ -5,7 +5,7 @@ import {
5
5
  isTelemetrySdkInitialized,
6
6
  resetBrowserSession,
7
7
  shutdownTelemetry
8
- } from "./chunk-OANXWSAG.js";
8
+ } from "./chunk-OO7JC2QX.js";
9
9
 
10
10
  // packages/cli/src/utils/cleanup.ts
11
11
  import { promises as fs } from "node:fs";
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  exitCli,
4
4
  require_source
5
- } from "./chunk-3KWHN3A7.js";
5
+ } from "./chunk-BFB2YEJY.js";
6
6
  import {
7
7
  AppEvent,
8
8
  appEvents
@@ -59,20 +59,22 @@ import {
59
59
  stripUnsafeCharacters,
60
60
  toCodePoints,
61
61
  validateCustomTheme
62
- } from "./chunk-KUWKDEHW.js";
62
+ } from "./chunk-UEKG6P2N.js";
63
63
  import {
64
64
  isDevelopment
65
- } from "./chunk-DO6WSZ5A.js";
65
+ } from "./chunk-FSZD7V6N.js";
66
66
  import {
67
67
  emptyIcon,
68
68
  require_react
69
- } from "./chunk-UUSSUQWL.js";
69
+ } from "./chunk-34PFYALD.js";
70
70
  import {
71
71
  ALL_EDITORS,
72
72
  ApprovalMode,
73
73
  AsyncFzf,
74
+ AuthType,
74
75
  Config,
75
76
  CoreEvent,
77
+ CoreToolCallStatus,
76
78
  DiscoveredMCPTool,
77
79
  ExtensionDisableEvent,
78
80
  ExtensionEnableEvent,
@@ -83,20 +85,31 @@ import {
83
85
  ExtensionUpdateEvent,
84
86
  GEMINI_CLI_COMPANION_EXTENSION_NAME,
85
87
  GEMINI_DIR,
88
+ HookType,
89
+ IDEConnectionStatus,
86
90
  INITIAL_HISTORY_LENGTH,
87
91
  IdeClient,
88
92
  IdeConnectionEvent,
93
+ IdeConnectionType,
94
+ IntegrityDataStatus,
89
95
  KeychainTokenStorage,
96
+ LlmRole,
97
+ MCPDiscoveryState,
90
98
  MCPOAuthTokenStorage,
99
+ MCPServerStatus,
91
100
  ModelSlashCommandEvent,
101
+ PolicyDecision,
92
102
  ProjectIdRequiredError,
93
103
  REFERENCE_CONTENT_END,
94
104
  REFERENCE_CONTENT_START,
95
105
  ReadManyFilesTool,
96
106
  RewindEvent,
107
+ SessionEndReason,
108
+ SessionStartSource,
97
109
  ShellExecutionService,
98
110
  StartSessionEvent,
99
111
  Storage,
112
+ TrustLevel,
100
113
  UPGRADE_URL_PAGE,
101
114
  UserAccountManager,
102
115
  ValidationRequiredError,
@@ -231,7 +244,7 @@ import {
231
244
  tokenLimit,
232
245
  uiTelemetryService,
233
246
  unescapePath
234
- } from "./chunk-OANXWSAG.js";
247
+ } from "./chunk-NQXTLK5U.js";
235
248
  import {
236
249
  require_src
237
250
  } from "./chunk-TUDYL3X4.js";
@@ -60077,7 +60090,7 @@ var import_react34 = __toESM(require_react(), 1);
60077
60090
  function useIdeTrustListener() {
60078
60091
  const settings = useSettings();
60079
60092
  const [connectionStatus, setConnectionStatus] = (0, import_react34.useState)(
60080
- "disconnected" /* Disconnected */
60093
+ IDEConnectionStatus.Disconnected
60081
60094
  );
60082
60095
  const previousTrust = (0, import_react34.useRef)(void 0);
60083
60096
  const [restartReason, setRestartReason] = (0, import_react34.useState)("NONE");
@@ -60107,7 +60120,7 @@ function useIdeTrustListener() {
60107
60120
  };
60108
60121
  }, []);
60109
60122
  const getSnapshot = () => {
60110
- if (connectionStatus !== "connected" /* Connected */) {
60123
+ if (connectionStatus !== IDEConnectionStatus.Connected) {
60111
60124
  return void 0;
60112
60125
  }
60113
60126
  return ideContextStore.get()?.workspaceState?.isTrusted;
@@ -60812,7 +60825,7 @@ async function initializeApp(config, settings) {
60812
60825
  await ideClient.connect();
60813
60826
  logIdeConnection(
60814
60827
  config,
60815
- new IdeConnectionEvent("start" /* START */)
60828
+ new IdeConnectionEvent(IdeConnectionType.START)
60816
60829
  );
60817
60830
  }).catch((e) => {
60818
60831
  debugLogger.error("Failed to initialize IDE client:", e);
@@ -60830,17 +60843,17 @@ async function initializeApp(config, settings) {
60830
60843
  // packages/cli/src/config/auth.ts
60831
60844
  async function validateAuthMethod(authMethod) {
60832
60845
  loadEnvironment(loadSettings().merged, process.cwd());
60833
- if (authMethod === "oauth-personal" /* LOGIN_WITH_GOOGLE */ || authMethod === "compute-default-credentials" /* COMPUTE_ADC */) {
60846
+ if (authMethod === AuthType.LOGIN_WITH_GOOGLE || authMethod === AuthType.COMPUTE_ADC) {
60834
60847
  return null;
60835
60848
  }
60836
- if (authMethod === "gemini-api-key" /* USE_GEMINI */) {
60849
+ if (authMethod === AuthType.USE_GEMINI) {
60837
60850
  const key = process.env["GEMINI_API_KEY"] || await loadApiKey();
60838
60851
  if (!key) {
60839
60852
  return "When using Gemini API, you must specify the GEMINI_API_KEY environment variable.\nUpdate your environment and try again (no reload needed if using .env)!";
60840
60853
  }
60841
60854
  return null;
60842
60855
  }
60843
- if (authMethod === "vertex-ai" /* USE_VERTEX_AI */) {
60856
+ if (authMethod === AuthType.USE_VERTEX_AI) {
60844
60857
  const hasVertexProjectLocationConfig = !!process.env["GOOGLE_CLOUD_PROJECT"] && !!process.env["GOOGLE_CLOUD_LOCATION"];
60845
60858
  const hasGoogleApiKey = !!process.env["GOOGLE_API_KEY"];
60846
60859
  if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) {
@@ -65366,7 +65379,7 @@ var ExtensionManager = class extends ExtensionLoader {
65366
65379
  const trustedFolders = loadTrustedFolders();
65367
65380
  await trustedFolders.setValue(
65368
65381
  this.workspaceDir,
65369
- "TRUST_FOLDER" /* TRUST_FOLDER */
65382
+ TrustLevel.TRUST_FOLDER
65370
65383
  );
65371
65384
  } else {
65372
65385
  throw new Error(
@@ -65552,7 +65565,7 @@ Would you like to attempt to install via "git clone" instead?`
65552
65565
  newExtensionConfig.version,
65553
65566
  previousExtensionConfig.version,
65554
65567
  installMetadata.type,
65555
- "success" /* Success */
65568
+ CoreToolCallStatus.Success
65556
65569
  )
65557
65570
  );
65558
65571
  if (newExtensionName !== previousName) {
@@ -65575,7 +65588,7 @@ Would you like to attempt to install via "git clone" instead?`
65575
65588
  getExtensionId(newExtensionConfig, installMetadata),
65576
65589
  newExtensionConfig.version,
65577
65590
  installMetadata.type,
65578
- "success" /* Success */
65591
+ CoreToolCallStatus.Success
65579
65592
  )
65580
65593
  );
65581
65594
  await this.enableExtension(
@@ -65608,7 +65621,7 @@ Would you like to attempt to install via "git clone" instead?`
65608
65621
  newExtensionConfig?.version ?? "",
65609
65622
  previousExtensionConfig.version,
65610
65623
  installMetadata.type,
65611
- "error" /* Error */
65624
+ CoreToolCallStatus.Error
65612
65625
  )
65613
65626
  );
65614
65627
  } else {
@@ -65620,7 +65633,7 @@ Would you like to attempt to install via "git clone" instead?`
65620
65633
  extensionId ?? "",
65621
65634
  newExtensionConfig?.version ?? "",
65622
65635
  installMetadata.type,
65623
- "error" /* Error */
65636
+ CoreToolCallStatus.Error
65624
65637
  )
65625
65638
  );
65626
65639
  }
@@ -65651,7 +65664,7 @@ Would you like to attempt to install via "git clone" instead?`
65651
65664
  extension.name,
65652
65665
  hashValue(extension.name),
65653
65666
  extension.id,
65654
- "success" /* Success */
65667
+ CoreToolCallStatus.Success
65655
65668
  )
65656
65669
  );
65657
65670
  }
@@ -65913,7 +65926,7 @@ Would you like to attempt to install via "git clone" instead?`
65913
65926
  if (eventHooks) {
65914
65927
  for (const definition of eventHooks) {
65915
65928
  for (const hook of definition.hooks) {
65916
- if (hook.type === "command" /* Command */) {
65929
+ if (hook.type === HookType.Command) {
65917
65930
  hook.env = { ...hook.env, ...hookEnv };
65918
65931
  }
65919
65932
  }
@@ -67016,7 +67029,7 @@ async function readMcpResources(resourceParts, config, signal) {
67016
67029
  callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
67017
67030
  name: `resources/read (${resource.serverName})`,
67018
67031
  description: resource.uri,
67019
- status: "success" /* Success */,
67032
+ status: CoreToolCallStatus.Success,
67020
67033
  isClientInitiated: true,
67021
67034
  resultDisplay: `Successfully read resource ${resource.uri}`,
67022
67035
  confirmationDetails: void 0
@@ -67031,7 +67044,7 @@ async function readMcpResources(resourceParts, config, signal) {
67031
67044
  callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
67032
67045
  name: `resources/read (${resource.serverName})`,
67033
67046
  description: resource.uri,
67034
- status: "error" /* Error */,
67047
+ status: CoreToolCallStatus.Error,
67035
67048
  isClientInitiated: true,
67036
67049
  resultDisplay: `Error reading resource ${resource.uri}: ${getErrorMessage(error)}`,
67037
67050
  confirmationDetails: void 0
@@ -67056,7 +67069,7 @@ Content from @${result.uri}:
67056
67069
  }
67057
67070
  if (hasError) {
67058
67071
  const firstError = displays.find(
67059
- (d) => d.status === "error" /* Error */
67072
+ (d) => d.status === CoreToolCallStatus.Error
67060
67073
  );
67061
67074
  return {
67062
67075
  parts: [],
@@ -67097,7 +67110,7 @@ async function readLocalFiles(resolvedFiles, config, signal, userMessageTimestam
67097
67110
  callId: `client-read-${userMessageTimestamp}`,
67098
67111
  name: readManyFilesTool.displayName,
67099
67112
  description: invocation.getDescription(),
67100
- status: "success" /* Success */,
67113
+ status: CoreToolCallStatus.Success,
67101
67114
  isClientInitiated: true,
67102
67115
  resultDisplay: result.returnDisplay || `Successfully read: ${fileLabelsForDisplay.join(", ")}`,
67103
67116
  confirmationDetails: void 0
@@ -67144,7 +67157,7 @@ Content from @${displayPath}:
67144
67157
  callId: `client-read-${userMessageTimestamp}`,
67145
67158
  name: readManyFilesTool.displayName,
67146
67159
  description: invocation?.getDescription() ?? "Error attempting to execute tool to read files",
67147
- status: "error" /* Error */,
67160
+ status: CoreToolCallStatus.Error,
67148
67161
  isClientInitiated: true,
67149
67162
  resultDisplay: `Error reading files (${fileLabelsForDisplay.join(", ")}): ${getErrorMessage(error)}`,
67150
67163
  confirmationDetails: void 0
@@ -70411,7 +70424,7 @@ async function openFileInEditor(filePath, stdin, setRawMode, preferredEditorType
70411
70424
  if (wasRaw) {
70412
70425
  setRawMode?.(true);
70413
70426
  }
70414
- coreEvents.emit("external-editor-closed" /* ExternalEditorClosed */);
70427
+ coreEvents.emit(CoreEvent.ExternalEditorClosed);
70415
70428
  }
70416
70429
  }
70417
70430
 
@@ -73106,7 +73119,7 @@ async function updateExtension(extension, extensionManager, currentState, dispat
73106
73119
  extension.name,
73107
73120
  installMetadata
73108
73121
  );
73109
- if (status === "invalid" /* INVALID */) {
73122
+ if (status === IntegrityDataStatus.INVALID) {
73110
73123
  throw new Error("Extension integrity cannot be verified");
73111
73124
  }
73112
73125
  } catch (e) {
@@ -74527,11 +74540,11 @@ var ShellProcessor = class {
74527
74540
  },
74528
74541
  void 0
74529
74542
  );
74530
- if (decision === "deny" /* DENY */) {
74543
+ if (decision === PolicyDecision.DENY) {
74531
74544
  throw new Error(
74532
74545
  `${this.commandName} cannot be run. Blocked command: "${command}". Reason: Blocked by policy.`
74533
74546
  );
74534
- } else if (decision === "ask_user" /* ASK_USER */) {
74547
+ } else if (decision === PolicyDecision.ASK_USER) {
74535
74548
  commandsToConfirm.add(command);
74536
74549
  }
74537
74550
  }
@@ -75646,7 +75659,7 @@ var MultiFolderTrustDialog = ({
75646
75659
  if (choice === 1 /* YES_AND_REMEMBER */) {
75647
75660
  await trustedFolders.setValue(
75648
75661
  expandedPath,
75649
- "TRUST_FOLDER" /* TRUST_FOLDER */
75662
+ TrustLevel.TRUST_FOLDER
75650
75663
  );
75651
75664
  }
75652
75665
  workspaceContext.addDirectory(expandedPath);
@@ -77324,7 +77337,7 @@ var authCommand = {
77324
77337
  import process29 from "node:process";
77325
77338
 
77326
77339
  // packages/cli/src/generated/git-commit.ts
77327
- var GIT_COMMIT_INFO = "ae28844fb";
77340
+ var GIT_COMMIT_INFO = "0e6fa774e";
77328
77341
 
77329
77342
  // packages/cli/src/ui/utils/historyExportUtils.ts
77330
77343
  import * as fsPromises from "node:fs/promises";
@@ -77970,7 +77983,7 @@ var clearCommand = {
77970
77983
  const config = context.services.agentContext?.config;
77971
77984
  const hookSystem = config?.getHookSystem();
77972
77985
  if (hookSystem) {
77973
- await hookSystem.fireSessionEndEvent("clear" /* Clear */);
77986
+ await hookSystem.fireSessionEndEvent(SessionEndReason.Clear);
77974
77987
  }
77975
77988
  config?.injectionService.clear();
77976
77989
  let newSessionId;
@@ -77987,7 +78000,7 @@ var clearCommand = {
77987
78000
  }
77988
78001
  let result;
77989
78002
  if (hookSystem) {
77990
- result = await hookSystem.fireSessionStartEvent("clear" /* Clear */);
78003
+ result = await hookSystem.fireSessionStartEvent(SessionStartSource.Clear);
77991
78004
  }
77992
78005
  await new Promise((resolve9) => setImmediate(resolve9));
77993
78006
  if (config) {
@@ -80986,7 +80999,7 @@ var Footer = () => {
80986
80999
  case "auth": {
80987
81000
  if (!settings.merged.ui.showUserIdentity) break;
80988
81001
  if (!authType) break;
80989
- const displayStr = authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? email ?? "google" : authType;
81002
+ const displayStr = authType === AuthType.LOGIN_WITH_GOOGLE ? email ?? "google" : authType;
80990
81003
  addCol(
80991
81004
  id,
80992
81005
  header,
@@ -82754,12 +82767,12 @@ import path29 from "node:path";
82754
82767
  function getIdeStatusMessage(ideClient) {
82755
82768
  const connection = ideClient.getConnectionStatus();
82756
82769
  switch (connection.status) {
82757
- case "connected" /* Connected */:
82770
+ case IDEConnectionStatus.Connected:
82758
82771
  return {
82759
82772
  messageType: "info",
82760
82773
  content: `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`
82761
82774
  };
82762
- case "connecting" /* Connecting */:
82775
+ case IDEConnectionStatus.Connecting:
82763
82776
  return {
82764
82777
  messageType: "info",
82765
82778
  content: `\u{1F7E1} Connecting...`
@@ -82800,7 +82813,7 @@ ${infoMessage}`;
82800
82813
  async function getIdeStatusMessageWithFiles(ideClient) {
82801
82814
  const connection = ideClient.getConnectionStatus();
82802
82815
  switch (connection.status) {
82803
- case "connected" /* Connected */: {
82816
+ case IDEConnectionStatus.Connected: {
82804
82817
  let content = `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`;
82805
82818
  const context = ideContextStore.get();
82806
82819
  const openFiles = context?.workspaceState?.openFiles;
@@ -82812,7 +82825,7 @@ async function getIdeStatusMessageWithFiles(ideClient) {
82812
82825
  content
82813
82826
  };
82814
82827
  }
82815
- case "connecting" /* Connecting */:
82828
+ case IDEConnectionStatus.Connecting:
82816
82829
  return {
82817
82830
  messageType: "info",
82818
82831
  content: `\u{1F7E1} Connecting...`
@@ -82834,7 +82847,7 @@ async function setIdeModeAndSyncConnection(config, value, options = {}) {
82834
82847
  const ideClient = await IdeClient.getInstance();
82835
82848
  if (value) {
82836
82849
  await ideClient.connect(options);
82837
- logIdeConnection(config, new IdeConnectionEvent("session" /* SESSION */));
82850
+ logIdeConnection(config, new IdeConnectionEvent(IdeConnectionType.SESSION));
82838
82851
  } else {
82839
82852
  await ideClient.disconnect();
82840
82853
  }
@@ -82922,7 +82935,7 @@ var ideCommand = async () => {
82922
82935
  logToConsole: false
82923
82936
  }
82924
82937
  );
82925
- if (ideClient.getConnectionStatus().status === "connected" /* Connected */) {
82938
+ if (ideClient.getConnectionStatus().status === IDEConnectionStatus.Connected) {
82926
82939
  break;
82927
82940
  }
82928
82941
  await new Promise((resolve9) => setTimeout(resolve9, 500));
@@ -82999,7 +83012,7 @@ var ideCommand = async () => {
82999
83012
  }
83000
83013
  };
83001
83014
  const { status } = ideClient.getConnectionStatus();
83002
- const isConnected = status === "connected" /* Connected */;
83015
+ const isConnected = status === IDEConnectionStatus.Connected;
83003
83016
  if (isConnected) {
83004
83017
  ideSlashCommand.subCommands = [statusCommand2, disableCommand5];
83005
83018
  } else {
@@ -83099,13 +83112,13 @@ Use /mcp auth <server-name> to authenticate.`
83099
83112
  const displayListener = (message) => {
83100
83113
  context.ui.addItem({ type: "info", text: message });
83101
83114
  };
83102
- coreEvents.on("oauth-display-message" /* OauthDisplayMessage */, displayListener);
83115
+ coreEvents.on(CoreEvent.OauthDisplayMessage, displayListener);
83103
83116
  try {
83104
83117
  context.ui.addItem({
83105
83118
  type: "info",
83106
83119
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
83107
83120
  });
83108
- const { MCPOAuthProvider } = await import("./core-R7CF7CQD.js");
83121
+ const { MCPOAuthProvider } = await import("./dist-C4IKSTQN.js");
83109
83122
  let oauthConfig = server.oauth;
83110
83123
  if (!oauthConfig) {
83111
83124
  oauthConfig = { enabled: false };
@@ -83142,7 +83155,7 @@ Use /mcp auth <server-name> to authenticate.`
83142
83155
  content: `Failed to authenticate with MCP server '${serverName}': ${getErrorMessage(error)}`
83143
83156
  };
83144
83157
  } finally {
83145
- coreEvents.removeListener("oauth-display-message" /* OauthDisplayMessage */, displayListener);
83158
+ coreEvents.removeListener(CoreEvent.OauthDisplayMessage, displayListener);
83146
83159
  }
83147
83160
  },
83148
83161
  completion: async (context, partialArg) => {
@@ -83188,10 +83201,10 @@ var listAction2 = async (context, showDescriptions = false, showSchema = false,
83188
83201
  }
83189
83202
  const serverNames = Object.keys(mcpServers);
83190
83203
  const connectingServers = serverNames.filter(
83191
- (name) => getMCPServerStatus(name) === "connecting" /* CONNECTING */
83204
+ (name) => getMCPServerStatus(name) === MCPServerStatus.CONNECTING
83192
83205
  );
83193
83206
  const discoveryState = getMCPDiscoveryState();
83194
- const discoveryInProgress = discoveryState === "in_progress" /* IN_PROGRESS */ || connectingServers.length > 0;
83207
+ const discoveryInProgress = discoveryState === MCPDiscoveryState.IN_PROGRESS || connectingServers.length > 0;
83195
83208
  const allTools = toolRegistry.getAllTools();
83196
83209
  const mcpTools = allTools.filter((tool) => tool instanceof DiscoveredMCPTool);
83197
83210
  const promptRegistry = config.getPromptRegistry();
@@ -98960,7 +98973,7 @@ Return a JSON object with:
98960
98973
  },
98961
98974
  abortSignal: new AbortController().signal,
98962
98975
  promptId: "triage-duplicates",
98963
- role: "utility_tool" /* UTILITY_TOOL */
98976
+ role: LlmRole.UTILITY_TOOL
98964
98977
  });
98965
98978
  const rec = response;
98966
98979
  let canonical;
@@ -99794,7 +99807,7 @@ Return a JSON object with:
99794
99807
  },
99795
99808
  abortSignal: abortControllerRef.current.signal,
99796
99809
  promptId: "triage-issues",
99797
- role: "utility_tool" /* UTILITY_TOOL */
99810
+ role: LlmRole.UTILITY_TOOL
99798
99811
  });
99799
99812
  return response;
99800
99813
  },
@@ -100368,8 +100381,8 @@ var planCommand = {
100368
100381
  return;
100369
100382
  }
100370
100383
  const previousApprovalMode = config.getApprovalMode();
100371
- config.setApprovalMode("plan" /* PLAN */);
100372
- if (previousApprovalMode !== "plan" /* PLAN */) {
100384
+ config.setApprovalMode(ApprovalMode.PLAN);
100385
+ if (previousApprovalMode !== ApprovalMode.PLAN) {
100373
100386
  coreEvents.emitFeedback("info", "Switched to Plan Mode.");
100374
100387
  }
100375
100388
  if (context.invocation?.args) {
@@ -100428,10 +100441,10 @@ var categorizeRulesByMode = (rules) => {
100428
100441
  rules.forEach((rule) => {
100429
100442
  const modes = rule.modes?.length ? rule.modes : ALL_MODES;
100430
100443
  const modeSet = new Set(modes);
100431
- if (modeSet.has("default" /* DEFAULT */)) result.normal.push(rule);
100432
- if (modeSet.has("autoEdit" /* AUTO_EDIT */)) result.autoEdit.push(rule);
100433
- if (modeSet.has("yolo" /* YOLO */)) result.yolo.push(rule);
100434
- if (modeSet.has("plan" /* PLAN */)) result.plan.push(rule);
100444
+ if (modeSet.has(ApprovalMode.DEFAULT)) result.normal.push(rule);
100445
+ if (modeSet.has(ApprovalMode.AUTO_EDIT)) result.autoEdit.push(rule);
100446
+ if (modeSet.has(ApprovalMode.YOLO)) result.yolo.push(rule);
100447
+ if (modeSet.has(ApprovalMode.PLAN)) result.plan.push(rule);
100435
100448
  });
100436
100449
  return result;
100437
100450
  };
@@ -101812,7 +101825,7 @@ var upgradeCommand = {
101812
101825
  action: async (context) => {
101813
101826
  const config = context.services.agentContext?.config;
101814
101827
  const authType = config?.getContentGeneratorConfig()?.authType;
101815
- if (authType !== "oauth-personal" /* LOGIN_WITH_GOOGLE */) {
101828
+ if (authType !== AuthType.LOGIN_WITH_GOOGLE) {
101816
101829
  return {
101817
101830
  type: "message",
101818
101831
  messageType: "error",
@@ -102041,7 +102054,7 @@ var BuiltinCommandLoader = class {
102041
102054
  setupGithubCommand,
102042
102055
  terminalSetupCommand,
102043
102056
  ...this.config?.isVoiceModeEnabled() ? [voiceCommand] : [],
102044
- ...this.config?.getContentGeneratorConfig()?.authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? [upgradeCommand] : []
102057
+ ...this.config?.getContentGeneratorConfig()?.authType === AuthType.LOGIN_WITH_GOOGLE ? [upgradeCommand] : []
102045
102058
  ];
102046
102059
  handle?.end();
102047
102060
  return allDefinitions.filter((cmd) => cmd !== null);
@@ -33,7 +33,7 @@ import {
33
33
  partListUnionToString,
34
34
  require_strip_json_comments,
35
35
  sanitizeFilenamePart
36
- } from "./chunk-ACTC6X24.js";
36
+ } from "./chunk-HDPU5WOJ.js";
37
37
  import {
38
38
  __commonJS,
39
39
  __require,
@@ -15572,7 +15572,22 @@ var SETTINGS_SCHEMA_DEFINITIONS = {
15572
15572
  type: "object",
15573
15573
  properties: {
15574
15574
  useGemini3_1: { type: "boolean" },
15575
- useGemini3_1FlashLite: { type: "boolean" },
15575
+ useLatestFlash: {
15576
+ type: "boolean",
15577
+ description: "Whether the latest GA Flash model (Gemini 3.8 Flash) is launched and active."
15578
+ },
15579
+ useLatestFlashLite: {
15580
+ type: "boolean",
15581
+ description: "Whether the latest GA Flash Lite model (Gemini 3.5 Flash Lite) is launched and active."
15582
+ },
15583
+ useGemini3_5Flash: {
15584
+ type: "boolean",
15585
+ description: "Deprecated alias for useLatestFlash."
15586
+ },
15587
+ useGemini3_1FlashLite: {
15588
+ type: "boolean",
15589
+ description: "Deprecated alias for useLatestFlashLite."
15590
+ },
15576
15591
  useCustomTools: { type: "boolean" },
15577
15592
  hasAccessToPreview: { type: "boolean" },
15578
15593
  requestedModels: {
@@ -1,7 +1,8 @@
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
2
  import {
3
+ CoreToolCallStatus,
3
4
  checkExhaustive
4
- } from "./chunk-OANXWSAG.js";
5
+ } from "./chunk-HDPU5WOJ.js";
5
6
  import {
6
7
  __commonJS,
7
8
  __toESM
@@ -464,19 +465,19 @@ var require_react = __commonJS({
464
465
  var import_react = __toESM(require_react(), 1);
465
466
  function mapCoreStatusToDisplayStatus(coreStatus) {
466
467
  switch (coreStatus) {
467
- case "validating" /* Validating */:
468
+ case CoreToolCallStatus.Validating:
468
469
  return "Pending" /* Pending */;
469
- case "awaiting_approval" /* AwaitingApproval */:
470
+ case CoreToolCallStatus.AwaitingApproval:
470
471
  return "Confirming" /* Confirming */;
471
- case "executing" /* Executing */:
472
+ case CoreToolCallStatus.Executing:
472
473
  return "Executing" /* Executing */;
473
- case "success" /* Success */:
474
+ case CoreToolCallStatus.Success:
474
475
  return "Success" /* Success */;
475
- case "cancelled" /* Cancelled */:
476
+ case CoreToolCallStatus.Cancelled:
476
477
  return "Canceled" /* Canceled */;
477
- case "error" /* Error */:
478
+ case CoreToolCallStatus.Error:
478
479
  return "Error" /* Error */;
479
- case "scheduled" /* Scheduled */:
480
+ case CoreToolCallStatus.Scheduled:
480
481
  return "Pending" /* Pending */;
481
482
  default:
482
483
  return checkExhaustive(coreStatus);
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  exitCli,
4
4
  require_source
5
- } from "./chunk-HGJ3LRCZ.js";
5
+ } from "./chunk-EUZJSBKR.js";
6
6
  import {
7
7
  AppEvent,
8
8
  appEvents
@@ -59,14 +59,14 @@ import {
59
59
  stripUnsafeCharacters,
60
60
  toCodePoints,
61
61
  validateCustomTheme
62
- } from "./chunk-GLGFO33Y.js";
62
+ } from "./chunk-O4KOWLVM.js";
63
63
  import {
64
64
  isDevelopment
65
- } from "./chunk-UCLFGIUA.js";
65
+ } from "./chunk-OTWH6H2T.js";
66
66
  import {
67
67
  emptyIcon,
68
68
  require_react
69
- } from "./chunk-ZJHBR7W3.js";
69
+ } from "./chunk-4YQFFXRN.js";
70
70
  import {
71
71
  ALL_EDITORS,
72
72
  ApprovalMode,
@@ -231,7 +231,7 @@ import {
231
231
  tokenLimit,
232
232
  uiTelemetryService,
233
233
  unescapePath
234
- } from "./chunk-FH2AJT7C.js";
234
+ } from "./chunk-X63OLHR4.js";
235
235
  import {
236
236
  require_src
237
237
  } from "./chunk-TUDYL3X4.js";
@@ -77324,7 +77324,7 @@ var authCommand = {
77324
77324
  import process29 from "node:process";
77325
77325
 
77326
77326
  // packages/cli/src/generated/git-commit.ts
77327
- var GIT_COMMIT_INFO = "ae28844fb";
77327
+ var GIT_COMMIT_INFO = "0e6fa774e";
77328
77328
 
77329
77329
  // packages/cli/src/ui/utils/historyExportUtils.ts
77330
77330
  import * as fsPromises from "node:fs/promises";
@@ -83105,7 +83105,7 @@ Use /mcp auth <server-name> to authenticate.`
83105
83105
  type: "info",
83106
83106
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
83107
83107
  });
83108
- const { MCPOAuthProvider } = await import("./core-F6IWXMFD.js");
83108
+ const { MCPOAuthProvider } = await import("./core-HFCJBVEU.js");
83109
83109
  let oauthConfig = server.oauth;
83110
83110
  if (!oauthConfig) {
83111
83111
  oauthConfig = { enabled: false };