diff options
| author | Jerop Kipruto <[email protected]> | 2025-06-12 16:48:10 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-12 20:48:10 +0000 |
| commit | 6723c72fa5468be713c05205c75be532729e8f92 (patch) | |
| tree | 2392b344fb942f1c452e9fca5b5b6d131a827805 /packages/cli/src/ui/hooks/useReactToolScheduler.ts | |
| parent | f8863f4d00f23a3e29496535be6cf0bb80ee43e9 (diff) | |
telemetry: include user decisions in tool call logs (#966)
Add the user's decision (accept, reject, modify) to tool call telemetry to better understand user intent. The decision provides crucial context to the `success` metric, as a user can reject a call that would have succeeded or accept one that fails.
Also prettify the arguments json.
Example:

#750
Diffstat (limited to 'packages/cli/src/ui/hooks/useReactToolScheduler.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/useReactToolScheduler.ts | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/packages/cli/src/ui/hooks/useReactToolScheduler.ts b/packages/cli/src/ui/hooks/useReactToolScheduler.ts index 0faccb2a..7f08c81f 100644 --- a/packages/cli/src/ui/hooks/useReactToolScheduler.ts +++ b/packages/cli/src/ui/hooks/useReactToolScheduler.ts @@ -20,7 +20,6 @@ import { Tool, ToolCall, Status as CoreStatus, - logToolCall, EditorType, } from '@gemini-cli/core'; import { useCallback, useState, useMemo } from 'react'; @@ -108,33 +107,9 @@ export function useReactToolScheduler( const allToolCallsCompleteHandler: AllToolCallsCompleteHandler = useCallback( (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(config, { - function_name: call.request.name, - function_args: call.request.args, - duration_ms: duration, - success, - error: errorMessage, - }); - }); onComplete(completedToolCalls); }, - [onComplete, config], + [onComplete], ); const toolCallsUpdateHandler: ToolCallsUpdateHandler = useCallback( @@ -165,6 +140,7 @@ export function useReactToolScheduler( onToolCallsUpdate: toolCallsUpdateHandler, approvalMode: config.getApprovalMode(), getPreferredEditor, + config, }), [ config, |
