/** * meta-proxy release resolution + download (ADR-307). * * Two download paths, deliberately not conflated: * - **Production** (`downloadReleaseAsset`): public, signed assets from * cognitum-one/meta-proxy-dist. Source remains private; normal users need * neither GitHub authentication nor access to the source repository. * - **Dev-only** (`downloadViaGhCli`): shells out to `gh release download`, * gated behind `RUFLO_DEV_PROXY_INSTALL=1` so it is never reachable by * accident, and always logs loudly that it is a developer path. * * @module proxy/release */ export declare const TARGET_TRIPLES: readonly ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "aarch64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]; export type TargetTriple = (typeof TARGET_TRIPLES)[number]; export declare class UnsupportedPlatformError extends Error { constructor(platform: string, arch: string); } /** Maps the running Node process's platform/arch onto one of meta-proxy's 5 published triples. */ export declare function detectTargetTriple(platform?: string, arch?: string): TargetTriple; export declare function releaseArchiveExtension(triple: TargetTriple): 'zip' | 'tar.gz'; export declare function releaseAssetFilename(version: string, triple: TargetTriple): string; export interface ReleaseAssets { archiveBytes: Buffer; archiveFilename: string; sumsBytes: Buffer; sigBase64: string; } /** * Dev-only fallback: `gh release download` via SafeExecutor into `destDir`. * Requires the caller's environment to already have `gh` authenticated * against a GitHub account with access to the private meta-proxy repo — this * is NOT something a normal ruflo end user has, which is exactly why this * path is gated and logged, not the default. */ export declare function downloadViaGhCli(destDir: string, version: string, triple: TargetTriple, log?: (line: string) => void): Promise; /** * Production download path — a Cognitum-owned, auth-mediated release-proxy * endpoint. Not implemented: no such endpoint exists in the confirmed * OpenAPI contract today. Throws a clear, specific error rather than * silently falling back to the dev path, so a real user hitting this isn't * left guessing whether it's their environment or a genuine gap. */ export declare function downloadReleaseAsset(version: string, triple: TargetTriple, _destDir: string): Promise; /** Entry point install.ts calls — routes to the dev path when explicitly enabled, else fails clearly. */ export declare function fetchReleaseAssets(version: string, triple: TargetTriple, destDir: string, log?: (line: string) => void): Promise; //# sourceMappingURL=release.d.ts.map