from tools.base_tool import BaseTool from services.repositoryMemory import memory_service from typing import Any class DependencyLookupTool(BaseTool): @property def name(self) -> str: return "dependency_lookup" @property def description(self) -> str: return "Queries libraries, dependencies, package configurations, and stack components. Inputs: repo_id (str)." def execute(self, **kwargs) -> Any: repo_id = kwargs.get("repo_id") if not repo_id: return {"error": "Missing required parameter: repo_id."} data = memory_service.retrieve(repo_id) if not data or "profile" not in data: return {"error": f"No profile found for repository {repo_id}."} profile = data["profile"] return { "languages": profile.get("languages", []), "frameworks": profile.get("frameworks", []), "databases": profile.get("databases", []), "dependencies": profile.get("dependencies", []), "project_type": profile.get("project_type", "") }