112 lines
4.0 KiB
Python
112 lines
4.0 KiB
Python
from enum import Enum
|
|
|
|
|
|
class GenerationMode(str, Enum):
|
|
CHATAPI_ASYNC = "chatapi_async"
|
|
HOT_OPENING_REPLICATE = "hot_opening_replicate"
|
|
SHOT_REPLICATE = "shot_replicate"
|
|
|
|
|
|
class GenerationType(str, Enum):
|
|
IMAGE = "image"
|
|
VIDEO = "video"
|
|
|
|
|
|
class ChatGenerationTaskStatus(str, Enum):
|
|
PENDING = "pending"
|
|
GENERATING = "generating"
|
|
COMPLETED = "completed"
|
|
FAILED = "failed"
|
|
|
|
|
|
class ChatGenerationPipelineStage(str, Enum):
|
|
QUEUED = "queued"
|
|
PREPARING = "preparing"
|
|
CREATING_PROVIDER_TASK = "creating_provider_task"
|
|
WAITING_REMOTE = "waiting_remote"
|
|
POLLING = "polling"
|
|
RESULT_READY = "result_ready"
|
|
DOWNLOAD_QUEUED = "download_queued"
|
|
DOWNLOADING = "downloading"
|
|
RETRY_WAITING = "retry_waiting"
|
|
DONE = "done"
|
|
FAILED = "failed"
|
|
TIMEOUT = "timeout"
|
|
DOWNLOAD_FAILED = "download_failed"
|
|
|
|
|
|
class ChatGenerationTaskEventType(str, Enum):
|
|
PROMPT_CONCAT_START = "PROMPT_CONCAT_START"
|
|
PROMPT_CONCAT_SUCCESS = "PROMPT_CONCAT_SUCCESS"
|
|
|
|
PROVIDER_CREATE_START = "PROVIDER_CREATE_START"
|
|
PROVIDER_CREATE_SUCCESS = "PROVIDER_CREATE_SUCCESS"
|
|
PROVIDER_CREATE_FAILED = "PROVIDER_CREATE_FAILED"
|
|
|
|
POLL_START = "POLL_START"
|
|
POLL_PENDING = "POLL_PENDING"
|
|
POLL_SCHEDULED = "POLL_SCHEDULED"
|
|
POLL_SKIP_NOT_DUE = "POLL_SKIP_NOT_DUE"
|
|
POLL_DISPATCH_DUE = "POLL_DISPATCH_DUE"
|
|
POLL_DISPATCH_SKIP = "POLL_DISPATCH_SKIP"
|
|
POLL_SUCCESS = "POLL_SUCCESS"
|
|
POLL_FAILED = "POLL_FAILED"
|
|
POLL_SUCCESS_AFTER_TIMEOUT_RECOVERY = "POLL_SUCCESS_AFTER_TIMEOUT_RECOVERY"
|
|
FINAL_POLL_BEFORE_TIMEOUT = "FINAL_POLL_BEFORE_TIMEOUT"
|
|
FINAL_POLL_BEFORE_TIMEOUT_ERROR = "FINAL_POLL_BEFORE_TIMEOUT_ERROR"
|
|
FINAL_POLL_BEFORE_TIMEOUT_PENDING = "FINAL_POLL_BEFORE_TIMEOUT_PENDING"
|
|
GENERATION_RECOVERY_ENQUEUE = "GENERATION_RECOVERY_ENQUEUE"
|
|
GENERATION_RECOVERY_TIMEOUT = "GENERATION_RECOVERY_TIMEOUT"
|
|
|
|
DOWNLOAD_ENQUEUE = "DOWNLOAD_ENQUEUE"
|
|
DOWNLOAD_ENQUEUE_FAILED = "DOWNLOAD_ENQUEUE_FAILED"
|
|
DOWNLOAD_START = "DOWNLOAD_START"
|
|
DOWNLOAD_SUCCESS = "DOWNLOAD_SUCCESS"
|
|
DOWNLOAD_RETRY_WAITING = "DOWNLOAD_RETRY_WAITING"
|
|
DOWNLOAD_RETRY_ENQUEUE = "DOWNLOAD_RETRY_ENQUEUE"
|
|
DOWNLOAD_RETRY_ENQUEUE_FAILED = "DOWNLOAD_RETRY_ENQUEUE_FAILED"
|
|
DOWNLOAD_RETRY_NOT_DUE = "DOWNLOAD_RETRY_NOT_DUE"
|
|
DOWNLOAD_STUCK_RECOVER = "DOWNLOAD_STUCK_RECOVER"
|
|
DOWNLOAD_RECOVERY_ENQUEUE = "DOWNLOAD_RECOVERY_ENQUEUE"
|
|
DOWNLOAD_RECOVERY_ENQUEUE_FAILED = "DOWNLOAD_RECOVERY_ENQUEUE_FAILED"
|
|
DOWNLOAD_FAILED = "DOWNLOAD_FAILED"
|
|
DOWNLOAD_FAILED_NON_RETRYABLE = "DOWNLOAD_FAILED_NON_RETRYABLE"
|
|
|
|
DOWNLOAD_SKIP_TASK_MISSING = "DOWNLOAD_SKIP_TASK_MISSING"
|
|
DOWNLOAD_SKIP_INVALID_MODE = "DOWNLOAD_SKIP_INVALID_MODE"
|
|
DOWNLOAD_SKIP_NOT_GENERATING = "DOWNLOAD_SKIP_NOT_GENERATING"
|
|
DOWNLOAD_SKIP_ALREADY_COMPLETED = "DOWNLOAD_SKIP_ALREADY_COMPLETED"
|
|
DOWNLOAD_SKIP_NO_REMOTE_RESULT_URL = "DOWNLOAD_SKIP_NO_REMOTE_RESULT_URL"
|
|
DOWNLOAD_SKIP_STAGE_NOT_ALLOWED = "DOWNLOAD_SKIP_STAGE_NOT_ALLOWED"
|
|
DOWNLOAD_SKIP_DOWNLOADING_LEASE_ALIVE = "DOWNLOAD_SKIP_DOWNLOADING_LEASE_ALIVE"
|
|
DOWNLOAD_SKIP_RETRY_NOT_DUE = "DOWNLOAD_SKIP_RETRY_NOT_DUE"
|
|
DOWNLOAD_SKIP_FINAL_STATE = "DOWNLOAD_SKIP_FINAL_STATE"
|
|
DOWNLOAD_SKIP_DISABLED = "DOWNLOAD_SKIP_DISABLED"
|
|
|
|
TASK_TIMEOUT = "TASK_TIMEOUT"
|
|
TASK_FAILED = "TASK_FAILED"
|
|
|
|
|
|
ALLOWED_GENERATION_MODES = {
|
|
GenerationMode.CHATAPI_ASYNC.value,
|
|
GenerationMode.HOT_OPENING_REPLICATE.value,
|
|
GenerationMode.SHOT_REPLICATE.value,
|
|
}
|
|
|
|
FINAL_CHAT_GENERATION_STAGES = {
|
|
ChatGenerationPipelineStage.DONE.value,
|
|
ChatGenerationPipelineStage.FAILED.value,
|
|
ChatGenerationPipelineStage.TIMEOUT.value,
|
|
ChatGenerationPipelineStage.DOWNLOAD_FAILED.value,
|
|
}
|
|
|
|
DOWNLOAD_RECOVERABLE_STAGES = {
|
|
ChatGenerationPipelineStage.RESULT_READY.value,
|
|
ChatGenerationPipelineStage.DOWNLOAD_QUEUED.value,
|
|
ChatGenerationPipelineStage.DOWNLOADING.value,
|
|
ChatGenerationPipelineStage.RETRY_WAITING.value,
|
|
}
|
|
|
|
PROVIDER_SUCCESS_STATUSES = {"succeeded", "success", "completed", "done"}
|
|
PROVIDER_FAILED_STATUSES = {"failed", "error", "canceled", "cancelled"}
|