#!/usr/bin/env node import { callSpacetimeProcedure, callSpacetimeProcedureViaCli, ensureProcedureOk, parseArgs, } from './spacetime-migration-common.mjs'; try { const options = parseArgs(process.argv.slice(2)); if (!options.operatorIdentity) { throw new Error('必须传入 --operator-identity。'); } const input = { bootstrap_secret: options.bootstrapSecret || '', operator_identity_hex: options.operatorIdentity, note: options.note || '', }; if (options.useHttp && !options.token) { throw new Error('--use-http 需要同时传入 --token。'); } const result = options.useHttp ? await callSpacetimeProcedure(options, 'authorize_database_migration_operator', input) : await callSpacetimeProcedureViaCli( options, 'authorize_database_migration_operator', input, ); ensureProcedureOk(result); console.log( `[spacetime:migration:operator] 已授权 ${result.operator_identity_hex ?? options.operatorIdentity}`, ); } catch (error) { console.error( `[spacetime:migration:operator] ${error instanceof Error ? error.message : String(error)}`, ); process.exit(1); }