from __future__ import annotations from pathlib import Path from review_agent.models import FileSummaryBatchAttachment from ..paths import resolve_storage_path from ..services.inventory import scan_files_to_items from .base import BaseSkill, SkillResult, WorkflowContext class FileInventorySkill(BaseSkill): name = "file_inventory" def run(self, context: WorkflowContext) -> SkillResult: roots = [ resolve_storage_path(binding.attachment.storage_path) for binding in FileSummaryBatchAttachment.objects.filter(batch=context.batch) ] items = scan_files_to_items(batch=context.batch, roots=roots) return SkillResult(success=True, data={"total_files": len(items)})