From 275a12fd45f4198bd1512ae8a993e701eb07e049 Mon Sep 17 00:00:00 2001 From: anthony bushong Date: Wed, 24 Sep 2025 18:18:26 -0700 Subject: [PATCH] fix(core): set default maxAttempts in baseLLMClient (#9533) --- packages/core/src/core/baseLlmClient.test.ts | 2 +- packages/core/src/core/baseLlmClient.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/core/src/core/baseLlmClient.test.ts b/packages/core/src/core/baseLlmClient.test.ts index 8405aec78a..c7671e86fd 100644 --- a/packages/core/src/core/baseLlmClient.test.ts +++ b/packages/core/src/core/baseLlmClient.test.ts @@ -207,7 +207,7 @@ describe('BaseLlmClient', () => { await client.generateJson(defaultOptions); expect(retryWithBackoff).toHaveBeenCalledWith(expect.any(Function), { - maxAttempts: undefined, + maxAttempts: 5, }); }); }); diff --git a/packages/core/src/core/baseLlmClient.ts b/packages/core/src/core/baseLlmClient.ts index e76cb4cfb9..4dc86eddd5 100644 --- a/packages/core/src/core/baseLlmClient.ts +++ b/packages/core/src/core/baseLlmClient.ts @@ -19,6 +19,8 @@ import { logMalformedJsonResponse } from '../telemetry/loggers.js'; import { MalformedJsonResponseEvent } from '../telemetry/types.js'; import { retryWithBackoff } from '../utils/retry.js'; +const DEFAULT_MAX_ATTEMPTS = 5; + /** * Options for the generateJson utility function. */ @@ -105,7 +107,9 @@ export class BaseLlmClient { promptId, ); - const result = await retryWithBackoff(apiCall, { maxAttempts }); + const result = await retryWithBackoff(apiCall, { + maxAttempts: maxAttempts ?? DEFAULT_MAX_ATTEMPTS, + }); let text = getResponseText(result)?.trim(); if (!text) {