@google/gemini-cli-a2a-server 0.55.0-nightly.20260803.gf47d6c6f7 → 0.55.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.
@@ -54912,7 +54912,7 @@ var require_jsonfile = __commonJS({
54912
54912
  await universalify.fromCallback(fs88.writeFile)(file, str2, options);
54913
54913
  }
54914
54914
  var writeFile9 = universalify.fromPromise(_writeFile);
54915
- function writeFileSync7(file, obj, options = {}) {
54915
+ function writeFileSync8(file, obj, options = {}) {
54916
54916
  const fs88 = options.fs || _fs;
54917
54917
  const str2 = stringify5(obj, options);
54918
54918
  return fs88.writeFileSync(file, str2, options);
@@ -54921,7 +54921,7 @@ var require_jsonfile = __commonJS({
54921
54921
  readFile: readFile12,
54922
54922
  readFileSync: readFileSync10,
54923
54923
  writeFile: writeFile9,
54924
- writeFileSync: writeFileSync7
54924
+ writeFileSync: writeFileSync8
54925
54925
  };
54926
54926
  }
54927
54927
  });
@@ -67372,6 +67372,9 @@ function parseGoogleApiError(error2) {
67372
67372
  if (!error2) {
67373
67373
  return null;
67374
67374
  }
67375
+ if (typeof error2 === "object" && error2 !== null && "name" in error2 && (error2.name === "TerminalQuotaError" || error2.name === "RetryableQuotaError" || error2.name === "ValidationRequiredError")) {
67376
+ return null;
67377
+ }
67375
67378
  let errorObj = error2;
67376
67379
  if (typeof errorObj === "string") {
67377
67380
  try {
@@ -67386,7 +67389,7 @@ function parseGoogleApiError(error2) {
67386
67389
  if (typeof errorObj !== "object" || errorObj === null) {
67387
67390
  return null;
67388
67391
  }
67389
- let currentError = fromGaxiosError(errorObj) ?? fromApiError(errorObj);
67392
+ let currentError = fromGaxiosError(errorObj) ?? fromApiError(errorObj) ?? fromCauseError(errorObj);
67390
67393
  let depth = 0;
67391
67394
  const maxDepth = 10;
67392
67395
  while (currentError && typeof currentError.message === "string" && depth < maxDepth) {
@@ -67505,6 +67508,52 @@ function fromApiError(errorObj) {
67505
67508
  }
67506
67509
  return outerError;
67507
67510
  }
67511
+ function fromCauseError(errorObj) {
67512
+ const err2 = errorObj;
67513
+ if (!err2.cause)
67514
+ return void 0;
67515
+ const rawCode = err2.code ?? err2.status;
67516
+ const fallbackCode = typeof rawCode === "number" ? rawCode : typeof rawCode === "string" && rawCode.trim() !== "" && !isNaN(Number(rawCode)) ? Number(rawCode) : void 0;
67517
+ const resolveError = (resolved) => {
67518
+ if (!resolved)
67519
+ return void 0;
67520
+ const message = resolved.message;
67521
+ const details = resolved.details;
67522
+ const code = resolved.code ?? fallbackCode;
67523
+ return {
67524
+ ...message !== void 0 ? { message } : {},
67525
+ ...details !== void 0 ? { details } : {},
67526
+ ...code !== void 0 ? { code } : {}
67527
+ };
67528
+ };
67529
+ if (typeof err2.cause === "object" && err2.cause !== null) {
67530
+ if ("error" in err2.cause && err2.cause.error && isErrorShape(err2.cause.error)) {
67531
+ return resolveError(err2.cause.error);
67532
+ }
67533
+ if ("message" in err2.cause && err2.cause.message) {
67534
+ if (typeof err2.cause.message === "string") {
67535
+ const parsed = fromApiError({ message: err2.cause.message });
67536
+ if (parsed)
67537
+ return resolveError(parsed);
67538
+ } else if (typeof err2.cause.message === "object" && err2.cause.message !== null) {
67539
+ const msgObj = err2.cause.message;
67540
+ if (msgObj.error && isErrorShape(msgObj.error)) {
67541
+ return resolveError(msgObj.error);
67542
+ }
67543
+ }
67544
+ }
67545
+ if (isErrorShape(err2.cause)) {
67546
+ return resolveError(err2.cause);
67547
+ }
67548
+ }
67549
+ if (typeof err2.cause === "string" && err2.cause.trim() !== "") {
67550
+ const parsed = fromApiError({ message: err2.cause }) ?? {
67551
+ message: err2.cause
67552
+ };
67553
+ return resolveError(parsed);
67554
+ }
67555
+ return void 0;
67556
+ }
67508
67557
  var init_googleErrors = __esm({
67509
67558
  "packages/core/dist/src/utils/googleErrors.js"() {
67510
67559
  "use strict";
@@ -220939,8 +220988,8 @@ var GIT_COMMIT_INFO, CLI_VERSION;
220939
220988
  var init_git_commit = __esm({
220940
220989
  "packages/core/dist/src/generated/git-commit.js"() {
220941
220990
  "use strict";
220942
- GIT_COMMIT_INFO = "f47d6c6f7";
220943
- CLI_VERSION = "0.55.0-nightly.20260803.gf47d6c6f7";
220991
+ GIT_COMMIT_INFO = "761f604c1";
220992
+ CLI_VERSION = "0.55.0-preview.1";
220944
220993
  }
220945
220994
  });
220946
220995
 
@@ -292296,7 +292345,10 @@ var init_chatRecordingService = __esm({
292296
292345
  }
292297
292346
  this.updateMetadata({ sessionId: this.sessionId });
292298
292347
  } else {
292299
- throw new Error("Failed to load resumed session data from file");
292348
+ debugLogger.warn("Failed to reload resumed session data from file; falling back to the in-memory conversation.");
292349
+ this.cachedConversation = resumedSessionData.conversation;
292350
+ this.projectHash = this.cachedConversation.projectHash;
292351
+ this.rewriteConversationFile(this.cachedConversation);
292300
292352
  }
292301
292353
  } else {
292302
292354
  this.sessionId = this.context.promptId;
@@ -292366,6 +292418,57 @@ var init_chatRecordingService = __esm({
292366
292418
  }
292367
292419
  }
292368
292420
  }
292421
+ /**
292422
+ * Rewrites the session file from an in-memory record. Any existing
292423
+ * (unreadable) file is preserved alongside rather than destroyed, and the
292424
+ * new file is written atomically (temp file + rename).
292425
+ */
292426
+ rewriteConversationFile(conversation) {
292427
+ if (!this.conversationFile)
292428
+ return;
292429
+ if (this.conversationFile.endsWith(".json")) {
292430
+ this.conversationFile = this.conversationFile + "l";
292431
+ }
292432
+ const { messages, memoryScratchpad, ...metadata2 } = conversation;
292433
+ const lines = [JSON.stringify(metadata2)];
292434
+ for (const msg of messages) {
292435
+ lines.push(JSON.stringify(msg));
292436
+ }
292437
+ if (memoryScratchpad) {
292438
+ lines.push(JSON.stringify({ $set: { memoryScratchpad } }));
292439
+ }
292440
+ const content = lines.join("\n") + "\n";
292441
+ try {
292442
+ fs34.mkdirSync(path28.dirname(this.conversationFile), { recursive: true });
292443
+ if (fs34.existsSync(this.conversationFile)) {
292444
+ const backup = `${this.conversationFile}.unreadable-${Date.now()}`;
292445
+ try {
292446
+ fs34.renameSync(this.conversationFile, backup);
292447
+ debugLogger.warn(`Preserved the unreadable session file at ${backup}.`);
292448
+ } catch (backupError) {
292449
+ debugLogger.error("Failed to preserve the unreadable session file.", backupError);
292450
+ }
292451
+ }
292452
+ const tempFile = `${this.conversationFile}.tmp-${process.pid}`;
292453
+ try {
292454
+ fs34.writeFileSync(tempFile, content);
292455
+ fs34.renameSync(tempFile, this.conversationFile);
292456
+ } catch (error2) {
292457
+ try {
292458
+ fs34.unlinkSync(tempFile);
292459
+ } catch {
292460
+ }
292461
+ throw error2;
292462
+ }
292463
+ } catch (error2) {
292464
+ if (isNodeError(error2) && error2.code === "ENOSPC") {
292465
+ this.conversationFile = null;
292466
+ debugLogger.warn(ENOSPC_WARNING_MESSAGE);
292467
+ } else {
292468
+ throw error2;
292469
+ }
292470
+ }
292471
+ }
292369
292472
  updateMetadata(updates) {
292370
292473
  if (!this.cachedConversation)
292371
292474
  return;
@@ -336586,7 +336689,7 @@ function getVersion() {
336586
336689
  }
336587
336690
  versionPromise = (async () => {
336588
336691
  const pkgJson = await getPackageJson(__dirname4);
336589
- return "0.55.0-nightly.20260803.gf47d6c6f7";
336692
+ return "0.55.0-preview.1";
336590
336693
  })();
336591
336694
  return versionPromise;
336592
336695
  }
@@ -337252,6 +337355,9 @@ function classifyValidationRequiredError(googleApiError) {
337252
337355
  return new ValidationRequiredError(googleApiError.message, googleApiError, validationLink, validationDescription, learnMoreUrl);
337253
337356
  }
337254
337357
  function classifyGoogleError(error2) {
337358
+ if (error2 instanceof TerminalQuotaError || error2 instanceof RetryableQuotaError || error2 instanceof ValidationRequiredError || typeof error2 === "object" && error2 !== null && "name" in error2 && (error2.name === "TerminalQuotaError" || error2.name === "RetryableQuotaError" || error2.name === "ValidationRequiredError")) {
337359
+ return error2;
337360
+ }
337255
337361
  const googleApiError = parseGoogleApiError(error2);
337256
337362
  const status2 = googleApiError?.code ?? getErrorStatus(error2);
337257
337363
  const errorMessage = googleApiError?.message || extractErrorMessage(error2);
@@ -337394,10 +337500,12 @@ var init_googleQuotaErrors = __esm({
337394
337500
  cause;
337395
337501
  retryDelayMs;
337396
337502
  reason;
337503
+ status;
337397
337504
  constructor(message, cause, retryDelaySeconds, reason) {
337398
337505
  super(message);
337399
337506
  this.cause = cause;
337400
337507
  this.name = "TerminalQuotaError";
337508
+ this.status = cause?.code;
337401
337509
  this.retryDelayMs = retryDelaySeconds ? retryDelaySeconds * 1e3 : void 0;
337402
337510
  this.reason = reason;
337403
337511
  }
@@ -337408,10 +337516,12 @@ var init_googleQuotaErrors = __esm({
337408
337516
  RetryableQuotaError = class extends Error {
337409
337517
  cause;
337410
337518
  retryDelayMs;
337519
+ status;
337411
337520
  constructor(message, cause, retryDelaySeconds) {
337412
337521
  super(message);
337413
337522
  this.cause = cause;
337414
337523
  this.name = "RetryableQuotaError";
337524
+ this.status = cause?.code;
337415
337525
  this.retryDelayMs = retryDelaySeconds ? retryDelaySeconds * 1e3 : void 0;
337416
337526
  }
337417
337527
  };
@@ -341121,7 +341231,7 @@ function isStructuredError(error2) {
341121
341231
  if (typeof error2.message !== "string") {
341122
341232
  return false;
341123
341233
  }
341124
- if ("status" in error2 && typeof error2.status !== "number") {
341234
+ if ("status" in error2 && error2.status !== void 0 && typeof error2.status !== "number") {
341125
341235
  return false;
341126
341236
  }
341127
341237
  return true;
@@ -366183,16 +366293,29 @@ function stripThoughts2(history) {
366183
366293
  if (!hasThought)
366184
366294
  return turn;
366185
366295
  const nonThoughtParts = turn.content.parts.filter((p2) => p2 && !p2.thought);
366296
+ let patchedFirstCall = false;
366297
+ const finalParts = turn.content.role === "model" ? nonThoughtParts.map((p2) => {
366298
+ if (!patchedFirstCall && p2.functionCall) {
366299
+ patchedFirstCall = true;
366300
+ if (!p2.thoughtSignature) {
366301
+ return {
366302
+ ...p2,
366303
+ thoughtSignature: SYNTHETIC_THOUGHT_SIGNATURE2
366304
+ };
366305
+ }
366306
+ }
366307
+ return p2;
366308
+ }) : nonThoughtParts;
366186
366309
  return {
366187
366310
  ...turn,
366188
366311
  content: {
366189
366312
  ...turn.content,
366190
- parts: nonThoughtParts
366313
+ parts: finalParts
366191
366314
  }
366192
366315
  };
366193
366316
  }).filter((turn) => !turn.content.parts || turn.content.parts.length > 0);
366194
366317
  }
366195
- var StreamEventType, MID_STREAM_RETRY_OPTIONS, SYNTHETIC_THOUGHT_SIGNATURE2, InvalidStreamError, AgentExecutionStoppedError, AgentExecutionBlockedError, GeminiChat;
366318
+ var StreamEventType, MID_STREAM_RETRY_OPTIONS, SYNTHETIC_THOUGHT_SIGNATURE2, INTERRUPTED_RESPONSE_PLACEHOLDER, InvalidStreamError, AgentExecutionStoppedError, AgentExecutionBlockedError, GeminiChat;
366196
366319
  var init_geminiChat = __esm({
366197
366320
  "packages/core/dist/src/core/geminiChat.js"() {
366198
366321
  "use strict";
@@ -366227,6 +366350,7 @@ var init_geminiChat = __esm({
366227
366350
  useExponentialBackoff: true
366228
366351
  };
366229
366352
  SYNTHETIC_THOUGHT_SIGNATURE2 = "skip_thought_signature_validator";
366353
+ INTERRUPTED_RESPONSE_PLACEHOLDER = "[The previous response was interrupted before it completed.]";
366230
366354
  InvalidStreamError = class extends Error {
366231
366355
  type;
366232
366356
  constructor(message, type2) {
@@ -366343,6 +366467,9 @@ var init_geminiChat = __esm({
366343
366467
  this.sendPromise = streamDonePromise;
366344
366468
  let userContent = createUserContent(message);
366345
366469
  const isOriginalFunctionResponse = isFunctionResponse(userContent);
366470
+ if (!isOriginalFunctionResponse) {
366471
+ this.closeUnansweredToolResponseTurn();
366472
+ }
366346
366473
  const { model } = this.context.config.modelConfigService.getResolvedConfig(modelConfigKey);
366347
366474
  const isContextManagementEnabled = this.context.config.isContextManagementEnabled();
366348
366475
  if (!isOriginalFunctionResponse) {
@@ -366510,6 +366637,24 @@ var init_geminiChat = __esm({
366510
366637
  };
366511
366638
  return streamWithRetries.call(this);
366512
366639
  }
366640
+ /**
366641
+ * Appends a closing model turn when history ends with an unanswered tool
366642
+ * response, so the next user message stays a turn of its own.
366643
+ */
366644
+ closeUnansweredToolResponseTurn() {
366645
+ const turns = this.agentHistory.get();
366646
+ const last2 = turns[turns.length - 1];
366647
+ if (last2?.content.role !== "user" || !last2.content.parts?.some((part) => !!part.functionResponse)) {
366648
+ return;
366649
+ }
366650
+ this.agentHistory.push({
366651
+ id: randomUUID8(),
366652
+ content: {
366653
+ role: "model",
366654
+ parts: [{ text: INTERRUPTED_RESPONSE_PLACEHOLDER }]
366655
+ }
366656
+ });
366657
+ }
366513
366658
  extractBinaryInjections(parts2) {
366514
366659
  const binaryParts = [];
366515
366660
  if (parts2) {
@@ -438104,9 +438249,9 @@ var Task4 = class _Task {
438104
438249
  this.autoExecute = autoExecute;
438105
438250
  this.config.setFallbackModelHandler(
438106
438251
  // For a2a-server, we want to automatically switch to the fallback model
438107
- // for future requests without retrying the current one. The 'stop'
438108
- // intent achieves this.
438109
- async () => "stop"
438252
+ // and retry the current request seamlessly. The 'retry_always' intent
438253
+ // achieves this, ensuring a smooth fallback experience for the user.
438254
+ async () => "retry_always"
438110
438255
  );
438111
438256
  }
438112
438257
  get hasPendingTools() {
@@ -53,9 +53,9 @@ export class Task {
53
53
  this.autoExecute = autoExecute;
54
54
  this.config.setFallbackModelHandler(
55
55
  // For a2a-server, we want to automatically switch to the fallback model
56
- // for future requests without retrying the current one. The 'stop'
57
- // intent achieves this.
58
- async () => 'stop');
56
+ // and retry the current request seamlessly. The 'retry_always' intent
57
+ // achieves this, ensuring a smooth fallback experience for the user.
58
+ async () => 'retry_always');
59
59
  }
60
60
  get hasPendingTools() {
61
61
  return this.pendingToolCalls.size > 0;
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/agent/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/agent/task.ts"],"names":[],"mappings":"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"}