import { Context } from "@deepseek-ai/cordis"; //#region src/schemas/readiness.d.ts /** Cordis service name for session-scoped package initialization. */ export declare const DOOM_READINESS_SERVICE = "doom/readiness"; /** Stable machine-readable failures produced by the readiness contract. */ export declare const DOOM_READINESS_ERROR_CODE: { readonly cancelled: 'DOOM_READINESS_CANCELLED'; readonly disposed: 'DOOM_READINESS_DISPOSED'; readonly duplicate: 'DOOM_READINESS_DUPLICATE'; readonly failed: 'DOOM_READINESS_FAILED'; readonly invalidArgument: 'DOOM_READINESS_INVALID_ARGUMENT'; readonly unavailable: 'DOOM_READINESS_UNAVAILABLE'; readonly waitAborted: 'DOOM_READINESS_WAIT_ABORTED'; }; export type DoomReadinessErrorCode = (typeof DOOM_READINESS_ERROR_CODE)[keyof typeof DOOM_READINESS_ERROR_CODE]; export type DoomReadinessState = 'pending' | 'ready' | 'degraded' | 'failed' | 'cancelled'; export interface DoomReadinessErrorDetail { readonly code: DoomReadinessErrorCode; readonly message: string; } /** Immutable public state for the latest generation of one package. */ export interface DoomReadinessSnapshot { readonly packageId: string; readonly generation: string; readonly state: DoomReadinessState; readonly diagnostics: readonly string[]; readonly error?: DoomReadinessErrorDetail; } export interface DoomReadinessTaskResult { readonly value: TValue; readonly diagnostics?: readonly string[]; } export type DoomReadinessTask = (signal: AbortSignal) => Promise>; export interface DoomReadinessWaitOptions { readonly signal?: AbortSignal; } export interface DoomReadinessHandle { readonly packageId: string; readonly generation: string; /** Waits for this package only. Degraded initialization still returns its value. */ wait(options?: DoomReadinessWaitOptions): Promise; /** Reads this handle's generation, even after a newer generation replaces it. */ snapshot(): DoomReadinessSnapshot; } export interface DoomReadinessNotification { readonly packageId: string; readonly generation: string; readonly state: 'degraded' | 'failed'; readonly diagnostics: readonly string[]; readonly error?: DoomReadinessErrorDetail; } export interface DoomReadinessCoordinatorOptions { /** Called once when a task becomes degraded or failed. */ readonly notify?: (notification: DoomReadinessNotification) => void | Promise; } export interface DoomReadinessCoordinator { start(packageId: string, generation: string, task: DoomReadinessTask): DoomReadinessHandle; /** Reads the latest generation registered for a package. */ read(packageId: string): DoomReadinessSnapshot | undefined; /** Reads the latest generation of every registered package. */ snapshots(): readonly DoomReadinessSnapshot[]; /** Aborts pending work and waits for every started task to settle. */ dispose(): Promise; } export interface DoomReadinessErrorOptions { readonly packageId?: string; readonly generation?: string; readonly cause?: unknown; } /** Error returned to package callers without exposing task-specific rejection shapes. */ export declare class DoomReadinessError extends Error { readonly code: DoomReadinessErrorCode; readonly packageId?: string; readonly generation?: string; constructor(code: DoomReadinessErrorCode, message: string, input?: DoomReadinessErrorOptions); } /** Creates the session-scoped coordinator value published through Cordis. */ export declare function createDoomReadinessCoordinator(options?: DoomReadinessCoordinatorOptions): DoomReadinessCoordinator; /** Reads the coordinator visible to the current Cordis plugin context. */ export declare function readDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator | undefined; /** Reads the coordinator or reports that Config has not published session readiness. */ export declare function requireDoomReadinessCoordinator(ctx: Context): DoomReadinessCoordinator; //#endregion //# sourceMappingURL=readiness.d.mts.map