@google/gemini-cli 0.34.0-preview.2 → 0.34.0-preview.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle/gemini.js CHANGED
@@ -89787,161 +89787,6 @@ var init_base_token_storage = __esm({
89787
89787
  }
89788
89788
  });
89789
89789
 
89790
- // packages/core/dist/src/mcp/token-storage/file-token-storage.js
89791
- import { promises as fs14 } from "node:fs";
89792
- import * as path8 from "node:path";
89793
- import * as os6 from "node:os";
89794
- import * as crypto8 from "node:crypto";
89795
- var FileTokenStorage;
89796
- var init_file_token_storage = __esm({
89797
- "packages/core/dist/src/mcp/token-storage/file-token-storage.js"() {
89798
- "use strict";
89799
- init_base_token_storage();
89800
- init_paths();
89801
- FileTokenStorage = class extends BaseTokenStorage {
89802
- tokenFilePath;
89803
- encryptionKey;
89804
- constructor(serviceName) {
89805
- super(serviceName);
89806
- const configDir = path8.join(homedir(), GEMINI_DIR);
89807
- this.tokenFilePath = path8.join(configDir, "mcp-oauth-tokens-v2.json");
89808
- this.encryptionKey = this.deriveEncryptionKey();
89809
- }
89810
- deriveEncryptionKey() {
89811
- const salt = `${os6.hostname()}-${os6.userInfo().username}-gemini-cli`;
89812
- return crypto8.scryptSync("gemini-cli-oauth", salt, 32);
89813
- }
89814
- encrypt(text) {
89815
- const iv = crypto8.randomBytes(16);
89816
- const cipher = crypto8.createCipheriv("aes-256-gcm", this.encryptionKey, iv);
89817
- let encrypted = cipher.update(text, "utf8", "hex");
89818
- encrypted += cipher.final("hex");
89819
- const authTag = cipher.getAuthTag();
89820
- return iv.toString("hex") + ":" + authTag.toString("hex") + ":" + encrypted;
89821
- }
89822
- decrypt(encryptedData) {
89823
- const parts2 = encryptedData.split(":");
89824
- if (parts2.length !== 3) {
89825
- throw new Error("Invalid encrypted data format");
89826
- }
89827
- const iv = Buffer.from(parts2[0], "hex");
89828
- const authTag = Buffer.from(parts2[1], "hex");
89829
- const encrypted = parts2[2];
89830
- const decipher = crypto8.createDecipheriv("aes-256-gcm", this.encryptionKey, iv);
89831
- decipher.setAuthTag(authTag);
89832
- let decrypted = decipher.update(encrypted, "hex", "utf8");
89833
- decrypted += decipher.final("utf8");
89834
- return decrypted;
89835
- }
89836
- async ensureDirectoryExists() {
89837
- const dir = path8.dirname(this.tokenFilePath);
89838
- await fs14.mkdir(dir, { recursive: true, mode: 448 });
89839
- }
89840
- async loadTokens() {
89841
- try {
89842
- const data = await fs14.readFile(this.tokenFilePath, "utf-8");
89843
- const decrypted = this.decrypt(data);
89844
- const tokens = JSON.parse(decrypted);
89845
- return new Map(Object.entries(tokens));
89846
- } catch (error40) {
89847
- const err2 = error40;
89848
- if (err2.code === "ENOENT") {
89849
- return /* @__PURE__ */ new Map();
89850
- }
89851
- if (err2.message?.includes("Invalid encrypted data format") || err2.message?.includes("Unsupported state or unable to authenticate data")) {
89852
- throw new Error(`Corrupted token file detected at: ${this.tokenFilePath}
89853
- Please delete or rename this file to resolve the issue.`);
89854
- }
89855
- throw error40;
89856
- }
89857
- }
89858
- async saveTokens(tokens) {
89859
- await this.ensureDirectoryExists();
89860
- const data = Object.fromEntries(tokens);
89861
- const json4 = JSON.stringify(data, null, 2);
89862
- const encrypted = this.encrypt(json4);
89863
- await fs14.writeFile(this.tokenFilePath, encrypted, { mode: 384 });
89864
- }
89865
- async getCredentials(serverName) {
89866
- const tokens = await this.loadTokens();
89867
- const credentials2 = tokens.get(serverName);
89868
- if (!credentials2) {
89869
- return null;
89870
- }
89871
- if (this.isTokenExpired(credentials2)) {
89872
- return null;
89873
- }
89874
- return credentials2;
89875
- }
89876
- async setCredentials(credentials2) {
89877
- this.validateCredentials(credentials2);
89878
- const tokens = await this.loadTokens();
89879
- const updatedCredentials = {
89880
- ...credentials2,
89881
- updatedAt: Date.now()
89882
- };
89883
- tokens.set(credentials2.serverName, updatedCredentials);
89884
- await this.saveTokens(tokens);
89885
- }
89886
- async deleteCredentials(serverName) {
89887
- const tokens = await this.loadTokens();
89888
- if (!tokens.has(serverName)) {
89889
- throw new Error(`No credentials found for ${serverName}`);
89890
- }
89891
- tokens.delete(serverName);
89892
- if (tokens.size === 0) {
89893
- try {
89894
- await fs14.unlink(this.tokenFilePath);
89895
- } catch (error40) {
89896
- const err2 = error40;
89897
- if (err2.code !== "ENOENT") {
89898
- throw error40;
89899
- }
89900
- }
89901
- } else {
89902
- await this.saveTokens(tokens);
89903
- }
89904
- }
89905
- async listServers() {
89906
- const tokens = await this.loadTokens();
89907
- return Array.from(tokens.keys());
89908
- }
89909
- async getAllCredentials() {
89910
- const tokens = await this.loadTokens();
89911
- const result2 = /* @__PURE__ */ new Map();
89912
- for (const [serverName, credentials2] of tokens) {
89913
- if (!this.isTokenExpired(credentials2)) {
89914
- result2.set(serverName, credentials2);
89915
- }
89916
- }
89917
- return result2;
89918
- }
89919
- async clearAll() {
89920
- try {
89921
- await fs14.unlink(this.tokenFilePath);
89922
- } catch (error40) {
89923
- const err2 = error40;
89924
- if (err2.code !== "ENOENT") {
89925
- throw error40;
89926
- }
89927
- }
89928
- }
89929
- };
89930
- }
89931
- });
89932
-
89933
- // packages/core/dist/src/mcp/token-storage/types.js
89934
- var TokenStorageType;
89935
- var init_types = __esm({
89936
- "packages/core/dist/src/mcp/token-storage/types.js"() {
89937
- "use strict";
89938
- (function(TokenStorageType2) {
89939
- TokenStorageType2["KEYCHAIN"] = "keychain";
89940
- TokenStorageType2["ENCRYPTED_FILE"] = "encrypted_file";
89941
- })(TokenStorageType || (TokenStorageType = {}));
89942
- }
89943
- });
89944
-
89945
89790
  // packages/core/dist/src/utils/events.js
89946
89791
  import { EventEmitter as EventEmitter4 } from "node:events";
89947
89792
  var CoreEvent, CoreEventEmitter, coreEvents;
@@ -90133,7 +89978,7 @@ function getHookSource(input) {
90133
89978
  return "project";
90134
89979
  }
90135
89980
  var PolicyDecision, VALID_HOOK_SOURCES, ApprovalMode, InProcessCheckerType, PRIORITY_SUBAGENT_TOOL;
90136
- var init_types2 = __esm({
89981
+ var init_types = __esm({
90137
89982
  "packages/core/dist/src/policy/types.js"() {
90138
89983
  "use strict";
90139
89984
  (function(PolicyDecision2) {
@@ -90163,10 +90008,10 @@ var init_types2 = __esm({
90163
90008
 
90164
90009
  // packages/core/dist/src/scheduler/types.js
90165
90010
  var ROOT_SCHEDULER_ID, CoreToolCallStatus;
90166
- var init_types3 = __esm({
90011
+ var init_types2 = __esm({
90167
90012
  "packages/core/dist/src/scheduler/types.js"() {
90168
90013
  "use strict";
90169
- init_types2();
90014
+ init_types();
90170
90015
  ROOT_SCHEDULER_ID = "root";
90171
90016
  (function(CoreToolCallStatus2) {
90172
90017
  CoreToolCallStatus2["Validating"] = "validating";
@@ -103572,7 +103417,7 @@ var init_schemaValidator = __esm({
103572
103417
 
103573
103418
  // packages/core/dist/src/confirmation-bus/types.js
103574
103419
  var MessageBusType, QuestionType;
103575
- var init_types4 = __esm({
103420
+ var init_types3 = __esm({
103576
103421
  "packages/core/dist/src/confirmation-bus/types.js"() {
103577
103422
  "use strict";
103578
103423
  init_node();
@@ -103667,8 +103512,8 @@ var init_tools = __esm({
103667
103512
  "use strict";
103668
103513
  init_tool_error();
103669
103514
  init_schemaValidator();
103670
- init_types4();
103671
- init_types2();
103515
+ init_types3();
103516
+ init_types();
103672
103517
  BaseToolInvocation = class {
103673
103518
  params;
103674
103519
  messageBus;
@@ -104589,7 +104434,7 @@ var init_ComponentLogger = __esm({
104589
104434
 
104590
104435
  // node_modules/@opentelemetry/api/build/esm/diag/types.js
104591
104436
  var DiagLogLevel;
104592
- var init_types5 = __esm({
104437
+ var init_types4 = __esm({
104593
104438
  "node_modules/@opentelemetry/api/build/esm/diag/types.js"() {
104594
104439
  (function(DiagLogLevel2) {
104595
104440
  DiagLogLevel2[DiagLogLevel2["NONE"] = 0] = "NONE";
@@ -104629,7 +104474,7 @@ function createLogLevelDiagLogger(maxLevel, logger6) {
104629
104474
  }
104630
104475
  var init_logLevelLogger = __esm({
104631
104476
  "node_modules/@opentelemetry/api/build/esm/diag/internal/logLevelLogger.js"() {
104632
- init_types5();
104477
+ init_types4();
104633
104478
  }
104634
104479
  });
104635
104480
 
@@ -104639,7 +104484,7 @@ var init_diag = __esm({
104639
104484
  "node_modules/@opentelemetry/api/build/esm/api/diag.js"() {
104640
104485
  init_ComponentLogger();
104641
104486
  init_logLevelLogger();
104642
- init_types5();
104487
+ init_types4();
104643
104488
  init_global_utils();
104644
104489
  __read2 = function(o3, n3) {
104645
104490
  var m3 = typeof Symbol === "function" && o3[Symbol.iterator];
@@ -105948,7 +105793,7 @@ var init_esm = __esm({
105948
105793
  init_utils();
105949
105794
  init_context();
105950
105795
  init_consoleLogger();
105951
- init_types5();
105796
+ init_types4();
105952
105797
  init_NoopMeter();
105953
105798
  init_Metric();
105954
105799
  init_TextMapPropagator();
@@ -106011,9 +105856,9 @@ var init_constants = __esm({
106011
105856
  });
106012
105857
 
106013
105858
  // packages/core/dist/src/utils/installationManager.js
106014
- import * as fs15 from "node:fs";
105859
+ import * as fs14 from "node:fs";
106015
105860
  import { randomUUID as randomUUID2 } from "node:crypto";
106016
- import * as path9 from "node:path";
105861
+ import * as path8 from "node:path";
106017
105862
  var InstallationManager;
106018
105863
  var init_installationManager = __esm({
106019
105864
  "packages/core/dist/src/utils/installationManager.js"() {
@@ -106026,17 +105871,17 @@ var init_installationManager = __esm({
106026
105871
  }
106027
105872
  readInstallationIdFromFile() {
106028
105873
  const installationIdFile = this.getInstallationIdPath();
106029
- if (fs15.existsSync(installationIdFile)) {
106030
- const installationid = fs15.readFileSync(installationIdFile, "utf-8").trim();
105874
+ if (fs14.existsSync(installationIdFile)) {
105875
+ const installationid = fs14.readFileSync(installationIdFile, "utf-8").trim();
106031
105876
  return installationid || null;
106032
105877
  }
106033
105878
  return null;
106034
105879
  }
106035
105880
  writeInstallationIdToFile(installationId) {
106036
105881
  const installationIdFile = this.getInstallationIdPath();
106037
- const dir = path9.dirname(installationIdFile);
106038
- fs15.mkdirSync(dir, { recursive: true });
106039
- fs15.writeFileSync(installationIdFile, installationId, "utf-8");
105882
+ const dir = path8.dirname(installationIdFile);
105883
+ fs14.mkdirSync(dir, { recursive: true });
105884
+ fs14.writeFileSync(installationIdFile, installationId, "utf-8");
106040
105885
  }
106041
105886
  /**
106042
105887
  * Retrieves the installation ID from a file, creating it if it doesn't exist.
@@ -109529,10 +109374,10 @@ function makeChatCompressionEvent({ tokens_before, tokens_after }) {
109529
109374
  };
109530
109375
  }
109531
109376
  var EVENT_CLI_CONFIG, StartSessionEvent, EndSessionEvent, EVENT_USER_PROMPT, UserPromptEvent, EVENT_TOOL_CALL, ToolCallEvent, EVENT_API_REQUEST, ApiRequestEvent, EVENT_API_ERROR, ApiErrorEvent, EVENT_API_RESPONSE, EVENT_GEN_AI_OPERATION_DETAILS, ApiResponseEvent, EVENT_FLASH_FALLBACK, FlashFallbackEvent, EVENT_RIPGREP_FALLBACK, RipgrepFallbackEvent, LoopType, LoopDetectedEvent, LoopDetectionDisabledEvent, EVENT_NEXT_SPEAKER_CHECK, NextSpeakerCheckEvent, EVENT_CONSECA_POLICY_GENERATION, ConsecaPolicyGenerationEvent, EVENT_CONSECA_VERDICT, ConsecaVerdictEvent, EVENT_SLASH_COMMAND, SlashCommandStatus, EVENT_REWIND, RewindEvent, EVENT_CHAT_COMPRESSION2, EVENT_MALFORMED_JSON_RESPONSE, MalformedJsonResponseEvent, IdeConnectionType, EVENT_IDE_CONNECTION, IdeConnectionEvent, EVENT_CONVERSATION_FINISHED, ConversationFinishedEvent, EVENT_FILE_OPERATION, FileOperationEvent, EVENT_INVALID_CHUNK, InvalidChunkEvent, EVENT_CONTENT_RETRY, ContentRetryEvent, EVENT_CONTENT_RETRY_FAILURE, ContentRetryFailureEvent, EVENT_MODEL_ROUTING, ModelRoutingEvent, EVENT_EXTENSION_INSTALL, ExtensionInstallEvent, EVENT_TOOL_OUTPUT_TRUNCATED, ToolOutputTruncatedEvent, EVENT_TOOL_OUTPUT_MASKING, ToolOutputMaskingEvent, EVENT_EXTENSION_UNINSTALL, ExtensionUninstallEvent, EVENT_EXTENSION_UPDATE, ExtensionUpdateEvent, EVENT_EXTENSION_ENABLE, ExtensionEnableEvent, EVENT_MODEL_SLASH_COMMAND, ModelSlashCommandEvent, EVENT_LLM_LOOP_CHECK, LlmLoopCheckEvent, EVENT_EXTENSION_DISABLE, ExtensionDisableEvent, EVENT_EDIT_STRATEGY, EditStrategyEvent, EVENT_EDIT_CORRECTION, EditCorrectionEvent, EVENT_STARTUP_STATS, StartupStatsEvent, BaseAgentEvent, EVENT_AGENT_START, AgentStartEvent, EVENT_AGENT_FINISH, AgentFinishEvent, EVENT_AGENT_RECOVERY_ATTEMPT, RecoveryAttemptEvent, EVENT_WEB_FETCH_FALLBACK_ATTEMPT, WebFetchFallbackAttemptEvent, EVENT_HOOK_CALL, EVENT_APPROVAL_MODE_SWITCH, ApprovalModeSwitchEvent, EVENT_APPROVAL_MODE_DURATION, ApprovalModeDurationEvent, EVENT_PLAN_EXECUTION, PlanExecutionEvent, HookCallEvent, EVENT_KEYCHAIN_AVAILABILITY, KeychainAvailabilityEvent, EVENT_TOKEN_STORAGE_INITIALIZATION, TokenStorageInitializationEvent;
109532
- var init_types6 = __esm({
109377
+ var init_types5 = __esm({
109533
109378
  "packages/core/dist/src/telemetry/types.js"() {
109534
109379
  "use strict";
109535
- init_types3();
109380
+ init_types2();
109536
109381
  init_mcp_tool();
109537
109382
  init_contentGenerator();
109538
109383
  init_tool_call_decision();
@@ -111904,7 +111749,7 @@ function custom(check2, _params = {}, fatal) {
111904
111749
  return ZodAny.create();
111905
111750
  }
111906
111751
  var ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex2, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, BRAND, ZodBranded, ZodPipeline, ZodReadonly, late, ZodFirstPartyTypeKind, instanceOfType, stringType, numberType, nanType, bigIntType, booleanType, dateType, symbolType, undefinedType, nullType, anyType, unknownType, neverType, voidType, arrayType, objectType, strictObjectType, unionType, discriminatedUnionType, intersectionType, tupleType, recordType, mapType, setType, functionType, lazyType, literalType, enumType, nativeEnumType, promiseType, effectsType, optionalType, nullableType, preprocessType, pipelineType, ostring, onumber, oboolean, coerce, NEVER;
111907
- var init_types7 = __esm({
111752
+ var init_types6 = __esm({
111908
111753
  "node_modules/zod/v3/types.js"() {
111909
111754
  init_ZodError();
111910
111755
  init_errors2();
@@ -115284,7 +115129,7 @@ var init_external = __esm({
115284
115129
  init_parseUtil();
115285
115130
  init_typeAliases();
115286
115131
  init_util();
115287
- init_types7();
115132
+ init_types6();
115288
115133
  init_ZodError();
115289
115134
  }
115290
115135
  });
@@ -115406,17 +115251,137 @@ var init_markdownUtils = __esm({
115406
115251
  }
115407
115252
  });
115408
115253
 
115254
+ // packages/core/dist/src/services/fileKeychain.js
115255
+ import { promises as fs15 } from "node:fs";
115256
+ import * as path9 from "node:path";
115257
+ import * as os6 from "node:os";
115258
+ import * as crypto8 from "node:crypto";
115259
+ var FileKeychain;
115260
+ var init_fileKeychain = __esm({
115261
+ "packages/core/dist/src/services/fileKeychain.js"() {
115262
+ "use strict";
115263
+ init_paths();
115264
+ FileKeychain = class {
115265
+ tokenFilePath;
115266
+ encryptionKey;
115267
+ constructor() {
115268
+ const configDir = path9.join(homedir(), GEMINI_DIR);
115269
+ this.tokenFilePath = path9.join(configDir, "gemini-credentials.json");
115270
+ this.encryptionKey = this.deriveEncryptionKey();
115271
+ }
115272
+ deriveEncryptionKey() {
115273
+ const salt = `${os6.hostname()}-${os6.userInfo().username}-gemini-cli`;
115274
+ return crypto8.scryptSync("gemini-cli-oauth", salt, 32);
115275
+ }
115276
+ encrypt(text) {
115277
+ const iv = crypto8.randomBytes(16);
115278
+ const cipher = crypto8.createCipheriv("aes-256-gcm", this.encryptionKey, iv);
115279
+ let encrypted = cipher.update(text, "utf8", "hex");
115280
+ encrypted += cipher.final("hex");
115281
+ const authTag = cipher.getAuthTag();
115282
+ return iv.toString("hex") + ":" + authTag.toString("hex") + ":" + encrypted;
115283
+ }
115284
+ decrypt(encryptedData) {
115285
+ const parts2 = encryptedData.split(":");
115286
+ if (parts2.length !== 3) {
115287
+ throw new Error("Invalid encrypted data format");
115288
+ }
115289
+ const iv = Buffer.from(parts2[0], "hex");
115290
+ const authTag = Buffer.from(parts2[1], "hex");
115291
+ const encrypted = parts2[2];
115292
+ const decipher = crypto8.createDecipheriv("aes-256-gcm", this.encryptionKey, iv);
115293
+ decipher.setAuthTag(authTag);
115294
+ let decrypted = decipher.update(encrypted, "hex", "utf8");
115295
+ decrypted += decipher.final("utf8");
115296
+ return decrypted;
115297
+ }
115298
+ async ensureDirectoryExists() {
115299
+ const dir = path9.dirname(this.tokenFilePath);
115300
+ await fs15.mkdir(dir, { recursive: true, mode: 448 });
115301
+ }
115302
+ async loadData() {
115303
+ try {
115304
+ const data = await fs15.readFile(this.tokenFilePath, "utf-8");
115305
+ const decrypted = this.decrypt(data);
115306
+ return JSON.parse(decrypted);
115307
+ } catch (error40) {
115308
+ const err2 = error40;
115309
+ if (err2.code === "ENOENT") {
115310
+ return {};
115311
+ }
115312
+ if (err2.message?.includes("Invalid encrypted data format") || err2.message?.includes("Unsupported state or unable to authenticate data")) {
115313
+ throw new Error(`Corrupted credentials file detected at: ${this.tokenFilePath}
115314
+ Please delete or rename this file to resolve the issue.`);
115315
+ }
115316
+ throw error40;
115317
+ }
115318
+ }
115319
+ async saveData(data) {
115320
+ await this.ensureDirectoryExists();
115321
+ const json4 = JSON.stringify(data, null, 2);
115322
+ const encrypted = this.encrypt(json4);
115323
+ await fs15.writeFile(this.tokenFilePath, encrypted, { mode: 384 });
115324
+ }
115325
+ async getPassword(service, account) {
115326
+ const data = await this.loadData();
115327
+ return data[service]?.[account] ?? null;
115328
+ }
115329
+ async setPassword(service, account, password) {
115330
+ const data = await this.loadData();
115331
+ if (!data[service]) {
115332
+ data[service] = {};
115333
+ }
115334
+ data[service][account] = password;
115335
+ await this.saveData(data);
115336
+ }
115337
+ async deletePassword(service, account) {
115338
+ const data = await this.loadData();
115339
+ if (data[service] && account in data[service]) {
115340
+ delete data[service][account];
115341
+ if (Object.keys(data[service]).length === 0) {
115342
+ delete data[service];
115343
+ }
115344
+ if (Object.keys(data).length === 0) {
115345
+ try {
115346
+ await fs15.unlink(this.tokenFilePath);
115347
+ } catch (error40) {
115348
+ const err2 = error40;
115349
+ if (err2.code !== "ENOENT") {
115350
+ throw error40;
115351
+ }
115352
+ }
115353
+ } else {
115354
+ await this.saveData(data);
115355
+ }
115356
+ return true;
115357
+ }
115358
+ return false;
115359
+ }
115360
+ async findCredentials(service) {
115361
+ const data = await this.loadData();
115362
+ const serviceData = data[service] || {};
115363
+ return Object.entries(serviceData).map(([account, password]) => ({
115364
+ account,
115365
+ password
115366
+ }));
115367
+ }
115368
+ };
115369
+ }
115370
+ });
115371
+
115409
115372
  // packages/core/dist/src/services/keychainService.js
115410
115373
  import * as crypto9 from "node:crypto";
115411
- var KeychainService;
115374
+ var FORCE_FILE_STORAGE_ENV_VAR, KeychainService;
115412
115375
  var init_keychainService = __esm({
115413
115376
  "packages/core/dist/src/services/keychainService.js"() {
115414
115377
  "use strict";
115415
115378
  init_events();
115416
- init_types6();
115379
+ init_types5();
115417
115380
  init_debugLogger();
115418
115381
  init_keychainTypes();
115419
115382
  init_markdownUtils();
115383
+ init_fileKeychain();
115384
+ FORCE_FILE_STORAGE_ENV_VAR = "GEMINI_FORCE_FILE_STORAGE";
115420
115385
  KeychainService = class {
115421
115386
  serviceName;
115422
115387
  // Track an ongoing initialization attempt to avoid race conditions.
@@ -115430,6 +115395,13 @@ var init_keychainService = __esm({
115430
115395
  async isAvailable() {
115431
115396
  return await this.getKeychain() !== null;
115432
115397
  }
115398
+ /**
115399
+ * Returns true if the service is using the encrypted file fallback backend.
115400
+ */
115401
+ async isUsingFileFallback() {
115402
+ const keychain = await this.getKeychain();
115403
+ return keychain instanceof FileKeychain;
115404
+ }
115433
115405
  /**
115434
115406
  * Retrieves a secret for the given account.
115435
115407
  * @throws Error if the keychain is unavailable.
@@ -115476,20 +115448,27 @@ var init_keychainService = __esm({
115476
115448
  // High-level orchestration of the loading and testing cycle.
115477
115449
  async initializeKeychain() {
115478
115450
  let resultKeychain = null;
115479
- try {
115480
- const keychainModule = await this.loadKeychainModule();
115481
- if (keychainModule) {
115482
- if (await this.isKeychainFunctional(keychainModule)) {
115483
- resultKeychain = keychainModule;
115484
- } else {
115485
- debugLogger.log("Keychain functional verification failed");
115451
+ const forceFileStorage = process.env[FORCE_FILE_STORAGE_ENV_VAR] === "true";
115452
+ if (!forceFileStorage) {
115453
+ try {
115454
+ const keychainModule = await this.loadKeychainModule();
115455
+ if (keychainModule) {
115456
+ if (await this.isKeychainFunctional(keychainModule)) {
115457
+ resultKeychain = keychainModule;
115458
+ } else {
115459
+ debugLogger.log("Keychain functional verification failed");
115460
+ }
115486
115461
  }
115462
+ } catch (error40) {
115463
+ const message = error40 instanceof Error ? error40.message : String(error40);
115464
+ debugLogger.log("Keychain initialization encountered an error:", message);
115487
115465
  }
115488
- } catch (error40) {
115489
- const message = error40 instanceof Error ? error40.message : String(error40);
115490
- debugLogger.log("Keychain initialization encountered an error:", message);
115491
115466
  }
115492
- coreEvents.emitTelemetryKeychainAvailability(new KeychainAvailabilityEvent(resultKeychain !== null));
115467
+ coreEvents.emitTelemetryKeychainAvailability(new KeychainAvailabilityEvent(resultKeychain !== null && !forceFileStorage));
115468
+ if (!resultKeychain) {
115469
+ resultKeychain = new FileKeychain();
115470
+ debugLogger.log("Using FileKeychain fallback for secure storage.");
115471
+ }
115493
115472
  return resultKeychain;
115494
115473
  }
115495
115474
  // Low-level dynamic loading and structural validation.
@@ -115518,10 +115497,6 @@ var init_keychainService = __esm({
115518
115497
  });
115519
115498
 
115520
115499
  // packages/core/dist/src/mcp/token-storage/keychain-token-storage.js
115521
- var keychain_token_storage_exports = {};
115522
- __export(keychain_token_storage_exports, {
115523
- KeychainTokenStorage: () => KeychainTokenStorage
115524
- });
115525
115500
  var KeychainTokenStorage;
115526
115501
  var init_keychain_token_storage = __esm({
115527
115502
  "packages/core/dist/src/mcp/token-storage/keychain-token-storage.js"() {
@@ -115622,6 +115597,9 @@ var init_keychain_token_storage = __esm({
115622
115597
  async isAvailable() {
115623
115598
  return this.keychainService.isAvailable();
115624
115599
  }
115600
+ async isUsingFileFallback() {
115601
+ return this.keychainService.isUsingFileFallback();
115602
+ }
115625
115603
  async setSecret(key, value) {
115626
115604
  await this.keychainService.setPassword(`${SECRET_PREFIX}${key}`, value);
115627
115605
  }
@@ -115647,17 +115625,29 @@ var init_keychain_token_storage = __esm({
115647
115625
  }
115648
115626
  });
115649
115627
 
115628
+ // packages/core/dist/src/mcp/token-storage/types.js
115629
+ var TokenStorageType;
115630
+ var init_types7 = __esm({
115631
+ "packages/core/dist/src/mcp/token-storage/types.js"() {
115632
+ "use strict";
115633
+ (function(TokenStorageType2) {
115634
+ TokenStorageType2["KEYCHAIN"] = "keychain";
115635
+ TokenStorageType2["ENCRYPTED_FILE"] = "encrypted_file";
115636
+ })(TokenStorageType || (TokenStorageType = {}));
115637
+ }
115638
+ });
115639
+
115650
115640
  // packages/core/dist/src/mcp/token-storage/hybrid-token-storage.js
115651
- var FORCE_FILE_STORAGE_ENV_VAR, HybridTokenStorage;
115641
+ var HybridTokenStorage;
115652
115642
  var init_hybrid_token_storage = __esm({
115653
115643
  "packages/core/dist/src/mcp/token-storage/hybrid-token-storage.js"() {
115654
115644
  "use strict";
115655
115645
  init_base_token_storage();
115656
- init_file_token_storage();
115657
- init_types();
115646
+ init_keychain_token_storage();
115647
+ init_types7();
115658
115648
  init_events();
115659
- init_types6();
115660
- FORCE_FILE_STORAGE_ENV_VAR = "GEMINI_FORCE_FILE_STORAGE";
115649
+ init_types5();
115650
+ init_keychainService();
115661
115651
  HybridTokenStorage = class extends BaseTokenStorage {
115662
115652
  storage = null;
115663
115653
  storageType = null;
@@ -115667,23 +115657,11 @@ var init_hybrid_token_storage = __esm({
115667
115657
  }
115668
115658
  async initializeStorage() {
115669
115659
  const forceFileStorage = process.env[FORCE_FILE_STORAGE_ENV_VAR] === "true";
115670
- if (!forceFileStorage) {
115671
- try {
115672
- const { KeychainTokenStorage: KeychainTokenStorage2 } = await Promise.resolve().then(() => (init_keychain_token_storage(), keychain_token_storage_exports));
115673
- const keychainStorage = new KeychainTokenStorage2(this.serviceName);
115674
- const isAvailable = await keychainStorage.isAvailable();
115675
- if (isAvailable) {
115676
- this.storage = keychainStorage;
115677
- this.storageType = TokenStorageType.KEYCHAIN;
115678
- coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent("keychain", forceFileStorage));
115679
- return this.storage;
115680
- }
115681
- } catch (_e2) {
115682
- }
115683
- }
115684
- this.storage = new FileTokenStorage(this.serviceName);
115685
- this.storageType = TokenStorageType.ENCRYPTED_FILE;
115686
- coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent("encrypted_file", forceFileStorage));
115660
+ const keychainStorage = new KeychainTokenStorage(this.serviceName);
115661
+ this.storage = keychainStorage;
115662
+ const isUsingFileFallback = await keychainStorage.isUsingFileFallback();
115663
+ this.storageType = isUsingFileFallback ? TokenStorageType.ENCRYPTED_FILE : TokenStorageType.KEYCHAIN;
115664
+ coreEvents.emitTelemetryTokenStorageType(new TokenStorageInitializationEvent(isUsingFileFallback ? "encrypted_file" : "keychain", forceFileStorage));
115687
115665
  return this.storage;
115688
115666
  }
115689
115667
  async getStorage() {
@@ -115831,10 +115809,10 @@ var DEFAULT_SERVICE_NAME, FORCE_ENCRYPTED_FILE_ENV_VAR;
115831
115809
  var init_token_storage = __esm({
115832
115810
  "packages/core/dist/src/mcp/token-storage/index.js"() {
115833
115811
  "use strict";
115834
- init_types();
115812
+ init_types7();
115835
115813
  init_base_token_storage();
115836
- init_file_token_storage();
115837
115814
  init_hybrid_token_storage();
115815
+ init_keychain_token_storage();
115838
115816
  DEFAULT_SERVICE_NAME = "gemini-cli-oauth";
115839
115817
  FORCE_ENCRYPTED_FILE_ENV_VAR = "GEMINI_FORCE_ENCRYPTED_FILE_STORAGE";
115840
115818
  }
@@ -195144,8 +195122,8 @@ var GIT_COMMIT_INFO, CLI_VERSION;
195144
195122
  var init_git_commit = __esm({
195145
195123
  "packages/core/dist/src/generated/git-commit.js"() {
195146
195124
  "use strict";
195147
- GIT_COMMIT_INFO = "4085b4f8e";
195148
- CLI_VERSION = "0.34.0-preview.2";
195125
+ GIT_COMMIT_INFO = "810cd6716";
195126
+ CLI_VERSION = "0.34.0-preview.3";
195149
195127
  }
195150
195128
  });
195151
195129
 
@@ -273285,7 +273263,7 @@ var createInitialRoleMetrics, createInitialModelMetrics, createInitialMetrics, U
273285
273263
  var init_uiTelemetry = __esm({
273286
273264
  "packages/core/dist/src/telemetry/uiTelemetry.js"() {
273287
273265
  "use strict";
273288
- init_types6();
273266
+ init_types5();
273289
273267
  init_tool_call_decision();
273290
273268
  createInitialRoleMetrics = () => ({
273291
273269
  totalRequests: 0,
@@ -274476,7 +274454,7 @@ var init_startupProfiler = __esm({
274476
274454
  "use strict";
274477
274455
  init_metrics2();
274478
274456
  init_debugLogger();
274479
- init_types6();
274457
+ init_types5();
274480
274458
  init_loggers();
274481
274459
  StartupProfiler = class _StartupProfiler {
274482
274460
  phases = /* @__PURE__ */ new Map();
@@ -274634,9 +274612,9 @@ var init_telemetry = __esm({
274634
274612
  init_gcp_exporters();
274635
274613
  init_loggers();
274636
274614
  init_conseca_logger();
274637
- init_types6();
274615
+ init_types5();
274638
274616
  init_llmRole();
274639
- init_types6();
274617
+ init_types5();
274640
274618
  init_esm();
274641
274619
  init_esm2();
274642
274620
  init_uiTelemetry();
@@ -275547,7 +275525,7 @@ var init_loggers = __esm({
275547
275525
  "use strict";
275548
275526
  import_api_logs2 = __toESM(require_src12(), 1);
275549
275527
  init_constants();
275550
- init_types6();
275528
+ init_types5();
275551
275529
  init_metrics2();
275552
275530
  init_sdk();
275553
275531
  init_uiTelemetry();
@@ -325985,7 +325963,7 @@ var init_baseLlmClient = __esm({
325985
325963
  init_errorReporting();
325986
325964
  init_errors();
325987
325965
  init_loggers();
325988
- init_types6();
325966
+ init_types5();
325989
325967
  init_retry();
325990
325968
  init_policyHelpers();
325991
325969
  DEFAULT_MAX_ATTEMPTS2 = 5;
@@ -326213,7 +326191,7 @@ var init_llm_edit_fixer = __esm({
326213
326191
  init_mnemonist();
326214
326192
  init_promptIdContext();
326215
326193
  init_debugLogger();
326216
- init_types6();
326194
+ init_types5();
326217
326195
  MAX_CACHE_SIZE = 50;
326218
326196
  GENERATE_JSON_TIMEOUT_MS = 4e4;
326219
326197
  EDIT_SYS_PROMPT = `
@@ -326790,15 +326768,15 @@ var init_edit = __esm({
326790
326768
  init_paths();
326791
326769
  init_errors();
326792
326770
  init_pathCorrector();
326771
+ init_types();
326793
326772
  init_types2();
326794
- init_types3();
326795
326773
  init_diffOptions();
326796
326774
  init_diff_utils();
326797
326775
  init_modifiable_tool();
326798
326776
  init_ide_client();
326799
326777
  init_llm_edit_fixer();
326800
326778
  init_textUtils();
326801
- init_types6();
326779
+ init_types5();
326802
326780
  init_loggers();
326803
326781
  init_tool_names();
326804
326782
  init_debugLogger();
@@ -327387,7 +327365,7 @@ var init_editCorrector = __esm({
327387
327365
  init_promptIdContext();
327388
327366
  init_debugLogger();
327389
327367
  init_mnemonist();
327390
- init_types6();
327368
+ init_types5();
327391
327369
  CODE_CORRECTION_SYSTEM_PROMPT = `
327392
327370
  You are an expert code-editing assistant. Your task is to analyze a failed edit attempt and provide a corrected version of the text snippets.
327393
327371
  The correction should be as minimal as possible, staying very close to the original.
@@ -328686,7 +328664,7 @@ var init_write_file = __esm({
328686
328664
  "use strict";
328687
328665
  init_libesm();
328688
328666
  init_tool_names();
328689
- init_types2();
328667
+ init_types();
328690
328668
  init_tools();
328691
328669
  init_utils4();
328692
328670
  init_tool_error();
@@ -328698,7 +328676,7 @@ var init_write_file = __esm({
328698
328676
  init_diff_utils();
328699
328677
  init_ide_client();
328700
328678
  init_loggers();
328701
- init_types6();
328679
+ init_types5();
328702
328680
  init_metrics2();
328703
328681
  init_fileUtils();
328704
328682
  init_language_detection();
@@ -334191,7 +334169,7 @@ function getVersion() {
334191
334169
  }
334192
334170
  versionPromise = (async () => {
334193
334171
  const pkgJson = await getPackageJson(__dirname3);
334194
- return "0.34.0-preview.2";
334172
+ return "0.34.0-preview.3";
334195
334173
  })();
334196
334174
  return versionPromise;
334197
334175
  }
@@ -334278,7 +334256,7 @@ var init_server = __esm({
334278
334256
  init_converter();
334279
334257
  init_telemetry2();
334280
334258
  init_client_metadata();
334281
- init_types6();
334259
+ init_types5();
334282
334260
  CODE_ASSIST_ENDPOINT = "https://cloudcode-pa.googleapis.com";
334283
334261
  CODE_ASSIST_API_VERSION = "v1internal";
334284
334262
  GENERATE_CONTENT_RETRY_DELAY_IN_MILLISECONDS = 1e3;
@@ -335015,7 +334993,7 @@ var LoggingContentGenerator;
335015
334993
  var init_loggingContentGenerator = __esm({
335016
334994
  "packages/core/dist/src/core/loggingContentGenerator.js"() {
335017
334995
  "use strict";
335018
- init_types6();
334996
+ init_types5();
335019
334997
  init_loggers();
335020
334998
  init_server();
335021
334999
  init_converter();
@@ -335998,7 +335976,7 @@ var init_tool_registry = __esm({
335998
335976
  "packages/core/dist/src/tools/tool-registry.js"() {
335999
335977
  "use strict";
336000
335978
  init_tools();
336001
- init_types2();
335979
+ init_types();
336002
335980
  init_mcp_tool();
336003
335981
  import_shell_quote = __toESM(require_shell_quote(), 1);
336004
335982
  init_tool_error();
@@ -337582,7 +337560,7 @@ var init_read_file = __esm({
337582
337560
  init_metrics2();
337583
337561
  init_telemetry_utils();
337584
337562
  init_loggers();
337585
- init_types6();
337563
+ init_types5();
337586
337564
  init_tool_names();
337587
337565
  init_fileDiscoveryService();
337588
337566
  init_coreTools();
@@ -387965,7 +387943,7 @@ var init_web_fetch = __esm({
387965
387943
  init_utils4();
387966
387944
  init_tool_error();
387967
387945
  init_errors();
387968
- init_types2();
387946
+ init_types();
387969
387947
  init_partUtils();
387970
387948
  init_fetch();
387971
387949
  init_textUtils();
@@ -388572,7 +388550,7 @@ var init_ask_user = __esm({
388572
388550
  "use strict";
388573
388551
  init_tools();
388574
388552
  init_tool_error();
388575
- init_types4();
388553
+ init_types3();
388576
388554
  init_tool_names();
388577
388555
  init_coreTools();
388578
388556
  init_resolver();
@@ -388769,7 +388747,7 @@ function getPlanModeExitMessage(newMode, isManual = false) {
388769
388747
  var init_approvalModeUtils = __esm({
388770
388748
  "packages/core/dist/src/utils/approvalModeUtils.js"() {
388771
388749
  "use strict";
388772
- init_types2();
388750
+ init_types();
388773
388751
  init_checks4();
388774
388752
  }
388775
388753
  });
@@ -388783,10 +388761,10 @@ var init_exit_plan_mode = __esm({
388783
388761
  init_tools();
388784
388762
  init_tool_names();
388785
388763
  init_planUtils();
388786
- init_types2();
388764
+ init_types();
388787
388765
  init_paths();
388788
388766
  init_loggers();
388789
- init_types6();
388767
+ init_types5();
388790
388768
  init_coreTools();
388791
388769
  init_resolver();
388792
388770
  init_approvalModeUtils();
@@ -388937,7 +388915,7 @@ var init_enter_plan_mode = __esm({
388937
388915
  "use strict";
388938
388916
  init_tools();
388939
388917
  init_tool_names();
388940
- init_types2();
388918
+ init_types();
388941
388919
  init_coreTools();
388942
388920
  init_resolver();
388943
388921
  EnterPlanModeTool = class _EnterPlanModeTool extends BaseDeclarativeTool {
@@ -389220,8 +389198,8 @@ var init_tool_utils = __esm({
389220
389198
  init_src2();
389221
389199
  init_shell_utils();
389222
389200
  import_fast_levenshtein2 = __toESM(require_levenshtein(), 1);
389201
+ init_types();
389223
389202
  init_types2();
389224
- init_types3();
389225
389203
  init_tool_names();
389226
389204
  }
389227
389205
  });
@@ -389842,7 +389820,7 @@ var init_tool_executor = __esm({
389842
389820
  init_coreToolHookTriggers();
389843
389821
  init_fileUtils();
389844
389822
  init_generateContentResponseUtilities();
389845
- init_types3();
389823
+ init_types2();
389846
389824
  init_constants();
389847
389825
  ToolExecutor = class {
389848
389826
  config;
@@ -390168,8 +390146,8 @@ var init_policy = __esm({
390168
390146
  "packages/core/dist/src/scheduler/policy.js"() {
390169
390147
  "use strict";
390170
390148
  init_tool_error();
390171
- init_types2();
390172
- init_types4();
390149
+ init_types();
390150
+ init_types3();
390173
390151
  init_tools();
390174
390152
  init_utils4();
390175
390153
  init_paths();
@@ -390184,15 +390162,15 @@ var init_coreToolScheduler = __esm({
390184
390162
  "packages/core/dist/src/core/coreToolScheduler.js"() {
390185
390163
  "use strict";
390186
390164
  init_tools();
390187
- init_types2();
390165
+ init_types();
390188
390166
  init_loggers();
390189
390167
  init_tool_error();
390190
- init_types6();
390168
+ init_types5();
390191
390169
  init_trace3();
390192
390170
  init_tool_modifier();
390193
390171
  init_tool_utils();
390194
- init_types4();
390195
390172
  init_types3();
390173
+ init_types2();
390196
390174
  init_tool_executor();
390197
390175
  init_mcp_tool();
390198
390176
  init_policy();
@@ -391388,7 +391366,7 @@ var init_geminiChat = __esm({
391388
391366
  init_tools();
391389
391367
  init_loggers();
391390
391368
  init_chatRecordingService();
391391
- init_types6();
391369
+ init_types5();
391392
391370
  init_handler();
391393
391371
  init_messageInspectors();
391394
391372
  init_geminiRequest();
@@ -391965,8 +391943,8 @@ var init_turn = __esm({
391965
391943
  init_geminiChat();
391966
391944
  init_thoughtUtils();
391967
391945
  init_generateContentResponseUtilities();
391968
- init_types6();
391969
- init_types3();
391946
+ init_types5();
391947
+ init_types2();
391970
391948
  (function(GeminiEventType2) {
391971
391949
  GeminiEventType2["Content"] = "content";
391972
391950
  GeminiEventType2["ToolCallRequest"] = "tool_call_request";
@@ -393586,7 +393564,7 @@ var init_promptProvider = __esm({
393586
393564
  "packages/core/dist/src/prompts/promptProvider.js"() {
393587
393565
  "use strict";
393588
393566
  init_paths();
393589
- init_types2();
393567
+ init_types();
393590
393568
  init_snippets();
393591
393569
  init_snippets_legacy();
393592
393570
  init_utils6();
@@ -393796,7 +393774,7 @@ var init_nextSpeakerChecker = __esm({
393796
393774
  "use strict";
393797
393775
  init_messageInspectors();
393798
393776
  init_debugLogger();
393799
- init_types6();
393777
+ init_types5();
393800
393778
  CHECK_PROMPT = `Analyze *only* the content and structure of your immediately preceding response (your last turn in the conversation history). Based *strictly* on that response, determine who should logically speak next: the 'user' or the 'model' (you).
393801
393779
  **Decision Rules (apply in order):**
393802
393780
  1. **Model Continues:** If your last response explicitly states an immediate next action *you* intend to take (e.g., "Next, I will...", "Now I'll process...", "Moving on to analyze...", indicates an intended tool call that didn't execute), OR if the response seems clearly incomplete (cut off mid-thought without a natural conclusion), then the **'model'** should speak next.
@@ -393850,7 +393828,7 @@ var init_loopDetectionService = __esm({
393850
393828
  "use strict";
393851
393829
  init_turn();
393852
393830
  init_loggers();
393853
- init_types6();
393831
+ init_types5();
393854
393832
  init_messageInspectors();
393855
393833
  init_debugLogger();
393856
393834
  TOOL_CALL_LOOP_THRESHOLD = 5;
@@ -394435,7 +394413,7 @@ var init_chatCompressionService = __esm({
394435
394413
  init_prompts();
394436
394414
  init_partUtils();
394437
394415
  init_loggers();
394438
- init_types6();
394416
+ init_types5();
394439
394417
  init_fileUtils();
394440
394418
  init_debugLogger();
394441
394419
  init_environmentContext();
@@ -394627,7 +394605,7 @@ var init_toolOutputMaskingService = __esm({
394627
394605
  init_fileUtils();
394628
394606
  init_loggers();
394629
394607
  init_tool_names();
394630
- init_types6();
394608
+ init_types5();
394631
394609
  DEFAULT_TOOL_PROTECTION_THRESHOLD = 5e4;
394632
394610
  DEFAULT_MIN_PRUNABLE_TOKENS_THRESHOLD = 3e4;
394633
394611
  DEFAULT_PROTECT_LATEST_TURN = true;
@@ -394871,7 +394849,7 @@ var init_client3 = __esm({
394871
394849
  init_chatCompressionService();
394872
394850
  init_ideContext();
394873
394851
  init_loggers();
394874
- init_types6();
394852
+ init_types5();
394875
394853
  init_uiTelemetry();
394876
394854
  init_handler();
394877
394855
  init_debugLogger();
@@ -401260,7 +401238,7 @@ var init_classifierStrategy = __esm({
401260
401238
  init_node();
401261
401239
  init_messageInspectors();
401262
401240
  init_debugLogger();
401263
- init_types6();
401241
+ init_types5();
401264
401242
  HISTORY_TURNS_FOR_CONTEXT2 = 4;
401265
401243
  HISTORY_SEARCH_WINDOW2 = 20;
401266
401244
  FLASH_MODEL2 = "flash";
@@ -401425,7 +401403,7 @@ var init_numericalClassifierStrategy = __esm({
401425
401403
  init_models();
401426
401404
  init_node();
401427
401405
  init_debugLogger();
401428
- init_types6();
401406
+ init_types5();
401429
401407
  HISTORY_TURNS_FOR_CONTEXT3 = 8;
401430
401408
  FLASH_MODEL3 = "flash";
401431
401409
  PRO_MODEL3 = "pro";
@@ -401695,7 +401673,7 @@ var init_approvalModeStrategy = __esm({
401695
401673
  "packages/core/dist/src/routing/strategies/approvalModeStrategy.js"() {
401696
401674
  "use strict";
401697
401675
  init_models();
401698
- init_types2();
401676
+ init_types();
401699
401677
  ApprovalModeStrategy = class {
401700
401678
  name = "approval-mode";
401701
401679
  async route(context2, config2, _baseLlmClient) {
@@ -401754,7 +401732,7 @@ var init_modelRouterService = __esm({
401754
401732
  init_overrideStrategy();
401755
401733
  init_approvalModeStrategy();
401756
401734
  init_loggers();
401757
- init_types6();
401735
+ init_types5();
401758
401736
  init_debugLogger();
401759
401737
  ModelRouterService = class {
401760
401738
  config;
@@ -403477,8 +403455,8 @@ var MessageBus;
403477
403455
  var init_message_bus = __esm({
403478
403456
  "packages/core/dist/src/confirmation-bus/message-bus.js"() {
403479
403457
  "use strict";
403480
- init_types2();
403481
- init_types4();
403458
+ init_types();
403459
+ init_types3();
403482
403460
  init_safeJsonStringify();
403483
403461
  init_debugLogger();
403484
403462
  MessageBus = class extends EventEmitter12 {
@@ -403738,7 +403716,7 @@ var init_policy_engine = __esm({
403738
403716
  "packages/core/dist/src/policy/policy-engine.js"() {
403739
403717
  "use strict";
403740
403718
  init_node();
403741
- init_types2();
403719
+ init_types();
403742
403720
  init_stable_stringify();
403743
403721
  init_debugLogger();
403744
403722
  init_protocol2();
@@ -405123,7 +405101,7 @@ var init_hookEventHandler = __esm({
405123
405101
  init_types16();
405124
405102
  init_hookTranslator();
405125
405103
  init_loggers();
405126
- init_types6();
405104
+ init_types5();
405127
405105
  init_debugLogger();
405128
405106
  init_events();
405129
405107
  HookEventHandler = class {
@@ -413886,7 +413864,7 @@ var init_registry = __esm({
413886
413864
  init_debugLogger();
413887
413865
  init_models();
413888
413866
  init_modelConfigService();
413889
- init_types2();
413867
+ init_types();
413890
413868
  init_a2a_errors();
413891
413869
  AgentRegistry = class {
413892
413870
  config;
@@ -414352,8 +414330,8 @@ var SchedulerStateManager;
414352
414330
  var init_state_manager = __esm({
414353
414331
  "packages/core/dist/src/scheduler/state-manager.js"() {
414354
414332
  "use strict";
414333
+ init_types2();
414355
414334
  init_types3();
414356
- init_types4();
414357
414335
  init_tool_utils();
414358
414336
  SchedulerStateManager = class {
414359
414337
  messageBus;
@@ -414878,9 +414856,9 @@ async function waitForConfirmation(messageBus, correlationId, signal, ideConfirm
414878
414856
  var init_confirmation = __esm({
414879
414857
  "packages/core/dist/src/scheduler/confirmation.js"() {
414880
414858
  "use strict";
414881
- init_types4();
414882
- init_tools();
414883
414859
  init_types3();
414860
+ init_tools();
414861
+ init_types2();
414884
414862
  init_editor();
414885
414863
  init_debugLogger();
414886
414864
  init_events();
@@ -414897,15 +414875,15 @@ var init_scheduler2 = __esm({
414897
414875
  init_policy();
414898
414876
  init_tool_executor();
414899
414877
  init_tool_modifier();
414900
- init_types3();
414901
- init_tool_error();
414902
414878
  init_types2();
414879
+ init_tool_error();
414880
+ init_types();
414903
414881
  init_tools();
414904
414882
  init_tool_utils();
414905
414883
  init_trace3();
414906
414884
  init_loggers();
414907
- init_types6();
414908
- init_types4();
414885
+ init_types5();
414886
+ init_types3();
414909
414887
  init_toolCallContext();
414910
414888
  init_events();
414911
414889
  init_constants();
@@ -415594,13 +415572,13 @@ var init_local_executor = __esm({
415594
415572
  init_tools();
415595
415573
  init_mcp_tool();
415596
415574
  init_turn();
415575
+ init_types2();
415597
415576
  init_types3();
415598
- init_types4();
415599
415577
  init_chatCompressionService();
415600
415578
  init_environmentContext();
415601
415579
  init_promptIdContext();
415602
415580
  init_loggers();
415603
- init_types6();
415581
+ init_types5();
415604
415582
  init_types18();
415605
415583
  init_errors();
415606
415584
  init_utils8();
@@ -435302,7 +435280,7 @@ var import_fast_levenshtein3, import_toml, MAX_TYPO_DISTANCE, PolicyRuleSchema,
435302
435280
  var init_toml_loader = __esm({
435303
435281
  "packages/core/dist/src/policy/toml-loader.js"() {
435304
435282
  "use strict";
435305
- init_types2();
435283
+ init_types();
435306
435284
  init_utils4();
435307
435285
  init_tool_names();
435308
435286
  init_tool_utils();
@@ -435759,11 +435737,11 @@ var init_config3 = __esm({
435759
435737
  "packages/core/dist/src/policy/config.js"() {
435760
435738
  "use strict";
435761
435739
  init_storage();
435762
- init_types2();
435740
+ init_types();
435763
435741
  init_toml_loader();
435764
435742
  init_utils4();
435765
435743
  import_toml2 = __toESM(require_toml(), 1);
435766
- init_types4();
435744
+ init_types3();
435767
435745
  init_message_bus();
435768
435746
  init_events();
435769
435747
  init_debugLogger();
@@ -436537,7 +436515,7 @@ var init_registry2 = __esm({
436537
436515
  "packages/core/dist/src/safety/registry.js"() {
436538
436516
  "use strict";
436539
436517
  init_built_in();
436540
- init_types2();
436518
+ init_types();
436541
436519
  init_conseca();
436542
436520
  CheckerRegistry = class _CheckerRegistry {
436543
436521
  checkersPath;
@@ -439894,7 +439872,7 @@ var init_config4 = __esm({
439894
439872
  init_fileSystemService();
439895
439873
  init_trackerTools2();
439896
439874
  init_loggers();
439897
- init_types6();
439875
+ init_types5();
439898
439876
  init_modelAvailabilityService();
439899
439877
  init_modelRouterService();
439900
439878
  init_types17();
@@ -439907,7 +439885,7 @@ var init_config4 = __esm({
439907
439885
  init_ignorePatterns();
439908
439886
  init_message_bus();
439909
439887
  init_policy_engine();
439910
- init_types2();
439888
+ init_types();
439911
439889
  init_hooks();
439912
439890
  init_codeAssist();
439913
439891
  init_experiments();
@@ -446824,7 +446802,7 @@ var init_sessionSummaryService = __esm({
446824
446802
  init_geminiRequest();
446825
446803
  init_debugLogger();
446826
446804
  init_partUtils();
446827
- init_types6();
446805
+ init_types5();
446828
446806
  DEFAULT_MAX_MESSAGES = 20;
446829
446807
  DEFAULT_TIMEOUT_MS = 5e3;
446830
446808
  MAX_MESSAGE_LENGTH = 500;
@@ -447270,7 +447248,7 @@ var init_read_many_files = __esm({
447270
447248
  init_metrics2();
447271
447249
  init_telemetry_utils();
447272
447250
  init_loggers();
447273
- init_types6();
447251
+ init_types5();
447274
447252
  init_tool_error();
447275
447253
  init_tool_names();
447276
447254
  init_coreTools();
@@ -447730,13 +447708,13 @@ var init_src2 = __esm({
447730
447708
  init_types17();
447731
447709
  init_json_formatter();
447732
447710
  init_stream_json_formatter();
447733
- init_types2();
447711
+ init_types();
447734
447712
  init_policy_engine();
447735
447713
  init_toml_loader();
447736
447714
  init_config3();
447737
447715
  init_integrity();
447738
447716
  init_billing2();
447739
- init_types4();
447717
+ init_types3();
447740
447718
  init_message_bus();
447741
447719
  init_extensions();
447742
447720
  init_restore();
@@ -447755,7 +447733,7 @@ var init_src2 = __esm({
447755
447733
  init_geminiRequest();
447756
447734
  init_coreToolScheduler();
447757
447735
  init_scheduler2();
447758
- init_types3();
447736
+ init_types2();
447759
447737
  init_tool_executor();
447760
447738
  init_recordingContentGenerator();
447761
447739
  init_types20();
@@ -447794,7 +447772,7 @@ var init_src2 = __esm({
447794
447772
  init_fileDiffUtils();
447795
447773
  init_retry();
447796
447774
  init_shell_utils();
447797
- init_types2();
447775
+ init_types();
447798
447776
  init_tool_utils();
447799
447777
  init_terminalSerializer();
447800
447778
  init_systemEncoding();
@@ -448141,6 +448119,7 @@ __export(dist_exports, {
448141
448119
  ExtensionLoader: () => ExtensionLoader,
448142
448120
  ExtensionUninstallEvent: () => ExtensionUninstallEvent,
448143
448121
  ExtensionUpdateEvent: () => ExtensionUpdateEvent,
448122
+ FORCE_FILE_STORAGE_ENV_VAR: () => FORCE_FILE_STORAGE_ENV_VAR,
448144
448123
  FRONTMATTER_REGEX: () => FRONTMATTER_REGEX,
448145
448124
  FatalAuthenticationError: () => FatalAuthenticationError,
448146
448125
  FatalCancellationError: () => FatalCancellationError,
@@ -448865,7 +448844,7 @@ var init_dist7 = __esm({
448865
448844
  init_config4();
448866
448845
  init_detect_ide();
448867
448846
  init_loggers();
448868
- init_types6();
448847
+ init_types5();
448869
448848
  init_config5();
448870
448849
  init_pathReader();
448871
448850
  init_clearcut_logger();
@@ -528081,7 +528060,7 @@ var WarningMessage = ({ text }) => {
528081
528060
  };
528082
528061
 
528083
528062
  // packages/cli/src/generated/git-commit.ts
528084
- var GIT_COMMIT_INFO2 = "62a4d375a";
528063
+ var GIT_COMMIT_INFO2 = "25bb21ed7";
528085
528064
 
528086
528065
  // packages/cli/src/ui/components/AboutBox.tsx
528087
528066
  init_dist7();
@@ -576962,7 +576941,7 @@ async function loadSandboxConfig(settings, argv) {
576962
576941
  const sandboxOption = argv.sandbox ?? settings.tools?.sandbox;
576963
576942
  const command2 = getSandboxCommand(sandboxOption);
576964
576943
  const packageJson2 = await getPackageJson(__dirname13);
576965
- const image3 = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.34.0-preview.2" ?? packageJson2?.config?.sandboxImageUri;
576944
+ const image3 = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.34.0-preview.3" ?? packageJson2?.config?.sandboxImageUri;
576966
576945
  return command2 && image3 ? { command: command2, image: image3 } : void 0;
576967
576946
  }
576968
576947
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli-devtools",
3
- "version": "0.34.0-preview.2",
3
+ "version": "0.34.0-preview.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@google/gemini-cli",
3
- "version": "0.34.0-preview.2",
3
+ "version": "0.34.0-preview.3",
4
4
  "description": "Gemini CLI",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {