diff options
Diffstat (limited to 'packages/cli/src/ui/hooks')
| -rw-r--r-- | packages/cli/src/ui/hooks/useGeminiStream.ts | 5 | ||||
| -rw-r--r-- | packages/cli/src/ui/hooks/useReactToolScheduler.ts | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/packages/cli/src/ui/hooks/useGeminiStream.ts b/packages/cli/src/ui/hooks/useGeminiStream.ts index 64e39e68..0b42c161 100644 --- a/packages/cli/src/ui/hooks/useGeminiStream.ts +++ b/packages/cli/src/ui/hooks/useGeminiStream.ts @@ -17,6 +17,7 @@ import { Config, MessageSenderType, ToolCallRequestInfo, + logUserPrompt, } from '@gemini-code/core'; import { type PartListUnion } from '@google/genai'; import { @@ -178,6 +179,10 @@ export const useGeminiStream = ( if (typeof query === 'string') { const trimmedQuery = query.trim(); + logUserPrompt(config, { + prompt: trimmedQuery, + prompt_char_count: trimmedQuery.length, + }); onDebugMessage(`User query: '${trimmedQuery}'`); await logger?.logMessage(MessageSenderType.USER, trimmedQuery); diff --git a/packages/cli/src/ui/hooks/useReactToolScheduler.ts b/packages/cli/src/ui/hooks/useReactToolScheduler.ts index e681e972..8e027ade 100644 --- a/packages/cli/src/ui/hooks/useReactToolScheduler.ts +++ b/packages/cli/src/ui/hooks/useReactToolScheduler.ts @@ -20,6 +20,7 @@ import { Tool, ToolCall, Status as CoreStatus, + logToolCall, } from '@gemini-code/core'; import { useCallback, useEffect, useState, useRef } from 'react'; import { @@ -108,6 +109,30 @@ export function useReactToolScheduler( const allToolCallsCompleteHandler: AllToolCallsCompleteHandler = ( completedToolCalls, ) => { + completedToolCalls.forEach((call) => { + let success = false; + let errorMessage: string | undefined; + let duration = 0; + + if (call.status === 'success') { + success = true; + } + if ( + call.status === 'error' && + typeof call.response.resultDisplay === 'string' + ) { + errorMessage = call.response.resultDisplay; + } + duration = call.durationMs || 0; + + logToolCall({ + function_name: call.request.name, + function_args: call.request.args, + duration_ms: duration, + success, + error: errorMessage, + }); + }); onComplete(completedToolCalls); }; |
