trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
27 lines • 968 B
TypeScript
/**
* Process-scoped promote mutex — one lane promotion at a time per repo.
*/
export interface PromoteLockRecord {
pid: number;
laneId: string;
acquiredAt: string;
hostname?: string;
}
/**
* Acquire the repo-wide promote lock. Throws if another live promote holds it.
*/
export declare function acquirePromoteLock(trellisDir: string, laneId: string, opts?: {
staleMs?: number;
force?: boolean;
}): void;
/** Release the promote lock when owned by this process and lane. */
export declare function releasePromoteLock(trellisDir: string, laneId: string): void;
/** Best-effort lock status for CLI / hooks. */
export declare function getPromoteLockStatus(trellisDir: string, staleMs?: number): {
locked: boolean;
record?: PromoteLockRecord;
stale?: boolean;
};
/** Remove a stale or abandoned promote lock file. */
export declare function clearPromoteLock(trellisDir: string): boolean;
//# sourceMappingURL=promote-lock.d.ts.map