@google/gemini-cli 0.66.0-nightly.20261019.ged96faedf → 0.66.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 (68) hide show
  1. package/bundle/{chunk-NU74STQ5.js → chunk-3IDBGHHH.js} +9 -1
  2. package/bundle/{chunk-6P5R6RYB.js → chunk-3RUC6ZA6.js} +1 -1
  3. package/bundle/{chunk-R7UPATQC.js → chunk-5ILL3HFF.js} +2 -2
  4. package/bundle/{chunk-L5EUR3NN.js → chunk-7KFTNUNE.js} +9 -1
  5. package/bundle/{chunk-G3S7WMRG.js → chunk-BAGLLEOA.js} +237 -141
  6. package/bundle/{chunk-J5QPCO3J.js → chunk-D4FKL6WQ.js} +7 -7
  7. package/bundle/{chunk-QCWGLPCO.js → chunk-D6WVFS5S.js} +292 -161
  8. package/bundle/{chunk-NAPT3FAL.js → chunk-EONTJM32.js} +7 -7
  9. package/bundle/{chunk-LPQB7ZQE.js → chunk-EZIYD2G6.js} +58 -71
  10. package/bundle/{chunk-ERBSM2HU.js → chunk-GA6BNFA6.js} +3 -3
  11. package/bundle/{chunk-AWUJQFYP.js → chunk-HH6UGBJR.js} +1 -1
  12. package/bundle/{chunk-ZFQ347ZN.js → chunk-I6Q2CIAC.js} +15211 -8012
  13. package/bundle/{chunk-IDCWFZU3.js → chunk-ITTQBJIT.js} +1 -1
  14. package/bundle/{chunk-464WBVYM.js → chunk-LC5SKSCL.js} +1 -1
  15. package/bundle/{chunk-CTWJ3T77.js → chunk-OCM26AU2.js} +2 -2
  16. package/bundle/{chunk-5P6HIACT.js → chunk-OGLIOKXL.js} +3 -3
  17. package/bundle/{chunk-5VQUE3OF.js → chunk-PWTTZOSA.js} +1 -1
  18. package/bundle/{chunk-V5XDOSXJ.js → chunk-RJ3GGOMU.js} +13 -7
  19. package/bundle/{chunk-O5W3WYI5.js → chunk-SZE3LGYD.js} +1 -1
  20. package/bundle/{chunk-RE4V6I3G.js → chunk-TZZ34RGM.js} +1 -1
  21. package/bundle/{chunk-7UDRNCIH.js → chunk-VDKR3AIQ.js} +3 -3
  22. package/bundle/{chunk-YP27UYI4.js → chunk-VN6QPF5Z.js} +1 -1
  23. package/bundle/{chunk-GCW52DLB.js → chunk-XH7KGX2J.js} +2 -2
  24. package/bundle/{chunk-7K5J3ME2.js → chunk-Z3NAT6YU.js} +8 -9
  25. package/bundle/{cleanup-5DK3CVRM.js → cleanup-5UHD34BY.js} +2 -2
  26. package/bundle/{cleanup-6FAZDCL3.js → cleanup-D3DWTLIR.js} +2 -2
  27. package/bundle/{cleanup-WAU2KYGS.js → cleanup-GF4YFJWT.js} +2 -2
  28. package/bundle/{core-AGGXDQOT.js → core-CEUTCQ3Z.js} +3 -1
  29. package/bundle/{dist-2ELAEESC.js → core-GH3VFZSV.js} +3 -1
  30. package/bundle/{devtoolsService-UO6ZB72B.js → devtoolsService-3EKYJHGL.js} +95 -32
  31. package/bundle/{devtoolsService-FBTSVQ57.js → devtoolsService-KQTX22AU.js} +96 -34
  32. package/bundle/{devtoolsService-AWYBM7VP.js → devtoolsService-YPLYVNTF.js} +95 -32
  33. package/bundle/{dist-4PMK5N6W.js → dist-Q63VF7PG.js} +3 -1
  34. package/bundle/docs/cli/plan-mode.md +1 -1
  35. package/bundle/docs/tools/mcp-server.md +6 -0
  36. package/bundle/{gemini-GK2XZNXB.js → gemini-LRDBGCHF.js} +14 -14
  37. package/bundle/{gemini-OUEDCH4P.js → gemini-VE6EAOCY.js} +198 -214
  38. package/bundle/{gemini-DOXUDJDY.js → gemini-WV55NKMQ.js} +13 -13
  39. package/bundle/gemini.js +7 -7
  40. package/bundle/{interactiveCli-7LIKGDTJ.js → interactiveCli-3XUYDTSL.js} +10 -9
  41. package/bundle/{interactiveCli-TG7PGV4V.js → interactiveCli-S5K6P65K.js} +10 -9
  42. package/bundle/{interactiveCli-GZ4N4JS2.js → interactiveCli-U2CP5B64.js} +301 -319
  43. package/bundle/{liteRtServerManager-KAPXZ3EU.js → liteRtServerManager-HYOFIRWR.js} +4 -4
  44. package/bundle/{liteRtServerManager-KJI7ARTA.js → liteRtServerManager-KF2BIFPA.js} +4 -4
  45. package/bundle/{liteRtServerManager-MSJIWMWP.js → liteRtServerManager-RYZUX64K.js} +4 -4
  46. package/bundle/{oauth2-provider-RMF7U2UN.js → oauth2-provider-LVJMV7QY.js} +1 -1
  47. package/bundle/{oauth2-provider-OISPWSWH.js → oauth2-provider-O2MBVTUX.js} +1 -1
  48. package/bundle/{oauth2-provider-ZM5GWCNX.js → oauth2-provider-XAA7HRXL.js} +79 -41
  49. package/bundle/{start-5GIUIER3.js → start-234HHUMV.js} +6 -6
  50. package/bundle/{start-APIVGXZ3.js → start-JWGPML6R.js} +6 -6
  51. package/bundle/{start-GRIS2RDP.js → start-TRMMLCHR.js} +6 -6
  52. package/package.json +1 -1
  53. package/bundle/chunk-5YXWOKC2.js +0 -402181
  54. package/bundle/chunk-CYBHTFCS.js +0 -154
  55. package/bundle/chunk-HDP6V6JI.js +0 -1956
  56. package/bundle/chunk-RACMC24X.js +0 -118
  57. package/bundle/chunk-VGPHCSAB.js +0 -101859
  58. package/bundle/chunk-VXYA6LA4.js +0 -1571
  59. package/bundle/chunk-W6ALEP4H.js +0 -512
  60. package/bundle/chunk-XY2QSBID.js +0 -17603
  61. package/bundle/cleanup-WTTU6IKS.js +0 -32
  62. package/bundle/devtoolsService-TFBVUD5K.js +0 -4359
  63. package/bundle/dist-F22VU44K.js +0 -2280
  64. package/bundle/gemini-XDNOFFX7.js +0 -17970
  65. package/bundle/interactiveCli-MGIJ7GNE.js +0 -35601
  66. package/bundle/liteRtServerManager-OY2ULYPZ.js +0 -65
  67. package/bundle/oauth2-provider-VT6UHLKR.js +0 -273
  68. package/bundle/start-XQGNK32L.js +0 -18
@@ -1,9 +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
- CoreEvent,
4
3
  coreEvents,
5
4
  debugLogger
6
- } from "./chunk-ZFQ347ZN.js";
5
+ } from "./chunk-D6WVFS5S.js";
7
6
  import "./chunk-664ZODQF.js";
8
7
  import "./chunk-IUUIT4SU.js";
9
8
  import "./chunk-L6PII3GR.js";
@@ -3521,6 +3520,7 @@ import zlib from "node:zlib";
3521
3520
  import fs from "node:fs";
3522
3521
  import path from "node:path";
3523
3522
  import { EventEmitter } from "node:events";
3523
+ import { StringDecoder } from "node:string_decoder";
3524
3524
  var ACTIVITY_ID_HEADER = "x-activity-request-id";
3525
3525
  var MAX_BUFFER_SIZE = 100;
3526
3526
  function isHeaderRecord(h) {
@@ -3886,49 +3886,111 @@ var ActivityLogger = class _ActivityLogger extends EventEmitter {
3886
3886
  };
3887
3887
  req.on("response", (res) => {
3888
3888
  const responseChunks = [];
3889
+ const decompressedChunks = [];
3890
+ const decoder = new StringDecoder("utf8");
3889
3891
  let chunkIndex = 0;
3890
- res.on("data", (chunk) => {
3891
- const chunkBuffer = Buffer.from(chunk);
3892
- responseChunks.push(chunkBuffer);
3892
+ const emitChunk = (chunkData) => {
3893
+ if (!chunkData) return;
3893
3894
  self.safeEmitNetwork({
3894
3895
  id,
3895
3896
  pending: true,
3896
3897
  chunk: {
3897
3898
  index: chunkIndex++,
3898
- data: chunkBuffer.toString("utf8"),
3899
+ data: chunkData,
3899
3900
  timestamp: Date.now()
3900
3901
  }
3901
3902
  });
3903
+ };
3904
+ let responseEmitted = false;
3905
+ const processBuffer = (finalBuffer) => {
3906
+ if (responseEmitted) return;
3907
+ responseEmitted = true;
3908
+ const resBody = finalBuffer.toString("utf8");
3909
+ const startTime = self.requestStartTimes.get(id);
3910
+ const durationMs = startTime ? Date.now() - startTime : 0;
3911
+ self.requestStartTimes.delete(id);
3912
+ self.safeEmitNetwork({
3913
+ id,
3914
+ pending: false,
3915
+ response: {
3916
+ status: res.statusCode || 0,
3917
+ headers: self.stringifyHeaders(res.headers),
3918
+ body: resBody,
3919
+ durationMs
3920
+ }
3921
+ });
3922
+ };
3923
+ const rawEncoding = res.headers["content-encoding"];
3924
+ const encoding = typeof rawEncoding === "string" ? rawEncoding.toLowerCase().trim() : "";
3925
+ let decompressor = null;
3926
+ if (encoding === "gzip" || encoding === "x-gzip") {
3927
+ decompressor = zlib.createGunzip({
3928
+ flush: zlib.constants.Z_SYNC_FLUSH
3929
+ });
3930
+ } else if (encoding === "deflate") {
3931
+ decompressor = zlib.createInflate({
3932
+ flush: zlib.constants.Z_SYNC_FLUSH
3933
+ });
3934
+ }
3935
+ let decompressionFailed = false;
3936
+ let responseEnded = false;
3937
+ if (decompressor) {
3938
+ decompressor.on("data", (decompressedChunk) => {
3939
+ if (decompressionFailed || responseEmitted) return;
3940
+ decompressedChunks.push(decompressedChunk);
3941
+ emitChunk(decoder.write(decompressedChunk));
3942
+ });
3943
+ decompressor.on("end", () => {
3944
+ if (decompressionFailed || responseEmitted) return;
3945
+ emitChunk(decoder.end());
3946
+ processBuffer(Buffer.concat(decompressedChunks));
3947
+ });
3948
+ decompressor.on("error", () => {
3949
+ decompressionFailed = true;
3950
+ if (responseEnded) {
3951
+ processBuffer(Buffer.concat(responseChunks));
3952
+ }
3953
+ });
3954
+ decompressor.on("close", () => {
3955
+ if (responseEnded && !responseEmitted) {
3956
+ processBuffer(Buffer.concat(responseChunks));
3957
+ }
3958
+ });
3959
+ }
3960
+ res.on("data", (chunk) => {
3961
+ const chunkBuffer = Buffer.from(chunk);
3962
+ responseChunks.push(chunkBuffer);
3963
+ if (decompressor) {
3964
+ if (!decompressionFailed && !decompressor.destroyed && !decompressor.writableEnded) {
3965
+ try {
3966
+ decompressor.write(chunkBuffer);
3967
+ } catch {
3968
+ decompressionFailed = true;
3969
+ if (responseEnded) {
3970
+ processBuffer(Buffer.concat(responseChunks));
3971
+ }
3972
+ }
3973
+ }
3974
+ } else {
3975
+ emitChunk(decoder.write(chunkBuffer));
3976
+ }
3902
3977
  });
3903
3978
  res.on("end", () => {
3904
- const buffer = Buffer.concat(responseChunks);
3905
- const encoding = res.headers["content-encoding"];
3906
- const processBuffer = (finalBuffer) => {
3907
- const resBody = finalBuffer.toString("utf8");
3908
- const startTime = self.requestStartTimes.get(id);
3909
- const durationMs = startTime ? Date.now() - startTime : 0;
3910
- self.requestStartTimes.delete(id);
3911
- self.safeEmitNetwork({
3912
- id,
3913
- pending: false,
3914
- response: {
3915
- status: res.statusCode || 0,
3916
- headers: self.stringifyHeaders(res.headers),
3917
- body: resBody,
3918
- durationMs
3979
+ responseEnded = true;
3980
+ if (decompressor) {
3981
+ if (decompressionFailed || decompressor.destroyed || decompressor.writableEnded) {
3982
+ processBuffer(Buffer.concat(responseChunks));
3983
+ } else {
3984
+ try {
3985
+ decompressor.end();
3986
+ } catch {
3987
+ decompressionFailed = true;
3988
+ processBuffer(Buffer.concat(responseChunks));
3919
3989
  }
3920
- });
3921
- };
3922
- if (encoding === "gzip") {
3923
- zlib.gunzip(buffer, (err, decompressed) => {
3924
- processBuffer(err ? buffer : decompressed);
3925
- });
3926
- } else if (encoding === "deflate") {
3927
- zlib.inflate(buffer, (err, decompressed) => {
3928
- processBuffer(err ? buffer : decompressed);
3929
- });
3990
+ }
3930
3991
  } else {
3931
- processBuffer(buffer);
3992
+ emitChunk(decoder.end());
3993
+ processBuffer(Buffer.concat(responseChunks));
3932
3994
  }
3933
3995
  });
3934
3996
  });
@@ -4174,7 +4236,7 @@ var bridgeAttached = false;
4174
4236
  function bridgeCoreEvents(capture) {
4175
4237
  if (bridgeAttached) return;
4176
4238
  bridgeAttached = true;
4177
- coreEvents.on(CoreEvent.ConsoleLog, (payload) => {
4239
+ coreEvents.on("console-log" /* ConsoleLog */, (payload) => {
4178
4240
  capture.logConsole(payload);
4179
4241
  });
4180
4242
  }
@@ -4325,7 +4387,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
4325
4387
  return;
4326
4388
  }
4327
4389
  try {
4328
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-2ELAEESC.js");
4390
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./core-CEUTCQ3Z.js");
4329
4391
  const url = await startDevToolsServer(config);
4330
4392
  if (shouldLaunchBrowser()) {
4331
4393
  try {
@@ -3,7 +3,7 @@ import {
3
3
  CoreEvent,
4
4
  coreEvents,
5
5
  debugLogger
6
- } from "./chunk-G3S7WMRG.js";
6
+ } from "./chunk-BAGLLEOA.js";
7
7
  import "./chunk-664ZODQF.js";
8
8
  import "./chunk-IUUIT4SU.js";
9
9
  import "./chunk-L6PII3GR.js";
@@ -3521,6 +3521,7 @@ import zlib from "node:zlib";
3521
3521
  import fs from "node:fs";
3522
3522
  import path from "node:path";
3523
3523
  import { EventEmitter } from "node:events";
3524
+ import { StringDecoder } from "node:string_decoder";
3524
3525
  var ACTIVITY_ID_HEADER = "x-activity-request-id";
3525
3526
  var MAX_BUFFER_SIZE = 100;
3526
3527
  function isHeaderRecord(h) {
@@ -3886,49 +3887,111 @@ var ActivityLogger = class _ActivityLogger extends EventEmitter {
3886
3887
  };
3887
3888
  req.on("response", (res) => {
3888
3889
  const responseChunks = [];
3890
+ const decompressedChunks = [];
3891
+ const decoder = new StringDecoder("utf8");
3889
3892
  let chunkIndex = 0;
3890
- res.on("data", (chunk) => {
3891
- const chunkBuffer = Buffer.from(chunk);
3892
- responseChunks.push(chunkBuffer);
3893
+ const emitChunk = (chunkData) => {
3894
+ if (!chunkData) return;
3893
3895
  self.safeEmitNetwork({
3894
3896
  id,
3895
3897
  pending: true,
3896
3898
  chunk: {
3897
3899
  index: chunkIndex++,
3898
- data: chunkBuffer.toString("utf8"),
3900
+ data: chunkData,
3899
3901
  timestamp: Date.now()
3900
3902
  }
3901
3903
  });
3904
+ };
3905
+ let responseEmitted = false;
3906
+ const processBuffer = (finalBuffer) => {
3907
+ if (responseEmitted) return;
3908
+ responseEmitted = true;
3909
+ const resBody = finalBuffer.toString("utf8");
3910
+ const startTime = self.requestStartTimes.get(id);
3911
+ const durationMs = startTime ? Date.now() - startTime : 0;
3912
+ self.requestStartTimes.delete(id);
3913
+ self.safeEmitNetwork({
3914
+ id,
3915
+ pending: false,
3916
+ response: {
3917
+ status: res.statusCode || 0,
3918
+ headers: self.stringifyHeaders(res.headers),
3919
+ body: resBody,
3920
+ durationMs
3921
+ }
3922
+ });
3923
+ };
3924
+ const rawEncoding = res.headers["content-encoding"];
3925
+ const encoding = typeof rawEncoding === "string" ? rawEncoding.toLowerCase().trim() : "";
3926
+ let decompressor = null;
3927
+ if (encoding === "gzip" || encoding === "x-gzip") {
3928
+ decompressor = zlib.createGunzip({
3929
+ flush: zlib.constants.Z_SYNC_FLUSH
3930
+ });
3931
+ } else if (encoding === "deflate") {
3932
+ decompressor = zlib.createInflate({
3933
+ flush: zlib.constants.Z_SYNC_FLUSH
3934
+ });
3935
+ }
3936
+ let decompressionFailed = false;
3937
+ let responseEnded = false;
3938
+ if (decompressor) {
3939
+ decompressor.on("data", (decompressedChunk) => {
3940
+ if (decompressionFailed || responseEmitted) return;
3941
+ decompressedChunks.push(decompressedChunk);
3942
+ emitChunk(decoder.write(decompressedChunk));
3943
+ });
3944
+ decompressor.on("end", () => {
3945
+ if (decompressionFailed || responseEmitted) return;
3946
+ emitChunk(decoder.end());
3947
+ processBuffer(Buffer.concat(decompressedChunks));
3948
+ });
3949
+ decompressor.on("error", () => {
3950
+ decompressionFailed = true;
3951
+ if (responseEnded) {
3952
+ processBuffer(Buffer.concat(responseChunks));
3953
+ }
3954
+ });
3955
+ decompressor.on("close", () => {
3956
+ if (responseEnded && !responseEmitted) {
3957
+ processBuffer(Buffer.concat(responseChunks));
3958
+ }
3959
+ });
3960
+ }
3961
+ res.on("data", (chunk) => {
3962
+ const chunkBuffer = Buffer.from(chunk);
3963
+ responseChunks.push(chunkBuffer);
3964
+ if (decompressor) {
3965
+ if (!decompressionFailed && !decompressor.destroyed && !decompressor.writableEnded) {
3966
+ try {
3967
+ decompressor.write(chunkBuffer);
3968
+ } catch {
3969
+ decompressionFailed = true;
3970
+ if (responseEnded) {
3971
+ processBuffer(Buffer.concat(responseChunks));
3972
+ }
3973
+ }
3974
+ }
3975
+ } else {
3976
+ emitChunk(decoder.write(chunkBuffer));
3977
+ }
3902
3978
  });
3903
3979
  res.on("end", () => {
3904
- const buffer = Buffer.concat(responseChunks);
3905
- const encoding = res.headers["content-encoding"];
3906
- const processBuffer = (finalBuffer) => {
3907
- const resBody = finalBuffer.toString("utf8");
3908
- const startTime = self.requestStartTimes.get(id);
3909
- const durationMs = startTime ? Date.now() - startTime : 0;
3910
- self.requestStartTimes.delete(id);
3911
- self.safeEmitNetwork({
3912
- id,
3913
- pending: false,
3914
- response: {
3915
- status: res.statusCode || 0,
3916
- headers: self.stringifyHeaders(res.headers),
3917
- body: resBody,
3918
- durationMs
3980
+ responseEnded = true;
3981
+ if (decompressor) {
3982
+ if (decompressionFailed || decompressor.destroyed || decompressor.writableEnded) {
3983
+ processBuffer(Buffer.concat(responseChunks));
3984
+ } else {
3985
+ try {
3986
+ decompressor.end();
3987
+ } catch {
3988
+ decompressionFailed = true;
3989
+ processBuffer(Buffer.concat(responseChunks));
3919
3990
  }
3920
- });
3921
- };
3922
- if (encoding === "gzip") {
3923
- zlib.gunzip(buffer, (err, decompressed) => {
3924
- processBuffer(err ? buffer : decompressed);
3925
- });
3926
- } else if (encoding === "deflate") {
3927
- zlib.inflate(buffer, (err, decompressed) => {
3928
- processBuffer(err ? buffer : decompressed);
3929
- });
3991
+ }
3930
3992
  } else {
3931
- processBuffer(buffer);
3993
+ emitChunk(decoder.end());
3994
+ processBuffer(Buffer.concat(responseChunks));
3932
3995
  }
3933
3996
  });
3934
3997
  });
@@ -4325,7 +4388,7 @@ async function toggleDevToolsPanel(config, isOpen, toggle, setOpen) {
4325
4388
  return;
4326
4389
  }
4327
4390
  try {
4328
- const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-F22VU44K.js");
4391
+ const { openBrowserSecurely, shouldLaunchBrowser } = await import("./dist-Q63VF7PG.js");
4329
4392
  const url = await startDevToolsServer(config);
4330
4393
  if (shouldLaunchBrowser()) {
4331
4394
  try {
@@ -831,6 +831,7 @@ import {
831
831
  isEditorAvailableAsync,
832
832
  isEmpty,
833
833
  isEnabled,
834
+ isEnterprisePrivateAddress,
834
835
  isFatalToolError,
835
836
  isFileAndDirectorySecureSync,
836
837
  isFileDiff,
@@ -1133,7 +1134,7 @@ import {
1133
1134
  wrapWithSynchronizedOutput,
1134
1135
  writeToStderr,
1135
1136
  writeToStdout
1136
- } from "./chunk-5YXWOKC2.js";
1137
+ } from "./chunk-BAGLLEOA.js";
1137
1138
  import "./chunk-664ZODQF.js";
1138
1139
  import {
1139
1140
  SpanStatusCode,
@@ -1974,6 +1975,7 @@ export {
1974
1975
  isEditorAvailableAsync,
1975
1976
  isEmpty,
1976
1977
  isEnabled,
1978
+ isEnterprisePrivateAddress,
1977
1979
  isFatalToolError,
1978
1980
  isFileAndDirectorySecureSync,
1979
1981
  isFileDiff,
@@ -340,7 +340,7 @@ if [ -f "$plan_path" ]; then
340
340
  filename="$(date +%s)_$(basename "$plan_path")"
341
341
 
342
342
  # Upload the plan to GCS in the background so it doesn't block the CLI
343
- gsutil cp "$plan_path" "gs://my-audit-bucket/gemini-plans/$filename" > /dev/null 2>&1 &
343
+ gcloud storage cp "$plan_path" "gs://my-audit-bucket/gemini-plans/$filename" > /dev/null 2>&1 &
344
344
  fi
345
345
 
346
346
  # AfterTool hooks should generally allow the flow to continue
@@ -433,6 +433,12 @@ Use the `/mcp auth` command to manage OAuth authentication:
433
433
  random port, e.g., `http://localhost:<random-port>/oauth/callback`)
434
434
  - **`tokenParamName`** (string): Query parameter name for tokens in SSE URLs
435
435
  - **`audiences`** (string[]): Audiences the token is valid for
436
+ - **`allowPrivateNetwork`** (boolean): Allow OAuth discovery, registration,
437
+ authorization, and token endpoints that resolve to private enterprise network
438
+ addresses (RFC 1918, RFC 6598 Carrier-Grade NAT, RFC 4193 IPv6 Unique Local,
439
+ and `.internal` or `.local` domains). Defaults to `false`. HTTPS is still
440
+ required for non-loopback endpoints, and link-local (`169.254.0.0/16`,
441
+ `fe80::/10`) and loopback (`127.0.0.0/8`, `::1`) addresses remain restricted.
436
442
 
437
443
  #### Token management
438
444
 
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  startCommand,
4
4
  startServer
5
- } from "./chunk-5P6HIACT.js";
5
+ } from "./chunk-VDKR3AIQ.js";
6
6
  import {
7
7
  BuiltinCommandLoader,
8
8
  CommandService,
@@ -45,11 +45,11 @@ import {
45
45
  updateExtension,
46
46
  validateAuthMethod,
47
47
  validateContextFilePath
48
- } from "./chunk-VGPHCSAB.js";
48
+ } from "./chunk-D4FKL6WQ.js";
49
49
  import {
50
50
  exitCli,
51
51
  require_source
52
- } from "./chunk-O5W3WYI5.js";
52
+ } from "./chunk-HH6UGBJR.js";
53
53
  import {
54
54
  appEvents
55
55
  } from "./chunk-5PS3AYFU.js";
@@ -88,12 +88,12 @@ import {
88
88
  resolveGemmaConfig,
89
89
  saveModelChange,
90
90
  stripAnsi
91
- } from "./chunk-V5XDOSXJ.js";
91
+ } from "./chunk-7KFTNUNE.js";
92
92
  import {
93
93
  RELAUNCH_EXIT_CODE,
94
94
  require_semver
95
- } from "./chunk-CTWJ3T77.js";
96
- import "./chunk-W6ALEP4H.js";
95
+ } from "./chunk-OCM26AU2.js";
96
+ import "./chunk-LC5SKSCL.js";
97
97
  import {
98
98
  cleanupCheckpoints,
99
99
  registerCleanup,
@@ -102,7 +102,7 @@ import {
102
102
  runExitCleanup,
103
103
  runSyncCleanup,
104
104
  setupSignalHandlers
105
- } from "./chunk-CYBHTFCS.js";
105
+ } from "./chunk-3RUC6ZA6.js";
106
106
  import {
107
107
  ASK_USER_TOOL_NAME,
108
108
  ApprovalMode,
@@ -257,7 +257,7 @@ import {
257
257
  updatePolicy,
258
258
  writeToStderr,
259
259
  writeToStdout
260
- } from "./chunk-G3S7WMRG.js";
260
+ } from "./chunk-BAGLLEOA.js";
261
261
  import "./chunk-664ZODQF.js";
262
262
  import "./chunk-IUUIT4SU.js";
263
263
  import "./chunk-L6PII3GR.js";
@@ -7876,7 +7876,7 @@ async function loadSandboxConfig(settings, argv) {
7876
7876
  }
7877
7877
  const command2 = getSandboxCommand(sandboxValue);
7878
7878
  const packageJson = await getPackageJson(__dirname3);
7879
- const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.66.0-nightly.20261019.ged96faedf" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7879
+ const image = process.env["GEMINI_SANDBOX_IMAGE"] ?? "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.66.0-preview.0" ?? customImage ?? packageJson?.config?.sandboxImageUri;
7880
7880
  const isNative = command2 === "windows-native" || command2 === "sandbox-exec" || command2 === "lxc";
7881
7881
  return command2 && (image || isNative) ? { enabled: true, allowedPaths, networkAccess, command: command2, image } : void 0;
7882
7882
  }
@@ -11547,7 +11547,7 @@ async function runNonInteractive({
11547
11547
  }
11548
11548
  });
11549
11549
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
11550
- const { setupInitialActivityLogger } = await import("./devtoolsService-AWYBM7VP.js");
11550
+ const { setupInitialActivityLogger } = await import("./devtoolsService-YPLYVNTF.js");
11551
11551
  setupInitialActivityLogger(config);
11552
11552
  }
11553
11553
  const { stdout: workingStdout } = createWorkingStdio();
@@ -12057,7 +12057,7 @@ async function runNonInteractive2(params) {
12057
12057
  }
12058
12058
  });
12059
12059
  if (process.env["GEMINI_CLI_ACTIVITY_LOG_TARGET"]) {
12060
- const { setupInitialActivityLogger } = await import("./devtoolsService-AWYBM7VP.js");
12060
+ const { setupInitialActivityLogger } = await import("./devtoolsService-YPLYVNTF.js");
12061
12061
  setupInitialActivityLogger(config);
12062
12062
  }
12063
12063
  const { stdout: workingStdout } = createWorkingStdio();
@@ -17454,7 +17454,7 @@ async function resolveSessionId(resumeArg, sessionIdArg, sessionFileArg) {
17454
17454
  }
17455
17455
  }
17456
17456
  async function startInteractiveUI(config, settings, startupWarnings, workspaceRoot = process.cwd(), resumedSessionData, initializationResult) {
17457
- const { startInteractiveUI: doStartUI } = await import("./interactiveCli-MGIJ7GNE.js");
17457
+ const { startInteractiveUI: doStartUI } = await import("./interactiveCli-3XUYDTSL.js");
17458
17458
  await doStartUI(
17459
17459
  config,
17460
17460
  settings,
@@ -17663,7 +17663,7 @@ ${finalArgs[promptIndex + 1]}`;
17663
17663
  await config.storage.initialize();
17664
17664
  adminControlsListner.setConfig(config);
17665
17665
  if (config.isInteractive() && settings.merged.general.devtools) {
17666
- const { setupInitialActivityLogger } = await import("./devtoolsService-AWYBM7VP.js");
17666
+ const { setupInitialActivityLogger } = await import("./devtoolsService-YPLYVNTF.js");
17667
17667
  setupInitialActivityLogger(config);
17668
17668
  }
17669
17669
  registerTelemetryConfig(config);
@@ -17722,7 +17722,7 @@ ${finalArgs[promptIndex + 1]}`;
17722
17722
  const initAppHandle = startupProfiler.start("initialize_app");
17723
17723
  const initializationResult = await initializeApp(config, settings);
17724
17724
  initAppHandle?.end();
17725
- import("./liteRtServerManager-OY2ULYPZ.js").then(({ LiteRtServerManager }) => {
17725
+ import("./liteRtServerManager-KF2BIFPA.js").then(({ LiteRtServerManager }) => {
17726
17726
  const mergedGemma = settings.merged.experimental?.gemmaModelRouter;
17727
17727
  if (!mergedGemma) return;
17728
17728
  const userGemma = settings.forScope("User" /* User */).settings.experimental?.gemmaModelRouter;