Dashboard › cli › Distillation
aee0d2d5-2b1c-43d4-8b6c-8f6cae187d65["lore_tm_v1_M5wxxKyh8kii2eVyRXY5xAjvT2FzMJPNx8Xh3BbRcxU"]
detectInstallationMethod() uses the cheap, authoritative isHomebrewInstall() realpath check before consulting stored DB information.packages/cli/src/lib/upgrade.ts: 1. Homebrew; 2. stored install info in DB; 3. legacy detection via curl paths, subprocess calls, then node_modules path; 4. auto-save the detected method for future runs.getCurlInstallPaths() priority: 1. stored DB path only when stored.method === "curl" and existsSync(dirname(stored.path)); 2. process.execPath when in a known curl install location; 3. XDG-aware default install directory.ENOENT ... open '.../sentry.lock'; inaccessible or transiently unmounted stored hints should be ignored in favor of process.execPath or the default-install fallback.UpgradeError when the file βnever becomes visible or stays empty.βpackages/cli/src/lib/upgrade.ts: fully consume response.arrayBuffer() and then call writeFile(destPath, new Uint8Array(body)), because Bun.write(path, Response) with a large streaming body can exit before completion due to Bun issue https://github.com/oven-sh/bun/issues/13237.packages/cli/src/lib/upgrade.ts importing prerelease as semverPrerelease and valid as semverValid from semver, and importing compareVersions from the shared binary helpers.visitedPages with getGitHubLatestReleaseUrl(resolved.source) and validating release URLs against /repos/${source.githubRepo}/releases.signal?: AbortSignal and source?: UpgradeSource; a compatibility API carries the selected source across the download, with // biome-ignore lint/nursery/useMaxParams documenting the extra parameter.