Dashboard › cli › Distillation
619efe16-1cb7-4db0-8e6f-5cccb4653cd2["lore_tm_v1_vyxt23kb-pmNY3xpOf9fFOE1PPt8QXw1MJlVt2xL8Io"]
detectInstallationMethod() in packages/cli/src/lib/upgrade.ts to always check isHomebrewInstall() before stored installation information because stored DB install info may be stale—for example, after switching from a curl install to Homebrew. The realpath check is considered cheap and authoritative.packages/cli/src/lib/upgrade.ts to import prerelease as semverPrerelease and valid as semverValid from semver, and to import compareVersions while removing the GITHUB_RELEASES_URL import.UpgradeSource propagation through upgrade-version discovery and download paths in packages/cli/src/lib/upgrade.ts, including functions that accept source: UpgradeSource or optional source?: UpgradeSource.downloadNightlyToPath(destPath, version?, setMessage?, source = PRIMARY_UPGRADE_SOURCE) so GHCR token, manifest, and blob requests all use the selected UpgradeSource.downloadNightlyToPath() to call validateNightlyManifestVersion(manifest, version) after fetching the nightly-{version} manifest, preventing an unvalidated manifest from being used for a requested nightly version.version is provided, fetch the pinned nightly-{version} tag; otherwise fetch the rolling :nightly tag; locate the layer matching the current platform’s .gz filename and decompress the downloaded blob in-stream to destPath.packages/cli/src/lib/upgrade.ts using the response link header and validation with PAGE_NUMBER_REGEX before accepting a page number.extractReleaseVersions(data, resolved.source), ensuring release parsing uses the source selected during upgrade-version resolution.resolveExistingUpgradeVersion(version) to the upgrade flow so a requested existing version is resolved before subsequent upgrade processing.