"""统一定义各章节对模板结构的编辑权限。""" from __future__ import annotations from enum import Enum class ChapterEditMode(str, Enum): """章节相对模板的编辑模式。""" # 允许生成补充性子标题,但不授权删除或改写模板原文。当前仅用于 # “需求理解”章,最终 DOCX 装配必须采用“保留并增补”策略。 RESTRUCTURE = "restructure" PRESERVE_STRUCTURE = "preserve_structure" _RESTRUCTURE_KEYWORDS = ("需求理解",) def get_chapter_edit_mode(title: str) -> ChapterEditMode: """返回章节结构权限。 只有“需求理解”可以生成补充性章内子标题;其余所有章节均锁定模板结构。 此权限不代表可以删除模板原文。正文是否允许改写是另一项权限,不再 通过结构枚举表达。 """ normalized = "".join((title or "").split()) if any(keyword in normalized for keyword in _RESTRUCTURE_KEYWORDS): return ChapterEditMode.RESTRUCTURE return ChapterEditMode.PRESERVE_STRUCTURE __all__ = ["ChapterEditMode", "get_chapter_edit_mode"]