'use strict'; const { spawnSync } = require('child_process'); const path = require('path'); function resolveHostTargetId() { const platformMap = { darwin: 'mac', win32: 'win', linux: 'linux', }; const archMap = { x64: 'x64', arm64: 'arm64', ia32: 'ia32', }; const platform = platformMap[process.platform]; const arch = archMap[process.arch]; if (!platform || !arch) { throw new Error(`Unsupported host platform/arch: ${process.platform}/${process.arch}`); } return `${platform}-${arch}`; } const targetId = resolveHostTargetId(); const rootDir = path.resolve(__dirname, '..'); const npmBin = process.platform === 'win32' ? 'npm.cmd' : 'npm'; const result = spawnSync(npmBin, ['run', `openclaw:runtime:${targetId}`], { cwd: rootDir, env: process.env, stdio: 'inherit', shell: true, }); if (typeof result.status === 'number') { process.exit(result.status); } process.exit(1);