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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/bundle/{chunk-Y5REX36P.js → chunk-2GMVQS2Q.js} +1 -1
  2. package/bundle/{chunk-J4QUIOHJ.js → chunk-4AGOZ7LL.js} +7 -7
  3. package/bundle/{chunk-GIXFMPPJ.js → chunk-4K3E3G6Z.js} +1 -1
  4. package/bundle/{chunk-EZCW6IDX.js → chunk-5LUCCXOB.js} +1 -1
  5. package/bundle/{chunk-2RRZM3IR.js → chunk-773AJHDP.js} +7 -7
  6. package/bundle/{chunk-IPQLMJS5.js → chunk-BOJOJVNV.js} +1 -1
  7. package/bundle/{chunk-2O7YSVPU.js → chunk-F2LLVPPS.js} +2 -2
  8. package/bundle/{chunk-4FNXKOEB.js → chunk-FIM2LOYZ.js} +153 -54
  9. package/bundle/{chunk-NOJPXYUJ.js → chunk-GTRQQGSJ.js} +1 -1
  10. package/bundle/{chunk-J7SEBVDD.js → chunk-HHFFICNK.js} +176 -56
  11. package/bundle/{chunk-LUQGJPIY.js → chunk-HMR43ZX2.js} +2 -2
  12. package/bundle/{chunk-4M3TG6ZU.js → chunk-HZNEV3DS.js} +1 -1
  13. package/bundle/{chunk-DMCSPKNM.js → chunk-J444UQD3.js} +1 -1
  14. package/bundle/{chunk-I7UI7NB6.js → chunk-LBE2WKE7.js} +3 -3
  15. package/bundle/{chunk-TH3OOWK4.js → chunk-MFYAVF7Y.js} +7 -7
  16. package/bundle/{chunk-OY6QYVTR.js → chunk-QFEJQS5X.js} +1 -1
  17. package/bundle/{chunk-R5OZKB4U.js → chunk-RXG3JOOZ.js} +1 -1
  18. package/bundle/{chunk-S4CJ6KAO.js → chunk-S2ICEQVC.js} +3 -3
  19. package/bundle/{chunk-N4X4WHSW.js → chunk-SHFHGDWR.js} +2 -2
  20. package/bundle/{chunk-APSDEHHA.js → chunk-TDYUKPZH.js} +1 -1
  21. package/bundle/{chunk-CWAXEILN.js → chunk-XRDSBRG4.js} +174 -54
  22. package/bundle/{chunk-WPCNMQ6J.js → chunk-YMNECODB.js} +1 -1
  23. package/bundle/{chunk-Q3UZDZZV.js → chunk-ZQGZKIDD.js} +3 -3
  24. package/bundle/{chunk-VS2OY6HJ.js → chunk-ZXN4VW7M.js} +1 -1
  25. package/bundle/{cleanup-2WCUS5XU.js → cleanup-2WXD6UQP.js} +2 -2
  26. package/bundle/{cleanup-7FHLTEXT.js → cleanup-L3CLNVX6.js} +2 -2
  27. package/bundle/{cleanup-WGOZFAQJ.js → cleanup-SUDL37MT.js} +2 -2
  28. package/bundle/{core-SIRU2VWJ.js → core-MOYKPEYV.js} +5 -1
  29. package/bundle/{dist-67ZORME5.js → core-VVRQ2GQD.js} +5 -1
  30. package/bundle/{devtoolsService-F5XFL4BF.js → devtoolsService-E62WA3CY.js} +2 -2
  31. package/bundle/{devtoolsService-4Y2RGEUE.js → devtoolsService-GLW7S6PS.js} +2 -2
  32. package/bundle/{devtoolsService-IANYOK3R.js → devtoolsService-ZYCBBAV3.js} +2 -2
  33. package/bundle/{core-LD6MHGD6.js → dist-GPCRVPKS.js} +5 -1
  34. package/bundle/docs/changelogs/index.md +14 -0
  35. package/bundle/docs/changelogs/latest.md +202 -199
  36. package/bundle/docs/changelogs/preview.md +44 -200
  37. package/bundle/docs/issue-and-pr-automation.md +29 -1
  38. package/bundle/docs/reference/configuration.md +69 -0
  39. package/bundle/{gemini-74UML3PJ.js → gemini-2JTOIMGM.js} +14 -14
  40. package/bundle/{gemini-24ENZ343.js → gemini-KV5CHM4H.js} +14 -14
  41. package/bundle/{gemini-5ZI322FJ.js → gemini-R5NCXCEL.js} +13 -13
  42. package/bundle/gemini.js +10 -9
  43. package/bundle/{interactiveCli-BVZLMTVC.js → interactiveCli-7SIMXKNU.js} +20 -10
  44. package/bundle/{interactiveCli-XM5HDVD7.js → interactiveCli-HVAQTBJK.js} +20 -10
  45. package/bundle/{interactiveCli-7GM3U7SA.js → interactiveCli-RMWTSIEN.js} +20 -10
  46. package/bundle/{liteRtServerManager-6N5DYDEQ.js → liteRtServerManager-BP7XKGNU.js} +4 -4
  47. package/bundle/{liteRtServerManager-JVMDH3TN.js → liteRtServerManager-FY23PYSD.js} +4 -4
  48. package/bundle/{liteRtServerManager-3HS3VUPU.js → liteRtServerManager-LDS45QKP.js} +4 -4
  49. package/bundle/{oauth2-provider-U72EWZHQ.js → oauth2-provider-4SSSEI6P.js} +1 -1
  50. package/bundle/{oauth2-provider-WS7LUQ5V.js → oauth2-provider-KL44D6HV.js} +1 -1
  51. package/bundle/{oauth2-provider-RUFABDNL.js → oauth2-provider-VVNBQH45.js} +1 -1
  52. package/bundle/{start-KOAGXRA2.js → start-DLEOBFRC.js} +6 -6
  53. package/bundle/{start-XLIGOOW3.js → start-FRM2XDGC.js} +6 -6
  54. package/bundle/{start-DJ6EBFEA.js → start-OEPJINIW.js} +6 -6
  55. package/package.json +1 -1
@@ -5,7 +5,7 @@ import {
5
5
  isTelemetrySdkInitialized,
6
6
  resetBrowserSession,
7
7
  shutdownTelemetry
8
- } from "./chunk-4FNXKOEB.js";
8
+ } from "./chunk-FIM2LOYZ.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-EZCW6IDX.js";
5
+ } from "./chunk-BOJOJVNV.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-DMCSPKNM.js";
17
+ } from "./chunk-4K3E3G6Z.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-4FNXKOEB.js";
20
+ } from "./chunk-HHFFICNK.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -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-Y5REX36P.js";
4
+ } from "./chunk-2GMVQS2Q.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  debugLogger,
8
8
  getChannelFromVersion,
9
9
  isGitRepository
10
- } from "./chunk-J7SEBVDD.js";
10
+ } from "./chunk-HHFFICNK.js";
11
11
 
12
12
  // packages/cli/src/utils/installationInfo.ts
13
13
  import * 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
  checkExhaustive
4
- } from "./chunk-J7SEBVDD.js";
4
+ } from "./chunk-HHFFICNK.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __toESM
@@ -276236,6 +276236,11 @@ var PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL = "gemini-3.1-pro-preview-customtools"
276236
276236
  var PREVIEW_GEMINI_FLASH_MODEL = "gemini-3-flash-preview";
276237
276237
  var DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
276238
276238
  var DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
276239
+ var DEFAULT_GEMINI_3_5_FLASH_MODEL = "gemini-3.5-flash";
276240
+ function setFlashModels(preview, defaultFlash) {
276241
+ PREVIEW_GEMINI_FLASH_MODEL = preview;
276242
+ DEFAULT_GEMINI_FLASH_MODEL = defaultFlash;
276243
+ }
276239
276244
  var DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-3.1-flash-lite";
276240
276245
  var PREVIEW_GEMINI_FLASH_LITE_MODEL = "none";
276241
276246
  var GEMMA_4_31B_IT_MODEL = "gemma-4-31b-it";
@@ -276248,6 +276253,7 @@ var VALID_GEMINI_MODELS = /* @__PURE__ */ new Set([
276248
276253
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
276249
276254
  DEFAULT_GEMINI_MODEL,
276250
276255
  DEFAULT_GEMINI_FLASH_MODEL,
276256
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
276251
276257
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
276252
276258
  GEMMA_4_31B_IT_MODEL,
276253
276259
  GEMMA_4_26B_A4B_IT_MODEL
@@ -276265,20 +276271,21 @@ function getAutoModelDescription(hasAccessToPreview, useGemini3_1 = false) {
276265
276271
  const flashModel = hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276266
276272
  return `Let Gemini CLI decide the best model for the task: ${proModel}, ${flashModel}`;
276267
276273
  }
276268
- function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
276274
+ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
276269
276275
  const normalizedModel = Array.isArray(requestedModel) ? String(requestedModel.at(-1) ?? "").trim() || "" : typeof requestedModel !== "string" ? String(requestedModel ?? "").trim() || "" : requestedModel.trim() || "";
276270
276276
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
276271
276277
  const resolved2 = config2.modelConfigService.resolveModelId(normalizedModel, {
276272
276278
  useGemini3_1,
276273
276279
  useCustomTools: useCustomToolModel,
276274
- hasAccessToPreview
276280
+ hasAccessToPreview,
276281
+ useGemini3_5Flash
276275
276282
  });
276276
276283
  if (!hasAccessToPreview && isPreviewModel(resolved2, config2)) {
276277
276284
  if (resolved2.includes("flash-lite")) {
276278
276285
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276279
276286
  }
276280
276287
  if (resolved2.includes("flash")) {
276281
- return DEFAULT_GEMINI_FLASH_MODEL;
276288
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276282
276289
  }
276283
276290
  return DEFAULT_GEMINI_MODEL;
276284
276291
  }
@@ -276307,7 +276314,7 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276307
276314
  break;
276308
276315
  }
276309
276316
  case GEMINI_MODEL_ALIAS_FLASH: {
276310
- resolved = PREVIEW_GEMINI_FLASH_MODEL;
276317
+ resolved = useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : PREVIEW_GEMINI_FLASH_MODEL;
276311
276318
  break;
276312
276319
  }
276313
276320
  case GEMINI_MODEL_ALIAS_FLASH_LITE: {
@@ -276322,10 +276329,13 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276322
276329
  if (resolved === "none") {
276323
276330
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276324
276331
  }
276332
+ if (useGemini3_5Flash && isFlashModel(resolved)) {
276333
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
276334
+ }
276325
276335
  if (!hasAccessToPreview && isPreviewModel(resolved)) {
276326
276336
  switch (resolved) {
276327
276337
  case PREVIEW_GEMINI_FLASH_MODEL:
276328
- return DEFAULT_GEMINI_FLASH_MODEL;
276338
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276329
276339
  case PREVIEW_GEMINI_MODEL:
276330
276340
  case PREVIEW_GEMINI_3_1_MODEL:
276331
276341
  case PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL:
@@ -276335,14 +276345,17 @@ function resolveModel(requestedModel, useGemini3_1 = false, useCustomToolModel =
276335
276345
  return DEFAULT_GEMINI_FLASH_LITE_MODEL;
276336
276346
  }
276337
276347
  if (resolved.includes("flash")) {
276338
- return DEFAULT_GEMINI_FLASH_MODEL;
276348
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276339
276349
  }
276340
276350
  return DEFAULT_GEMINI_MODEL;
276341
276351
  }
276342
276352
  }
276343
276353
  return resolved;
276344
276354
  }
276345
- function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2) {
276355
+ function isFlashModel(model) {
276356
+ return model === DEFAULT_GEMINI_FLASH_MODEL || model === PREVIEW_GEMINI_FLASH_MODEL || model === DEFAULT_GEMINI_3_5_FLASH_MODEL || model === "flash" || model.endsWith("flash");
276357
+ }
276358
+ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false, useCustomToolModel = false, hasAccessToPreview = true, config2, useGemini3_5Flash = false) {
276346
276359
  if (config2?.getExperimentalDynamicModelConfiguration?.() === true) {
276347
276360
  return config2.modelConfigService.resolveClassifierModelId(
276348
276361
  modelAlias,
@@ -276350,22 +276363,28 @@ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false
276350
276363
  {
276351
276364
  useGemini3_1,
276352
276365
  useCustomTools: useCustomToolModel,
276353
- hasAccessToPreview
276366
+ hasAccessToPreview,
276367
+ useGemini3_5Flash
276354
276368
  }
276355
276369
  );
276356
276370
  }
276357
276371
  if (modelAlias === GEMINI_MODEL_ALIAS_FLASH) {
276358
276372
  if (requestedModel === DEFAULT_GEMINI_MODEL_AUTO || requestedModel === DEFAULT_GEMINI_MODEL) {
276359
- return DEFAULT_GEMINI_FLASH_MODEL;
276373
+ return useGemini3_5Flash ? DEFAULT_GEMINI_3_5_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276360
276374
  }
276361
276375
  if (requestedModel === PREVIEW_GEMINI_MODEL_AUTO || requestedModel === PREVIEW_GEMINI_MODEL || requestedModel === GEMINI_MODEL_ALIAS_AUTO) {
276376
+ if (useGemini3_5Flash) {
276377
+ return DEFAULT_GEMINI_3_5_FLASH_MODEL;
276378
+ }
276362
276379
  return hasAccessToPreview ? PREVIEW_GEMINI_FLASH_MODEL : DEFAULT_GEMINI_FLASH_MODEL;
276363
276380
  }
276364
276381
  return resolveModel(
276365
276382
  GEMINI_MODEL_ALIAS_FLASH,
276366
276383
  false,
276367
276384
  false,
276368
- hasAccessToPreview
276385
+ hasAccessToPreview,
276386
+ config2,
276387
+ useGemini3_5Flash
276369
276388
  );
276370
276389
  }
276371
276390
  return resolveModel(
@@ -276373,7 +276392,8 @@ function resolveClassifierModel(requestedModel, modelAlias, useGemini3_1 = false
276373
276392
  useGemini3_1,
276374
276393
  useCustomToolModel,
276375
276394
  hasAccessToPreview,
276376
- config2
276395
+ config2,
276396
+ useGemini3_5Flash
276377
276397
  );
276378
276398
  }
276379
276399
  function getDisplayString(model, config2) {
@@ -279535,7 +279555,7 @@ function isValidToolName(name3, options = {}) {
279535
279555
  }
279536
279556
 
279537
279557
  // packages/core/src/generated/git-commit.ts
279538
- var GIT_COMMIT_INFO = "5cac7c10f";
279558
+ var GIT_COMMIT_INFO = "cfcecebe8";
279539
279559
  var CLI_VERSION = "0.45.0-nightly.20260521.g854f811be";
279540
279560
 
279541
279561
  // packages/core/src/ide/detect-ide.ts
@@ -304968,7 +304988,10 @@ function getModelPolicyChain(options) {
304968
304988
  const proModel = resolveModel(
304969
304989
  PREVIEW_GEMINI_MODEL,
304970
304990
  options.useGemini31,
304971
- options.useCustomToolModel
304991
+ options.useCustomToolModel,
304992
+ true,
304993
+ void 0,
304994
+ options.useGemini3_5Flash
304972
304995
  );
304973
304996
  return [
304974
304997
  definePolicy({
@@ -305046,6 +305069,7 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305046
305069
  const useGemini31 = config2.getGemini31LaunchedSync?.() ?? false;
305047
305070
  const useCustomToolModel = config2.getUseCustomToolModelSync?.() ?? false;
305048
305071
  const hasAccessToPreview = config2.getHasAccessToPreviewModel?.() ?? false;
305072
+ const useGemini3_5Flash = config2.hasGemini35FlashGAAccess?.() ?? false;
305049
305073
  const isOriginallyGemini3 = isGemini3Model(modelFromConfig, config2);
305050
305074
  const resolvedModel = normalizeModelId(
305051
305075
  resolveModel(
@@ -305053,7 +305077,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305053
305077
  useGemini31,
305054
305078
  useCustomToolModel,
305055
305079
  hasAccessToPreview,
305056
- config2
305080
+ config2,
305081
+ useGemini3_5Flash
305057
305082
  )
305058
305083
  );
305059
305084
  const isAutoPreferred = normalizedPreferredModel ? isAutoModel(normalizedPreferredModel, config2) : false;
@@ -305062,7 +305087,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305062
305087
  if (config2.getExperimentalDynamicModelConfiguration?.() === true) {
305063
305088
  const context2 = {
305064
305089
  useGemini3_1: useGemini31,
305065
- useCustomTools: useCustomToolModel
305090
+ useCustomTools: useCustomToolModel,
305091
+ useGemini3_5Flash
305066
305092
  };
305067
305093
  if (resolvedModel === DEFAULT_GEMINI_FLASH_LITE_MODEL) {
305068
305094
  chain2 = config2.modelConfigService.resolveChain("lite", context2);
@@ -305100,7 +305126,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305100
305126
  isAutoSelection,
305101
305127
  userTier: config2.getUserTier(),
305102
305128
  useGemini31,
305103
- useCustomToolModel
305129
+ useCustomToolModel,
305130
+ useGemini3_5Flash
305104
305131
  });
305105
305132
  } else {
305106
305133
  chain2 = getModelPolicyChain({
@@ -305108,7 +305135,8 @@ function resolvePolicyChain(config2, preferredModel, wrapsAround = false) {
305108
305135
  isAutoSelection,
305109
305136
  userTier: config2.getUserTier(),
305110
305137
  useGemini31,
305111
- useCustomToolModel
305138
+ useCustomToolModel,
305139
+ useGemini3_5Flash
305112
305140
  });
305113
305141
  }
305114
305142
  } else {
@@ -309612,7 +309640,8 @@ async function createContentGenerator(config2, gcConfig, sessionId) {
309612
309640
  config2.authType === "gemini-api-key" /* USE_GEMINI */ || config2.authType === "vertex-ai" /* USE_VERTEX_AI */ || (await gcConfig.getGemini31Launched?.() ?? false),
309613
309641
  false,
309614
309642
  gcConfig.getHasAccessToPreviewModel?.() ?? true,
309615
- gcConfig
309643
+ gcConfig,
309644
+ gcConfig.hasGemini35FlashGAAccess?.() ?? false
309616
309645
  );
309617
309646
  const customHeadersEnv = process.env["GEMINI_CLI_CUSTOM_HEADERS"] || void 0;
309618
309647
  const clientName = gcConfig.getClientName();
@@ -322140,23 +322169,33 @@ ${truncated}`;
322140
322169
  return;
322141
322170
  }
322142
322171
  const activePty = this.activePtys.get(pid);
322143
- if (activePty) {
322172
+ if (!activePty) {
322173
+ return;
322174
+ }
322175
+ if (process.platform !== "win32") {
322144
322176
  try {
322145
- activePty.ptyProcess.resize(cols, rows);
322146
- activePty.headlessTerminal.resize(cols, rows);
322177
+ process.kill(pid, 0);
322147
322178
  } catch (e2) {
322148
- const err2 = e2;
322149
- const isEsrch = err2.code === "ESRCH";
322150
- const isEbadf = err2.code === "EBADF" || err2.message?.includes("EBADF");
322151
- const isWindowsPtyError = err2.message?.includes(
322152
- "Cannot resize a pty that has already exited"
322153
- );
322154
- if (isEsrch || isEbadf || isWindowsPtyError) {
322155
- } else {
322156
- throw e2;
322179
+ if (isNodeError(e2) && e2.code === "ESRCH") {
322180
+ return;
322157
322181
  }
322158
322182
  }
322159
322183
  }
322184
+ try {
322185
+ activePty.ptyProcess.resize(cols, rows);
322186
+ activePty.headlessTerminal.resize(cols, rows);
322187
+ } catch (e2) {
322188
+ const err2 = e2;
322189
+ const isEsrch = err2.code === "ESRCH";
322190
+ const isEbadf = err2.code === "EBADF" || err2.message?.includes("EBADF");
322191
+ const isWindowsPtyError = err2.message?.includes(
322192
+ "Cannot resize a pty that has already exited"
322193
+ );
322194
+ if (isEsrch || isEbadf || isWindowsPtyError) {
322195
+ } else {
322196
+ throw e2;
322197
+ }
322198
+ }
322160
322199
  if (activePty) {
322161
322200
  const endLine = activePty.headlessTerminal.buffer.active.length;
322162
322201
  const startLine = Math.max(
@@ -323109,16 +323148,18 @@ ${result2.output}`;
323109
323148
  }
323110
323149
  signal.removeEventListener("abort", onAbort);
323111
323150
  timeoutController.signal.removeEventListener("abort", onAbort);
323112
- if (tempFilePath) {
323113
- try {
323114
- await fsPromises9.unlink(tempFilePath);
323115
- } catch {
323151
+ if (!this.params.is_background) {
323152
+ if (tempFilePath) {
323153
+ try {
323154
+ await fsPromises9.unlink(tempFilePath);
323155
+ } catch {
323156
+ }
323116
323157
  }
323117
- }
323118
- if (tempDir) {
323119
- try {
323120
- await fsPromises9.rm(tempDir, { recursive: true, force: true });
323121
- } catch {
323158
+ if (tempDir) {
323159
+ try {
323160
+ await fsPromises9.rm(tempDir, { recursive: true, force: true });
323161
+ } catch {
323162
+ }
323122
323163
  }
323123
323164
  }
323124
323165
  }
@@ -330339,7 +330380,8 @@ var GeminiChat = class {
330339
330380
  useGemini3_1,
330340
330381
  false,
330341
330382
  hasAccessToPreview,
330342
- this.context.config
330383
+ this.context.config,
330384
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330343
330385
  );
330344
330386
  if (this.context.config.getActiveModel() !== initialActiveModel) {
330345
330387
  modelToUse = resolveModel(
@@ -330347,7 +330389,8 @@ var GeminiChat = class {
330347
330389
  useGemini3_1,
330348
330390
  false,
330349
330391
  hasAccessToPreview,
330350
- this.context.config
330392
+ this.context.config,
330393
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330351
330394
  );
330352
330395
  }
330353
330396
  if (modelToUse !== lastModelToUse) {
@@ -330397,7 +330440,8 @@ var GeminiChat = class {
330397
330440
  useGemini3_1,
330398
330441
  false,
330399
330442
  hasAccessToPreview,
330400
- this.context.config
330443
+ this.context.config,
330444
+ this.context.config.hasGemini35FlashGAAccess?.() ?? false
330401
330445
  );
330402
330446
  lastModelToUse = modelToUse;
330403
330447
  contentsToUse = supportsModernFeatures(modelToUse) ? [...contentsForPreviewModel] : [...requestContents];
@@ -332838,7 +332882,8 @@ var PromptProvider = class {
332838
332882
  context2.config.getGemini31LaunchedSync?.() ?? false,
332839
332883
  false,
332840
332884
  context2.config.getHasAccessToPreviewModel?.() ?? true,
332841
- context2.config
332885
+ context2.config,
332886
+ context2.config.hasGemini35FlashGAAccess?.() ?? false
332842
332887
  );
332843
332888
  const isModernModel = supportsModernFeatures(desiredModel);
332844
332889
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
@@ -333014,7 +333059,8 @@ var PromptProvider = class {
333014
333059
  context2.config.getGemini31LaunchedSync?.() ?? false,
333015
333060
  false,
333016
333061
  context2.config.getHasAccessToPreviewModel?.() ?? true,
333017
- context2.config
333062
+ context2.config,
333063
+ context2.config.hasGemini35FlashGAAccess?.() ?? false
333018
333064
  );
333019
333065
  const isModernModel = supportsModernFeatures(desiredModel);
333020
333066
  const activeSnippets = isModernModel ? snippets_exports : snippets_legacy_exports;
@@ -338323,7 +338369,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
338323
338369
  return provider;
338324
338370
  }
338325
338371
  case "oauth2": {
338326
- const { OAuth2AuthProvider } = await import("./oauth2-provider-WS7LUQ5V.js");
338372
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-4SSSEI6P.js");
338327
338373
  const provider = new OAuth2AuthProvider(
338328
338374
  authConfig,
338329
338375
  options.agentName ?? "unknown",
@@ -338569,6 +338615,8 @@ var ModelConfigService = class _ModelConfigService {
338569
338615
  return value === context2.useGemini3_1;
338570
338616
  case "useGemini3_1FlashLite":
338571
338617
  return value === context2.useGemini3_1FlashLite;
338618
+ case "useGemini3_5Flash":
338619
+ return value === context2.useGemini3_5Flash;
338572
338620
  case "useCustomTools":
338573
338621
  return value === context2.useCustomTools;
338574
338622
  case "hasAccessToPreview":
@@ -345369,7 +345417,8 @@ var GeminiClient = class {
345369
345417
  this.config.getGemini31LaunchedSync?.() ?? false,
345370
345418
  false,
345371
345419
  this.config.getHasAccessToPreviewModel?.() ?? true,
345372
- this.config
345420
+ this.config,
345421
+ this.config.hasGemini35FlashGAAccess?.() ?? false
345373
345422
  );
345374
345423
  }
345375
345424
  async *processTurn(request, signal, prompt_id, boundedTurns, displayContent) {
@@ -360026,7 +360075,8 @@ var DefaultStrategy = class {
360026
360075
  config2.getGemini31LaunchedSync?.() ?? false,
360027
360076
  false,
360028
360077
  config2.getHasAccessToPreviewModel?.() ?? true,
360029
- config2
360078
+ config2,
360079
+ config2.hasGemini35FlashGAAccess?.() ?? false
360030
360080
  );
360031
360081
  return {
360032
360082
  model: defaultModel,
@@ -360458,7 +360508,8 @@ var FallbackStrategy = class {
360458
360508
  config2.getGemini31LaunchedSync?.() ?? false,
360459
360509
  false,
360460
360510
  config2.getHasAccessToPreviewModel?.() ?? true,
360461
- config2
360511
+ config2,
360512
+ config2.hasGemini35FlashGAAccess?.() ?? false
360462
360513
  );
360463
360514
  const service = config2.getModelAvailabilityService();
360464
360515
  const snapshot = service.snapshot(resolvedModel);
@@ -360494,7 +360545,8 @@ var OverrideStrategy = class {
360494
360545
  config2.getGemini31LaunchedSync?.() ?? false,
360495
360546
  false,
360496
360547
  config2.getHasAccessToPreviewModel?.() ?? true,
360497
- config2
360548
+ config2,
360549
+ config2.hasGemini35FlashGAAccess?.() ?? false
360498
360550
  ),
360499
360551
  metadata: {
360500
360552
  source: this.name,
@@ -360768,6 +360820,12 @@ var DEFAULT_MODEL_CONFIGS = {
360768
360820
  model: "gemini-3.1-flash-lite"
360769
360821
  }
360770
360822
  },
360823
+ "gemini-3.5-flash": {
360824
+ extends: "chat-base-3",
360825
+ modelConfig: {
360826
+ model: "gemini-3.5-flash"
360827
+ }
360828
+ },
360771
360829
  "gemma-4-31b-it": {
360772
360830
  extends: "chat-base-3",
360773
360831
  modelConfig: {
@@ -360793,6 +360851,12 @@ var DEFAULT_MODEL_CONFIGS = {
360793
360851
  model: "gemini-3-flash-preview"
360794
360852
  }
360795
360853
  },
360854
+ "gemini-3.5-flash-base": {
360855
+ extends: "base",
360856
+ modelConfig: {
360857
+ model: "gemini-3.5-flash"
360858
+ }
360859
+ },
360796
360860
  classifier: {
360797
360861
  extends: "base",
360798
360862
  modelConfig: {
@@ -361000,6 +361064,13 @@ var DEFAULT_MODEL_CONFIGS = {
361000
361064
  isVisible: true,
361001
361065
  features: { thinking: false, multimodalToolUse: true }
361002
361066
  },
361067
+ "gemini-3.5-flash": {
361068
+ tier: "flash",
361069
+ family: "gemini-3",
361070
+ isPreview: false,
361071
+ isVisible: true,
361072
+ features: { thinking: false, multimodalToolUse: true }
361073
+ },
361003
361074
  "gemini-2.5-pro": {
361004
361075
  tier: "pro",
361005
361076
  family: "gemini-2.5",
@@ -361102,12 +361173,32 @@ var DEFAULT_MODEL_CONFIGS = {
361102
361173
  "gemini-3-flash-preview": {
361103
361174
  default: "gemini-3-flash-preview",
361104
361175
  contexts: [
361176
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361105
361177
  {
361106
361178
  condition: { hasAccessToPreview: false },
361107
361179
  target: "gemini-2.5-flash"
361108
361180
  }
361109
361181
  ]
361110
361182
  },
361183
+ "gemini-3.5-flash": {
361184
+ default: "gemini-3.5-flash",
361185
+ contexts: [
361186
+ {
361187
+ condition: { useGemini3_5Flash: false, hasAccessToPreview: false },
361188
+ target: "gemini-2.5-flash"
361189
+ },
361190
+ {
361191
+ condition: { useGemini3_5Flash: false },
361192
+ target: "gemini-3-flash-preview"
361193
+ }
361194
+ ]
361195
+ },
361196
+ "gemini-2.5-flash": {
361197
+ default: "gemini-2.5-flash",
361198
+ contexts: [
361199
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" }
361200
+ ]
361201
+ },
361111
361202
  "gemini-3-pro-preview": {
361112
361203
  default: "gemini-3-pro-preview",
361113
361204
  contexts: [
@@ -361156,6 +361247,7 @@ var DEFAULT_MODEL_CONFIGS = {
361156
361247
  flash: {
361157
361248
  default: "gemini-3-flash-preview",
361158
361249
  contexts: [
361250
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361159
361251
  {
361160
361252
  condition: { hasAccessToPreview: false },
361161
361253
  target: "gemini-2.5-flash"
@@ -361187,6 +361279,7 @@ var DEFAULT_MODEL_CONFIGS = {
361187
361279
  flash: {
361188
361280
  default: "gemini-3-flash-preview",
361189
361281
  contexts: [
361282
+ { condition: { useGemini3_5Flash: true }, target: "gemini-3.5-flash" },
361190
361283
  {
361191
361284
  condition: { hasAccessToPreview: false },
361192
361285
  target: "gemini-2.5-flash"
@@ -364913,7 +365006,8 @@ var ExperimentFlags = {
364913
365006
  MASKING_PROTECT_LATEST_TURN: 45758819,
364914
365007
  GEMINI_3_1_PRO_LAUNCHED: 45760185,
364915
365008
  PRO_MODEL_NO_ACCESS: 45768879,
364916
- DEFAULT_REQUEST_TIMEOUT: 45773134
365009
+ DEFAULT_REQUEST_TIMEOUT: 45773134,
365010
+ GEMINI_3_5_FLASH_GA_LAUNCHED: 45780819
364917
365011
  };
364918
365012
 
364919
365013
  // packages/core/src/skills/skillManager.ts
@@ -380226,7 +380320,8 @@ var Config = class {
380226
380320
  this.getGemini31LaunchedSync(),
380227
380321
  this.getUseCustomToolModelSync(),
380228
380322
  this.getHasAccessToPreviewModel(),
380229
- this
380323
+ this,
380324
+ this.hasGemini35FlashGAAccess()
380230
380325
  );
380231
380326
  const isPreview2 = isPreviewModel(primaryModel, this);
380232
380327
  const proModel = primaryModel;
@@ -380253,7 +380348,8 @@ var Config = class {
380253
380348
  this.getGemini31LaunchedSync(),
380254
380349
  this.getUseCustomToolModelSync(),
380255
380350
  this.getHasAccessToPreviewModel(),
380256
- this
380351
+ this,
380352
+ this.hasGemini35FlashGAAccess()
380257
380353
  );
380258
380354
  return this.modelQuotas.get(primaryModel)?.remaining;
380259
380355
  }
@@ -380267,7 +380363,8 @@ var Config = class {
380267
380363
  this.getGemini31LaunchedSync(),
380268
380364
  this.getUseCustomToolModelSync(),
380269
380365
  this.getHasAccessToPreviewModel(),
380270
- this
380366
+ this,
380367
+ this.hasGemini35FlashGAAccess()
380271
380368
  );
380272
380369
  return this.modelQuotas.get(primaryModel)?.limit;
380273
380370
  }
@@ -380281,7 +380378,8 @@ var Config = class {
380281
380378
  this.getGemini31LaunchedSync(),
380282
380379
  this.getUseCustomToolModelSync(),
380283
380380
  this.getHasAccessToPreviewModel(),
380284
- this
380381
+ this,
380382
+ this.hasGemini35FlashGAAccess()
380285
380383
  );
380286
380384
  return this.modelQuotas.get(primaryModel)?.resetTime;
380287
380385
  }
@@ -381322,6 +381420,26 @@ ${sections.join("\n")}
381322
381420
  isGemini31LaunchedForAuthType(authType) {
381323
381421
  return authType === "gemini-api-key" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */ || authType === "gateway" /* GATEWAY */;
381324
381422
  }
381423
+ /**
381424
+ * Returns whether Gemini 3.5 Flash GA has been launched.
381425
+ *
381426
+ * Note: This method should only be called after startup, once experiments have been loaded.
381427
+ */
381428
+ hasGemini35FlashGAAccess() {
381429
+ const authType = this.contentGeneratorConfig?.authType;
381430
+ const hasAccess = (() => {
381431
+ if (this.isGemini31LaunchedForAuthType(authType)) {
381432
+ return true;
381433
+ }
381434
+ return this.experiments?.flags[ExperimentFlags.GEMINI_3_5_FLASH_GA_LAUNCHED]?.boolValue ?? false;
381435
+ })();
381436
+ if (hasAccess) {
381437
+ setFlashModels("gemini-3.5-flash", "gemini-3.5-flash");
381438
+ } else {
381439
+ setFlashModels("gemini-3-flash-preview", "gemini-2.5-flash");
381440
+ }
381441
+ return hasAccess;
381442
+ }
381325
381443
  /**
381326
381444
  * Returns whether Gemini 3.1 has been launched.
381327
381445
  *
@@ -399751,6 +399869,8 @@ export {
399751
399869
  PREVIEW_GEMINI_FLASH_MODEL,
399752
399870
  DEFAULT_GEMINI_MODEL,
399753
399871
  DEFAULT_GEMINI_FLASH_MODEL,
399872
+ DEFAULT_GEMINI_3_5_FLASH_MODEL,
399873
+ setFlashModels,
399754
399874
  DEFAULT_GEMINI_FLASH_LITE_MODEL,
399755
399875
  PREVIEW_GEMINI_FLASH_LITE_MODEL,
399756
399876
  GEMMA_4_31B_IT_MODEL,
@@ -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
  checkExhaustive
4
- } from "./chunk-CWAXEILN.js";
4
+ } from "./chunk-XRDSBRG4.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __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-4M3TG6ZU.js";
5
+ } from "./chunk-5LUCCXOB.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-GIXFMPPJ.js";
17
+ } from "./chunk-J444UQD3.js";
18
18
  import {
19
19
  debugLogger
20
- } from "./chunk-CWAXEILN.js";
20
+ } from "./chunk-FIM2LOYZ.js";
21
21
  import {
22
22
  __toESM
23
23
  } from "./chunk-34MYV7JD.js";
@@ -29,7 +29,7 @@ import {
29
29
  require_strip_json_comments,
30
30
  sanitizeFilenamePart,
31
31
  stripAnsi
32
- } from "./chunk-J7SEBVDD.js";
32
+ } from "./chunk-XRDSBRG4.js";
33
33
  import {
34
34
  __commonJS,
35
35
  __require,
@@ -11,8 +11,8 @@ import {
11
11
  runSyncCleanup,
12
12
  setupSignalHandlers,
13
13
  setupTtyCheck
14
- } from "./chunk-R5OZKB4U.js";
15
- import "./chunk-4FNXKOEB.js";
14
+ } from "./chunk-2GMVQS2Q.js";
15
+ import "./chunk-HHFFICNK.js";
16
16
  import "./chunk-6HI7VNOG.js";
17
17
  import "./chunk-TUDYL3X4.js";
18
18
  import "./chunk-IUUIT4SU.js";
@@ -11,8 +11,8 @@ import {
11
11
  runSyncCleanup,
12
12
  setupSignalHandlers,
13
13
  setupTtyCheck
14
- } from "./chunk-OY6QYVTR.js";
15
- import "./chunk-CWAXEILN.js";
14
+ } from "./chunk-RXG3JOOZ.js";
15
+ import "./chunk-FIM2LOYZ.js";
16
16
  import "./chunk-6HI7VNOG.js";
17
17
  import "./chunk-TUDYL3X4.js";
18
18
  import "./chunk-IUUIT4SU.js";