UNPKG

@ashnov/hephaestus-cli

Version:

Your AI powered CLI-based coding assistant. Powered by OpenAI davinci models.

60 lines (59 loc) 3.22 kB
#!/usr/bin/env node var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { CommandValidator } from './CommandValidator.js'; import { ResponseHandler } from './ResponseHandler.js'; import { Stylize } from './utils/Stylize.js'; (function () { return __awaiter(this, void 0, void 0, function* () { try { const executable = CommandValidator.validateCommand(); yield ResponseHandler.routeExecutable(executable); } catch (e) { switch (e.message) { case 'UNKNOWN_COMMAND': console.log(Stylize.error(`Argument '${e.unknownCommand}' not recognized. Please pass the correct argument.`)); break; case 'ENCOUNTER_EXTRA_ARGS': console.log(Stylize.error(`Ecountered extra arument(s). Argument '${e.unknownCommand}' was not expected.`)); break; case 'EMPTY_QUERY': console.log(Stylize.error('Query parameter is empty. Please pass the query.')); break; case 'INVALID_FLAG': console.log(Stylize.error(`Flag ${e.unknownCommand} is invalid. Use --code or --text.`)); break; case 'OPTION_NOT_RECOGNIZED': console.log(Stylize.error(`Option ${e.unknownCommand} not recognized.`)); break; case 'INVALID_TOKEN': console.log(Stylize.error('API Token is invalid. Please pass the valid token.')); break; case 'OPENAI_SERVICE_DOWN': console.log(Stylize.error('Internal dependency error. Please raise an issue on github.')); break; case 'CONFIGURATION_NOT_SET': console.log(Stylize.error(`Hephaestus is not configured yet. Run 'heph configure' to configure.`)); break; case 'PLATFORM_NOT_SUPPORTED': console.log(Stylize.error('Hephaestus is not supported for your application.')); break; case 'INTERNAL_DEPENDENCY_BUSY': console.log(Stylize.error('Hephaestus has received too many requests in a short span of time. Try after a short span of time.')); break; default: console.log(e); console.log(Stylize.error('Internal server error. Please raise an issue on github.')); break; } } }); })();