refactor: use CoreToolCallStatus in the the history data model (#19033)

This commit is contained in:
Jerop Kipruto
2026-02-13 17:20:14 -05:00
committed by GitHub
parent e7e4c68c5c
commit f87468c644
40 changed files with 322 additions and 268 deletions

View File

@@ -6,42 +6,16 @@
import {
type ToolCall,
type Status as CoreStatus,
type SerializableConfirmationDetails,
type ToolResultDisplay,
debugLogger,
CoreToolCallStatus,
checkExhaustive,
} from '@google/gemini-cli-core';
import {
ToolCallStatus,
type HistoryItemToolGroup,
type IndividualToolCallDisplay,
} from '../types.js';
export function mapCoreStatusToDisplayStatus(
coreStatus: CoreStatus,
): ToolCallStatus {
switch (coreStatus) {
case CoreToolCallStatus.Validating:
return ToolCallStatus.Pending;
case CoreToolCallStatus.AwaitingApproval:
return ToolCallStatus.Confirming;
case CoreToolCallStatus.Executing:
return ToolCallStatus.Executing;
case CoreToolCallStatus.Success:
return ToolCallStatus.Success;
case CoreToolCallStatus.Cancelled:
return ToolCallStatus.Canceled;
case CoreToolCallStatus.Error:
return ToolCallStatus.Error;
case CoreToolCallStatus.Scheduled:
return ToolCallStatus.Pending;
default:
return checkExhaustive(coreStatus);
}
}
/**
* Transforms `ToolCall` objects into `HistoryItemToolGroup` objects for UI
* display. This is a pure projection layer and does not track interaction
@@ -115,7 +89,7 @@ export function mapToDisplay(
return {
...baseDisplayProperties,
status: mapCoreStatusToDisplayStatus(call.status),
status: call.status,
resultDisplay,
confirmationDetails,
outputFile,