UNPKG

2.42 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const axios_1 = __importDefault(require("axios"));
7const fs_1 = require("fs");
8const colors_1 = __importDefault(require("./colors"));
9const baseUrl = (() => {
10 const port = process.env.SDK_SPEAK_PORT;
11 if (port) {
12 return `http://127.0.0.1:${port}`;
13 }
14 else {
15 console.log(`
16Looks like you don't have the SDK ${colors_1.default.errorRed('daemon')} running, which this SDK version needs to function. This generally means one of two things:
17
18${colors_1.default.bold('1)')} Your ${colors_1.default.callOutCyan('ops.yml')} file has the wrong SDK level for the current command. Make sure that it includes the line:
19
20${colors_1.default.actionBlue(' sdk: "2"')}
21
22${colors_1.default.bold('2)')} Your ${colors_1.default.callOutCyan('Dockerfile')} does not specify a ${colors_1.default.callOutCyan('CTO.ai')} base image for your final container. For this SDK, it should be:
23
24${colors_1.default.actionBlue('FROM registry.cto.ai/official_images/node:latest')}
25`);
26 throw 'Fatal error!';
27 }
28})();
29exports.prompt = async (data) => {
30 const daemonResponse = await axios_1.default.post(baseUrl + '/prompt', data);
31 return JSON.parse(fs_1.readFileSync(daemonResponse.data.replyFilename, 'utf8'));
32};
33exports.getSecret = async (key) => {
34 const daemonResponse = await axios_1.default.post(baseUrl + '/secret/get', { "key": key });
35 return JSON.parse(fs_1.readFileSync(daemonResponse.data.replyFilename, 'utf8'));
36};
37exports.setSecret = async (key, value) => {
38 const daemonResponse = await axios_1.default.post(baseUrl + '/secret/set', { "key": key, "value": value });
39 return JSON.parse(fs_1.readFileSync(daemonResponse.data.replyFilename, 'utf8'));
40};
41function sendRequest(endpoint) {
42 const fullURL = `${baseUrl}/${endpoint}`;
43 return async (data) => {
44 await axios_1.default.post(fullURL, data);
45 };
46}
47exports.print = sendRequest('print');
48exports.start = sendRequest('start-spinner');
49exports.stop = sendRequest('stop-spinner');
50exports.startProgress = sendRequest('progress-bar/start');
51exports.advanceProgress = sendRequest('progress-bar/advance');
52exports.stopProgress = sendRequest('progress-bar/stop');
53exports.track = sendRequest('track');