feat(scheduler): add types needed for event driven scheduler (#16641)

This commit is contained in:
Abhi
2026-01-14 17:22:44 -05:00
committed by GitHub
parent 7e6817da5b
commit 6021e4c3ba
6 changed files with 98 additions and 22 deletions

View File

@@ -43,6 +43,7 @@ import type {
ToolCallRequestInfo,
GeminiErrorEventValue,
RetryAttemptPayload,
ToolCallConfirmationDetails,
} from '@google/gemini-cli-core';
import { type Part, type PartListUnion, FinishReason } from '@google/genai';
import type {
@@ -1132,11 +1133,13 @@ export const useGeminiStream = (
// Process pending tool calls sequentially to reduce UI chaos
for (const call of awaitingApprovalCalls) {
if (call.confirmationDetails?.onConfirm) {
if (
(call.confirmationDetails as ToolCallConfirmationDetails)?.onConfirm
) {
try {
await call.confirmationDetails.onConfirm(
ToolConfirmationOutcome.ProceedOnce,
);
await (
call.confirmationDetails as ToolCallConfirmationDetails
).onConfirm(ToolConfirmationOutcome.ProceedOnce);
} catch (error) {
debugLogger.warn(
`Failed to auto-approve tool call ${call.request.callId}:`,

View File

@@ -17,6 +17,7 @@ import type {
AllToolCallsCompleteHandler,
ToolCallsUpdateHandler,
ToolCall,
ToolCallConfirmationDetails,
Status as CoreStatus,
EditorType,
} from '@google/gemini-cli-core';
@@ -306,7 +307,8 @@ export function mapToDisplay(
...baseDisplayProperties,
status: mapCoreStatusToDisplayStatus(trackedCall.status),
resultDisplay: undefined,
confirmationDetails: trackedCall.confirmationDetails,
confirmationDetails:
trackedCall.confirmationDetails as ToolCallConfirmationDetails,
};
case 'executing':
return {