@google/gemini-cli 0.42.0-nightly.20260505.g8f0edcd64 → 0.42.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/bundle/{chunk-7K3BDMNW.js → chunk-47QC6PWE.js} +41 -39
  2. package/bundle/{chunk-BUGLHA3O.js → chunk-5AFGMGVT.js} +41 -39
  3. package/bundle/{chunk-AYFTTAOC.js → chunk-5MQ5VMQK.js} +1 -1
  4. package/bundle/{chunk-DEZGYGYJ.js → chunk-66C7JVNE.js} +2 -2
  5. package/bundle/{chunk-NR6SB2E6.js → chunk-6K3EFSDX.js} +1 -1
  6. package/bundle/{chunk-PKBMZN3F.js → chunk-7H3CQGS6.js} +1 -1
  7. package/bundle/{chunk-MUERKGUO.js → chunk-7LOMS5HP.js} +2 -2
  8. package/bundle/{chunk-K7EIS2YB.js → chunk-A3GDBSEI.js} +1 -1
  9. package/bundle/{chunk-DYIFKWND.js → chunk-A564QXJJ.js} +28 -19
  10. package/bundle/{chunk-J6WFSC7E.js → chunk-ARLWCFGI.js} +28 -19
  11. package/bundle/{chunk-OBW35HU4.js → chunk-AS4E6DX7.js} +2 -2
  12. package/bundle/{chunk-D2C64P5Z.js → chunk-BI5ZICGL.js} +1 -1
  13. package/bundle/{chunk-MN6H6QQI.js → chunk-BUJZOWQ7.js} +1 -1
  14. package/bundle/{chunk-XEH7EX5B.js → chunk-BZZHETT5.js} +1 -1
  15. package/bundle/{chunk-2CBGERHU.js → chunk-GZ4FSF4B.js} +2 -2
  16. package/bundle/{chunk-FTZQW7RL.js → chunk-I5JMJ2LU.js} +1 -1
  17. package/bundle/{chunk-RFZFK4JU.js → chunk-IBIKJW2L.js} +1 -1
  18. package/bundle/{chunk-6HZLEGSD.js → chunk-KSNNZBTV.js} +2 -2
  19. package/bundle/{chunk-X6HRLMVI.js → chunk-L6GBKGQX.js} +2 -2
  20. package/bundle/{chunk-7Q5NGMJO.js → chunk-L7GACEVA.js} +2 -2
  21. package/bundle/{chunk-QTRRFFFG.js → chunk-LCB7VVYS.js} +28 -19
  22. package/bundle/{chunk-T3OZ4PED.js → chunk-LK7LIPO6.js} +1 -1
  23. package/bundle/{chunk-DOKLYVG7.js → chunk-NHDN46IK.js} +1 -1
  24. package/bundle/{chunk-YV3D27AG.js → chunk-OGZGOFAJ.js} +1 -1
  25. package/bundle/{chunk-HVV5CBCQ.js → chunk-PBD26LJQ.js} +41 -39
  26. package/bundle/{chunk-RFIPC47H.js → chunk-QZ2JZRLK.js} +30 -21
  27. package/bundle/{chunk-ZM3UHGRF.js → chunk-UKCYYERR.js} +2 -2
  28. package/bundle/{chunk-SVNKO43I.js → chunk-UVBJHP26.js} +1 -1
  29. package/bundle/{chunk-LRWJKYUM.js → chunk-UZZVXATH.js} +1 -1
  30. package/bundle/{chunk-Y24ZZ77D.js → chunk-VERP26KN.js} +41 -39
  31. package/bundle/{chunk-L7YU4GAQ.js → chunk-WX6CHISQ.js} +1 -1
  32. package/bundle/{chunk-XHY7VA2C.js → chunk-YDSDSLSO.js} +1 -1
  33. package/bundle/{cleanup-G27FRCT3.js → cleanup-6PVHIK4C.js} +2 -2
  34. package/bundle/{cleanup-7KSYJH2O.js → cleanup-FRS7FPOS.js} +2 -2
  35. package/bundle/{cleanup-BRSVXJUB.js → cleanup-NDTUQVOW.js} +2 -2
  36. package/bundle/{cleanup-J3S2VJHM.js → cleanup-O4IDJYU2.js} +2 -2
  37. package/bundle/{core-AGJ4OBNK.js → core-RZFMBCSX.js} +1 -1
  38. package/bundle/{devtoolsService-D2JPFCIT.js → devtoolsService-6D355RSX.js} +2 -2
  39. package/bundle/{devtoolsService-DGWNCZQ3.js → devtoolsService-7SBW23VD.js} +2 -2
  40. package/bundle/{devtoolsService-VB7MCC2X.js → devtoolsService-SPV43SGI.js} +2 -2
  41. package/bundle/{devtoolsService-5YOCS3OU.js → devtoolsService-WER5PRLG.js} +2 -2
  42. package/bundle/{dist-7DXQMMPF.js → dist-7BJPFNU7.js} +1 -1
  43. package/bundle/{dist-G2IISA3O.js → dist-DTPIOJ3P.js} +1 -1
  44. package/bundle/{dist-SIB6NRYV.js → dist-ZZ5HEQGP.js} +1 -1
  45. package/bundle/{gemini-SURP22FP.js → gemini-3NXWUDHV.js} +14 -14
  46. package/bundle/{gemini-7RWGK2CD.js → gemini-GLORNPU2.js} +14 -14
  47. package/bundle/{gemini-OLIA6BD3.js → gemini-HCJBP42A.js} +14 -14
  48. package/bundle/{gemini-E3ZPJJU6.js → gemini-KMMF6AK3.js} +14 -14
  49. package/bundle/gemini.js +7 -7
  50. package/bundle/{interactiveCli-KNIYNKPE.js → interactiveCli-5UVCH7FM.js} +25 -15
  51. package/bundle/{interactiveCli-ADJEGKJD.js → interactiveCli-BNDKNCVJ.js} +25 -15
  52. package/bundle/{interactiveCli-34WZVFXH.js → interactiveCli-HBRMSAIT.js} +25 -15
  53. package/bundle/{interactiveCli-D2PQQYPT.js → interactiveCli-TWDP2H52.js} +25 -15
  54. package/bundle/{liteRtServerManager-I5DVLB5U.js → liteRtServerManager-3YA2HL46.js} +4 -4
  55. package/bundle/{liteRtServerManager-LO3TTXD6.js → liteRtServerManager-BYQVAM6Y.js} +4 -4
  56. package/bundle/{liteRtServerManager-SKLLI7O4.js → liteRtServerManager-IQHHDTUM.js} +4 -4
  57. package/bundle/{liteRtServerManager-TWDZR6MD.js → liteRtServerManager-RTBP2SLV.js} +4 -4
  58. package/bundle/node_modules/@google/gemini-cli-devtools/package.json +1 -1
  59. package/bundle/{oauth2-provider-6TFHU5SO.js → oauth2-provider-C66JRVDQ.js} +1 -1
  60. package/bundle/{oauth2-provider-KNQFMZAQ.js → oauth2-provider-OAXWX3Z3.js} +1 -1
  61. package/bundle/{oauth2-provider-IC5HO7RX.js → oauth2-provider-TUVQXNLY.js} +1 -1
  62. package/bundle/{oauth2-provider-RRLZHENJ.js → oauth2-provider-ZPJOR5SG.js} +1 -1
  63. package/bundle/{start-DQV4LNVR.js → start-ELTWFVNO.js} +6 -6
  64. package/bundle/{start-A22FESG3.js → start-HHZI73VV.js} +6 -6
  65. package/bundle/{start-P5J7HABT.js → start-NCMR7HOQ.js} +6 -6
  66. package/bundle/{start-AOW6LPFZ.js → start-S3TEO5BN.js} +6 -6
  67. package/package.json +1 -1
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  exitCli,
8
8
  require_source
9
- } from "./chunk-FTZQW7RL.js";
9
+ } from "./chunk-I5JMJ2LU.js";
10
10
  import {
11
11
  DEFAULT_BACKGROUND_OPACITY,
12
12
  DEFAULT_BORDER_OPACITY,
@@ -57,14 +57,14 @@ import {
57
57
  stripUnsafeCharacters,
58
58
  toCodePoints,
59
59
  validateCustomTheme
60
- } from "./chunk-DOKLYVG7.js";
60
+ } from "./chunk-NHDN46IK.js";
61
61
  import {
62
62
  isDevelopment
63
- } from "./chunk-MUERKGUO.js";
63
+ } from "./chunk-7LOMS5HP.js";
64
64
  import {
65
65
  emptyIcon,
66
66
  require_react
67
- } from "./chunk-LRWJKYUM.js";
67
+ } from "./chunk-UZZVXATH.js";
68
68
  import {
69
69
  AsyncFzf,
70
70
  Config,
@@ -200,7 +200,7 @@ import {
200
200
  stripAnsi,
201
201
  tokenLimit,
202
202
  uiTelemetryService
203
- } from "./chunk-RFIPC47H.js";
203
+ } from "./chunk-QZ2JZRLK.js";
204
204
  import {
205
205
  ApprovalMode,
206
206
  CoreEvent,
@@ -56441,7 +56441,7 @@ var authCommand = {
56441
56441
  import process28 from "node:process";
56442
56442
 
56443
56443
  // packages/cli/src/generated/git-commit.ts
56444
- var GIT_COMMIT_INFO = "8f0edcd64";
56444
+ var GIT_COMMIT_INFO = "246f98459";
56445
56445
 
56446
56446
  // packages/cli/src/ui/utils/historyExportUtils.ts
56447
56447
  import * as fsPromises from "node:fs/promises";
@@ -57246,46 +57246,48 @@ var compressCommand = {
57246
57246
  compressionStatus: null
57247
57247
  }
57248
57248
  };
57249
- try {
57250
- ui2.setPendingItem(pendingMessage);
57251
- const promptId = `compress-${Date.now()}`;
57252
- const compressed = await context.services.agentContext?.geminiClient?.tryCompressChat(
57253
- promptId,
57254
- true
57255
- );
57256
- if (compressed) {
57257
- ui2.addItem(
57258
- {
57259
- type: "compression" /* COMPRESSION */,
57260
- compression: {
57261
- isPending: false,
57262
- originalTokenCount: compressed.originalTokenCount,
57263
- newTokenCount: compressed.newTokenCount,
57264
- compressionStatus: compressed.compressionStatus
57265
- }
57266
- },
57267
- Date.now()
57249
+ ui2.setPendingItem(pendingMessage);
57250
+ void (async () => {
57251
+ try {
57252
+ const promptId = `compress-${Date.now()}`;
57253
+ const compressed = await context.services.agentContext?.geminiClient?.tryCompressChat(
57254
+ promptId,
57255
+ true
57268
57256
  );
57269
- } else {
57257
+ if (compressed) {
57258
+ ui2.addItem(
57259
+ {
57260
+ type: "compression" /* COMPRESSION */,
57261
+ compression: {
57262
+ isPending: false,
57263
+ originalTokenCount: compressed.originalTokenCount,
57264
+ newTokenCount: compressed.newTokenCount,
57265
+ compressionStatus: compressed.compressionStatus
57266
+ }
57267
+ },
57268
+ Date.now()
57269
+ );
57270
+ } else {
57271
+ ui2.addItem(
57272
+ {
57273
+ type: "error" /* ERROR */,
57274
+ text: "Failed to compress chat history."
57275
+ },
57276
+ Date.now()
57277
+ );
57278
+ }
57279
+ } catch (e) {
57270
57280
  ui2.addItem(
57271
57281
  {
57272
57282
  type: "error" /* ERROR */,
57273
- text: "Failed to compress chat history."
57283
+ text: `Failed to compress chat history: ${e instanceof Error ? e.message : String(e)}`
57274
57284
  },
57275
57285
  Date.now()
57276
57286
  );
57287
+ } finally {
57288
+ ui2.setPendingItem(null);
57277
57289
  }
57278
- } catch (e) {
57279
- ui2.addItem(
57280
- {
57281
- type: "error" /* ERROR */,
57282
- text: `Failed to compress chat history: ${e instanceof Error ? e.message : String(e)}`
57283
- },
57284
- Date.now()
57285
- );
57286
- } finally {
57287
- ui2.setPendingItem(null);
57288
- }
57290
+ })();
57289
57291
  }
57290
57292
  };
57291
57293
 
@@ -62107,7 +62109,7 @@ Use /mcp auth <server-name> to authenticate.`
62107
62109
  type: "info",
62108
62110
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
62109
62111
  });
62110
- const { MCPOAuthProvider } = await import("./core-AGJ4OBNK.js");
62112
+ const { MCPOAuthProvider } = await import("./core-RZFMBCSX.js");
62111
62113
  let oauthConfig = server.oauth;
62112
62114
  if (!oauthConfig) {
62113
62115
  oauthConfig = { enabled: false };
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  exitCli,
8
8
  require_source
9
- } from "./chunk-YV3D27AG.js";
9
+ } from "./chunk-OGZGOFAJ.js";
10
10
  import {
11
11
  DEFAULT_BACKGROUND_OPACITY,
12
12
  DEFAULT_BORDER_OPACITY,
@@ -57,14 +57,14 @@ import {
57
57
  stripUnsafeCharacters,
58
58
  toCodePoints,
59
59
  validateCustomTheme
60
- } from "./chunk-RFZFK4JU.js";
60
+ } from "./chunk-IBIKJW2L.js";
61
61
  import {
62
62
  isDevelopment
63
- } from "./chunk-OBW35HU4.js";
63
+ } from "./chunk-UKCYYERR.js";
64
64
  import {
65
65
  emptyIcon,
66
66
  require_react
67
- } from "./chunk-XEH7EX5B.js";
67
+ } from "./chunk-A3GDBSEI.js";
68
68
  import {
69
69
  AsyncFzf,
70
70
  AuthType,
@@ -212,7 +212,7 @@ import {
212
212
  stripAnsi,
213
213
  tokenLimit,
214
214
  uiTelemetryService
215
- } from "./chunk-QTRRFFFG.js";
215
+ } from "./chunk-LCB7VVYS.js";
216
216
  import {
217
217
  ApprovalMode,
218
218
  CoreEvent,
@@ -56454,7 +56454,7 @@ var authCommand = {
56454
56454
  import process28 from "node:process";
56455
56455
 
56456
56456
  // packages/cli/src/generated/git-commit.ts
56457
- var GIT_COMMIT_INFO = "2595bf215";
56457
+ var GIT_COMMIT_INFO = "246f98459";
56458
56458
 
56459
56459
  // packages/cli/src/ui/utils/historyExportUtils.ts
56460
56460
  import * as fsPromises from "node:fs/promises";
@@ -57259,46 +57259,48 @@ var compressCommand = {
57259
57259
  compressionStatus: null
57260
57260
  }
57261
57261
  };
57262
- try {
57263
- ui2.setPendingItem(pendingMessage);
57264
- const promptId = `compress-${Date.now()}`;
57265
- const compressed = await context.services.agentContext?.geminiClient?.tryCompressChat(
57266
- promptId,
57267
- true
57268
- );
57269
- if (compressed) {
57270
- ui2.addItem(
57271
- {
57272
- type: "compression" /* COMPRESSION */,
57273
- compression: {
57274
- isPending: false,
57275
- originalTokenCount: compressed.originalTokenCount,
57276
- newTokenCount: compressed.newTokenCount,
57277
- compressionStatus: compressed.compressionStatus
57278
- }
57279
- },
57280
- Date.now()
57262
+ ui2.setPendingItem(pendingMessage);
57263
+ void (async () => {
57264
+ try {
57265
+ const promptId = `compress-${Date.now()}`;
57266
+ const compressed = await context.services.agentContext?.geminiClient?.tryCompressChat(
57267
+ promptId,
57268
+ true
57281
57269
  );
57282
- } else {
57270
+ if (compressed) {
57271
+ ui2.addItem(
57272
+ {
57273
+ type: "compression" /* COMPRESSION */,
57274
+ compression: {
57275
+ isPending: false,
57276
+ originalTokenCount: compressed.originalTokenCount,
57277
+ newTokenCount: compressed.newTokenCount,
57278
+ compressionStatus: compressed.compressionStatus
57279
+ }
57280
+ },
57281
+ Date.now()
57282
+ );
57283
+ } else {
57284
+ ui2.addItem(
57285
+ {
57286
+ type: "error" /* ERROR */,
57287
+ text: "Failed to compress chat history."
57288
+ },
57289
+ Date.now()
57290
+ );
57291
+ }
57292
+ } catch (e) {
57283
57293
  ui2.addItem(
57284
57294
  {
57285
57295
  type: "error" /* ERROR */,
57286
- text: "Failed to compress chat history."
57296
+ text: `Failed to compress chat history: ${e instanceof Error ? e.message : String(e)}`
57287
57297
  },
57288
57298
  Date.now()
57289
57299
  );
57300
+ } finally {
57301
+ ui2.setPendingItem(null);
57290
57302
  }
57291
- } catch (e) {
57292
- ui2.addItem(
57293
- {
57294
- type: "error" /* ERROR */,
57295
- text: `Failed to compress chat history: ${e instanceof Error ? e.message : String(e)}`
57296
- },
57297
- Date.now()
57298
- );
57299
- } finally {
57300
- ui2.setPendingItem(null);
57301
- }
57303
+ })();
57302
57304
  }
57303
57305
  };
57304
57306
 
@@ -62120,7 +62122,7 @@ Use /mcp auth <server-name> to authenticate.`
62120
62122
  type: "info",
62121
62123
  text: `Starting OAuth authentication for MCP server '${serverName}'...`
62122
62124
  });
62123
- const { MCPOAuthProvider } = await import("./dist-7DXQMMPF.js");
62125
+ const { MCPOAuthProvider } = await import("./dist-DTPIOJ3P.js");
62124
62126
  let oauthConfig = server.oauth;
62125
62127
  if (!oauthConfig) {
62126
62128
  oauthConfig = { enabled: false };
@@ -22,7 +22,7 @@ import {
22
22
  require_strip_json_comments,
23
23
  sanitizeFilenamePart,
24
24
  stripAnsi
25
- } from "./chunk-J6WFSC7E.js";
25
+ } from "./chunk-A564QXJJ.js";
26
26
  import {
27
27
  CoreEvent,
28
28
  FatalConfigError,
@@ -1,12 +1,12 @@
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-XHY7VA2C.js";
4
+ } from "./chunk-UVBJHP26.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  getChannelFromVersion,
8
8
  isGitRepository
9
- } from "./chunk-DYIFKWND.js";
9
+ } from "./chunk-ARLWCFGI.js";
10
10
  import {
11
11
  debugLogger
12
12
  } from "./chunk-JEW7ZIWE.js";
@@ -4,7 +4,7 @@ import {
4
4
  isTelemetrySdkInitialized,
5
5
  resetBrowserSession,
6
6
  shutdownTelemetry
7
- } from "./chunk-RFIPC47H.js";
7
+ } from "./chunk-QZ2JZRLK.js";
8
8
  import {
9
9
  Storage
10
10
  } from "./chunk-ECNYAST2.js";
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  CoreToolCallStatus,
4
4
  checkExhaustive
5
- } from "./chunk-J6WFSC7E.js";
5
+ } from "./chunk-A564QXJJ.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM
@@ -1,12 +1,12 @@
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-NR6SB2E6.js";
4
+ } from "./chunk-6K3EFSDX.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  getChannelFromVersion,
8
8
  isGitRepository
9
- } from "./chunk-RFIPC47H.js";
9
+ } from "./chunk-QZ2JZRLK.js";
10
10
  import {
11
11
  debugLogger
12
12
  } from "./chunk-ECNYAST2.js";
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  CoreToolCallStatus,
4
4
  checkExhaustive
5
- } from "./chunk-DYIFKWND.js";
5
+ } from "./chunk-LCB7VVYS.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM
@@ -246273,8 +246273,8 @@ var EventMetadataKey;
246273
246273
  })(EventMetadataKey || (EventMetadataKey = {}));
246274
246274
 
246275
246275
  // packages/core/dist/src/generated/git-commit.js
246276
- var GIT_COMMIT_INFO = "8f0edcd64";
246277
- var CLI_VERSION = "0.42.0-nightly.20260428.g59b2dea0e";
246276
+ var GIT_COMMIT_INFO = "246f98459";
246277
+ var CLI_VERSION = "0.42.0-preview.0";
246278
246278
 
246279
246279
  // packages/core/dist/src/ide/detect-ide.js
246280
246280
  var IDE_DEFINITIONS = {
@@ -269321,7 +269321,7 @@ function getVersion() {
269321
269321
  }
269322
269322
  versionPromise = (async () => {
269323
269323
  const pkgJson = await getPackageJson(__dirname4);
269324
- return "0.42.0-nightly.20260428.g59b2dea0e";
269324
+ return "0.42.0-preview.1";
269325
269325
  })();
269326
269326
  return versionPromise;
269327
269327
  }
@@ -270565,7 +270565,8 @@ var RETRYABLE_NETWORK_CODES = [
270565
270565
  // Generic protocol error (often SSL-related)
270566
270566
  "UND_ERR_HEADERS_TIMEOUT",
270567
270567
  "UND_ERR_BODY_TIMEOUT",
270568
- "UND_ERR_CONNECT_TIMEOUT"
270568
+ "UND_ERR_CONNECT_TIMEOUT",
270569
+ "ERR_STREAM_PREMATURE_CLOSE"
270569
270570
  ];
270570
270571
  var RETRYABLE_SSL_ERROR_PATTERN = /^ERR_SSL_.*BAD_RECORD_MAC/i;
270571
270572
  function isRetryableSslErrorCode(code) {
@@ -293677,7 +293678,7 @@ var GeminiChat = class {
293677
293678
  */
293678
293679
  getHistory(curated = false) {
293679
293680
  const history = curated ? extractCuratedHistory([...this.agentHistory.get()]) : this.agentHistory.get();
293680
- return [...history];
293681
+ return this.context.config.isContextManagementEnabled() ? scrubHistory([...history]) : [...history];
293681
293682
  }
293682
293683
  /**
293683
293684
  * Clears the chat history.
@@ -300956,7 +300957,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
300956
300957
  return provider;
300957
300958
  }
300958
300959
  case "oauth2": {
300959
- const { OAuth2AuthProvider } = await import("./oauth2-provider-6TFHU5SO.js");
300960
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-ZPJOR5SG.js");
300960
300961
  const provider = new OAuth2AuthProvider(authConfig, options.agentName ?? "unknown", agentCard, options.agentCardUrl);
300961
300962
  await provider.initialize();
300962
300963
  return provider;
@@ -304528,9 +304529,9 @@ var SnapshotGenerator = class {
304528
304529
  }
304529
304530
  async synthesizeSnapshot(nodes, systemInstruction) {
304530
304531
  const systemPrompt = systemInstruction ?? `You are an expert Context Memory Manager. You will be provided with a raw transcript of older conversation turns between a user and an AI assistant.
304531
- Your task is to synthesize these turns into a single, dense, factual snapshot that preserves all critical context, preferences, active tasks, and factual knowledge, but discards conversational filler, pleasantries, and redundant back-and-forth iterations.
304532
+ Your task is to synthesize these turns into a single, dense, factual snapshot that preserves all critical context, preferences, active tasks, and factual knowledge.
304532
304533
 
304533
- Output ONLY the raw factual snapshot, formatted compactly. Do not include markdown wrappers, prefixes like "Here is the snapshot", or conversational elements.`;
304534
+ Discard conversational filler, pleasantries, and redundant back-and-forth iterations. Output ONLY the raw factual snapshot, formatted compactly. Do not include markdown wrappers, prefixes like "Here is the snapshot", or conversational elements.`;
304534
304535
  let userPromptText = "TRANSCRIPT TO SNAPSHOT:\n\n";
304535
304536
  for (const node of nodes) {
304536
304537
  const payload = node.payload;
@@ -304749,7 +304750,8 @@ var generalistProfile = {
304749
304750
  config: {
304750
304751
  budget: {
304751
304752
  retainedTokens: 65e3,
304752
- maxTokens: 15e4
304753
+ maxTokens: 15e4,
304754
+ coalescingThresholdTokens: 5e3
304753
304755
  }
304754
304756
  },
304755
304757
  buildPipelines: (env2, config2) => (
@@ -304775,10 +304777,10 @@ var generalistProfile = {
304775
304777
  triggers: ["retained_exceeded"],
304776
304778
  processors: [
304777
304779
  createNodeDistillationProcessor("NodeDistillation", env2, resolveProcessorOptions(config2, "NodeDistillation", {
304778
- nodeThresholdTokens: 1e3
304780
+ nodeThresholdTokens: 3e3
304779
304781
  })),
304780
304782
  createNodeTruncationProcessor("NodeTruncation", env2, resolveProcessorOptions(config2, "NodeTruncation", {
304781
- maxTokensPerNode: 1200
304783
+ maxTokensPerNode: 4e3
304782
304784
  }))
304783
304785
  ]
304784
304786
  },
@@ -304867,6 +304869,10 @@ function getContextManagementConfigSchema(registry2) {
304867
304869
  maxTokens: {
304868
304870
  type: "number",
304869
304871
  description: "The absolute maximum token count allowed before synchronous truncation kicks in."
304872
+ },
304873
+ coalescingThresholdTokens: {
304874
+ type: "number",
304875
+ description: 'Only trigger background consolidation (snapshots) when at least this many tokens have aged out. Prevents "turn-by-turn" utility model churn.'
304870
304876
  }
304871
304877
  }
304872
304878
  },
@@ -306055,12 +306061,16 @@ var ContextManager = class {
306055
306061
  }
306056
306062
  }
306057
306063
  if (agedOutNodes.size > 0) {
306058
- this.env.tokenCalculator.garbageCollectCache(new Set(this.buffer.nodes.map((n3) => n3.id)));
306059
- this.eventBus.emitConsolidationNeeded({
306060
- nodes: this.buffer.nodes,
306061
- targetDeficit: currentTokens - this.sidecar.config.budget.retainedTokens,
306062
- targetNodeIds: agedOutNodes
306063
- });
306064
+ const targetDeficit = currentTokens - this.sidecar.config.budget.retainedTokens;
306065
+ const threshold = this.sidecar.config.budget.coalescingThresholdTokens || 0;
306066
+ if (targetDeficit >= threshold) {
306067
+ this.env.tokenCalculator.garbageCollectCache(new Set(this.buffer.nodes.map((n3) => n3.id)));
306068
+ this.eventBus.emitConsolidationNeeded({
306069
+ nodes: this.buffer.nodes,
306070
+ targetDeficit,
306071
+ targetNodeIds: agedOutNodes
306072
+ });
306073
+ }
306064
306074
  }
306065
306075
  }
306066
306076
  }
@@ -320160,8 +320170,7 @@ var PolicyEngine = class {
320160
320170
  return false;
320161
320171
  if (!hasRedirection(command))
320162
320172
  return false;
320163
- const sandboxEnabled = !(this.sandboxManager instanceof NoopSandboxManager);
320164
- if (sandboxEnabled && (this.approvalMode === ApprovalMode.AUTO_EDIT || this.approvalMode === ApprovalMode.YOLO)) {
320173
+ if (this.approvalMode === ApprovalMode.AUTO_EDIT || this.approvalMode === ApprovalMode.YOLO) {
320165
320174
  return false;
320166
320175
  }
320167
320176
  return true;
@@ -246273,8 +246273,8 @@ var EventMetadataKey;
246273
246273
  })(EventMetadataKey || (EventMetadataKey = {}));
246274
246274
 
246275
246275
  // packages/core/dist/src/generated/git-commit.js
246276
- var GIT_COMMIT_INFO = "8f0edcd64";
246277
- var CLI_VERSION = "0.42.0-nightly.20260428.g59b2dea0e";
246276
+ var GIT_COMMIT_INFO = "246f98459";
246277
+ var CLI_VERSION = "0.42.0-preview.1";
246278
246278
 
246279
246279
  // packages/core/dist/src/ide/detect-ide.js
246280
246280
  var IDE_DEFINITIONS = {
@@ -269321,7 +269321,7 @@ function getVersion() {
269321
269321
  }
269322
269322
  versionPromise = (async () => {
269323
269323
  const pkgJson = await getPackageJson(__dirname4);
269324
- return "0.42.0-nightly.20260505.g8f0edcd64";
269324
+ return "0.42.0-preview.1";
269325
269325
  })();
269326
269326
  return versionPromise;
269327
269327
  }
@@ -270565,7 +270565,8 @@ var RETRYABLE_NETWORK_CODES = [
270565
270565
  // Generic protocol error (often SSL-related)
270566
270566
  "UND_ERR_HEADERS_TIMEOUT",
270567
270567
  "UND_ERR_BODY_TIMEOUT",
270568
- "UND_ERR_CONNECT_TIMEOUT"
270568
+ "UND_ERR_CONNECT_TIMEOUT",
270569
+ "ERR_STREAM_PREMATURE_CLOSE"
270569
270570
  ];
270570
270571
  var RETRYABLE_SSL_ERROR_PATTERN = /^ERR_SSL_.*BAD_RECORD_MAC/i;
270571
270572
  function isRetryableSslErrorCode(code) {
@@ -293677,7 +293678,7 @@ var GeminiChat = class {
293677
293678
  */
293678
293679
  getHistory(curated = false) {
293679
293680
  const history = curated ? extractCuratedHistory([...this.agentHistory.get()]) : this.agentHistory.get();
293680
- return [...history];
293681
+ return this.context.config.isContextManagementEnabled() ? scrubHistory([...history]) : [...history];
293681
293682
  }
293682
293683
  /**
293683
293684
  * Clears the chat history.
@@ -300956,7 +300957,7 @@ var A2AAuthProviderFactory = class _A2AAuthProviderFactory {
300956
300957
  return provider;
300957
300958
  }
300958
300959
  case "oauth2": {
300959
- const { OAuth2AuthProvider } = await import("./oauth2-provider-KNQFMZAQ.js");
300960
+ const { OAuth2AuthProvider } = await import("./oauth2-provider-OAXWX3Z3.js");
300960
300961
  const provider = new OAuth2AuthProvider(authConfig, options.agentName ?? "unknown", agentCard, options.agentCardUrl);
300961
300962
  await provider.initialize();
300962
300963
  return provider;
@@ -304528,9 +304529,9 @@ var SnapshotGenerator = class {
304528
304529
  }
304529
304530
  async synthesizeSnapshot(nodes, systemInstruction) {
304530
304531
  const systemPrompt = systemInstruction ?? `You are an expert Context Memory Manager. You will be provided with a raw transcript of older conversation turns between a user and an AI assistant.
304531
- Your task is to synthesize these turns into a single, dense, factual snapshot that preserves all critical context, preferences, active tasks, and factual knowledge, but discards conversational filler, pleasantries, and redundant back-and-forth iterations.
304532
+ Your task is to synthesize these turns into a single, dense, factual snapshot that preserves all critical context, preferences, active tasks, and factual knowledge.
304532
304533
 
304533
- Output ONLY the raw factual snapshot, formatted compactly. Do not include markdown wrappers, prefixes like "Here is the snapshot", or conversational elements.`;
304534
+ Discard conversational filler, pleasantries, and redundant back-and-forth iterations. Output ONLY the raw factual snapshot, formatted compactly. Do not include markdown wrappers, prefixes like "Here is the snapshot", or conversational elements.`;
304534
304535
  let userPromptText = "TRANSCRIPT TO SNAPSHOT:\n\n";
304535
304536
  for (const node of nodes) {
304536
304537
  const payload = node.payload;
@@ -304749,7 +304750,8 @@ var generalistProfile = {
304749
304750
  config: {
304750
304751
  budget: {
304751
304752
  retainedTokens: 65e3,
304752
- maxTokens: 15e4
304753
+ maxTokens: 15e4,
304754
+ coalescingThresholdTokens: 5e3
304753
304755
  }
304754
304756
  },
304755
304757
  buildPipelines: (env2, config2) => (
@@ -304775,10 +304777,10 @@ var generalistProfile = {
304775
304777
  triggers: ["retained_exceeded"],
304776
304778
  processors: [
304777
304779
  createNodeDistillationProcessor("NodeDistillation", env2, resolveProcessorOptions(config2, "NodeDistillation", {
304778
- nodeThresholdTokens: 1e3
304780
+ nodeThresholdTokens: 3e3
304779
304781
  })),
304780
304782
  createNodeTruncationProcessor("NodeTruncation", env2, resolveProcessorOptions(config2, "NodeTruncation", {
304781
- maxTokensPerNode: 1200
304783
+ maxTokensPerNode: 4e3
304782
304784
  }))
304783
304785
  ]
304784
304786
  },
@@ -304867,6 +304869,10 @@ function getContextManagementConfigSchema(registry2) {
304867
304869
  maxTokens: {
304868
304870
  type: "number",
304869
304871
  description: "The absolute maximum token count allowed before synchronous truncation kicks in."
304872
+ },
304873
+ coalescingThresholdTokens: {
304874
+ type: "number",
304875
+ description: 'Only trigger background consolidation (snapshots) when at least this many tokens have aged out. Prevents "turn-by-turn" utility model churn.'
304870
304876
  }
304871
304877
  }
304872
304878
  },
@@ -306055,12 +306061,16 @@ var ContextManager = class {
306055
306061
  }
306056
306062
  }
306057
306063
  if (agedOutNodes.size > 0) {
306058
- this.env.tokenCalculator.garbageCollectCache(new Set(this.buffer.nodes.map((n3) => n3.id)));
306059
- this.eventBus.emitConsolidationNeeded({
306060
- nodes: this.buffer.nodes,
306061
- targetDeficit: currentTokens - this.sidecar.config.budget.retainedTokens,
306062
- targetNodeIds: agedOutNodes
306063
- });
306064
+ const targetDeficit = currentTokens - this.sidecar.config.budget.retainedTokens;
306065
+ const threshold = this.sidecar.config.budget.coalescingThresholdTokens || 0;
306066
+ if (targetDeficit >= threshold) {
306067
+ this.env.tokenCalculator.garbageCollectCache(new Set(this.buffer.nodes.map((n3) => n3.id)));
306068
+ this.eventBus.emitConsolidationNeeded({
306069
+ nodes: this.buffer.nodes,
306070
+ targetDeficit,
306071
+ targetNodeIds: agedOutNodes
306072
+ });
306073
+ }
306064
306074
  }
306065
306075
  }
306066
306076
  }
@@ -320160,8 +320170,7 @@ var PolicyEngine = class {
320160
320170
  return false;
320161
320171
  if (!hasRedirection(command))
320162
320172
  return false;
320163
- const sandboxEnabled = !(this.sandboxManager instanceof NoopSandboxManager);
320164
- if (sandboxEnabled && (this.approvalMode === ApprovalMode.AUTO_EDIT || this.approvalMode === ApprovalMode.YOLO)) {
320173
+ if (this.approvalMode === ApprovalMode.AUTO_EDIT || this.approvalMode === ApprovalMode.YOLO) {
320165
320174
  return false;
320166
320175
  }
320167
320176
  return true;
@@ -1,12 +1,12 @@
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-L7YU4GAQ.js";
4
+ } from "./chunk-YDSDSLSO.js";
5
5
  import {
6
6
  RELEASE_CHANNEL_STABILITY,
7
7
  getChannelFromVersion,
8
8
  isGitRepository
9
- } from "./chunk-QTRRFFFG.js";
9
+ } from "./chunk-A564QXJJ.js";
10
10
  import {
11
11
  debugLogger
12
12
  } from "./chunk-JEW7ZIWE.js";
@@ -1,7 +1,7 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
2
  import {
3
3
  runExitCleanup
4
- } from "./chunk-XHY7VA2C.js";
4
+ } from "./chunk-YDSDSLSO.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require
@@ -22,7 +22,7 @@ import {
22
22
  require_strip_json_comments,
23
23
  sanitizeFilenamePart,
24
24
  stripAnsi
25
- } from "./chunk-DYIFKWND.js";
25
+ } from "./chunk-ARLWCFGI.js";
26
26
  import {
27
27
  CoreEvent,
28
28
  FatalConfigError,
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  CoreToolCallStatus,
4
4
  checkExhaustive
5
- } from "./chunk-QTRRFFFG.js";
5
+ } from "./chunk-ARLWCFGI.js";
6
6
  import {
7
7
  __commonJS,
8
8
  __toESM
@@ -2,7 +2,7 @@ const require = (await import('node:module')).createRequire(import.meta.url); co
2
2
  import {
3
3
  exitCli,
4
4
  require_source
5
- } from "./chunk-FTZQW7RL.js";
5
+ } from "./chunk-I5JMJ2LU.js";
6
6
  import {
7
7
  DEFAULT_PORT,
8
8
  SERVER_START_WAIT_MS,
@@ -14,7 +14,7 @@ import {
14
14
  isServerRunning,
15
15
  resolveGemmaConfig,
16
16
  writeServerProcessInfo
17
- } from "./chunk-DOKLYVG7.js";
17
+ } from "./chunk-NHDN46IK.js";
18
18
  import {
19
19
  debugLogger
20
20
  } from "./chunk-ECNYAST2.js";
@@ -1,7 +1,7 @@
1
1
  const require = (await import('node:module')).createRequire(import.meta.url); const __chunk_filename = (await import('node:url')).fileURLToPath(import.meta.url); const __chunk_dirname = (await import('node:path')).dirname(__chunk_filename);
2
2
  import {
3
3
  runExitCleanup
4
- } from "./chunk-NR6SB2E6.js";
4
+ } from "./chunk-6K3EFSDX.js";
5
5
  import {
6
6
  __commonJS,
7
7
  __require