cookie-ai-cli
Version:
A command-line interface tool designed to bridge the gap between natural language processing and command-line operations.
38 lines • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSettings = void 0;
const initialize_settings_1 = require("./initialize-settings");
const settings_constants_1 = require("./settings-constants");
const fs_1 = __importDefault(require("fs"));
const settings_schema_1 = require("./settings-schema");
const debug_log_1 = require("../utils/debug-log");
async function getSettings({ rl, }) {
let settings;
let settingsFile;
try {
settingsFile = fs_1.default.readFileSync(settings_constants_1.settingsFilePath, "utf8");
}
catch (error) {
await (0, initialize_settings_1.initializeSettings)(rl);
}
try {
if (settingsFile) {
settings = JSON.parse(settingsFile);
}
}
catch (error) {
debug_log_1.debug.error(`Error parsing JSON ${settings_constants_1.settingsFilePath}\n\nYou can edit your settings file manually to resolve the issue, or try reinitializing a new settings file by running the following command: \n\x1b[36mai --init\n`);
process.exit(1);
}
if (settings) {
(0, settings_schema_1.validateSettings)(settings);
return settings;
}
debug_log_1.debug.error("Failed to read settings file");
process.exit(1);
}
exports.getSettings = getSettings;
//# sourceMappingURL=get-settings.js.map