from __future__ import annotations from dataclasses import dataclass from typing import Mapping @dataclass(frozen=True, slots=True) class ModuleGenerationFlowConfig: """模块生成流程公共配置。 这个配置只描述两个复刻模块的差异点,不承载具体业务逻辑。 具体日志、退款、生成、回调等仍保留在各自模块 service 中。 """ module: str step_index_map: Mapping[str, int] material_step_code: str image_prompt_step_code: str image_generate_step_code: str video_prompt_step_code: str video_generate_step_code: str project_not_found_message: str step_not_found_message: str cancel_chat_task_error_message: str material_video_url_editable: bool = True step_io_schema_version: str = "module_generation_step_io_v1" expected_flow_version: str | None = None