"""种子词策略基类（可插拔核心）。

新增一个种子词策略只需：① 继承 SeedStrategy 实现 resolve()；② 在 __init__.py
的 SEED_STRATEGIES 注册表里登记。config 的 ``seed_provider`` 选择用哪个。
"""
from typing import Any, Dict, List, Optional


class SeedStrategy:
    #: 注册名（与 config.seed_provider 对应）
    name: str = "base"

    def resolve(
        self,
        country: str,
        cc: Dict[str, Any],
        context: Dict[str, Any],
        llm_backend: Optional[Any] = None,
    ) -> Dict[str, Any]:
        """产出种子词。

        返回至少包含：
          - "style_seeds":    [str]  风格/美学向种子
          - "related_seeds":  [str]  行业/主体向种子（行业交叉验证）
          - "dynamic":        bool   是否经过 LLM 动态生成
        可选附带 "llm_style_seeds" / "llm_related_seeds" 便于观测。

        cc 为合并后的国家配置（含 yaml 静态种子）；context 为 seed_node 收集的
        trending/历史/月份节日上下文；llm_backend 为 LLM 后端实例（可能 None）。
        """
        raise NotImplementedError
