"""因子目录 Repository Protocol(M7.1)。""" from __future__ import annotations from typing import Protocol from app.domain.entities.factor import FactorDefinition class FactorRepository(Protocol): def upsert_many(self, definitions: list[FactorDefinition]) -> int: """以 name 为幂等键批量写入/更新,返回处理条数。""" def list(self) -> list[FactorDefinition]: ... def get(self, name: str) -> FactorDefinition | None: ...