From 0ce58859e6187def69747faa5c2e57f7a158926a Mon Sep 17 00:00:00 2001 From: "evlogai[bot]" Date: Fri, 9 Oct 2026 18:35:23 +0000 Subject: [PATCH] refactor(ai): reuse formatTelemetryError and the recordModel resolution recordError resolved the provider and model a second time to build the stepsUsage entry, and the error message expression was repeated in three places in the AI logger. recordModel now returns the resolved pair, and the two error-message sites call formatTelemetryError like the other call sites already do. Behavior is unchanged. --- packages/evlog/src/ai/index.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/evlog/src/ai/index.ts b/packages/evlog/src/ai/index.ts index 6de1eb13..ad0ec065 100644 --- a/packages/evlog/src/ai/index.ts +++ b/packages/evlog/src/ai/index.ts @@ -790,10 +790,11 @@ function flushState(log: RequestLogger, state: AccumulatorState): void { } } -function recordModel(state: AccumulatorState, provider: string, modelId: string, responseModelId?: string): void { +function recordModel(state: AccumulatorState, provider: string, modelId: string, responseModelId?: string): { provider: string, model: string } { const resolved = resolveProviderAndModel(provider, responseModelId ?? modelId) state.models.push(resolved.model) state.lastProvider = resolved.provider + return resolved } function safeParseJSON(input: string): unknown { @@ -807,11 +808,10 @@ function safeParseJSON(input: string): unknown { function recordError(log: RequestLogger, state: AccumulatorState, model: { provider: string, modelId: string }, error: unknown): void { state.calls++ state.steps++ - recordModel(state, model.provider, model.modelId) + const resolved = recordModel(state, model.provider, model.modelId) state.lastFinishReason = 'error' - state.lastError = error instanceof Error ? error.message : String(error) + state.lastError = formatTelemetryError(error) - const resolved = resolveProviderAndModel(model.provider, model.modelId) state.stepsUsage.push({ model: resolved.model, inputTokens: 0, @@ -972,7 +972,7 @@ function buildMiddlewareFromState(log: RequestLogger, state: AccumulatorState): } if (chunk.type === 'error') { - streamError = chunk.error instanceof Error ? chunk.error.message : String(chunk.error) + streamError = formatTelemetryError(chunk.error) } controller.enqueue(chunk)