import "../syncState/index.cjs"; import "@agimon-ai/doompi-core/sync-registration"; //#region src/composition/syncDrift/index.d.ts export type SyncDriftReason = 'never-synced' | 'configuration-changed' | 'code-changed' | 'runtime-stale' | 'cockpit-bundle-missing' | 'package-apis-missing' | 'server-bundle-stale' | 'mcp-bundle-stale'; export interface SyncDrift { /** True when nothing needs syncing before a session starts. */ fresh: boolean; reasons: SyncDriftReason[]; /** The recorded inputs hash, for a caller that wants to log what moved. */ recordedInputsHash?: string; currentInputsHash?: string; } export interface ReadSyncDriftOptions { repoRoot: string; /** Launcher-owned Doom entry used to build this repository's generated bootstrap. */ expectedBootstrapEntry?: string; homeDirectory?: string; /** Web hosts cannot reuse a CLI-only generation without plugin artifacts. */ requireWebBundle?: boolean; /** Ignore producer source drift while retaining generation and artifact checks. */ requireFreshSources?: boolean; } /** * Whether this repository is synced for the composition it would launch. * * Sync produces three things a session or the cockpit reads later: the * resolved composition, the plugin bundle the browser loads, and the package * API routes each host mounts. A session started against any of them stale * runs, but quietly wrong: the cockpit shows no plugin surfaces and package * APIs answer nothing, with nothing in the log to say why. * * The hash is the one sync already records. It covers every `.doom` document * in both the repository and the home directory, the MCP configuration, the * plugin catalogue, and each profile's persona files, so an edit to any of * them reads as drift without this having to know what changed. */ export declare function readSyncDrift(options: ReadSyncDriftOptions): SyncDrift; /** A one-line account of what drifted, for a log the person running the hub reads. */ export declare function describeSyncDrift(drift: SyncDrift): string; //#endregion //# sourceMappingURL=index.d.cts.map