#!/usr/bin/env node import { ReleaseVerificationError, formatCloudReleaseEnvironment, verifyDaemonRelease, } from "../release/verify-daemon-release-core.mjs"; function usage() { return "用法: npm run release:verify -- vX.Y.Z [--json]"; } async function main() { const args = process.argv.slice(2); const json = args.includes("--json"); const positional = args.filter((arg) => arg !== "--json"); if (positional.length !== 1 || args.some((arg) => arg.startsWith("--") && arg !== "--json")) { console.error(usage()); process.exitCode = 2; return; } try { const verified = await verifyDaemonRelease({ tag: positional[0], token: process.env.GITHUB_TOKEN?.trim() || undefined, }); if (json) { console.log(JSON.stringify(verified, null, 2)); return; } console.log(`已核验 ${verified.tag}:${verified.assets.length} 个 daemon 资产与 checksums.txt 全部一致。`); console.log("\n将以下公开值配置到 Cloud;本工具不会自动写入环境:\n"); console.log(formatCloudReleaseEnvironment(verified)); } catch (error) { if (error instanceof ReleaseVerificationError) { console.error(`核验失败 [${error.code}]:${error.message}`); } else { console.error("核验失败 [unexpected_error]:发生未预期错误"); } process.exitCode = 1; } } await main();