@google/gemini-cli 0.63.0-preview.0 → 0.64.0-nightly.20260930.g38700b4b3

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-GRSO6OI3.js → chunk-25CRZGVM.js} +7 -7
  2. package/bundle/{chunk-NWSCUKK3.js → chunk-2IX6DWAW.js} +4 -4
  3. package/bundle/{chunk-2NCBQURB.js → chunk-3NT2SKFA.js} +1 -1
  4. package/bundle/{chunk-2J6RC447.js → chunk-4HOQUY2N.js} +3 -3
  5. package/bundle/{chunk-ZDQYLJYN.js → chunk-6PPBWNDI.js} +1 -1
  6. package/bundle/{chunk-RC6VJ6FT.js → chunk-7DWXAVQF.js} +1 -1
  7. package/bundle/{chunk-Z5RCAIV5.js → chunk-A2FLYZAG.js} +7 -5
  8. package/bundle/{chunk-R6Q6D3UA.js → chunk-A57G7SIC.js} +1 -1
  9. package/bundle/{chunk-KCB54UJ5.js → chunk-AWSTJUTH.js} +7817 -14797
  10. package/bundle/{chunk-RXHIISMM.js → chunk-BGZD3BMV.js} +1 -1
  11. package/bundle/{chunk-SNGNFODQ.js → chunk-BMTBPV2S.js} +1 -1
  12. package/bundle/{chunk-EIMVJG2V.js → chunk-BXEOD3X3.js} +1 -1
  13. package/bundle/{chunk-UEOEM4H5.js → chunk-DJNZXRA7.js} +3 -3
  14. package/bundle/{chunk-2P4ETAEG.js → chunk-F6JETNEJ.js} +1 -1
  15. package/bundle/{chunk-NTWFJ2RF.js → chunk-GY7Q52OV.js} +2 -2
  16. package/bundle/{chunk-JEUVKR2X.js → chunk-HE52HL64.js} +3 -3
  17. package/bundle/{chunk-EWEUWTBB.js → chunk-HSKWGDF4.js} +71 -58
  18. package/bundle/{chunk-KPPDDNGJ.js → chunk-IAPBP6LA.js} +9 -8
  19. package/bundle/chunk-IHPUGUR4.js +1571 -0
  20. package/bundle/chunk-JOP7W7XN.js +512 -0
  21. package/bundle/{chunk-H4WLRV6U.js → chunk-MDIO6ZGG.js} +2 -2
  22. package/bundle/{chunk-B2C7BQ4Z.js → chunk-MODROUVA.js} +7 -7
  23. package/bundle/{chunk-HBZBBLAV.js → chunk-NXZ6MTBK.js} +4 -4
  24. package/bundle/{chunk-5VYF5TVF.js → chunk-P5COWVAT.js} +2 -2
  25. package/bundle/chunk-P7PQGLTC.js +425 -0
  26. package/bundle/chunk-POADB5TD.js +102951 -0
  27. package/bundle/{chunk-BVDTRESW.js → chunk-PSG2RKYK.js} +1 -1
  28. package/bundle/chunk-QBEQJSQP.js +17446 -0
  29. package/bundle/chunk-RGZWKVK6.js +400535 -0
  30. package/bundle/{chunk-CTL6DZSY.js → chunk-U35AUWCX.js} +1 -1
  31. package/bundle/chunk-XBPTRJT2.js +154 -0
  32. package/bundle/chunk-Z3W7MPKY.js +118 -0
  33. package/bundle/{cleanup-EX2L3L3E.js → cleanup-5ZAFKLQH.js} +2 -2
  34. package/bundle/{cleanup-IT7XR7KS.js → cleanup-HYZM7R5F.js} +2 -2
  35. package/bundle/{cleanup-WWLYKZIX.js → cleanup-TARZADFI.js} +2 -2
  36. package/bundle/cleanup-ZAXFNDOC.js +32 -0
  37. package/bundle/{core-GAJB2LOX.js → core-EPSHE7P6.js} +1 -1
  38. package/bundle/{devtoolsService-4YTFHHPN.js → devtoolsService-56VDVUOL.js} +2 -2
  39. package/bundle/{devtoolsService-TJPENQSW.js → devtoolsService-7XLE4P4S.js} +2 -2
  40. package/bundle/{devtoolsService-S4ZTRGJL.js → devtoolsService-AAFN6NAN.js} +4 -3
  41. package/bundle/devtoolsService-ECAXJUOF.js +4359 -0
  42. package/bundle/{dist-MTMOCTIW.js → dist-M35X4WPV.js} +1 -1
  43. package/bundle/{core-D5D4MF5H.js → dist-NIRQB25Q.js} +1 -1
  44. package/bundle/dist-O3KY6OIH.js +2250 -0
  45. package/bundle/docs/changelogs/preview.md +54 -65
  46. package/bundle/{gemini-5T5BS7L7.js → gemini-6CUIGQWZ.js} +66 -95
  47. package/bundle/{gemini-UQRS6TBE.js → gemini-7ZTG2TNC.js} +266 -279
  48. package/bundle/gemini-LUCGVSW4.js +17834 -0
  49. package/bundle/{gemini-FHORRYHM.js → gemini-XES6PNAG.js} +66 -95
  50. package/bundle/gemini.js +7 -7
  51. package/bundle/{interactiveCli-I5K7O5Z6.js → interactiveCli-33JCR2HW.js} +26 -23
  52. package/bundle/{interactiveCli-5YNYZTMK.js → interactiveCli-BL75HVY6.js} +329 -307
  53. package/bundle/{interactiveCli-WOM6QZHM.js → interactiveCli-HKQPFDGD.js} +26 -23
  54. package/bundle/interactiveCli-QSW3W5ZD.js +34918 -0
  55. package/bundle/{liteRtServerManager-EH2L2UVH.js → liteRtServerManager-LKLAR23I.js} +4 -4
  56. package/bundle/{liteRtServerManager-ZLIHBLZP.js → liteRtServerManager-M6OUSM64.js} +4 -4
  57. package/bundle/{liteRtServerManager-3N5KI6YS.js → liteRtServerManager-SXHC2HTD.js} +4 -4
  58. package/bundle/liteRtServerManager-UKLGHLER.js +65 -0
  59. package/bundle/{oauth2-provider-TA2KRXWQ.js → oauth2-provider-7U4O6OCP.js} +1 -1
  60. package/bundle/{oauth2-provider-5GFYTXFU.js → oauth2-provider-LLJMND6R.js} +38 -72
  61. package/bundle/oauth2-provider-VTAXRE4E.js +235 -0
  62. package/bundle/{oauth2-provider-NGSH2JQK.js → oauth2-provider-XIO422NY.js} +1 -1
  63. package/bundle/{start-M3IUNCYH.js → start-5J7ZUGKX.js} +6 -6
  64. package/bundle/{start-MWDNIQUY.js → start-7FPTLILF.js} +6 -6
  65. package/bundle/{start-CWI6OP6N.js → start-QILES454.js} +6 -6
  66. package/bundle/start-RBND45VF.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-NWSCUKK3.js";
8
+ } from "./chunk-NXZ6MTBK.js";
9
9
 
10
10
  // packages/cli/src/utils/cleanup.ts
11
11
  import { promises as fs } from "node:fs";
@@ -1,7 +1,7 @@
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
3
  runExitCleanup
4
- } from "./chunk-CTL6DZSY.js";
4
+ } from "./chunk-PSG2RKYK.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  CoreToolCallStatus,
4
4
  checkExhaustive
5
- } from "./chunk-NWSCUKK3.js";
5
+ } from "./chunk-AWSTJUTH.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM
@@ -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-SNGNFODQ.js";
5
+ } from "./chunk-IHPUGUR4.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,10 +14,10 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-RC6VJ6FT.js";
17
+ } from "./chunk-7DWXAVQF.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-KCB54UJ5.js";
20
+ } from "./chunk-NXZ6MTBK.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -1,7 +1,7 @@
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
3
  runExitCleanup
4
- } from "./chunk-BVDTRESW.js";
4
+ } from "./chunk-XBPTRJT2.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -1,13 +1,13 @@
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
3
  runExitCleanup
4
- } from "./chunk-RXHIISMM.js";
4
+ } from "./chunk-XBPTRJT2.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  debugLogger,
8
8
  getChannelFromVersion,
9
9
  isGitRepository
10
- } from "./chunk-NWSCUKK3.js";
10
+ } from "./chunk-2IX6DWAW.js";
11
11
 
12
12
  // packages/cli/src/utils/installationInfo.ts
13
13
  import * 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-R6Q6D3UA.js";
5
+ } from "./chunk-BMTBPV2S.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,10 +14,10 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-2NCBQURB.js";
17
+ } from "./chunk-3NT2SKFA.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-NWSCUKK3.js";
20
+ } from "./chunk-AWSTJUTH.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -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-SNGNFODQ.js";
5
+ } from "./chunk-A57G7SIC.js";
6
6
  import {
7
7
  AppEvent,
8
8
  appEvents
@@ -63,21 +63,23 @@ import {
63
63
  stripUnsafeCharacters,
64
64
  toCodePoints,
65
65
  validateCustomTheme
66
- } from "./chunk-RC6VJ6FT.js";
66
+ } from "./chunk-QBEQJSQP.js";
67
67
  import {
68
68
  isDevelopment
69
- } from "./chunk-5VYF5TVF.js";
69
+ } from "./chunk-MDIO6ZGG.js";
70
70
  import {
71
71
  emptyIcon,
72
72
  mapCoreStatusToDisplayStatus,
73
73
  require_react
74
- } from "./chunk-ZDQYLJYN.js";
74
+ } from "./chunk-IAPBP6LA.js";
75
75
  import {
76
76
  ALL_EDITORS,
77
77
  ApprovalMode,
78
78
  AsyncFzf,
79
+ AuthType,
79
80
  Config,
80
81
  CoreEvent,
82
+ CoreToolCallStatus,
81
83
  DiscoveredMCPTool,
82
84
  ExtensionDisableEvent,
83
85
  ExtensionEnableEvent,
@@ -88,21 +90,32 @@ import {
88
90
  ExtensionUpdateEvent,
89
91
  GEMINI_CLI_COMPANION_EXTENSION_NAME,
90
92
  GEMINI_DIR,
93
+ HookType,
94
+ IDEConnectionStatus,
91
95
  INITIAL_HISTORY_LENGTH,
92
96
  IdeClient,
93
97
  IdeConnectionEvent,
98
+ IdeConnectionType,
99
+ IntegrityDataStatus,
94
100
  KeychainTokenStorage,
101
+ LlmRole,
102
+ MCPDiscoveryState,
95
103
  MCPOAuthTokenStorage,
104
+ MCPServerStatus,
96
105
  ModelSlashCommandEvent,
106
+ PolicyDecision,
97
107
  ProjectIdRequiredError,
98
108
  REFERENCE_CONTENT_END,
99
109
  REFERENCE_CONTENT_START,
100
110
  ReadManyFilesTool,
101
111
  RewindEvent,
102
112
  SHELL_TOOL_NAME,
113
+ SessionEndReason,
114
+ SessionStartSource,
103
115
  ShellExecutionService,
104
116
  StartSessionEvent,
105
117
  Storage,
118
+ TrustLevel,
106
119
  UPGRADE_URL_PAGE,
107
120
  UserAccountManager,
108
121
  ValidationRequiredError,
@@ -238,7 +251,7 @@ import {
238
251
  tokenLimit,
239
252
  uiTelemetryService,
240
253
  unescapePath
241
- } from "./chunk-KCB54UJ5.js";
254
+ } from "./chunk-RGZWKVK6.js";
242
255
  import {
243
256
  require_src
244
257
  } from "./chunk-L6PII3GR.js";
@@ -60093,7 +60106,7 @@ var import_react34 = __toESM(require_react(), 1);
60093
60106
  function useIdeTrustListener() {
60094
60107
  const settings = useSettings();
60095
60108
  const [connectionStatus, setConnectionStatus] = (0, import_react34.useState)(
60096
- "disconnected" /* Disconnected */
60109
+ IDEConnectionStatus.Disconnected
60097
60110
  );
60098
60111
  const previousTrust = (0, import_react34.useRef)(void 0);
60099
60112
  const [restartReason, setRestartReason] = (0, import_react34.useState)("NONE");
@@ -60123,7 +60136,7 @@ function useIdeTrustListener() {
60123
60136
  };
60124
60137
  }, []);
60125
60138
  const getSnapshot = () => {
60126
- if (connectionStatus !== "connected" /* Connected */) {
60139
+ if (connectionStatus !== IDEConnectionStatus.Connected) {
60127
60140
  return void 0;
60128
60141
  }
60129
60142
  return ideContextStore.get()?.workspaceState?.isTrusted;
@@ -60828,7 +60841,7 @@ async function initializeApp(config, settings) {
60828
60841
  await ideClient.connect();
60829
60842
  logIdeConnection(
60830
60843
  config,
60831
- new IdeConnectionEvent("start" /* START */)
60844
+ new IdeConnectionEvent(IdeConnectionType.START)
60832
60845
  );
60833
60846
  }).catch((e) => {
60834
60847
  debugLogger.error("Failed to initialize IDE client:", e);
@@ -60846,17 +60859,17 @@ async function initializeApp(config, settings) {
60846
60859
  // packages/cli/src/config/auth.ts
60847
60860
  async function validateAuthMethod(authMethod) {
60848
60861
  loadEnvironment(loadSettings().merged, process.cwd());
60849
- if (authMethod === "oauth-personal" /* LOGIN_WITH_GOOGLE */ || authMethod === "compute-default-credentials" /* COMPUTE_ADC */) {
60862
+ if (authMethod === AuthType.LOGIN_WITH_GOOGLE || authMethod === AuthType.COMPUTE_ADC) {
60850
60863
  return null;
60851
60864
  }
60852
- if (authMethod === "gemini-api-key" /* USE_GEMINI */) {
60865
+ if (authMethod === AuthType.USE_GEMINI) {
60853
60866
  const key = process.env["GEMINI_API_KEY"] || await loadApiKey();
60854
60867
  if (!key) {
60855
60868
  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)!";
60856
60869
  }
60857
60870
  return null;
60858
60871
  }
60859
- if (authMethod === "vertex-ai" /* USE_VERTEX_AI */) {
60872
+ if (authMethod === AuthType.USE_VERTEX_AI) {
60860
60873
  const hasVertexProjectLocationConfig = !!process.env["GOOGLE_CLOUD_PROJECT"] && !!process.env["GOOGLE_CLOUD_LOCATION"];
60861
60874
  const hasGoogleApiKey = !!process.env["GOOGLE_API_KEY"];
60862
60875
  if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) {
@@ -65382,7 +65395,7 @@ var ExtensionManager = class extends ExtensionLoader {
65382
65395
  const trustedFolders = loadTrustedFolders();
65383
65396
  await trustedFolders.setValue(
65384
65397
  this.workspaceDir,
65385
- "TRUST_FOLDER" /* TRUST_FOLDER */
65398
+ TrustLevel.TRUST_FOLDER
65386
65399
  );
65387
65400
  } else {
65388
65401
  throw new Error(
@@ -65568,7 +65581,7 @@ Would you like to attempt to install via "git clone" instead?`
65568
65581
  newExtensionConfig.version,
65569
65582
  previousExtensionConfig.version,
65570
65583
  installMetadata.type,
65571
- "success" /* Success */
65584
+ CoreToolCallStatus.Success
65572
65585
  )
65573
65586
  );
65574
65587
  if (newExtensionName !== previousName) {
@@ -65591,7 +65604,7 @@ Would you like to attempt to install via "git clone" instead?`
65591
65604
  getExtensionId(newExtensionConfig, installMetadata),
65592
65605
  newExtensionConfig.version,
65593
65606
  installMetadata.type,
65594
- "success" /* Success */
65607
+ CoreToolCallStatus.Success
65595
65608
  )
65596
65609
  );
65597
65610
  await this.enableExtension(
@@ -65624,7 +65637,7 @@ Would you like to attempt to install via "git clone" instead?`
65624
65637
  newExtensionConfig?.version ?? "",
65625
65638
  previousExtensionConfig.version,
65626
65639
  installMetadata.type,
65627
- "error" /* Error */
65640
+ CoreToolCallStatus.Error
65628
65641
  )
65629
65642
  );
65630
65643
  } else {
@@ -65636,7 +65649,7 @@ Would you like to attempt to install via "git clone" instead?`
65636
65649
  extensionId ?? "",
65637
65650
  newExtensionConfig?.version ?? "",
65638
65651
  installMetadata.type,
65639
- "error" /* Error */
65652
+ CoreToolCallStatus.Error
65640
65653
  )
65641
65654
  );
65642
65655
  }
@@ -65667,7 +65680,7 @@ Would you like to attempt to install via "git clone" instead?`
65667
65680
  extension.name,
65668
65681
  hashValue(extension.name),
65669
65682
  extension.id,
65670
- "success" /* Success */
65683
+ CoreToolCallStatus.Success
65671
65684
  )
65672
65685
  );
65673
65686
  }
@@ -65929,7 +65942,7 @@ Would you like to attempt to install via "git clone" instead?`
65929
65942
  if (eventHooks) {
65930
65943
  for (const definition of eventHooks) {
65931
65944
  for (const hook of definition.hooks) {
65932
- if (hook.type === "command" /* Command */) {
65945
+ if (hook.type === HookType.Command) {
65933
65946
  hook.env = { ...hook.env, ...hookEnv };
65934
65947
  }
65935
65948
  }
@@ -67057,7 +67070,7 @@ async function readMcpResources(resourceParts, config, signal) {
67057
67070
  callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
67058
67071
  name: `resources/read (${resource.serverName})`,
67059
67072
  description: resource.uri,
67060
- status: "success" /* Success */,
67073
+ status: CoreToolCallStatus.Success,
67061
67074
  isClientInitiated: true,
67062
67075
  resultDisplay: `Successfully read resource ${resource.uri}`,
67063
67076
  confirmationDetails: void 0
@@ -67072,7 +67085,7 @@ async function readMcpResources(resourceParts, config, signal) {
67072
67085
  callId: `mcp-resource-${resource.serverName}-${resource.uri}`,
67073
67086
  name: `resources/read (${resource.serverName})`,
67074
67087
  description: resource.uri,
67075
- status: "error" /* Error */,
67088
+ status: CoreToolCallStatus.Error,
67076
67089
  isClientInitiated: true,
67077
67090
  resultDisplay: `Error reading resource ${resource.uri}: ${getErrorMessage(error)}`,
67078
67091
  confirmationDetails: void 0
@@ -67097,7 +67110,7 @@ Content from @${result.uri}:
67097
67110
  }
67098
67111
  if (hasError) {
67099
67112
  const firstError = displays.find(
67100
- (d) => d.status === "error" /* Error */
67113
+ (d) => d.status === CoreToolCallStatus.Error
67101
67114
  );
67102
67115
  return {
67103
67116
  parts: [],
@@ -67138,7 +67151,7 @@ async function readLocalFiles(resolvedFiles, config, signal, userMessageTimestam
67138
67151
  callId: `client-read-${userMessageTimestamp}`,
67139
67152
  name: readManyFilesTool.displayName,
67140
67153
  description: invocation.getDescription(),
67141
- status: "success" /* Success */,
67154
+ status: CoreToolCallStatus.Success,
67142
67155
  isClientInitiated: true,
67143
67156
  resultDisplay: result.returnDisplay || `Successfully read: ${fileLabelsForDisplay.join(", ")}`,
67144
67157
  confirmationDetails: void 0
@@ -67185,7 +67198,7 @@ Content from @${displayPath}:
67185
67198
  callId: `client-read-${userMessageTimestamp}`,
67186
67199
  name: readManyFilesTool.displayName,
67187
67200
  description: invocation?.getDescription() ?? "Error attempting to execute tool to read files",
67188
- status: "error" /* Error */,
67201
+ status: CoreToolCallStatus.Error,
67189
67202
  isClientInitiated: true,
67190
67203
  resultDisplay: `Error reading files (${fileLabelsForDisplay.join(", ")}): ${getErrorMessage(error)}`,
67191
67204
  confirmationDetails: void 0
@@ -70452,7 +70465,7 @@ async function openFileInEditor(filePath, stdin, setRawMode, preferredEditorType
70452
70465
  if (wasRaw) {
70453
70466
  setRawMode?.(true);
70454
70467
  }
70455
- coreEvents.emit("external-editor-closed" /* ExternalEditorClosed */);
70468
+ coreEvents.emit(CoreEvent.ExternalEditorClosed);
70456
70469
  }
70457
70470
  }
70458
70471
 
@@ -73147,7 +73160,7 @@ async function updateExtension(extension, extensionManager, currentState, dispat
73147
73160
  extension.name,
73148
73161
  installMetadata
73149
73162
  );
73150
- if (status === "invalid" /* INVALID */) {
73163
+ if (status === IntegrityDataStatus.INVALID) {
73151
73164
  throw new Error("Extension integrity cannot be verified");
73152
73165
  }
73153
73166
  } catch (e) {
@@ -74568,11 +74581,11 @@ var ShellProcessor = class {
74568
74581
  },
74569
74582
  void 0
74570
74583
  );
74571
- if (decision === "deny" /* DENY */) {
74584
+ if (decision === PolicyDecision.DENY) {
74572
74585
  throw new Error(
74573
74586
  `${this.commandName} cannot be run. Blocked command: "${command}". Reason: Blocked by policy.`
74574
74587
  );
74575
- } else if (decision === "ask_user" /* ASK_USER */) {
74588
+ } else if (decision === PolicyDecision.ASK_USER) {
74576
74589
  commandsToConfirm.add(command);
74577
74590
  }
74578
74591
  }
@@ -75687,7 +75700,7 @@ var MultiFolderTrustDialog = ({
75687
75700
  if (choice === 1 /* YES_AND_REMEMBER */) {
75688
75701
  await trustedFolders.setValue(
75689
75702
  expandedPath,
75690
- "TRUST_FOLDER" /* TRUST_FOLDER */
75703
+ TrustLevel.TRUST_FOLDER
75691
75704
  );
75692
75705
  }
75693
75706
  workspaceContext.addDirectory(expandedPath);
@@ -75973,10 +75986,10 @@ function isShellTool(name) {
75973
75986
  return name === SHELL_COMMAND_NAME || name === SHELL_NAME || name === SHELL_TOOL_NAME || normalized === "shell";
75974
75987
  }
75975
75988
  function isThisShellFocusable(name, status, config) {
75976
- return !!(isShellTool(name) && status === "executing" /* Executing */ && config?.getEnableInteractiveShell());
75989
+ return !!(isShellTool(name) && status === CoreToolCallStatus.Executing && config?.getEnableInteractiveShell());
75977
75990
  }
75978
75991
  function isThisShellFocused(name, status, ptyId, activeShellPtyId, embeddedShellFocused) {
75979
- return !!(isShellTool(name) && status === "executing" /* Executing */ && ptyId === activeShellPtyId && embeddedShellFocused);
75992
+ return !!(isShellTool(name) && status === CoreToolCallStatus.Executing && ptyId === activeShellPtyId && embeddedShellFocused);
75980
75993
  }
75981
75994
  function useFocusHint(isThisShellFocusable2, isThisShellFocused2, resultDisplay) {
75982
75995
  const [userHasFocused, setUserHasFocused] = (0, import_react56.useState)(false);
@@ -76136,14 +76149,14 @@ function getToolGroupBorderAppearance(item, activeShellPtyId, embeddedShellFocus
76136
76149
  if (isTrackedToolCall(t)) {
76137
76150
  return t.status !== "success" && t.status !== "error" && t.status !== "cancelled";
76138
76151
  } else {
76139
- return t.status !== "success" /* Success */ && t.status !== "error" /* Error */ && t.status !== "cancelled" /* Cancelled */;
76152
+ return t.status !== CoreToolCallStatus.Success && t.status !== CoreToolCallStatus.Error && t.status !== CoreToolCallStatus.Cancelled;
76140
76153
  }
76141
76154
  });
76142
76155
  const isEmbeddedShellFocused = toolsToInspect.some((t) => {
76143
76156
  if (isTrackedToolCall(t)) {
76144
76157
  return isShellTool(t.request.name) && t.status === "executing" && t.pid === activeShellPtyId && !!embeddedShellFocused;
76145
76158
  } else {
76146
- return isShellTool(t.name) && t.status === "executing" /* Executing */ && t.ptyId === activeShellPtyId && !!embeddedShellFocused;
76159
+ return isShellTool(t.name) && t.status === CoreToolCallStatus.Executing && t.ptyId === activeShellPtyId && !!embeddedShellFocused;
76147
76160
  }
76148
76161
  });
76149
76162
  const isShellCommand = toolsToInspect.some((t) => {
@@ -77581,7 +77594,7 @@ var authCommand = {
77581
77594
  import process29 from "node:process";
77582
77595
 
77583
77596
  // packages/cli/src/generated/git-commit.ts
77584
- var GIT_COMMIT_INFO = "d75234cae";
77597
+ var GIT_COMMIT_INFO = "38700b4b3";
77585
77598
 
77586
77599
  // packages/cli/src/ui/utils/historyExportUtils.ts
77587
77600
  import * as fsPromises from "node:fs/promises";
@@ -78227,7 +78240,7 @@ var clearCommand = {
78227
78240
  const config = context.services.agentContext?.config;
78228
78241
  const hookSystem = config?.getHookSystem();
78229
78242
  if (hookSystem) {
78230
- await hookSystem.fireSessionEndEvent("clear" /* Clear */);
78243
+ await hookSystem.fireSessionEndEvent(SessionEndReason.Clear);
78231
78244
  }
78232
78245
  config?.injectionService.clear();
78233
78246
  let newSessionId;
@@ -78244,7 +78257,7 @@ var clearCommand = {
78244
78257
  }
78245
78258
  let result;
78246
78259
  if (hookSystem) {
78247
- result = await hookSystem.fireSessionStartEvent("clear" /* Clear */);
78260
+ result = await hookSystem.fireSessionStartEvent(SessionStartSource.Clear);
78248
78261
  }
78249
78262
  await new Promise((resolve9) => setImmediate(resolve9));
78250
78263
  if (config) {
@@ -81243,7 +81256,7 @@ var Footer = () => {
81243
81256
  case "auth": {
81244
81257
  if (!settings.merged.ui.showUserIdentity) break;
81245
81258
  if (!authType) break;
81246
- const displayStr = authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? email ?? "google" : authType;
81259
+ const displayStr = authType === AuthType.LOGIN_WITH_GOOGLE ? email ?? "google" : authType;
81247
81260
  addCol(
81248
81261
  id,
81249
81262
  header,
@@ -83011,12 +83024,12 @@ import path29 from "node:path";
83011
83024
  function getIdeStatusMessage(ideClient) {
83012
83025
  const connection = ideClient.getConnectionStatus();
83013
83026
  switch (connection.status) {
83014
- case "connected" /* Connected */:
83027
+ case IDEConnectionStatus.Connected:
83015
83028
  return {
83016
83029
  messageType: "info",
83017
83030
  content: `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`
83018
83031
  };
83019
- case "connecting" /* Connecting */:
83032
+ case IDEConnectionStatus.Connecting:
83020
83033
  return {
83021
83034
  messageType: "info",
83022
83035
  content: `\u{1F7E1} Connecting...`
@@ -83057,7 +83070,7 @@ ${infoMessage}`;
83057
83070
  async function getIdeStatusMessageWithFiles(ideClient) {
83058
83071
  const connection = ideClient.getConnectionStatus();
83059
83072
  switch (connection.status) {
83060
- case "connected" /* Connected */: {
83073
+ case IDEConnectionStatus.Connected: {
83061
83074
  let content = `\u{1F7E2} Connected to ${ideClient.getDetectedIdeDisplayName()}`;
83062
83075
  const context = ideContextStore.get();
83063
83076
  const openFiles = context?.workspaceState?.openFiles;
@@ -83069,7 +83082,7 @@ async function getIdeStatusMessageWithFiles(ideClient) {
83069
83082
  content
83070
83083
  };
83071
83084
  }
83072
- case "connecting" /* Connecting */:
83085
+ case IDEConnectionStatus.Connecting:
83073
83086
  return {
83074
83087
  messageType: "info",
83075
83088
  content: `\u{1F7E1} Connecting...`
@@ -83091,7 +83104,7 @@ async function setIdeModeAndSyncConnection(config, value, options = {}) {
83091
83104
  const ideClient = await IdeClient.getInstance();
83092
83105
  if (value) {
83093
83106
  await ideClient.connect(options);
83094
- logIdeConnection(config, new IdeConnectionEvent("session" /* SESSION */));
83107
+ logIdeConnection(config, new IdeConnectionEvent(IdeConnectionType.SESSION));
83095
83108
  } else {
83096
83109
  await ideClient.disconnect();
83097
83110
  }
@@ -83179,7 +83192,7 @@ var ideCommand = async () => {
83179
83192
  logToConsole: false
83180
83193
  }
83181
83194
  );
83182
- if (ideClient.getConnectionStatus().status === "connected" /* Connected */) {
83195
+ if (ideClient.getConnectionStatus().status === IDEConnectionStatus.Connected) {
83183
83196
  break;
83184
83197
  }
83185
83198
  await new Promise((resolve9) => setTimeout(resolve9, 500));
@@ -83256,7 +83269,7 @@ var ideCommand = async () => {
83256
83269
  }
83257
83270
  };
83258
83271
  const { status } = ideClient.getConnectionStatus();
83259
- const isConnected = status === "connected" /* Connected */;
83272
+ const isConnected = status === IDEConnectionStatus.Connected;
83260
83273
  if (isConnected) {
83261
83274
  ideSlashCommand.subCommands = [statusCommand2, disableCommand5];
83262
83275
  } else {
@@ -83356,13 +83369,13 @@ Use /mcp auth <server-name> to authenticate.`
83356
83369
  const displayListener = (message) => {
83357
83370
  context.ui.addItem({ type: "info", text: message });
83358
83371
  };
83359
- coreEvents.on("oauth-display-message" /* OauthDisplayMessage */, displayListener);
83372
+ coreEvents.on(CoreEvent.OauthDisplayMessage, displayListener);
83360
83373
  try {
83361
83374
  context.ui.addItem({
83362
83375
  type: "info",
83363
83376
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
83364
83377
  });
83365
- const { MCPOAuthProvider } = await import("./core-D5D4MF5H.js");
83378
+ const { MCPOAuthProvider } = await import("./dist-NIRQB25Q.js");
83366
83379
  let oauthConfig = server.oauth;
83367
83380
  if (!oauthConfig) {
83368
83381
  oauthConfig = { enabled: false };
@@ -83399,7 +83412,7 @@ Use /mcp auth <server-name> to authenticate.`
83399
83412
  content: `Failed to authenticate with MCP server '${serverName}': ${getErrorMessage(error)}`
83400
83413
  };
83401
83414
  } finally {
83402
- coreEvents.removeListener("oauth-display-message" /* OauthDisplayMessage */, displayListener);
83415
+ coreEvents.removeListener(CoreEvent.OauthDisplayMessage, displayListener);
83403
83416
  }
83404
83417
  },
83405
83418
  completion: async (context, partialArg) => {
@@ -83445,10 +83458,10 @@ var listAction2 = async (context, showDescriptions = false, showSchema = false,
83445
83458
  }
83446
83459
  const serverNames = Object.keys(mcpServers);
83447
83460
  const connectingServers = serverNames.filter(
83448
- (name) => getMCPServerStatus(name) === "connecting" /* CONNECTING */
83461
+ (name) => getMCPServerStatus(name) === MCPServerStatus.CONNECTING
83449
83462
  );
83450
83463
  const discoveryState = getMCPDiscoveryState();
83451
- const discoveryInProgress = discoveryState === "in_progress" /* IN_PROGRESS */ || connectingServers.length > 0;
83464
+ const discoveryInProgress = discoveryState === MCPDiscoveryState.IN_PROGRESS || connectingServers.length > 0;
83452
83465
  const allTools = toolRegistry.getAllTools();
83453
83466
  const mcpTools = allTools.filter((tool) => tool instanceof DiscoveredMCPTool);
83454
83467
  const promptRegistry = config.getPromptRegistry();
@@ -99220,7 +99233,7 @@ Return a JSON object with:
99220
99233
  },
99221
99234
  abortSignal: new AbortController().signal,
99222
99235
  promptId: "triage-duplicates",
99223
- role: "utility_tool" /* UTILITY_TOOL */
99236
+ role: LlmRole.UTILITY_TOOL
99224
99237
  });
99225
99238
  const rec = response;
99226
99239
  let canonical;
@@ -100054,7 +100067,7 @@ Return a JSON object with:
100054
100067
  },
100055
100068
  abortSignal: abortControllerRef.current.signal,
100056
100069
  promptId: "triage-issues",
100057
- role: "utility_tool" /* UTILITY_TOOL */
100070
+ role: LlmRole.UTILITY_TOOL
100058
100071
  });
100059
100072
  return response;
100060
100073
  },
@@ -100628,8 +100641,8 @@ var planCommand = {
100628
100641
  return;
100629
100642
  }
100630
100643
  const previousApprovalMode = config.getApprovalMode();
100631
- config.setApprovalMode("plan" /* PLAN */);
100632
- if (previousApprovalMode !== "plan" /* PLAN */) {
100644
+ config.setApprovalMode(ApprovalMode.PLAN);
100645
+ if (previousApprovalMode !== ApprovalMode.PLAN) {
100633
100646
  coreEvents.emitFeedback("info", "Switched to Plan Mode.");
100634
100647
  }
100635
100648
  if (context.invocation?.args) {
@@ -100688,10 +100701,10 @@ var categorizeRulesByMode = (rules) => {
100688
100701
  rules.forEach((rule) => {
100689
100702
  const modes = rule.modes?.length ? rule.modes : ALL_MODES;
100690
100703
  const modeSet = new Set(modes);
100691
- if (modeSet.has("default" /* DEFAULT */)) result.normal.push(rule);
100692
- if (modeSet.has("autoEdit" /* AUTO_EDIT */)) result.autoEdit.push(rule);
100693
- if (modeSet.has("yolo" /* YOLO */)) result.yolo.push(rule);
100694
- if (modeSet.has("plan" /* PLAN */)) result.plan.push(rule);
100704
+ if (modeSet.has(ApprovalMode.DEFAULT)) result.normal.push(rule);
100705
+ if (modeSet.has(ApprovalMode.AUTO_EDIT)) result.autoEdit.push(rule);
100706
+ if (modeSet.has(ApprovalMode.YOLO)) result.yolo.push(rule);
100707
+ if (modeSet.has(ApprovalMode.PLAN)) result.plan.push(rule);
100695
100708
  });
100696
100709
  return result;
100697
100710
  };
@@ -102072,7 +102085,7 @@ var upgradeCommand = {
102072
102085
  action: async (context) => {
102073
102086
  const config = context.services.agentContext?.config;
102074
102087
  const authType = config?.getContentGeneratorConfig()?.authType;
102075
- if (authType !== "oauth-personal" /* LOGIN_WITH_GOOGLE */) {
102088
+ if (authType !== AuthType.LOGIN_WITH_GOOGLE) {
102076
102089
  return {
102077
102090
  type: "message",
102078
102091
  messageType: "error",
@@ -102301,7 +102314,7 @@ var BuiltinCommandLoader = class {
102301
102314
  setupGithubCommand,
102302
102315
  terminalSetupCommand,
102303
102316
  ...this.config?.isVoiceModeEnabled() ? [voiceCommand] : [],
102304
- ...this.config?.getContentGeneratorConfig()?.authType === "oauth-personal" /* LOGIN_WITH_GOOGLE */ ? [upgradeCommand] : []
102317
+ ...this.config?.getContentGeneratorConfig()?.authType === AuthType.LOGIN_WITH_GOOGLE ? [upgradeCommand] : []
102305
102318
  ];
102306
102319
  handle?.end();
102307
102320
  return allDefinitions.filter((cmd) => cmd !== null);
@@ -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-HBZBBLAV.js";
5
+ } from "./chunk-RGZWKVK6.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);