Files
DEMO-AGENT/review_agent/file_summary/skills/file_inventory.py

22 lines
731 B
Python

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)})