conductor(checkpoint): Checkpoint end of Phase 2 - Text Input & Control Undo/Redo

This commit is contained in:
2026-05-05 00:23:55 -04:00
parent 8513604539
commit a02849b9a3
4 changed files with 263 additions and 0 deletions
+49
View File
@@ -2,6 +2,55 @@ import typing
import time
from dataclasses import dataclass, field
@dataclass
class UISnapshot:
"""Capture of restorable UI state."""
ai_input: str
project_system_prompt: str
global_system_prompt: str
base_system_prompt: str
use_default_base_prompt: bool
temperature: float
top_p: float
max_tokens: int
auto_add_history: bool
disc_entries: list[dict]
files: list[dict]
screenshots: list[str]
def to_dict(self) -> dict:
return {
"ai_input": self.ai_input,
"project_system_prompt": self.project_system_prompt,
"global_system_prompt": self.global_system_prompt,
"base_system_prompt": self.base_system_prompt,
"use_default_base_prompt": self.use_default_base_prompt,
"temperature": self.temperature,
"top_p": self.top_p,
"max_tokens": self.max_tokens,
"auto_add_history": self.auto_add_history,
"disc_entries": self.disc_entries,
"files": self.files,
"screenshots": self.screenshots
}
@classmethod
def from_dict(cls, data: dict) -> "UISnapshot":
return cls(
ai_input=data.get("ai_input", ""),
project_system_prompt=data.get("project_system_prompt", ""),
global_system_prompt=data.get("global_system_prompt", ""),
base_system_prompt=data.get("base_system_prompt", ""),
use_default_base_prompt=data.get("use_default_base_prompt", True),
temperature=data.get("temperature", 0.0),
top_p=data.get("top_p", 1.0),
max_tokens=data.get("max_tokens", 4096),
auto_add_history=data.get("auto_add_history", False),
disc_entries=data.get("disc_entries", []),
files=data.get("files", []),
screenshots=data.get("screenshots", [])
)
@dataclass
class HistoryEntry:
state: typing.Any