"""graph/seeds 可插拔种子词策略注册表。

seed_provider 取值：
  - static         : 仅用 yaml 写死种子，零动态
  - mock           : 规则生成（借用 trending/历史/月份节日），零 API 成本
  - openai_compat  : 真 LLM 生成（OpenAI / DeepSeek / Qwen / Kimi 等兼容协议）
  - openai / deepseek / qwen / moonshot : 同 openai_compat，仅别名
"""
from typing import Dict

from .base import SeedStrategy
from .static_strategy import StaticStrategy
from .dynamic_strategy import DynamicStrategy

SEED_STRATEGIES: Dict[str, SeedStrategy] = {
    "static": StaticStrategy(),
    "mock": DynamicStrategy(),
    "openai_compat": DynamicStrategy(),
    "openai": DynamicStrategy(),
    "deepseek": DynamicStrategy(),
    "qwen": DynamicStrategy(),
    "moonshot": DynamicStrategy(),
}


def get_seed_strategy(name: str) -> SeedStrategy:
    return SEED_STRATEGIES.get((name or "static").strip().lower(), StaticStrategy())
