feat: Add comprehensive timeline editor with frame editing and regeneration capabilities

This commit is contained in:
empty
2026-01-05 14:48:43 +08:00
parent 7d78dcd078
commit ca018a9b1f
68 changed files with 14904 additions and 57 deletions

View File

@@ -186,7 +186,7 @@ class TaskManager:
message: str = ""
):
"""
Update task progress
Update task progress and add to logs
Args:
task_id: Task ID
@@ -205,6 +205,17 @@ class TaskManager:
percentage=percentage,
message=message
)
# Add to logs if message is new
if message:
# Check last log to avoid duplicates
if not task.logs or task.logs[-1].get("message") != message:
task.logs.append({
"timestamp": datetime.now().isoformat(),
"message": message,
"percentage": round(percentage, 1)
})
logger.debug(f"Task {task_id} log: {message} ({percentage:.1f}%)")
def cancel_task(self, task_id: str) -> bool:
"""

View File

@@ -16,7 +16,7 @@ Task data models
from datetime import datetime
from enum import Enum
from typing import Any, Optional
from typing import Any, Optional, List
from pydantic import BaseModel, Field
@@ -51,10 +51,13 @@ class Task(BaseModel):
# Progress tracking
progress: Optional[TaskProgress] = None
# Result
# Results and Errors
result: Optional[Any] = None
error: Optional[str] = None
# Event logs/History
logs: List[dict] = Field(default_factory=list)
# Metadata
created_at: datetime = Field(default_factory=datetime.now)
started_at: Optional[datetime] = None