/** * 工件依赖图 * * 核心数据结构:管理工件之间的依赖关系 * 支持拓扑排序,确定构建顺序 */ import type { Artifact, GraphState } from './types.js'; export declare class ArtifactGraph { private artifacts; private schemaName; private applyRequires; constructor(schemaName: string, artifacts: Artifact[], applyRequires: string[]); /** * 获取工件 */ getArtifact(id: string): Artifact | undefined; /** * 获取所有工件 */ getAllArtifacts(): Artifact[]; /** * 获取工件的直接依赖 */ getDependencies(id: string): Artifact[]; /** * 获取工件的所有传递依赖(递归) */ getTransitiveDependencies(id: string): Set; /** * 拓扑排序 - 返回工件的构建顺序 * 依赖少的排在前面 * * 使用三色标记法检测循环依赖: * - visited: 已完成处理 * - inStack: 当前递归路径中(若再次遇到则存在环) */ topologicalSort(): Artifact[]; /** * 获取 apply 阶段需要的所有工件(传递闭包) * 从 applyRequires 出发,沿 requires 边反向遍历 */ getApplyRequiredSet(): Set; /** * 计算当前构建状态 */ computeState(changeName: string, changeRoot: string, planningHome: string, existingFiles: Set): GraphState; } //# sourceMappingURL=graph.d.ts.map