import { spawnSync } from 'node:child_process';
import { mkdir } from 'node:fs/promises';
import { fileURLToPath } from 'node:url';
const output = fileURLToPath(new URL('../dist/', import.meta.url));
await mkdir(output, { recursive: true });
const binary = `colab-mcp-gateway${process.platform === 'win32' ? '.exe' : ''}`;
const result = spawnSync('go', ['build', '-trimpath', '-o', `${output}${binary}`, '.'], {
cwd: fileURLToPath(new URL('../gateway/', import.meta.url)),
stdio: 'inherit',
});
if (result.error) throw new Error('go 1.26.2 or newer is required to build the OAuth gateway');
process.exitCode = result.status ?? 1;