/** * GitHub release selection and version comparison for CLI self-upgrade. * * @experimental This API is unstable and may change without notice. * @packageDocumentation */ import * as Effect from "effect/Effect"; import * as HttpClient from "effect/unstable/http/HttpClient"; /** Default GitHub repository for CLI releases. */ export declare const DEFAULT_GITHUB_REPO = "agentxm/axm"; export type VersionRelation = "upgrade-available" | "current" | "local-newer" | "unknown-local"; export interface ResolvedRelease { readonly tagName: string; readonly binaryAssetUrl: string | null; readonly checksumAssetUrl: string | null; } export interface VersionResolutionResult { /** Selected target version without the `cli-v` prefix. */ readonly targetVersion: string; /** Valid observed local version, or null when it cannot be determined. */ readonly localVersion: string | null; readonly versionRelation: VersionRelation; readonly release: ResolvedRelease; } /** * Resolve the highest eligible stable CLI release and compare it with the * observed local version. When `requiredAsset` is provided, the selected * release must contain exactly one platform binary and one checksum manifest. */ export declare const resolveLatestVersion: (httpClient: HttpClient.HttpClient, localVersion: string | null, repo?: string, requiredAsset?: string, apiBaseUrl?: string) => Effect.Effect<{ targetVersion: string; localVersion: string | null; versionRelation: VersionRelation; release: { tagName: string; binaryAssetUrl: string | null; checksumAssetUrl: string | null; }; }, import("../app-error/app-error.ts").AppError, never>; //# sourceMappingURL=version-resolution.d.ts.map