import { type ManagerServiceRemoval } from "./manager-service-removal-snapshot.js"; import { type ManagerServiceSpec } from "./manager-service-spec.js"; import { type ManagerServiceUpgrade } from "./manager-service-upgrade-record.js"; import { type PersistedOperationObserver } from "./persisted-operation-observer.js"; export type ManagerServiceAction = "start" | "stop" | "restart" | "install" | "uninstall" | "upgrade"; export type ManagerServicePhase = "prepared" | "stopping" | "restoring-enablement" | "starting" | "initializing-workspace" | "writing" | "removing-definition" | "unregistering" | "removing-metadata" | "removing" | "verifying" | "releasing" | "rollback-stopping" | "rollback-writing" | "rollback-reloading" | "rollback-starting" | "rollback-verifying" | "completed"; export interface ManagerServiceRecord { schemaVersion: 1; id: string; action: ManagerServiceAction; phase: ManagerServicePhase; status: "running" | "succeeded" | "failed" | "interrupted"; recoveryRequired: boolean; desiredEnabled: boolean; managerSpec: ManagerServiceSpec; managerSpecDigest: string; removal?: ManagerServiceRemoval; upgrade?: ManagerServiceUpgrade; } export interface ManagerServicePreparation { id: string; action: ManagerServiceAction; desiredEnabled: boolean; spec: ManagerServiceSpec; removal?: ManagerServiceRemoval; upgrade?: ManagerServiceUpgrade; } /** * 调用方持服务级锁;先prepare/save阶段意图成功,再执行对应OS动作。 * stop保留desiredEnabled及gateway desired由controller执行,本日志不触碰业务配置。 * spec是无业务秘密的闭合管理契约;uninstall后仍能确定原工作区和文件归属。 */ export declare class FileManagerServiceJournal { private readonly onOperation?; private readonly storage; private corrupted; constructor(directory: string, onOperation?: PersistedOperationObserver); health(): { recoveryRequired: boolean; }; /** 调用方持服务锁;只读取精确目标,绝不放宽其他操作的恢复门禁。 */ recoverable(id: string): ManagerServiceRecord; prepare(input: ManagerServicePreparation): ManagerServiceRecord; read(id: string): ManagerServiceRecord; save(input: ManagerServiceRecord): void; } export declare function parseManagerServiceRecord(input: unknown): ManagerServiceRecord; //# sourceMappingURL=manager-service-journal.d.ts.map