handleToolPartialResultEvent method
Handle TOOL_PARTIAL_RESULT events for tools that emit intermediate phases (currently document_create/document_update).
Implementation
void handleToolPartialResultEvent(Map<String, dynamic> data) {
try {
final ToolUsePartialResultData event = ToolUsePartialResultData.fromJson(
data,
);
if (event.toolName.isEmpty || event.phase.isEmpty) return;
markToolLoadingStarted(event.toolName);
String? status;
switch (event.phase) {
case "lint":
status = Strings.toolPhaseLint.tr;
break;
case "creating":
status = Strings.toolPhaseCreating.tr;
break;
case "updating":
status = Strings.toolPhaseUpdating.tr;
break;
default:
break;
}
if (status == null) return;
// Ensure the tool is tracked as active; partial results only happen for
// tools that are currently running. Default to document icon where type
// isn't already known.
activeToolLoadings[event.toolName] = event.toolUseType;
activeToolLoadings.refresh();
toolPartialStatuses[event.toolName] = status;
toolPartialStatuses.refresh();
update();
syncLoadingMessageFromActiveTools();
} catch (_) {
return;
}
}