diff options
Diffstat (limited to 'packages/cli/src/ui/hooks/useReactToolScheduler.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useReactToolScheduler.ts | 25 |
1 files changed, 25 insertions, 0 deletions
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); }; |
