extractFileOpsFromMessage function

void extractFileOpsFromMessage(
  1. Message message,
  2. FileOperations fileOps
)

Add file operations from assistant read/write/edit tool calls to fileOps. Ported from pi's extractFileOpsFromMessage.

Implementation

void extractFileOpsFromMessage(Message message, FileOperations fileOps) {
  if (message is! AssistantMessage) return;
  for (final block in message.content) {
    if (block is! ToolCall) continue;
    final path = block.arguments['path'];
    if (path is! String) continue;
    switch (block.name) {
      case 'read':
        fileOps.read.add(path);
      case 'write':
        fileOps.written.add(path);
      case 'edit':
        fileOps.edited.add(path);
    }
  }
}