alwaysai
Version:
The alwaysAI command-line interface (CLI)
35 lines • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const prompts = require("prompts");
const alwayscli_1 = require("@alwaysai/alwayscli");
function getNonInteractiveStreamName() {
for (const streamName of ['stdin', 'stdout']) {
if (!process[streamName].isTTY) {
return streamName;
}
}
return undefined;
}
exports.getNonInteractiveStreamName = getNonInteractiveStreamName;
function checkTerminalIsInteractive() {
const streamName = getNonInteractiveStreamName();
if (streamName) {
throw new alwayscli_1.TerseError(`This feature is disabled when standard ${streamName === 'stdin' ? 'input' : 'output'} (${streamName}) is not a TTY`);
}
}
exports.checkTerminalIsInteractive = checkTerminalIsInteractive;
async function prompt(questions) {
checkTerminalIsInteractive();
let canceled = false;
const answers = await prompts(questions, {
onCancel() {
canceled = true;
},
});
if (canceled) {
throw new alwayscli_1.TerseError('Operation canceled by user');
}
return answers;
}
exports.prompt = prompt;
//# sourceMappingURL=prompt.js.map