22 lines
731 B
Python
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)})
|