import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import { type NotesSnapshot } from "../pi/notes/snapshot.js"; export type IncompleteNotesNotifier = (ctx: ExtensionContext, windowId: string, snapshot: NotesSnapshot) => void; /** The boot custom message: identity, notes snapshot, and static protocol; never reset prose. */ export type BootMessage = { readonly customType: string; readonly content: string; readonly display: false; readonly details: { windowId: string; }; }; /** * Acquire one notes snapshot and build the boot custom message for a window. All identity * fields are captured synchronously before the first filesystem await. */ export declare function buildBootMessage(ctx: ExtensionContext, windowId: string, previousId: string | undefined, notifyIncompleteNotes?: IncompleteNotesNotifier, isCurrent?: () => boolean): Promise; /** Persist one hidden boot message without triggering a model turn. */ export declare function sendBoot(pi: ExtensionAPI, boot: BootMessage): void; /** * Boot entry point for `session_start` / `session_tree`. Ordinary startup ensures one root * boot; a reset marker instead asks reset-artifact repair to complete its persisted tail. */ export declare function ensureBoot(pi: ExtensionAPI, ctx: ExtensionContext, notifyIncompleteNotes?: IncompleteNotesNotifier, isCurrent?: () => boolean): Promise;