handleToolArgsDeltaEvent method
void
handleToolArgsDeltaEvent(
- Map<String, dynamic> data
)
Implementation
void handleToolArgsDeltaEvent(Map<String, dynamic> data) {
try {
final ToolUseArgsDeltaData event = ToolUseArgsDeltaData.fromJson(data);
final String toolId = event.toolId.trim();
final String toolName = event.toolName.trim();
if (toolId.isEmpty || toolName.isEmpty) return;
markToolLoadingStarted(toolName);
// Track this tool as "active" (we're between TOOL_PENDING and TOOL_USE_START).
activeToolLoadings[toolName] = event.toolUseType;
activeToolLoadings.refresh();
// Append delta to buffer.
final ToolArgsDeltaComputation computation =
ToolArgsDeltaService.computePreview(
previousBuffer: _toolArgsDeltaBuffers[toolId] ?? '',
argsDelta: event.argsDelta,
);
_toolArgsDeltaBuffers[toolId] = computation.fullBuffer;
toolArgsPreviewToolIdByName[toolName] = toolId;
toolArgsPreviewToolIdByName.refresh();
if (computation.preview != null &&
computation.preview!.trim().isNotEmpty) {
toolArgsPreviewContentsById[toolId] = computation.preview!;
toolArgsPreviewContentsById.refresh();
}
if (computation.title != null && computation.title!.trim().isNotEmpty) {
toolArgsPreviewTitlesById[toolId] = computation.title!.trim();
toolArgsPreviewTitlesById.refresh();
}
update();
syncLoadingMessageFromActiveTools();
} catch (_) {
return;
}
}