#!/usr/bin/env node const { spawnSync } = require('child_process'); const commands = { migrate: { description: 'Run migrations to update to the latest major SDK version', fn: () => { const result = spawnSync( 'npx', [ '-y', 'https://github.com/stainless-api/migrate-ts/releases/download/0.0.3/stainless-api-migrate-0.0.3.tgz', '--migrationConfig', require.resolve('./migration-config.json'), ...process.argv.slice(3), ], { stdio: 'inherit' }, ); if (result.status !== 0) { process.exit(result.status); } }, }, }; function exitWithHelp() { console.log(`Usage: openai `); console.log(); console.log('Subcommands:'); for (const [name, info] of Object.entries(commands)) { console.log(` ${name} ${info.description}`); } console.log(); process.exit(1); } if (process.argv.length < 3) { exitWithHelp(); } const commandName = process.argv[2]; const command = commands[commandName]; if (!command) { console.log(`Unknown subcommand ${commandName}.`); exitWithHelp(); } command.fn();