from __future__ import annotations from enum import StrEnum class LogEventStatusEnum(StrEnum): """通用日志事件状态。""" PENDING = "pending" STARTED = "started" SUBMITTED = "submitted" SUCCESS = "success" FAILED = "failed" REJECTED = "rejected" SKIPPED = "skipped" WARNING = "warning" class LogSourceEnum(StrEnum): """通用日志来源。""" API = "api" SERVICE = "service" CELERY = "celery" RECOVERY = "recovery" REMOTE_API = "remote_api" class ModuleGenerationFlowVersionEnum(StrEnum): """模块生成项目流程版本。""" V1 = "v1" V2 = "v2" class ModuleProjectStatusEnum(StrEnum): """通用模块项目状态。""" PENDING = "pending" WAITING_USER = "waiting_user" PROCESSING = "processing" COMPLETED = "completed" FAILED = "failed" CANCELLED = "cancelled" class ModuleStepStatusEnum(StrEnum): """通用模块子任务状态。""" PENDING = "pending" WAITING_USER = "waiting_user" PROCESSING = "processing" COMPLETED = "completed" FAILED = "failed" CANCELLED = "cancelled" class ModuleEventTypeEnum(StrEnum): """通用模块事件类型。""" PROJECT_CREATED = "PROJECT_CREATED" PROJECT_DELETED = "PROJECT_DELETED" STEP_CREATED = "STEP_CREATED" STEP_UPDATED = "STEP_UPDATED" SOFT_DELETE_STEPS = "SOFT_DELETE_STEPS" IMAGE_PROMPT_SUBMITTED = "IMAGE_PROMPT_SUBMITTED" IMAGE_PROMPT_SUCCESS = "IMAGE_PROMPT_SUCCESS" IMAGE_PROMPT_FAILED = "IMAGE_PROMPT_FAILED" IMAGE_GENERATE_SUBMITTED = "IMAGE_GENERATE_SUBMITTED" IMAGE_GENERATE_SUCCESS = "IMAGE_GENERATE_SUCCESS" VIDEO_PROMPT_SUBMITTED = "VIDEO_PROMPT_SUBMITTED" VIDEO_PROMPT_SUCCESS = "VIDEO_PROMPT_SUCCESS" VIDEO_PROMPT_FAILED = "VIDEO_PROMPT_FAILED" VIDEO_GENERATE_SUBMITTED = "VIDEO_GENERATE_SUBMITTED" VIDEO_GENERATE_SUCCESS = "VIDEO_GENERATE_SUCCESS" CHAT_TASK_FAILED = "CHAT_TASK_FAILED" CHAT_TASK_CANCELLED = "CHAT_TASK_CANCELLED" MEDIA_REFUND = "MEDIA_REFUND" PROMPT_BILLING_SUCCESS = "PROMPT_BILLING_SUCCESS" PROMPT_BILLING_FAILED = "PROMPT_BILLING_FAILED" V1_CREATE_BLOCKED = "V1_CREATE_BLOCKED" FLOW_VERSION_MISMATCH = "FLOW_VERSION_MISMATCH" V2_PROJECT_CREATED = "V2_PROJECT_CREATED" V2_VIDEO_PROMPT_AUTO_CREATED = "V2_VIDEO_PROMPT_AUTO_CREATED" V2_VIDEO_PROMPT_REGENERATED = "V2_VIDEO_PROMPT_REGENERATED" V2_VIDEO_PROMPT_DISPATCHED = "V2_VIDEO_PROMPT_DISPATCHED" V2_VIDEO_PROMPT_REGISTRY_FAILED = "V2_VIDEO_PROMPT_REGISTRY_FAILED" V2_VIDEO_PROMPT_DISPATCH_FAILED = "V2_VIDEO_PROMPT_DISPATCH_FAILED" STEP_SUPERSEDED = "STEP_SUPERSEDED" STALE_STEP_RESULT_DISCARDED = "STALE_STEP_RESULT_DISCARDED" GENERATION_REFERENCE_OPTION_SAVED = "GENERATION_REFERENCE_OPTION_SAVED" GENERATION_REFERENCE_INCLUDED = "GENERATION_REFERENCE_INCLUDED" GENERATION_REFERENCE_EXCLUDED = "GENERATION_REFERENCE_EXCLUDED" class ModulePromptTypeEnum(StrEnum): """通用模块提词结果类型。""" IMAGE_PROMPT = "image_prompt" VIDEO_PROMPT = "video_prompt" # 视频提词 Schema 管理后台配置 VIDEO_SCHEMA_CONFIG_KEY = "video_prompt_schema_config" VIDEO_SCHEMA_CONFIG_DESCRIPTION = "视频提词 Schema 管理后台配置" VIDEO_SCHEMA_CONFIG_VERSION = "video_prompt_schema_config_v1" VIDEO_SCHEMA_CONFIG_DEFAULT_SOURCE = "default" VIDEO_SCHEMA_CONFIG_DATABASE_SOURCE = "database" # 仅用于管理后台配置项和用户可编辑字段校验;AI 生成结果与最终视频 prompt 不做自动裁剪。 VIDEO_SCHEMA_CONFIG_KEY_MAX_LEN = 64 VIDEO_SCHEMA_CONFIG_LABEL_MAX_LEN = 64 VIDEO_SCHEMA_CONFIG_DESC_MAX_LEN = 300 VIDEO_SCHEMA_EDITABLE_TEXT_MAX_LEN = 1000 VIDEO_SCHEMA_FLOW_CONTENT_MAX_LEN = 800 VIDEO_SCHEMA_TIME_STAGE_MAX_LEN = 64 VIDEO_SCHEMA_TIME_DESC_MAX_LEN = 300 VIDEO_SCHEMA_MAX_SECTION_COUNT = 40 VIDEO_SCHEMA_MAX_FIELD_COUNT_PER_SECTION = 80 VIDEO_SCHEMA_MAX_TIME_RULE_COUNT = 30 VIDEO_SCHEMA_MAX_SEGMENT_COUNT_PER_RULE = 12 MIN_GENERATION_COUNT = 1 MAX_GENERATION_COUNT = 5