/** * Shared Task Utils — 跨命令共享的工具函数 * * 消除 goal/bugfix/research/new-task 中的重复代码 */ /** * 检测项目根目录(向上查找 .speccore/) */ export declare function findProjectRoot(): string | null; /** * 确保在 SpecCore 项目根目录执行 */ export declare function ensureProjectRoot(): string; /** * 获取项目根目录(向上查找 .speccore/,找不到回退 cwd) * v8.3.305: 统一项目资产(.speccore/ 配置/宪法/缓存/迭代目录)路径解析锚点, * 修复在子目录执行时「找不到项目信息/端列表」的问题 */ export declare function getProjectRoot(): string; /** * 获取迭代目录(统一路径解析) * v8.3.305: 基于项目根解析(向上查找 .speccore/),支持在任意子目录执行 */ export declare function getIterationDir(iteration: string): string; /** * 获取任务目录 */ export declare function getTaskDir(iteration: string, taskId: string): string; /** * 扫描迭代中的任务列表(v8.3.337+: 兼容 030-tasks 新旧布局) * - 旧布局: 030-tasks/Task-* 直接层 * - 新布局: 030-tasks/{type}/{功能单元名} * - 历史布局: Iteration-NNN/Task-* 直接层兜底 */ export declare function scanIterationTasks(iterationDir: string): string[]; /** * 读取任务类型文件 */ export declare function readTaskType(taskDir: string): string | null; /** * 获取当前日期 YYYY-MM-DD */ export declare function today(): string; /** * 获取当前时间 ISO 字符串 */ export declare function now(): string; /** * 写入前自动备份:旧文件按时间戳重命名,永不覆盖 * 返回备份文件路径(无旧文件则返回 null) */ export declare function backupWithTimestamp(filePath: string): Promise; /** * 目录备份:旧目录按时间戳重命名,永不覆盖 * 返回备份目录路径(无旧目录则返回 null) */ export declare function backupDirWithTimestamp(dirPath: string): Promise; /** * 判断文件名/目录名是否为时间戳备份 * 文件备份: ANALYSIS-20260813021034.md(时间戳后有扩展名) * 目录备份: smoke-01-booking-management-20260924083058(backupDirWithTimestamp,无扩展名) */ export declare function isTimestampBackup(filename: string): boolean; /** * 写入前智能决策:交互模式询问用户,自动模式静默备份 * @returns true = 可以继续写入,false = 用户取消 */ export declare function shouldOverwrite(filePath: string, interactive: boolean): Promise; /** 语义化版本比较:a > b 返回 1,a < b 返回 -1,相等返回 0(兼容 v 前缀与缺省段) */ export declare function compareSemver(a: string, b: string): number; /** a 是否比 b 更新(语义化版本) */ export declare function isNewerVersion(a: string, b: string): boolean; //# sourceMappingURL=task-utils.d.ts.map