/** * Last good startup facts, so the next start can connect at once: * ~/.melaya-runner/startup-cache.json holds the last published model list and * the Python interpreter that worked. The runner connects with these, then * publishes fresh discovery through `runner:models` when it lands. * * Model names only (no credentials, no tokens). A missing or malformed file * reads as empty; writes are best-effort and atomic (temp file + rename). */ import type { DetectedModel } from "./detect.js"; export interface StartupCache { models?: DetectedModel[]; modelsAt?: number; python?: { cmd: string; minor: number; provisioned?: boolean; }; } export declare function startupCachePath(dir?: string): string; export declare function readStartupCache(path?: string): StartupCache; export declare function writeStartupCache(patch: StartupCache, path?: string): void;