from __future__ import annotations import logging from typing import Any, List from schemas.incident import Incident from schemas.resource import ResourceRecommendation from skills.recommend_resources import recommend_resources logger = logging.getLogger(__name__) class ResourceAgent: def __init__(self, vllm_client: Any = None) -> None: self.vllm_client = vllm_client async def run(self, incidents: List[Incident]) -> List[ResourceRecommendation]: logger.info("ResourceAgent: generating recommendations for %d incidents", len(incidents)) all_recommendations: List[ResourceRecommendation] = [] for incident in incidents: recs = await recommend_resources(incident, self.vllm_client) all_recommendations.extend(recs) logger.info("ResourceAgent: generated %d total recommendations", len(all_recommendations)) return all_recommendations