Dashboard › cli › Distillation
857c73e5-9562-4390-851d-386c1fd92617["lore_tm_v1__UmEJRssngnKoUDVK-m9ex1TlTV4QhLdN3QmFsx1vqo","lore_tm_v1_oEmcK0bb2t4l9BhQxZ-qQAdIRS3rrz_SgRaiVfUSem0","lore_tm_v1_ZGAh5x5yFqY7fWAS4GUmCpN_cO5Xo80G0DEmniwUlmg","lore_tm_v1_eLcjXcizJvssqOyaiuH06zM1wI1Fvufo3UppmXfsU8k","lore_tm_v1_FNWWzOETNsMMIy5RetVZqES6XStGLv5r8773H9l1aZY","lore_tm_v1_2WvuFcS48kkK496XcnBvxfccqUk_88IO6r8CoV46Xzc"]
packages/cli/test/commands/cli/upgrade.test.ts, mockGhcrNightlyVersion() and mockNightlyVersion() now handle the exact probe URL https://api.github.com/repos/getsentry/toolkit with HTTP 200 before GHCR token exchange and /manifests/nightly handling.packages/cli/test/commands/cli/upgrade.test.ts, mockGitHubVersion(version) now discovers stable versions from getsentry/toolkit/releases?per_page=100, returning [{ tag_name: \cli@${version}` }]; exact-version checks require the encoded tag cli%40${version}and return{ tag_name: `cli@${version}` }`. The npm registry fallback remains.packages/cli/test/commands/cli/upgrade.test.ts test "uses the selected legacy source for the check-mode changelog": Toolkit release discovery returns HTTP 404, legacy getsentry/cli/releases/latest returns 99.99.99, and check mode must request https://api.github.com/repos/getsentry/cli/releases?per_page=30 without requesting the Toolkit changelog URL.packages/cli/test/commands/cli/upgrade.test.ts now models Toolkit discovery as [{ tag_name: "cli@99.99.99" }] from getsentry/toolkit/releases?per_page=100; subsequent specific-version checks return HTTP 404.packages/cli/test/commands/cli/upgrade.test.ts, including mockBinaryDownloadWithVersion(version) and the non-zero setup-exit test, now return Toolkit release-list payloads with cli@-prefixed tags instead of legacy releases/latest payloads.packages/cli/test/commands/cli/upgrade.test.ts now include the Toolkit repository probe https://api.github.com/repos/getsentry/toolkit returning HTTP 200 before the GHCR token → manifest → blob flow.packages/cli/test/lib/binary.test.ts, getBinaryDownloadUrl("1.0.0") is now expected to use https://github.com/getsentry/toolkit/releases/download/, include /cli@1.0.0/, and retain the platform-specific sentry- binary name and arm64/x64 architecture.packages/cli/test/lib/binary.test.ts defines the expected UPGRADE_SOURCES order as: 1. { githubRepo: "getsentry/toolkit", ghcrRepo: "getsentry/toolkit", tagPrefix: "cli@" }; 2. { githubRepo: "getsentry/cli", ghcrRepo: "getsentry/cli", tagPrefix: "" }.resolveUpgradeSource() coverage in packages/cli/test/lib/binary.test.ts: the first source is selected when https://api.github.com/repos/getsentry/toolkit/releases/tags/cli%400.45.0 succeeds; its response is returned together with UPGRADE_SOURCES[0].resolveUpgradeSource() falls back from Toolkit to legacy only when the Toolkit probe returns HTTP 404; for version 0.45.0, the ordered probes are https://api.github.com/repos/getsentry/toolkit/releases/tags/cli%400.45.0 followed by https://api.github.com/repos/getsentry/cli/releases/tags/0.45.0.resolveUpgradeSource() must not fall back on HTTP 401, 403, 429, or 500; each case throws HTTP <status> after only the Toolkit probe.resolveUpgradeSource() must not fall back on a network failure; a TypeError("fetch failed") becomes Failed to connect to GitHub: fetch failed, with only the Toolkit probe attempted.404, resolveUpgradeSource() throws UpgradeSourceNotFoundError with name: "UpgradeSourceNotFoundError" after probing Toolkit and then legacy in order.packages/cli/test/lib/delta-upgrade.mocked.test.ts, stable delta fixtures now use Toolkit tags cli@0.14.0 and cli@0.13.0; the patch download URL is https://github.com/getsentry/toolkit/releases/download/cli@0.14.0/${BINARY_NAME}.patch.packages/cli/test/lib/delta-upgrade.mocked.test.ts were likewise changed from unprefixed tags to cli@0.14.0 and cli@0.13.0. The real patch fixture still expects SHA-256 54d0dcd74478bc154b5b24393fdc6129518271baa36f446384d60e84021bb724, patch size 89, binary size 54, and full .gz size 100_000.packages/cli/test/lib/delta-upgrade.test.ts, stable release fetching now expects api.github.com/repos/getsentry/toolkit/releases; Toolkit chain tests use cli@-prefixed release tags and Toolkit patch URLs.resolveStableChain() test in packages/cli/test/lib/delta-upgrade.test.ts verifying that prefixed Toolkit CLI releases are resolved while releases for other Toolkit products are ignored; the single-hop result from 0.13.0 to 0.14.0 contains one patch, expected SHA-256 versionHex("0.14.0"), and step { fromVersion: "0.13.0", toVersion: "0.14.0" }.packages/cli/test/lib/delta-upgrade.test.ts now use tags such as cli@0.14.0 and cli@0.13.0; the chain-depth test still uses 15 releases/14 hops and verifies behavior beyond MAX_STABLE_CHAIN_DEPTH of 10.packages/cli/test/lib/delta-upgrade.test.ts imports UPGRADE_SOURCES, defines LEGACY_UPGRADE_SOURCE = UPGRADE_SOURCES[1], and throws Error("Legacy upgrade source is not configured") if that source is absent.attemptDeltaUpgrade() in packages/cli/test/lib/delta-upgrade.test.ts, including stable and nightly calls using LEGACY_UPGRADE_SOURCE; assertions verify requests remain on the legacy source and do not include getsentry/toolkit, including nightly failure handling for HTTP 401.packages/cli/test/lib/ghcr.test.ts, getAnonymousToken(UPGRADE_SOURCES[0]) must request a token scope containing repository:getsentry/toolkit:pull and can return "toolkit-token".packages/cli/test/lib/ghcr.test.ts, fetchNightlyManifest("token", undefined, UPGRADE_SOURCES[0]) must request /v2/getsentry/toolkit/manifests/nightly and return the parsed OCI manifest.fetchManifest("token", "patch-0.13.0") now exposes HTTP 404 as GhcrManifestHttpError, with name: "GhcrManifestHttpError", status: 404, and message Failed to fetch manifest for tag "patch-0.13.0": HTTP 404; network failures continue to throw UpgradeError.fetchChangelog source-affinity tests in packages/cli/test/lib/release-notes.test.ts, using explicit Toolkit and legacy entries from UPGRADE_SOURCES.fetchChangelog({ channel: "stable", fromVersion: "0.20.0", toVersion: "0.21.0", source: toolkitSource }) must request only https://api.github.com/repos/getsentry/toolkit/releases?per_page=30, include the cli@0.21.0 item "Keep release stages source-affine", ignore the unrelated mcp@99.0.0 release, and produce totalItems: 1.fetchChangelog({ channel: "stable", fromVersion: "0.20.0", toVersion: "0.21.0", source: legacySource }) must request only https://api.github.com/repos/getsentry/cli/releases?per_page=30 and produce totalItems: 1 from the unprefixed 0.21.0 release.0.21.0-dev.100 to 0.21.0-dev.200, fetchChangelog() must request exactly https://api.github.com/repos/getsentry/toolkit/commits?sha=main&since=1970-01-01T00:01:41.000Z&until=1970-01-01T00:03:21.000Z&per_page=100, parse the commit fix: keep nightly stages affine, produce totalItems: 1, and make no request to getsentry/cli.