UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

36 lines 1.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runStreaming = void 0; const child_process_1 = require("child_process"); const signalExit = require("signal-exit"); function runStreaming(cmd) { return new Promise((resolve, reject) => { var _a; const child = (0, child_process_1.spawn)(cmd.exe, (_a = cmd.args) !== null && _a !== void 0 ? _a : [], { cwd: cmd.cwd }); signalExit(() => { child.kill(); }); if (cmd.input) { cmd.input.pipe(child.stdin); } const errChunks = []; function stderrChunkHandler(chunk) { errChunks.push(chunk); } child.stderr.on('data', stderrChunkHandler); child.on('error', (err) => { if (err && !err.stderr) { err.stderr = Buffer.concat(errChunks).toString(); } reject(err); }); child.stdout.once('readable', () => { resolve(child.stdout); child.stderr.removeListener('data', stderrChunkHandler); }); }); } exports.runStreaming = runStreaming; //# sourceMappingURL=run-streaming.js.map