Move release manifest into lib/ to fix dependency direction

Architecture review (hai-architecture / APoSD) of the shipped redesign found one
structural smell: the shared lib/ layer imported the release manifest from
components/ — data in the presentation layer, dependency pointing the wrong way.
- move components/release-links.generated.ts -> lib/; update the four importers
  and the README. lib/ no longer imports from components/.
- downloads.ts: reuse PlatformDownload["id"] instead of re-declaring the union.

No behavior change (download counter + tracked hrefs identical); build + e2e 12/12.
This commit is contained in:
ZacharyZhang-NY committed 2026-07-08 01:11:23 -04:00
1 parent 74e2d3fed6
commit d833ff4776
6 files changed
+6 -6

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@ Next.js landing page for the AgentCompany desktop release lane.
| Surface | Source |
|---|---|
| Download cards | `landing/components/release-links.generated.ts` |
| Download cards | `landing/lib/release-links.generated.ts` |
| Platform FAQ | `landing/lib/platform-support.ts` |
| Hero, How It Works, software JSON-LD features | `landing/lib/product-narrative.ts` |
| Runtime download URLs | generated from `scripts/generate-landing-release-links.mjs` |
@@ -5,7 +5,7 @@ import { Download } from "reicon-react/icons/Download";
import { Container } from "../ui/container";
import { Reveal } from "../ui/reveal";
import { SectionHeading } from "../ui/section-heading";
import { platformDownloads, releaseVersion } from "../release-links.generated";
import { platformDownloads, releaseVersion } from "../../lib/release-links.generated";
import { DOWNLOAD_COUNT_SEED, getTrackedDownloadHref } from "../../lib/downloads";
export function DownloadSection() {
+2 -2
View File
@@ -1,11 +1,11 @@
import { platformDownloads, type PlatformDownloadAsset } from "../components/release-links.generated";
import { platformDownloads, type PlatformDownload, type PlatformDownloadAsset } from "./release-links.generated";
export const DOWNLOAD_COUNT_SEED = 13674;
export const DOWNLOAD_DEDUP_WINDOW_HOURS = 24;
export const DOWNLOAD_DEDUP_WINDOW_MS = DOWNLOAD_DEDUP_WINDOW_HOURS * 60 * 60 * 1000;
export type ReleaseDownloadAsset = PlatformDownloadAsset & {
platformId: "macos" | "windows" | "linux";
platformId: PlatformDownload["id"];
platformTitle: string;
};
+1 -1
View File
@@ -3,7 +3,7 @@ import {
type PlatformDownload,
type PlatformDownloadAsset,
type ReleaseArchitecture,
} from "../components/release-links.generated";
} from "./release-links.generated";
const ARCHITECTURE_ORDER: ReleaseArchitecture[] = ["arm64", "x64", "x86"];
+1 -1
View File
@@ -1,4 +1,4 @@
import { releaseVersion } from "../components/release-links.generated";
import { releaseVersion } from "./release-links.generated";
export const landingHeroNarrative = {
eyebrow: "AgentCompany Desktop",