import fs from "node:fs/promises"; import { pathToFileURL } from "node:url"; const compiler = await import(pathToFileURL(process.argv[2])); const input = JSON.parse(await fs.readFile(process.argv[3], "utf8")); const revision = process.argv[4]; const schema = input.definition?.bindingSchema ?? input; if (input.definition && compiler.hexDigest(input.definition) !== input.digest) throw Error("Invalid execution plan"); const pkg = schema.packages.find((entry) => entry.revisionId === revision); if (!pkg) throw Error("Unknown build package " + revision); process.stdout.write( JSON.stringify({ contract: compiler.packageBuildContract(schema, revision), sourceDigest: compiler.hexDigest({ revision, source: pkg.source }), }), );