UNPKG

eve

Version:

Filesystem-first framework for durable backend AI agents that run anywhere.

34 lines (33 loc) 1.63 kB
import { resolveOutputPublicationLockPath } from "#internal/application/output-publication-lock.js"; export { resolveOutputPublicationLockPath }; export interface OutputPublicationInput { readonly appRoot: string; readonly finalOutputDir: string; readonly finalSummaryPath: string; /** Invocation-owned directory containing the staged paths; recovery removes it. */ readonly scratchDir: string; readonly stagedOutputDir: string; readonly stagedSummaryPath: string; } /** * A publication failure that retained the lock journal on disk. The staged * artifacts (and the scratch directory containing them) must outlive this * invocation so a later build can finish the interrupted publication. */ export declare class RecoverablePublicationError extends AggregateError { constructor(errors: readonly unknown[], message: string, options?: ErrorOptions); } interface OutputPublicationObserver { afterBackup(): Promise<void>; afterOutputInstall(): Promise<void>; onContention(): Promise<void>; } /** * Atomically installs a build's staged output and summary as the app's * published artifacts: backs up the previous publication, renames the staged * paths into place, and rolls back to the backup on failure. A journaled, * cross-process lock serializes publishers and lets the next build finish an * interrupted publication. */ export declare function publishApplicationBuildArtifacts(input: OutputPublicationInput): Promise<void>; export declare function publishApplicationBuildArtifactsWithObserver(input: OutputPublicationInput, observer: OutputPublicationObserver): Promise<void>;