taolib.symphony.workspace#

工作区管理子包。

提供工作区创建、复用、清理及路径安全保障。

Submodules#

Classes#

HooksConfig

工作区钩子配置。

Workspace

工作区描述。

WorkspaceManager

工作区生命周期管理器。

Package Contents#

class taolib.symphony.workspace.HooksConfig#

工作区钩子配置。

after_create: str | None = None#

工作区创建后执行的脚本。

before_remove: str | None = None#

工作区删除前执行的脚本。

timeout_ms: int = 30000#

钩子执行超时(毫秒)。

class taolib.symphony.workspace.Workspace#

工作区描述。

path: pathlib.Path#

工作区在文件系统上的绝对路径。

workspace_key: str#

净化后的标识符键名。

created_now: bool#

是否为本次调用新创建(False 表示复用已有目录)。

class taolib.symphony.workspace.WorkspaceManager(root: pathlib.Path, hooks_config: HooksConfig | None = None)#

工作区生命周期管理器。

为每个 Issue 标识符创建或复用独立的文件系统目录, 并在关键节点执行配置的钩子脚本。

_root#
_hooks#
property root: pathlib.Path#

工作区根目录。

async create_for_issue(identifier: str) Workspace#

创建或重用工作区。

如果工作区目录已存在则复用(created_now=False), 否则创建新目录并执行 after_create 钩子。

参数:

identifier -- Issue 标识符(如 Linear issue 标识)。

返回:

工作区描述对象。

抛出:
async cleanup_workspace(identifier: str) None#

清理工作区(执行 before_remove 钩子后删除)。

参数:

identifier -- Issue 标识符。

抛出:
list_workspaces() list[str]#

列出根目录下所有工作区键名。

workspace_exists(identifier: str) bool#

检查指定标识符的工作区是否已存在。