/** * Lightweight "is there a newer release?" check shared by the desktop tray and * the headless Linux agent. Apps poll the small `/dist/latest` JSON (a few * hundred bytes) — NOT the multi-MB binaries — and compare the published * `version` against their own. Downloading the actual build only happens when * the user explicitly clicks "Download" / runs the install script. */ export interface LatestDist { /** Latest published version, e.g. "1.0.18". null until a release is published. */ version: string | null; /** Direct download paths (relative to the server origin), null if missing. */ mac: string | null; /** * The macOS .pkg installer (the primary mac download once published) — * null until a pkg release exists, or when talking to an older server. * Optional so existing consumers constructing LatestDist keep compiling; * `fetchLatestDist` always fills it in (with an explicit null when absent). */ macPkg?: string | null; win: string | null; agentLinuxX64: string | null; agentLinuxArm64: string | null; } /** * Compare dotted numeric versions ("1.0.18" vs "1.0.9"). Returns >0 if a>b, * <0 if a;