1const ANTIGRAVITY_RELEASE_VERSION = "1.3.0";
2
3export interface AntigravityReleaseAsset {
4 readonly version: string;
5 readonly url: string;
6 readonly sha256: string;
7 readonly archiveBytes: number;
8 readonly executable: {
9 readonly name: string;
10 readonly bytes: number;
11 };
12 readonly harness: {
13 readonly name: string;
14 readonly bytes: number;
15 };
16}
17
18// URLs come from the official registry. Hashes and sizes were checked on 2026-10-05.
19// https://github.com/agentclientprotocol/registry/blob/dc55a34900fdd60e5e97c1cbd7825c5a1df673fc/antigravity-acp/agent.json
20const releaseAssets = new Map<string, AntigravityReleaseAsset>([
21 [
22 "darwin-arm64",
23 {
24 version: ANTIGRAVITY_RELEASE_VERSION,
25 url: "https://dl.google.com/agy-extensions/releases/macos/agy-acp-server-1.3.0-darwin-arm64.zip",
26 sha256: "7cd97045f7b4fe81175a107cdf16f9c51484e3c78a5162cae415338bb6aa5b88",
27 archiveBytes: 111_456_962,
28 executable: { name: "agy_acp_server.par", bytes: 278_535_456 },
29 harness: { name: "localharness_external", bytes: 118_611_392 },
30 },
31 ],
32 [
33 "darwin-x64",
34 {
35 version: ANTIGRAVITY_RELEASE_VERSION,
36 url: "https://dl.google.com/agy-extensions/releases/macos/agy-acp-server-1.3.0-darwin-x86_64.zip",
37 sha256: "bb23956b89984bf5d354af2c3725e6c57f0cc1b7228e77a0e91c9c2bc1d47646",
38 archiveBytes: 117_245_544,
39 executable: { name: "agy_acp_server.par", bytes: 282_840_688 },
40 harness: { name: "localharness_external", bytes: 124_175_392 },
41 },
42 ],
43 [
44 "linux-x64",
45 {
46 version: ANTIGRAVITY_RELEASE_VERSION,
47 url: "https://dl.google.com/agy-extensions/releases/linux/agy-acp-server-1.3.0-linux-x86_64.zip",
48 sha256: "9fb60956af0a9d76220a4db91ca9ac88e2a2372ad68f985ab5fceace6b825b96",
49 archiveBytes: 333_727_150,
50 executable: { name: "agy_acp_server.par", bytes: 926_533_965 },
51 harness: { name: "localharness_external", bytes: 130_388_040 },
52 },
53 ],
54 [
55 "linux-arm64",
56 {
57 version: ANTIGRAVITY_RELEASE_VERSION,
58 url: "https://dl.google.com/agy-extensions/releases/linux/agy-acp-server-1.3.0-linux-arm64.zip",
59 sha256: "500b0bc0fb858e88f4df404d4cedf80bf9298c178291e39e383d6c50b111cbdf",
60 archiveBytes: 321_690_363,
61 executable: { name: "agy_acp_server.par", bytes: 930_848_992 },
62 harness: { name: "localharness_external", bytes: 123_224_968 },
63 },
64 ],
65 [
66 "win32-x64",
67 {
68 version: ANTIGRAVITY_RELEASE_VERSION,
69 url: "https://dl.google.com/agy-extensions/releases/windows/agy-acp-server-1.3.0-windows-x86_64.zip",
70 sha256: "65215e0688681fa3116e048a9eab27ef53af1bbd6f3da3f1c52bd4911d8b17f9",
71 archiveBytes: 124_509_787,
72 executable: { name: "agy_acp_server.exe", bytes: 81_437_336 },
73 harness: { name: "localharness_external.exe", bytes: 145_548_952 },
74 },
75 ],
76 [
77 "win32-arm64",
78 {
79 version: ANTIGRAVITY_RELEASE_VERSION,
80 url: "https://dl.google.com/agy-extensions/releases/windows/agy-acp-server-1.3.0-windows-arm64.zip",
81 sha256: "4a0f469720e9beb9438a979f543fdbfad5022ebe0992c052c590bd78b3144ca3",
82 archiveBytes: 124_654_803,
83 executable: { name: "agy_acp_server.exe", bytes: 85_893_472 },
84 harness: { name: "localharness_external.exe", bytes: 135_640_216 },
85 },
86 ],
87]);
88
89export function resolveAntigravityReleaseAsset(
90 platform: NodeJS.Platform,
91 arch: string,
92): AntigravityReleaseAsset | null {
93 return releaseAssets.get(`${platform}-${arch}`) ?? null;
94}