import { readFileSync } from 'node:fs' const [file, digest, platform] = process.argv.slice(2) const [os, architecture, variant] = platform.split('/') const manifest = JSON.parse(readFileSync(file, 'utf8')) let selected = digest if (Array.isArray(manifest.manifests)) { const matches = manifest.manifests.filter(entry => entry.platform?.os === os && entry.platform?.architecture === architecture && (entry.platform?.variant || undefined) === variant) if (matches.length !== 1) throw new Error(`Expected one ${platform} manifest, found ${matches.length}`) selected = matches[0].digest } if (!/^sha256:[0-9a-f]{64}$/.test(selected)) throw new Error('Invalid platform digest') process.stdout.write(selected)