| 1 | const ANTIGRAVITY_RELEASE_VERSION = "1.3.0"; |
| 2 | |
| 3 | export 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 |
| 20 | const 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 | |
| 89 | export function resolveAntigravityReleaseAsset( |
| 90 | platform: NodeJS.Platform, |
| 91 | arch: string, |
| 92 | ): AntigravityReleaseAsset | null { |
| 93 | return releaseAssets.get(`${platform}-${arch}`) ?? null; |
| 94 | } |