import logging from config import Package from .fetch import fetch_metadata logger = logging.getLogger(__name__) async def resolve_version(package: Package, repo: str) -> list[str]: versions = [] if package.version in ['latest', 'stable']: if metadata := await fetch_metadata(package, repo): logger.info(f"Available versions for {package}: {metadata.versions}") if package.version == 'latest': versions.append(metadata.latest) elif package.version == 'stable': versions.append(metadata.release) if metadata.stable != metadata.release: versions.append(metadata.stable) logger.info(f"Using versions {versions} for {package}") else: logger.error(f'{package}: Could not find package metadata') else: versions.append(package.version) return versions