Dashboard › cli › Distillation
cb881447-056d-4c7d-b13a-897c27c7e9db["lore_tm_v1_9858ULLj49hkvDOPPauRUbuMWNLkxjWqNc8uKudkxDA","lore_tm_v1_qohvPtL0ieGDGvhqQXnhElY-__a4tub7FrNWJmkp7jQ","lore_tm_v1_PrjIoezNtr2HYBq6uBvPptHEccaUeMmPZaB2HZufPos","lore_tm_v1_G90jxfyWsVGBq9gk3Ne1kunUq0gLarr17EnE4SOJmxk","lore_tm_v1_y3-63xlox72PisTVrk1ksxwFWJj1rcAAeLpHEgzTzTw","lore_tm_v1_ct0n35KvtwojaZQPdOt_6c0-sj9wXfcx0NtEHHsUEz0"]
packages/cli/node_modules/binpatch/dist/index.d.ts lines 535β612 define the stable-channel GitHub Release patch source: each target-platform release publishes <binaryName>, <binaryName>.gz, and <binaryName>.patch; chains run from current to target oldest-first and are capped by MAX_STABLE_CHAIN_DEPTH and SIZE_THRESHOLD_RATIO.GitHubAsset fields are name: string, size: number, optional digest?: string, and browser_download_url: string; GitHubRelease fields are tag_name: string, assets: GitHubAsset[], and optional body?: string.extractSha256(asset: GitHubAsset): string | null and getStableTargetSha256(release: GitHubRelease, binaryName: string): string | null.ExtractStableChainOpts requires releases, currentVersion, targetVersion, binaryName, and fullGzSize; successful StableChainInfo contains patchUrls, expectedSha256, and ordered steps with fromVersion/toVersion.extractStableChain(opts) is pure computation with no HTTP and returns either StableChainInfo or StableChainFailure; failure classifications are exactly "no_patches", "malformed_chain", "too_long", and "over_budget".GitHubReleaseSourceConfig requires releasesUrl, binaryName, and userAgent, with optional injectable fetch and instrument?: InstrumentHook; instrumentation wraps individual GitHub API requests such as release listing and patch downloads.githubReleaseSource(config: GitHubReleaseSourceConfig): SourceStrategy and ghcrSource(config: GhcrSourceConfig): SourceStrategy.versionExists: 21 references in packages/cli/test/lib/upgrade.test.ts, its definition at packages/cli/src/lib/upgrade.ts:700, and its command use at packages/cli/src/commands/cli/upgrade.ts:297 as if (!(await versionExists(lookupMethod, target))).packages/cli/src/lib/version-check.ts imports from ./delta-upgrade.js and ./upgrade.js; packages/cli/src/lib/upgrade.ts:49 imports attemptDeltaUpgrade and DeltaResult from ./delta-upgrade.js; packages/cli/src/lib/release-notes.ts:24 imports GitHubRelease from ./delta-upgrade.js; packages/cli/src/commands/cli/upgrade.ts:62 imports from ../../lib/upgrade.js; packages/cli/src/commands/cli/index.ts:9 imports upgradeCommand; packages/cli/src/cli.ts:255 dynamically imports startCleanupOldBinary from ./lib/upgrade.js; and packages/cli/src/lib/formatters/human.ts:2214 defines UpgradeResult via import("../../commands/cli/upgrade.js").UpgradeResult.pnpm run check:upgrade-sources, which delegated to pnpm --filter sentry run check:upgrade-sources and then vitest run test/lib/install-script.test.ts -t 'embeds the shared ordered upgrade source list'; Vitest v4.1.10 passed exactly 1 test file and 1 test, with 11 skipped out of 12, in 818ms (transform 448ms, setup 150ms, import 419ms, tests 7ms, environment 0ms).check:upgrade-sources run emitted the Vitest 4 deprecation warning that test.poolOptions was removed and its former options are now top-level.4094ae9a7670f2bf46898fc7d5b8c7d89cf70819.