/** * Upgrade Reconcile — dependency propagation。 * * 契约图遍历:按 requires / requires_upstream 计算受影响产物的下游闭包, * 以及给定产物后受影响的全部引用(供 sf_task restart 与升级 apply 使用)。 * * 职责边界: * - 负责:契约图遍历——产物定位、直接依赖、下游闭包、引用去重与影响面汇总 * - 不负责:读升级状态、不读派生记录、不做版本/影响判定(只做图传播) * * 被谁调用:upgrade_reconcile/impact.ts(findArtifact)、plan.ts(dedupeRefs/downstreamClosure)、cleanup.ts(impactedRefsForPlan) * 调用谁:internals(artifactKey/domainIndex)、revision(projectContracts) * * 数据流:契约图 + 受影响根 refs → requires/requires_upstream 遍历 → 下游闭包 ArtifactRef[](按 domain order 排序去重) * 持久化:无持久化(纯计算,内存态) */ import type { DomainContract, DomainName } from "../types.js"; import type { ArtifactRef, UpgradePlan } from "./types.js"; export declare function findArtifact(contracts: DomainContract[], domain: DomainName, kind: string): ArtifactRef | null; export declare function directDependencies(contracts: DomainContract[], ref: ArtifactRef): ArtifactRef[]; export declare function downstreamClosure(contracts: DomainContract[], roots: ArtifactRef[]): ArtifactRef[]; export declare function dedupeRefs(refs: ArtifactRef[]): ArtifactRef[]; export declare function impactedRefsForPlan(plan: UpgradePlan): ArtifactRef[];