@google/gemini-cli 0.53.0-preview.0 → 0.53.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 (66) hide show
  1. package/bundle/{chunk-5RDOS7UZ.js → chunk-2NH5AG3B.js} +175 -39
  2. package/bundle/{chunk-PVCJCQWY.js → chunk-2W4AGAXV.js} +1 -1
  3. package/bundle/{chunk-HF533LET.js → chunk-3A32ZSG7.js} +7774 -14246
  4. package/bundle/{chunk-BX6DTJOD.js → chunk-3QXIQPRB.js} +1 -1
  5. package/bundle/{chunk-SLQKIE73.js → chunk-4SJPXUBO.js} +1 -1
  6. package/bundle/{chunk-XH7QC2TB.js → chunk-4TO4ZFXG.js} +2 -2
  7. package/bundle/{chunk-PKFZO3SN.js → chunk-5544MKWC.js} +1 -1
  8. package/bundle/{chunk-27C6XFMY.js → chunk-5Y7N3RFB.js} +198 -42
  9. package/bundle/{chunk-4OVORMGE.js → chunk-AGHZJVUR.js} +1 -1
  10. package/bundle/{chunk-UJVAPQ7V.js → chunk-AT7LBPDZ.js} +1 -1
  11. package/bundle/{chunk-7VUO7T2C.js → chunk-EVNGSSTE.js} +3 -3
  12. package/bundle/{chunk-SXKIOLLX.js → chunk-I2LQOUTQ.js} +7 -7
  13. package/bundle/chunk-IU6WDAMY.js +1571 -0
  14. package/bundle/chunk-JEAU27VO.js +154 -0
  15. package/bundle/chunk-JR6IZCRZ.js +397034 -0
  16. package/bundle/{chunk-WVDR5L2V.js → chunk-KELPZKO5.js} +67 -54
  17. package/bundle/{chunk-PLMRBJEA.js → chunk-KNB5JW7H.js} +2 -2
  18. package/bundle/{chunk-IODN6H35.js → chunk-KUOIDGSH.js} +1 -1
  19. package/bundle/{chunk-UEI42N7R.js → chunk-KW3DD4IB.js} +3 -3
  20. package/bundle/{chunk-BDSSP5BZ.js → chunk-LPTVZ4FJ.js} +1 -1
  21. package/bundle/{chunk-BRZT2CQU.js → chunk-N2KH22XD.js} +1 -1
  22. package/bundle/{chunk-LUM47MYE.js → chunk-N4JX5RHY.js} +1 -1
  23. package/bundle/{chunk-6AD4A2WF.js → chunk-OFMYNLJO.js} +8 -5
  24. package/bundle/chunk-QUZIMBPB.js +102505 -0
  25. package/bundle/{chunk-HVYOZEAP.js → chunk-RDVVXMLN.js} +3 -3
  26. package/bundle/chunk-TAOISOL2.js +118 -0
  27. package/bundle/{chunk-CTNBR234.js → chunk-TIUOC6Z4.js} +2 -2
  28. package/bundle/chunk-UQGV7WFA.js +398 -0
  29. package/bundle/{chunk-GHVD6PXK.js → chunk-VQ5JKD47.js} +9 -8
  30. package/bundle/chunk-XV2XVUWW.js +512 -0
  31. package/bundle/{chunk-QSTUV3QH.js → chunk-YF4RJFUM.js} +7 -7
  32. package/bundle/chunk-ZJENN63T.js +17332 -0
  33. package/bundle/{cleanup-4FVUYQ7H.js → cleanup-CLX27ZSM.js} +2 -2
  34. package/bundle/{cleanup-XETKRH7X.js → cleanup-HE6L3KVJ.js} +2 -2
  35. package/bundle/{cleanup-ZR34H2GU.js → cleanup-QTYIWJJQ.js} +2 -2
  36. package/bundle/cleanup-WQLF5LTO.js +32 -0
  37. package/bundle/{core-PVG4D2MR.js → core-FG5GQN5T.js} +15 -1
  38. package/bundle/{devtoolsService-OUX7PWP3.js → devtoolsService-6MCOO7GD.js} +2 -2
  39. package/bundle/{devtoolsService-IVPTF5ZJ.js → devtoolsService-ALVEJOWU.js} +2 -2
  40. package/bundle/{devtoolsService-QYDPHHFN.js → devtoolsService-LWOTA4XY.js} +4 -3
  41. package/bundle/devtoolsService-NLJPFQBD.js +4359 -0
  42. package/bundle/{dist-PRJQFPSQ.js → dist-FACZYJNK.js} +15 -1
  43. package/bundle/{core-I73XKBPY.js → dist-KYMVPMD2.js} +15 -1
  44. package/bundle/dist-YR3L73K3.js +2168 -0
  45. package/bundle/{gemini-LA6TNI44.js → gemini-2TTBMK7L.js} +84 -20
  46. package/bundle/{gemini-QKB55UV6.js → gemini-EEGDTU6Z.js} +282 -202
  47. package/bundle/{gemini-E2E3U6PR.js → gemini-HMY2YBVR.js} +84 -20
  48. package/bundle/gemini-RNN5D7OL.js +16491 -0
  49. package/bundle/gemini.js +7 -7
  50. package/bundle/{interactiveCli-OD2LO24X.js → interactiveCli-47BG5E33.js} +99 -9
  51. package/bundle/{interactiveCli-ADLAWPXN.js → interactiveCli-HJK54NFF.js} +406 -297
  52. package/bundle/{interactiveCli-FS3OVPXQ.js → interactiveCli-PIOEDBQZ.js} +99 -9
  53. package/bundle/interactiveCli-UQQGETBL.js +34906 -0
  54. package/bundle/{liteRtServerManager-O7PFOUFD.js → liteRtServerManager-BZXTWG2T.js} +4 -4
  55. package/bundle/{liteRtServerManager-T2Z3RLS3.js → liteRtServerManager-ULQCSZ6V.js} +4 -4
  56. package/bundle/{liteRtServerManager-3SKK7MNE.js → liteRtServerManager-YXO26SKL.js} +4 -4
  57. package/bundle/liteRtServerManager-ZN3L6BPO.js +65 -0
  58. package/bundle/{oauth2-provider-Q433RA6I.js → oauth2-provider-G4XOGQD7.js} +1 -1
  59. package/bundle/{oauth2-provider-E3S5DGLL.js → oauth2-provider-H33CP2XJ.js} +1 -1
  60. package/bundle/{oauth2-provider-DFVE3NYF.js → oauth2-provider-KEB5OWVK.js} +38 -72
  61. package/bundle/oauth2-provider-MZRAKSIZ.js +235 -0
  62. package/bundle/{start-5G2UDZZ6.js → start-AOVRZOK6.js} +6 -6
  63. package/bundle/{start-XMJ23QZN.js → start-JQESP66T.js} +6 -6
  64. package/bundle/{start-3FPYJBRX.js → start-KJPOXM4W.js} +6 -6
  65. package/bundle/start-UN2U7AFE.js +18 -0
  66. package/package.json +1 -1
package/bundle/gemini.js CHANGED
@@ -4,10 +4,10 @@ import {
4
4
  RELAUNCH_EXIT_CODE,
5
5
  getScriptArgs,
6
6
  getSpawnConfig
7
- } from "./chunk-PLMRBJEA.js";
8
- import "./chunk-BRZT2CQU.js";
9
- import "./chunk-BX6DTJOD.js";
10
- import "./chunk-5RDOS7UZ.js";
7
+ } from "./chunk-UQGV7WFA.js";
8
+ import "./chunk-XV2XVUWW.js";
9
+ import "./chunk-5544MKWC.js";
10
+ import "./chunk-2NH5AG3B.js";
11
11
  import "./chunk-664ZODQF.js";
12
12
  import "./chunk-IUUIT4SU.js";
13
13
  import "./chunk-TUDYL3X4.js";
@@ -115,9 +115,9 @@ ${error instanceof Error ? error.stack ?? error.message : String(error)}
115
115
  }
116
116
  }
117
117
  } else {
118
- const { main } = await import("./gemini-LA6TNI44.js");
119
- const { FatalError, writeToStderr } = await import("./dist-PRJQFPSQ.js");
120
- const { runExitCleanup } = await import("./cleanup-ZR34H2GU.js");
118
+ const { main } = await import("./gemini-2TTBMK7L.js");
119
+ const { FatalError, writeToStderr } = await import("./dist-YR3L73K3.js");
120
+ const { runExitCleanup } = await import("./cleanup-WQLF5LTO.js");
121
121
  main().catch(async (error) => {
122
122
  const cleanupTimeout = setTimeout(() => {
123
123
  writeToStderr("Cleanup timed out, forcing exit...\n");
@@ -157,10 +157,10 @@ import {
157
157
  widestLineFromStyledChars,
158
158
  wordBreakStyledChars,
159
159
  wrapStyledChars
160
- } from "./chunk-SXKIOLLX.js";
160
+ } from "./chunk-QUZIMBPB.js";
161
161
  import {
162
162
  require_source
163
- } from "./chunk-UJVAPQ7V.js";
163
+ } from "./chunk-AT7LBPDZ.js";
164
164
  import {
165
165
  appEvents
166
166
  } from "./chunk-5PS3AYFU.js";
@@ -214,24 +214,24 @@ import {
214
214
  stripAnsi,
215
215
  stripUnsafeCharacters,
216
216
  toCodePoints
217
- } from "./chunk-LUM47MYE.js";
217
+ } from "./chunk-OFMYNLJO.js";
218
218
  import {
219
219
  handleAutoUpdate,
220
220
  isDevelopment,
221
221
  relaunchApp,
222
222
  setUpdateHandler
223
- } from "./chunk-PLMRBJEA.js";
223
+ } from "./chunk-KNB5JW7H.js";
224
224
  import {
225
225
  isTodoList,
226
226
  mapCoreStatusToDisplayStatus,
227
227
  require_react
228
- } from "./chunk-BRZT2CQU.js";
228
+ } from "./chunk-N2KH22XD.js";
229
229
  import {
230
230
  registerCleanup,
231
231
  removeCleanup,
232
232
  runExitCleanup,
233
233
  setupTtyCheck
234
- } from "./chunk-BX6DTJOD.js";
234
+ } from "./chunk-JEAU27VO.js";
235
235
  import {
236
236
  ACTIVATE_SKILL_TOOL_NAME,
237
237
  AGENT_TOOL_NAME,
@@ -275,12 +275,14 @@ import {
275
275
  LegacyAgentProtocol,
276
276
  LlmRole,
277
277
  Logger,
278
+ MAX_TOKENS_EXCEEDED_SUGGESTION,
278
279
  MCPDiscoveryState,
279
280
  MCPServerStatus,
280
281
  MessageBusType,
281
282
  MessageSenderType,
282
283
  ModelNotFoundError,
283
284
  ModelSlashCommandEvent,
285
+ OTHER_BLOCKED_MESSAGE,
284
286
  OverageMenuShownEvent,
285
287
  OverageOptionSelectedEvent,
286
288
  PREVIEW_GEMINI_3_1_CUSTOM_TOOLS_MODEL,
@@ -293,8 +295,10 @@ import {
293
295
  QuestionType,
294
296
  READ_FILE_DISPLAY_NAME,
295
297
  READ_MANY_FILES_DISPLAY_NAME,
298
+ RECITATION_BLOCKED_MESSAGE,
296
299
  RELEASE_CHANNEL_STABILITY,
297
300
  ROOT_SCHEDULER_ID,
301
+ SAFETY_BLOCKED_MESSAGE,
298
302
  SHELL_TOOL_NAME,
299
303
  Scheduler,
300
304
  SessionEndReason,
@@ -303,9 +307,11 @@ import {
303
307
  SlashCommandStatus,
304
308
  Storage,
305
309
  SubagentState,
310
+ THINKING_ONLY_COMPRESS_SUGGESTION,
306
311
  TOPIC_PARAM_STRATEGIC_INTENT,
307
312
  TOPIC_PARAM_SUMMARY,
308
313
  TOPIC_PARAM_TITLE,
314
+ TRUE_EMPTY_RESPONSE_MESSAGE,
309
315
  TerminalQuotaError,
310
316
  ToolConfirmationOutcome,
311
317
  ToolErrorType,
@@ -431,7 +437,7 @@ import {
431
437
  validatePlanContent,
432
438
  validatePlanPath,
433
439
  writeToStdout
434
- } from "./chunk-5RDOS7UZ.js";
440
+ } from "./chunk-JR6IZCRZ.js";
435
441
  import "./chunk-664ZODQF.js";
436
442
  import "./chunk-IUUIT4SU.js";
437
443
  import "./chunk-TUDYL3X4.js";
@@ -8050,6 +8056,18 @@ function areModelMetricsEqual(a, b) {
8050
8056
  if (a.api.totalRequests !== b.api.totalRequests || a.api.totalErrors !== b.api.totalErrors || a.api.totalLatencyMs !== b.api.totalLatencyMs) {
8051
8057
  return false;
8052
8058
  }
8059
+ const errorsA = a.api.errorsByType || {};
8060
+ const errorsB = b.api.errorsByType || {};
8061
+ const keysA = Object.keys(errorsA);
8062
+ const keysB = Object.keys(errorsB);
8063
+ if (keysA.length !== keysB.length) {
8064
+ return false;
8065
+ }
8066
+ for (const key of keysA) {
8067
+ if (errorsA[key] !== errorsB[key]) {
8068
+ return false;
8069
+ }
8070
+ }
8053
8071
  if (a.tokens.input !== b.tokens.input || a.tokens.prompt !== b.tokens.prompt || a.tokens.candidates !== b.tokens.candidates || a.tokens.total !== b.tokens.total || a.tokens.cached !== b.tokens.cached || a.tokens.thoughts !== b.tokens.thoughts || a.tokens.tool !== b.tokens.tool) {
8054
8072
  return false;
8055
8073
  }
@@ -27765,6 +27783,52 @@ var useGeminiStream = (geminiClient, history, addItem, config, settings, onDebug
27765
27783
  maybeAddLowVerbosityFailureNote
27766
27784
  ]
27767
27785
  );
27786
+ const handleInvalidStreamEvent = (0, import_react99.useCallback)(
27787
+ (eventValue, userMessageTimestamp) => {
27788
+ if (pendingHistoryItemRef.current) {
27789
+ addItem(pendingHistoryItemRef.current, userMessageTimestamp);
27790
+ setPendingHistoryItem(null);
27791
+ }
27792
+ maybeAddSuppressedToolErrorNote(userMessageTimestamp);
27793
+ let text = eventValue?.message?.trim() || "Invalid stream received from model";
27794
+ if (eventValue?.type === "NO_RESPONSE_TEXT") {
27795
+ text = TRUE_EMPTY_RESPONSE_MESSAGE;
27796
+ } else if (eventValue?.type === "THINKING_ONLY_RESPONSE") {
27797
+ text = THINKING_ONLY_COMPRESS_SUGGESTION;
27798
+ } else if (eventValue?.type === "MAX_TOKENS_EXCEEDED") {
27799
+ text = MAX_TOKENS_EXCEEDED_SUGGESTION;
27800
+ } else if (eventValue?.type === "SAFETY_BLOCKED") {
27801
+ text = SAFETY_BLOCKED_MESSAGE;
27802
+ } else if (eventValue?.type === "RECITATION_BLOCKED") {
27803
+ text = RECITATION_BLOCKED_MESSAGE;
27804
+ } else if (eventValue?.type === "OTHER_BLOCKED") {
27805
+ text = OTHER_BLOCKED_MESSAGE;
27806
+ }
27807
+ uiTelemetryService.recordSemanticValidationError(
27808
+ geminiClient.getCurrentSequenceModel() ?? config.getModel(),
27809
+ eventValue?.type || "INVALID_STREAM"
27810
+ );
27811
+ addItem(
27812
+ {
27813
+ type: "error" /* ERROR */,
27814
+ text
27815
+ },
27816
+ userMessageTimestamp
27817
+ );
27818
+ maybeAddLowVerbosityFailureNote(userMessageTimestamp);
27819
+ setThought(null);
27820
+ },
27821
+ [
27822
+ addItem,
27823
+ pendingHistoryItemRef,
27824
+ setPendingHistoryItem,
27825
+ setThought,
27826
+ maybeAddSuppressedToolErrorNote,
27827
+ maybeAddLowVerbosityFailureNote,
27828
+ config,
27829
+ geminiClient
27830
+ ]
27831
+ );
27768
27832
  const handleCitationEvent = (0, import_react99.useCallback)(
27769
27833
  (text, userMessageTimestamp) => {
27770
27834
  if (!showCitations(settings)) {
@@ -28020,7 +28084,9 @@ var useGeminiStream = (geminiClient, history, addItem, config, settings, onDebug
28020
28084
  loopDetectedRef.current = true;
28021
28085
  break;
28022
28086
  case GeminiEventType.Retry:
28087
+ break;
28023
28088
  case GeminiEventType.InvalidStream:
28089
+ handleInvalidStreamEvent(event.value, userMessageTimestamp);
28024
28090
  break;
28025
28091
  default: {
28026
28092
  const unreachable = event;
@@ -28052,6 +28118,7 @@ var useGeminiStream = (geminiClient, history, addItem, config, settings, onDebug
28052
28118
  handleChatModelEvent,
28053
28119
  handleAgentExecutionStoppedEvent,
28054
28120
  handleAgentExecutionBlockedEvent,
28121
+ handleInvalidStreamEvent,
28055
28122
  addItem,
28056
28123
  pendingHistoryItemRef,
28057
28124
  setPendingHistoryItem,
@@ -28294,6 +28361,28 @@ var useGeminiStream = (geminiClient, history, addItem, config, settings, onDebug
28294
28361
  return false;
28295
28362
  }
28296
28363
  );
28364
+ if (turnCancelledRef.current) {
28365
+ setIsResponding(false);
28366
+ const geminiTools2 = completedAndReadyToSubmitTools.filter(
28367
+ (t) => !t.request.isClientInitiated
28368
+ );
28369
+ if (geminiClient && geminiTools2.length > 0) {
28370
+ const combinedParts = geminiTools2.flatMap(
28371
+ (toolCall) => toolCall.response.responseParts
28372
+ );
28373
+ if (combinedParts.length > 0) {
28374
+ geminiClient.addHistory({
28375
+ role: "user",
28376
+ parts: combinedParts
28377
+ });
28378
+ }
28379
+ }
28380
+ const callIdsToMarkAsSubmitted2 = toolCalls.map(
28381
+ (toolCall) => toolCall.request.callId
28382
+ );
28383
+ markToolsAsSubmitted(callIdsToMarkAsSubmitted2);
28384
+ return;
28385
+ }
28297
28386
  const clientTools = completedAndReadyToSubmitTools.filter(
28298
28387
  (t) => t.request.isClientInitiated
28299
28388
  );
@@ -28431,7 +28520,8 @@ var useGeminiStream = (geminiClient, history, addItem, config, settings, onDebug
28431
28520
  isLowErrorVerbosity,
28432
28521
  maybeAddSuppressedToolErrorNote,
28433
28522
  maybeAddLowVerbosityFailureNote,
28434
- setIsResponding
28523
+ setIsResponding,
28524
+ toolCalls
28435
28525
  ]
28436
28526
  );
28437
28527
  const pendingHistoryItems = (0, import_react99.useMemo)(
@@ -33797,7 +33887,7 @@ ${queuedText}` : queuedText;
33797
33887
  if (keyMatchers["app.showErrorDetails" /* SHOW_ERROR_DETAILS */](key)) {
33798
33888
  if (settings.merged.general.devtools) {
33799
33889
  void (async () => {
33800
- const { toggleDevToolsPanel } = await import("./devtoolsService-OUX7PWP3.js");
33890
+ const { toggleDevToolsPanel } = await import("./devtoolsService-LWOTA4XY.js");
33801
33891
  await toggleDevToolsPanel(
33802
33892
  config,
33803
33893
  showErrorDetails,