UNPKG

@lark-project/cli

Version:

飞书项目插件开发工具

37 lines (36 loc) 1.65 kB
export declare const WORKSPACE_DIR = ".lpm-cache"; export type CleanScope = 'schema' | 'config' | 'mcp' | 'all'; export interface WorkspacePaths { root: string; state: string; schema: string; schemaDir: string; configRemote: string; configLastSet: string; configDir: string; historyDir: string; mcpDir: string; configDraft: (timestamp: string) => string; mcp: (slug: string) => string; relative: (absolute: string) => string; } export declare const workspacePaths: (projectDirOverride?: string) => WorkspacePaths; /** * 守卫:projectDir 必须是 plugin 工程根(含 plugin.config.json 或 manifest.json),否则 throw。 * 任何会创建 .lpm-cache 子内容的入口都应先调用此守卫,防错误目录污染(ISS-O)。 */ export declare const assertPluginRoot: (projectDir: string) => void; export declare const ensureWorkspace: (projectDirOverride?: string) => void; export declare const ensureGitignore: (projectDirOverride?: string) => void; export interface CleanOptions { scope?: CleanScope; keepState?: boolean; silent?: boolean; } export declare const cleanWorkspace: ({ scope, keepState, silent }?: CleanOptions) => void; /** * 把已消费的中间产物移出活跃目录、归档到 historyDir(保留可追溯,不硬删)。 * 文件名前缀 timestamp 避免多次 set 撞名。归档失败时兜底仍清掉源文件—— * 守住"活跃目录里不留陈旧基线/草稿"这条不变量(remote.json 留原地会坑后续 diff/删除闸口)。 */ export declare const archiveFile: (absolutePath: string, historyDir: string) => void;