declare const CHECKS: readonly ["packageIdentity", "peerDependencies", "singleHost", "loadRegistration", "schemas"]; export interface GenerationCandidate { id: string; directory: string; operationId: string; planDigest: string; } export interface GenerationVerification { planDigest: string; hostVersion: string; coreVersion: string; nodeAbi: string; platform: NodeJS.Platform; arch: string; checks: Record<(typeof CHECKS)[number], true>; } export interface GenerationReceipt extends GenerationVerification { schemaVersion: 1; phase: "verified"; id: string; storeId: string; operationId: string; verifiedAt: string; lockDigest: string; schemasDigest: string; hostManifestDigest: string; coreManifestDigest: string; } export interface VerifiedGeneration extends GenerationCandidate { receipt: GenerationReceipt; } export interface GenerationStoreOptions { root: string; /** 由控制服务提供;须与激活操作在同一个工作区锁内串行调用。 */ isActive(id: string): boolean; /** 系统级仓库可用受信 OS 原语原子创建新目录,避免先继承宽松 ACL 的窗口。 */ createCandidateDirectory?(directory: string): void; } /** * 只负责候选目录及验证收据,不拥有激活指针、不执行下载/插件代码。 * 锁文件与 Schema 摘要不证明 node_modules 内容不可变;控制目录必须由可信用户独占, * installer 不得改写已验证版本。恶意插件隔离与 OS 权限是上层责任。 * 构造及所有变更必须在控制服务持有的工作区锁内串行执行。 */ export declare class GenerationStore { private readonly root; private readonly storeId; private readonly isActive; private readonly createCandidateDirectory?; constructor(options: GenerationStoreOptions); allocate(operationId: string, planDigest: string): GenerationCandidate; /** 仅隔离验证成功后的可信调用者可提交;下载完成不是验证证据。 */ commitVerified(id: string, evidence: GenerationVerification): VerifiedGeneration; readVerified(id: string): VerifiedGeneration; /** 仅清理本仓库拥有的未验证候选;已验证版本的保留/回收另由控制服务管理。 */ discard(id: string): void; private candidate; } /** 完整复核既有收据,无目录、权限或日志写入。工件仍依赖可信用户独占。 */ export declare function readVerifiedGeneration(root: string, id: string): VerifiedGeneration; export {}; //# sourceMappingURL=generation-store.d.ts.map