diff options
| -rw-r--r-- | packages/core/src/core/geminiChat.ts | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/packages/core/src/core/geminiChat.ts b/packages/core/src/core/geminiChat.ts index 5e0a62c0..d1a7bdec 100644 --- a/packages/core/src/core/geminiChat.ts +++ b/packages/core/src/core/geminiChat.ts @@ -27,6 +27,10 @@ import { logApiError, } from '../telemetry/loggers.js'; import { + getStructuredResponse, + getStructuredResponseFromParts, +} from '../utils/generateContentResponseUtilities.js'; +import { ApiErrorEvent, ApiRequestEvent, ApiResponseEvent, @@ -138,7 +142,11 @@ export class GeminiChat { } private _getRequestTextFromContents(contents: Content[]): string { - return JSON.stringify(contents); + return contents + .flatMap((content) => content.parts ?? []) + .map((part) => part.text) + .filter(Boolean) + .join(''); } private async _logApiRequest( @@ -310,7 +318,7 @@ export class GeminiChat { durationMs, prompt_id, response.usageMetadata, - JSON.stringify(response), + getStructuredResponse(response), ); this.sendPromise = (async () => { @@ -546,12 +554,12 @@ export class GeminiChat { allParts.push(...content.parts); } } - + const fullText = getStructuredResponseFromParts(allParts); await this._logApiResponse( durationMs, prompt_id, this.getFinalUsageMetadata(chunks), - JSON.stringify(chunks), + fullText, ); } this.recordHistory(inputContent, outputContent); |
