1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | const axios_1 = __importDefault(require("axios"));
|
7 | const fs_1 = require("fs");
|
8 | const colors_1 = __importDefault(require("./colors"));
|
9 | const 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(`
|
16 | Looks 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 | })();
|
29 | exports.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 | };
|
33 | exports.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 | };
|
37 | exports.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 | };
|
41 | function sendRequest(endpoint) {
|
42 | const fullURL = `${baseUrl}/${endpoint}`;
|
43 | return async (data) => {
|
44 | await axios_1.default.post(fullURL, data);
|
45 | };
|
46 | }
|
47 | exports.print = sendRequest('print');
|
48 | exports.start = sendRequest('start-spinner');
|
49 | exports.stop = sendRequest('stop-spinner');
|
50 | exports.startProgress = sendRequest('progress-bar/start');
|
51 | exports.advanceProgress = sendRequest('progress-bar/advance');
|
52 | exports.stopProgress = sendRequest('progress-bar/stop');
|
53 | exports.track = sendRequest('track');
|