/** 主智能体对应工作区名,禁止删除其目录 */ export declare const DEFAULT_WORKSPACE_NAME = "default"; export interface WorkspaceItem { name: string; path: string; isDirectory: boolean; size?: number; mtime?: number; } export declare class WorkspaceService { private getWorkspaceRoot; /** List workspace names (directories under OPENBOT_WORKSPACE_DIR, default ~/.openbot/workspace) */ listWorkspaces(): Promise; /** List files and folders under a path relative to workspace root. Empty path = root. */ listDocuments(workspaceName: string, relativePath?: string): Promise; /** * Resolve a relative path and ensure it stays under workspace root. * Returns path suitable for join(workspaceRoot, result). */ resolveFilePath(workspaceName: string, relativePath: string): { absolutePath: string; safe: boolean; }; /** * 删除整个工作区目录(磁盘)。禁止删除 default 工作区。 * 仅当调用方确认需物理删除时使用(如删除智能体时用户勾选「同时删除工作区目录」)。 */ deleteWorkspaceDirectory(workspaceName: string): Promise; /** Delete a file or directory (recursive) under workspace. Returns true if deleted. skills 与 .skills 目录禁止删除。 */ deletePath(workspaceName: string, relativePath: string): Promise; private safeRelativePath; /** Ensure workspace/.favorite directory exists. */ ensureFavoriteDir(workspaceName: string): Promise; /** * Write buffer to workspace/.favorite/{filename}. Returns relative path (e.g. .favorite/xxx). */ writeFileInFavorite(workspaceName: string, filename: string, buffer: Buffer): Promise; /** * Write buffer to a user-chosen directory. targetDir must be absolute and under homedir or workspace root. * Returns the full path of the written file. */ writeFileToDir(targetDir: string, filename: string, buffer: Buffer): Promise; }