From 2dc79b3bd0f020ede1a923a9c8311058a23977b0 Mon Sep 17 00:00:00 2001 From: anj-s <32556631+anj-s@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:05:41 -0700 Subject: Add support for local logging per session (#936) --- packages/cli/src/ui/hooks/useGeminiStream.ts | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'packages/cli/src/ui') diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index 7d0fe375..4d6bbcba 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -395,22 +395,46 @@ export const useGeminiStream = ( break; case ServerGeminiEventType.ToolCallRequest: toolCallRequests.push(event.value); + await logger?.logMessage( + MessageSenderType.TOOL_REQUEST, + JSON.stringify(event.value.args), + ); break; case ServerGeminiEventType.UserCancelled: handleUserCancelledEvent(userMessageTimestamp); break; case ServerGeminiEventType.Error: handleErrorEvent(event.value, userMessageTimestamp); + await logger?.logMessage( + MessageSenderType.SERVER_ERROR, + JSON.stringify(event.value), + ); break; case ServerGeminiEventType.ChatCompressed: handleChatCompressionEvent(); + await logger?.logMessage( + MessageSenderType.SYSTEM, + 'Compressing Chat', + ); break; case ServerGeminiEventType.UsageMetadata: addUsage(event.value); + await logger?.logMessage( + MessageSenderType.SYSTEM, + 'Usage Metadata: ' + JSON.stringify(event.value), + ); break; case ServerGeminiEventType.ToolCallConfirmation: + await logger?.logMessage( + MessageSenderType.SYSTEM, + JSON.stringify(event.value), + ); + break; case ServerGeminiEventType.ToolCallResponse: - // do nothing + await logger?.logMessage( + MessageSenderType.SYSTEM, + JSON.stringify(event.value), + ); break; default: { // enforces exhaustive switch-case @@ -419,6 +443,7 @@ export const useGeminiStream = ( } } } + await logger?.logMessage(MessageSenderType.SYSTEM, geminiMessageBuffer); if (toolCallRequests.length > 0) { scheduleToolCalls(toolCallRequests, signal); } @@ -431,6 +456,7 @@ export const useGeminiStream = ( scheduleToolCalls, handleChatCompressionEvent, addUsage, + logger, ], ); -- cgit v1.2.3