openai-mock-api
Version:
A mock OpenAI API server for testing LLM applications
42 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const commander_1 = require("commander");
const config_1 = require("./config");
const logger_1 = require("./logger");
const server_1 = require("./server");
const program = new commander_1.Command();
program
.name('openai-mock-api')
.description('A mock OpenAI API server for testing LLM applications')
.version('1.0.0')
.option('-c, --config <path>', 'Path to YAML configuration file (use "-" for stdin)')
.option('-p, --port <number>', 'Port to run the server on', '3000')
.option('-l, --log-file <path>', 'Path to log file (defaults to stdout)')
.option('-v, --verbose', 'Enable verbose logging')
.parse(process.argv);
const options = program.opts();
async function main() {
try {
const logger = new logger_1.Logger(options.logFile, options.verbose);
const configLoader = new config_1.ConfigLoader(logger);
// If no config specified, try to read from stdin
const configPath = options.config || '-';
const config = await configLoader.load(configPath);
const server = new server_1.MockServer(config, logger);
const port = parseInt(options.port) || config.port || 3000;
await server.start(port);
logger.info(`Mock OpenAI API server started on port ${port}`);
process.on('SIGINT', async () => {
logger.info('Shutting down server...');
await server.stop();
process.exit(0);
});
}
catch (error) {
console.error('Failed to start server:', error);
process.exit(1);
}
}
main();
//# sourceMappingURL=cli.js.map