/** * `email-mcp update` — self-update the compiled binary from GitHub Releases. * * Checks the latest release, and when it is newer downloads the matching * platform archive, verifies its sha256 against the release's checksums file * (plus a provenance attestation when the `gh` CLI is available), then * atomically swaps the running executable. Installs owned by a package * manager (npm, mise) or a dev checkout are pointed at their own upgrade * path instead of being overwritten. */ /** * Minimal semver ordering: numeric major.minor.patch, and any prerelease * ranks below its release (1.0.0-rc.1 < 1.0.0). Prerelease-vs-prerelease * falls back to string order — fine for "is the release newer than me". */ export declare function compareVersions(a: string, b: string): number; /** * GoReleaser asset name for this platform. Contract (verified against the * live release): email-mcp___[_musl].tar.gz, zip on windows, * Go-style arch names (x64 → amd64). windows-arm64 has no native build and * runs the amd64 one under emulation. */ export declare function pickAssetName(version: string, platform: string, arch: string, musl: boolean): string; /** Parse sha256sum-format lines (`<64 hex> `) into name → hash. */ export declare function parseChecksums(text: string): Map; export type InstallKind = { kind: 'binary'; target: string; } | { kind: 'mise'; target: string; } | { kind: 'npm'; } | { kind: 'dev'; }; /** * What kind of install is running, and (for binaries) what file to replace. * Reuses selfCommand()'s tri-state detection; the realpath catches binaries * that are symlinks into a mise install tree, which mise must keep owning. */ export declare function classifyInstall(execPath: string, entry: string | undefined, realExecPath: string): InstallKind; interface UpdateOptions { check: boolean; yes: boolean; help: boolean; } export declare function parseUpdateArgs(args: string[]): UpdateOptions; export default function runUpdateCommand(args: string[]): Promise; export {}; //# sourceMappingURL=update.d.ts.map