"""LLM course plugin implementation.

This module provides the plugin implementation for the Large Language Models
course as a standalone package.
"""

from typing import Dict, List

from master_mind.plugin import (
    DownloadableResource,
    ExternalCoursePlugin,
)

from .resources import get_downloadable_resources as _get_downloadable_resources


class LLMCoursePlugin(ExternalCoursePlugin):
    """Large Language Models course plugin."""

    @property
    def name(self) -> str:
        return "llm"

    @property
    def description(self) -> str:
        return "Large Language Models course"

    @property
    def package_name(self) -> str:
        return "su_master_mind_llm"

    def get_downloadable_resources(self) -> Dict[str, List[DownloadableResource]]:
        """Get downloadable resources for all practicals.

        Delegates to auto-generated resources module.
        See resources.py (auto-generated by scripts/generate_plugin.py).
        """
        return _get_downloadable_resources()
