Private
Public Access
Merge origin/tier2/module_taxonomy_refactor_20260627: bring in v2 SHIPPED work
Per post_module_taxonomy_de_cruft_20260627 Phase 0 prerequisite. Master is at6344b49f(pre-merge of v2 SHIPPED). This merge brings in the 18 v2 SHIPPED commits that define the destination modules (src.mma, src/project.py, src/project_files.py, src.tool_presets, src.tool_bias, src.external_editor, src.personas, src.workspace_manager, src.mcp_client) needed by the Phase 2 consumer migration in commit8f11340b. Conflicts resolved (all were import-block re-orderings between my migration's update and v2 SHIPPED's update of the same files): - src/external_editor.py: took v2 SHIPPED version (class definitions + the no-alias import pattern) - src/personas.py: took v2 SHIPPED version - src/tool_bias.py: took v2 SHIPPED version - src/tool_presets.py: took v2 SHIPPED version - src/workspace_manager.py: took v2 SHIPPED version - src/ai_client.py: took v2 SHIPPED version (removes the 'as _FIC' alias; uses 'from src.project_files import FileItem' directly per the v2 SHIPPED style) - conductor/tracks/module_taxonomy_refactor_20260627/spec.md: took HEAD version (my Phase 1 VC2 + VC10 corrections; the v2 SHIPPED version was the pre-correction spec)
This commit is contained in:
@@ -1,10 +1,36 @@
|
||||
import tomllib
|
||||
import tomli_w
|
||||
|
||||
from pathlib import Path
|
||||
from typing import Dict, Any, Optional, Union
|
||||
from dataclasses import dataclass, field
|
||||
from pathlib import Path
|
||||
from typing import Dict, Any, Optional, Union
|
||||
|
||||
from src import paths
|
||||
from src import paths
|
||||
from src.type_aliases import Metadata
|
||||
|
||||
|
||||
@dataclass
|
||||
class WorkspaceProfile:
|
||||
name: str
|
||||
ini_content: str
|
||||
show_windows: Dict[str, bool]
|
||||
panel_states: Metadata
|
||||
|
||||
def to_dict(self) -> Metadata:
|
||||
return {
|
||||
"ini_content": self.ini_content,
|
||||
"show_windows": self.show_windows,
|
||||
"panel_states": self.panel_states,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def from_dict(cls, name: str, data: Metadata) -> "WorkspaceProfile":
|
||||
return cls(
|
||||
name = name,
|
||||
ini_content = data.get("ini_content", ""),
|
||||
show_windows = data.get("show_windows", {}),
|
||||
panel_states = data.get("panel_states", {}),
|
||||
)
|
||||
|
||||
|
||||
class WorkspaceManager:
|
||||
@@ -80,4 +106,4 @@ class WorkspaceManager:
|
||||
def _save_file(self, path: Path, data: Dict[str, Any]) -> None:
|
||||
path.parent.mkdir(parents=True, exist_ok=True)
|
||||
with open(path, "wb") as f:
|
||||
tomli_w.dump(data, f)
|
||||
tomli_w.dump(data, f)
|
||||
|
||||
Reference in New Issue
Block a user