@alwaysai/device-agent 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application-control/application-control.d.ts +41 -0
- package/lib/application-control/application-control.d.ts.map +1 -0
- package/lib/application-control/application-control.js +197 -0
- package/lib/application-control/application-control.js.map +1 -0
- package/lib/application-control/models.d.ts +12 -0
- package/lib/application-control/models.d.ts.map +1 -0
- package/lib/application-control/models.js +44 -0
- package/lib/application-control/models.js.map +1 -0
- package/lib/application-control/utils.d.ts +16 -0
- package/lib/application-control/utils.d.ts.map +1 -0
- package/lib/application-control/utils.js +62 -0
- package/lib/application-control/utils.js.map +1 -0
- package/lib/constants.d.ts +15 -0
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +22 -0
- package/lib/constants.js.map +1 -0
- package/lib/device-control/device-control.d.ts +4 -0
- package/lib/device-control/device-control.d.ts.map +1 -0
- package/lib/device-control/device-control.js +20 -0
- package/lib/device-control/device-control.js.map +1 -0
- package/lib/docker/docker-cmd.d.ts +4 -0
- package/lib/docker/docker-cmd.d.ts.map +1 -0
- package/lib/docker/docker-cmd.js +16 -0
- package/lib/docker/docker-cmd.js.map +1 -0
- package/lib/docker/docker-compose-cmd.d.ts +5 -0
- package/lib/docker/docker-compose-cmd.d.ts.map +1 -0
- package/lib/docker/docker-compose-cmd.js +16 -0
- package/lib/docker/docker-compose-cmd.js.map +1 -0
- package/lib/environment.d.ts +4 -0
- package/lib/environment.d.ts.map +1 -0
- package/lib/environment.js +21 -0
- package/lib/environment.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +19 -0
- package/lib/index.js.map +1 -0
- package/lib/root.d.ts +2 -0
- package/lib/root.d.ts.map +1 -0
- package/lib/root.js +18 -0
- package/lib/root.js.map +1 -0
- package/lib/subcommands/app/app.d.ts +36 -0
- package/lib/subcommands/app/app.d.ts.map +1 -0
- package/lib/subcommands/app/app.js +218 -0
- package/lib/subcommands/app/app.js.map +1 -0
- package/lib/subcommands/app/index.d.ts +2 -0
- package/lib/subcommands/app/index.d.ts.map +1 -0
- package/lib/subcommands/app/index.js +23 -0
- package/lib/subcommands/app/index.js.map +1 -0
- package/lib/subcommands/device-control.d.ts +2 -0
- package/lib/subcommands/device-control.d.ts.map +1 -0
- package/lib/subcommands/device-control.js +19 -0
- package/lib/subcommands/device-control.js.map +1 -0
- package/lib/subcommands/index.d.ts +2 -0
- package/lib/subcommands/index.d.ts.map +1 -0
- package/lib/subcommands/index.js +14 -0
- package/lib/subcommands/index.js.map +1 -0
- package/lib/subcommands/login.d.ts +5 -0
- package/lib/subcommands/login.d.ts.map +1 -0
- package/lib/subcommands/login.js +27 -0
- package/lib/subcommands/login.js.map +1 -0
- package/lib/subcommands/test-app.d.ts +5 -0
- package/lib/subcommands/test-app.d.ts.map +1 -0
- package/lib/subcommands/test-app.js +33 -0
- package/lib/subcommands/test-app.js.map +1 -0
- package/lib/util/copy-dir.d.ts +5 -0
- package/lib/util/copy-dir.d.ts.map +1 -0
- package/lib/util/copy-dir.js +14 -0
- package/lib/util/copy-dir.js.map +1 -0
- package/lib/util/run-cli-cmd.d.ts +5 -0
- package/lib/util/run-cli-cmd.d.ts.map +1 -0
- package/lib/util/run-cli-cmd.js +24 -0
- package/lib/util/run-cli-cmd.js.map +1 -0
- package/lib/util/spawner/gnu-spawner.d.ts +9 -0
- package/lib/util/spawner/gnu-spawner.d.ts.map +1 -0
- package/lib/util/spawner/gnu-spawner.js +102 -0
- package/lib/util/spawner/gnu-spawner.js.map +1 -0
- package/lib/util/spawner/js-spawner.d.ts +5 -0
- package/lib/util/spawner/js-spawner.d.ts.map +1 -0
- package/lib/util/spawner/js-spawner.js +89 -0
- package/lib/util/spawner/js-spawner.js.map +1 -0
- package/lib/util/spawner/types.d.ts +28 -0
- package/lib/util/spawner/types.d.ts.map +1 -0
- package/lib/util/spawner/types.js +3 -0
- package/lib/util/spawner/types.js.map +1 -0
- package/lib/util/spawner-base/index.d.ts +17 -0
- package/lib/util/spawner-base/index.d.ts.map +1 -0
- package/lib/util/spawner-base/index.js +30 -0
- package/lib/util/spawner-base/index.js.map +1 -0
- package/lib/util/spawner-base/run-foreground-sync.d.ts +3 -0
- package/lib/util/spawner-base/run-foreground-sync.d.ts.map +1 -0
- package/lib/util/spawner-base/run-foreground-sync.js +18 -0
- package/lib/util/spawner-base/run-foreground-sync.js.map +1 -0
- package/lib/util/spawner-base/run-foreground.d.ts +3 -0
- package/lib/util/spawner-base/run-foreground.d.ts.map +1 -0
- package/lib/util/spawner-base/run-foreground.js +49 -0
- package/lib/util/spawner-base/run-foreground.js.map +1 -0
- package/lib/util/spawner-base/run-streaming.d.ts +4 -0
- package/lib/util/spawner-base/run-streaming.d.ts.map +1 -0
- package/lib/util/spawner-base/run-streaming.js +35 -0
- package/lib/util/spawner-base/run-streaming.js.map +1 -0
- package/lib/util/spawner-base/run.d.ts +4 -0
- package/lib/util/spawner-base/run.d.ts.map +1 -0
- package/lib/util/spawner-base/run.js +56 -0
- package/lib/util/spawner-base/run.js.map +1 -0
- package/lib/web/index.html +229 -0
- package/lib/web/static/Karla.css +18 -0
- package/lib/web/static/bootstrap-4.3.1.min.css +7 -0
- package/lib/web/static/bootstrap-4.3.1.min.js +7 -0
- package/lib/web/static/favicon.ico +0 -0
- package/lib/web/static/jquery-3.3.1.slim.min.js +2 -0
- package/lib/web/static/popper-1.14.7.min.js +5 -0
- package/lib/web/web-interface.d.ts +2 -0
- package/lib/web/web-interface.d.ts.map +1 -0
- package/lib/web/web-interface.js +74 -0
- package/lib/web/web-interface.js.map +1 -0
- package/package.json +89 -0
- package/readme.md +104 -0
- package/src/application-control/application-control.ts +233 -0
- package/src/application-control/models.ts +40 -0
- package/src/application-control/utils.ts +64 -0
- package/src/constants.ts +29 -0
- package/src/device-control/device-control.ts +16 -0
- package/src/docker/docker-cmd.ts +12 -0
- package/src/docker/docker-compose-cmd.ts +12 -0
- package/src/environment.ts +20 -0
- package/src/index.ts +18 -0
- package/src/root.ts +18 -0
- package/src/subcommands/app/app.ts +216 -0
- package/src/subcommands/app/index.ts +32 -0
- package/src/subcommands/device-control.ts +16 -0
- package/src/subcommands/index.ts +11 -0
- package/src/subcommands/login.ts +24 -0
- package/src/subcommands/test-app.ts +30 -0
- package/src/util/copy-dir.ts +10 -0
- package/src/util/run-cli-cmd.ts +18 -0
- package/src/util/spawner/gnu-spawner.ts +114 -0
- package/src/util/spawner/js-spawner.ts +110 -0
- package/src/util/spawner/types.ts +28 -0
- package/src/util/spawner-base/index.ts +28 -0
- package/src/util/spawner-base/run-foreground-sync.ts +16 -0
- package/src/util/spawner-base/run-foreground.ts +49 -0
- package/src/util/spawner-base/run-streaming.ts +40 -0
- package/src/util/spawner-base/run.ts +60 -0
- package/src/web/index.html +229 -0
- package/src/web/static/Karla.css +18 -0
- package/src/web/static/bootstrap-4.3.1.min.css +7 -0
- package/src/web/static/bootstrap-4.3.1.min.js +7 -0
- package/src/web/static/favicon.ico +0 -0
- package/src/web/static/jquery-3.3.1.slim.min.js +2 -0
- package/src/web/static/popper-1.14.7.min.js +5 -0
- package/src/web/web-interface.ts +89 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare type AppDetails = {
|
|
3
|
+
projectId: string;
|
|
4
|
+
version: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function getInstalledApps(): Promise<AppDetails[]>;
|
|
7
|
+
export declare function rollbackApp(props: {
|
|
8
|
+
projectId: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function installApp(props: {
|
|
11
|
+
projectId: string;
|
|
12
|
+
appPkg: NodeJS.ReadableStream;
|
|
13
|
+
version: string;
|
|
14
|
+
}): Promise<void>;
|
|
15
|
+
export declare type ServiceState = 'Stopped' | 'Up' | 'Restarting';
|
|
16
|
+
export declare type ServiceStatus = {
|
|
17
|
+
name: string;
|
|
18
|
+
state: ServiceState;
|
|
19
|
+
};
|
|
20
|
+
export declare type AppStatus = {
|
|
21
|
+
appDetails: AppDetails;
|
|
22
|
+
services: ServiceStatus[];
|
|
23
|
+
};
|
|
24
|
+
export declare function getAppStatus(props: {
|
|
25
|
+
projectId: string;
|
|
26
|
+
}): Promise<AppStatus>;
|
|
27
|
+
export declare function getAppLogs(props: {
|
|
28
|
+
projectId: string;
|
|
29
|
+
services?: string[];
|
|
30
|
+
}): Promise<NodeJS.ReadableStream>;
|
|
31
|
+
export declare function startApp(props: {
|
|
32
|
+
projectId: string;
|
|
33
|
+
dockerLoginToken?: string;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
export declare function stopApp(props: {
|
|
36
|
+
projectId: string;
|
|
37
|
+
}): Promise<void>;
|
|
38
|
+
export declare function uninstallApp(props: {
|
|
39
|
+
projectId: string;
|
|
40
|
+
}): Promise<void>;
|
|
41
|
+
//# sourceMappingURL=application-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-control.d.ts","sourceRoot":"","sources":["../../src/application-control/application-control.ts"],"names":[],"mappings":";AAkBA,oBAAY,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAc9D;AAUD,wBAAsB,WAAW,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBAW7D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB;AAED,oBAAY,YAAY,GAAG,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC;AAC3D,oBAAY,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAAC;AAClE,oBAAY,SAAS,GAAG;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC;AAE9E,wBAAsB,YAAY,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CA8CnF;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAyBjC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB9E"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uninstallApp = exports.stopApp = exports.startApp = exports.getAppLogs = exports.getAppStatus = exports.installApp = exports.rollbackApp = exports.getInstalledApps = void 0;
|
|
4
|
+
const docker_compose_1 = require("docker-compose");
|
|
5
|
+
const rimraf = require("rimraf");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const docker_cmd_1 = require("../docker/docker-cmd");
|
|
8
|
+
const js_spawner_1 = require("../util/spawner/js-spawner");
|
|
9
|
+
const copy_dir_1 = require("../util/copy-dir");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
const BACKUP_EXT = '.bak';
|
|
12
|
+
async function getInstalledApps() {
|
|
13
|
+
const projectIds = fs.readdirSync(utils_1.APP_ROOT).filter(file => {
|
|
14
|
+
const isDir = fs.statSync(`${utils_1.APP_ROOT}/${file}`).isDirectory();
|
|
15
|
+
const isBak = `${utils_1.APP_ROOT}/${file}`.includes(BACKUP_EXT);
|
|
16
|
+
return isDir && !isBak;
|
|
17
|
+
});
|
|
18
|
+
const appDetails = [];
|
|
19
|
+
for (const projectId of projectIds) {
|
|
20
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
21
|
+
const version = await (0, utils_1.getAppVersion)({ appDir });
|
|
22
|
+
appDetails.push({ projectId, version });
|
|
23
|
+
}
|
|
24
|
+
return appDetails;
|
|
25
|
+
}
|
|
26
|
+
exports.getInstalledApps = getInstalledApps;
|
|
27
|
+
async function createAppBackup(props) {
|
|
28
|
+
const { projectId } = props;
|
|
29
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
30
|
+
const backupAppDir = `${appDir}${BACKUP_EXT}`;
|
|
31
|
+
await (0, copy_dir_1.copyDir)({ srcPath: appDir, destPath: backupAppDir });
|
|
32
|
+
console.log(`Backed up app ${projectId} to ${backupAppDir}`);
|
|
33
|
+
}
|
|
34
|
+
async function rollbackApp(props) {
|
|
35
|
+
const { projectId } = props;
|
|
36
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
37
|
+
const backupAppDir = `${appDir}${BACKUP_EXT}`;
|
|
38
|
+
if (!fs.existsSync(backupAppDir)) {
|
|
39
|
+
throw new Error(`Backup doesn't exist for ${projectId}`);
|
|
40
|
+
}
|
|
41
|
+
rimraf.sync(appDir);
|
|
42
|
+
await (0, copy_dir_1.copyDir)({ srcPath: `${appDir}${BACKUP_EXT}`, destPath: appDir });
|
|
43
|
+
await (0, utils_1.buildApp)({ appDir });
|
|
44
|
+
console.log(`Rolled back app ${projectId} to previous version`);
|
|
45
|
+
}
|
|
46
|
+
exports.rollbackApp = rollbackApp;
|
|
47
|
+
async function installApp(props) {
|
|
48
|
+
const { projectId, appPkg, version } = props;
|
|
49
|
+
console.log(`Installing ${projectId}`);
|
|
50
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
51
|
+
const spawner = (0, js_spawner_1.JsSpawner)();
|
|
52
|
+
// TODO Check valid projectId
|
|
53
|
+
// Check if app is installed
|
|
54
|
+
if (await (0, utils_1.isAppInstalled)({ appDir })) {
|
|
55
|
+
console.log('Application is already installed, updating');
|
|
56
|
+
await createAppBackup({ projectId });
|
|
57
|
+
await spawner.rimraf(appDir);
|
|
58
|
+
}
|
|
59
|
+
// Create app directory
|
|
60
|
+
await spawner.mkdirp(appDir);
|
|
61
|
+
// Unpack app package and move to install dir
|
|
62
|
+
await spawner.untar(appPkg, appDir);
|
|
63
|
+
console.log(`Unpacked application to ${appDir}`);
|
|
64
|
+
await (0, utils_1.setAppVersion)({ appDir, version });
|
|
65
|
+
await (0, utils_1.buildApp)({ appDir });
|
|
66
|
+
console.log(`Installed ${projectId} to ${appDir}`);
|
|
67
|
+
}
|
|
68
|
+
exports.installApp = installApp;
|
|
69
|
+
async function getAppStatus(props) {
|
|
70
|
+
const { projectId } = props;
|
|
71
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
72
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
73
|
+
throw new Error('Application is not installed');
|
|
74
|
+
}
|
|
75
|
+
// Check if app is running
|
|
76
|
+
const output = await docker_compose_1.default.ps({ cwd: appDir });
|
|
77
|
+
if (output.exitCode !== 0) {
|
|
78
|
+
throw new Error(`Failed to get application status! stdout=${output.out} stderr=${output.err}`);
|
|
79
|
+
}
|
|
80
|
+
const appDetails = { projectId, version: await (0, utils_1.getAppVersion)({ appDir }) };
|
|
81
|
+
const services = [];
|
|
82
|
+
if (output.data.services.length === 0) {
|
|
83
|
+
// If the app has never been started (or has an empty docker-compose.yaml)
|
|
84
|
+
// the list will be empty.
|
|
85
|
+
services.push({ name: '', state: 'Stopped' });
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
for (const service of output.data.services) {
|
|
89
|
+
// Container name has the format:
|
|
90
|
+
// <projectId>_name_<number>
|
|
91
|
+
const matchProjectId = new RegExp(`^${projectId}`);
|
|
92
|
+
const name = service.name
|
|
93
|
+
.replace(matchProjectId, '')
|
|
94
|
+
.replace(/\d+$/, '')
|
|
95
|
+
.replace(/_/g, '');
|
|
96
|
+
let state;
|
|
97
|
+
if (service.state.includes('Up')) {
|
|
98
|
+
state = 'Up';
|
|
99
|
+
}
|
|
100
|
+
else if (service.state.includes('Stopped') || service.state.includes('Exit')) {
|
|
101
|
+
state = 'Stopped';
|
|
102
|
+
}
|
|
103
|
+
else if (service.state.includes('Restarting')) {
|
|
104
|
+
state = 'Restarting';
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
throw new Error(`Unknown state for service! (${service.state})`);
|
|
108
|
+
}
|
|
109
|
+
services.push({ name, state });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return { appDetails, services };
|
|
113
|
+
}
|
|
114
|
+
exports.getAppStatus = getAppStatus;
|
|
115
|
+
async function getAppLogs(props) {
|
|
116
|
+
const { projectId, services } = props;
|
|
117
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
118
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
119
|
+
throw new Error('Application is not installed');
|
|
120
|
+
}
|
|
121
|
+
const serviceList = services
|
|
122
|
+
? services
|
|
123
|
+
: await (async function () {
|
|
124
|
+
const appStatus = await getAppStatus({ projectId });
|
|
125
|
+
const services = [];
|
|
126
|
+
for (const service of appStatus.services) {
|
|
127
|
+
services.push(service.name);
|
|
128
|
+
}
|
|
129
|
+
return services;
|
|
130
|
+
})();
|
|
131
|
+
// Use direct command with spawner in order to get a readable stream
|
|
132
|
+
return await (0, js_spawner_1.JsSpawner)().runStreaming({
|
|
133
|
+
exe: 'docker-compose',
|
|
134
|
+
args: ['logs', '-f', ...serviceList],
|
|
135
|
+
cwd: appDir,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
exports.getAppLogs = getAppLogs;
|
|
139
|
+
async function startApp(props) {
|
|
140
|
+
const { projectId, dockerLoginToken } = props;
|
|
141
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
142
|
+
// Check if app is installed
|
|
143
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
144
|
+
throw new Error('Application is not installed');
|
|
145
|
+
}
|
|
146
|
+
if (dockerLoginToken !== undefined) {
|
|
147
|
+
const result = await (0, docker_cmd_1.runDockerLogin)({ token: dockerLoginToken });
|
|
148
|
+
console.log(result);
|
|
149
|
+
}
|
|
150
|
+
// TODO: Check if app is running
|
|
151
|
+
// Start app
|
|
152
|
+
const upOut = await docker_compose_1.default.upAll({ cwd: appDir });
|
|
153
|
+
console.log(upOut);
|
|
154
|
+
if (upOut.exitCode !== 0) {
|
|
155
|
+
throw new Error(`Failed to start application! stdout=${upOut.out} stderr=${upOut.err}`);
|
|
156
|
+
}
|
|
157
|
+
console.log('Started', projectId);
|
|
158
|
+
}
|
|
159
|
+
exports.startApp = startApp;
|
|
160
|
+
async function stopApp(props) {
|
|
161
|
+
const { projectId } = props;
|
|
162
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
163
|
+
// Check if app is installed
|
|
164
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
165
|
+
console.log('Application is not installed');
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
// TODO: Check if app is running
|
|
169
|
+
// Stop app
|
|
170
|
+
const output = await docker_compose_1.default.down({ cwd: appDir });
|
|
171
|
+
console.log(output);
|
|
172
|
+
if (output.exitCode !== 0) {
|
|
173
|
+
throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
|
|
174
|
+
}
|
|
175
|
+
console.log('Stopped', projectId);
|
|
176
|
+
}
|
|
177
|
+
exports.stopApp = stopApp;
|
|
178
|
+
async function uninstallApp(props) {
|
|
179
|
+
const { projectId } = props;
|
|
180
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
181
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
182
|
+
console.log(`Application ${projectId} not installed`);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
await stopApp({ projectId });
|
|
187
|
+
}
|
|
188
|
+
catch (_a) {
|
|
189
|
+
console.log('Failed to stop app, may be left running...');
|
|
190
|
+
}
|
|
191
|
+
// Delete application directory and backup
|
|
192
|
+
rimraf.sync(appDir);
|
|
193
|
+
rimraf.sync(`${appDir}${BACKUP_EXT}`);
|
|
194
|
+
console.log('Uninstalled', projectId);
|
|
195
|
+
}
|
|
196
|
+
exports.uninstallApp = uninstallApp;
|
|
197
|
+
//# sourceMappingURL=application-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application-control.js","sourceRoot":"","sources":["../../src/application-control/application-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function addModel(props: {
|
|
2
|
+
projectId: string;
|
|
3
|
+
modelId: string;
|
|
4
|
+
}): Promise<void>;
|
|
5
|
+
export declare function removeModel(props: {
|
|
6
|
+
projectId: string;
|
|
7
|
+
modelId: string;
|
|
8
|
+
}): Promise<void>;
|
|
9
|
+
export declare function updateModels(props: {
|
|
10
|
+
projectId: string;
|
|
11
|
+
}): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=models.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":"AAGA,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,iBAW3E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,iBAU9E;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,iBAW9D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateModels = exports.removeModel = exports.addModel = void 0;
|
|
4
|
+
const run_cli_cmd_1 = require("../util/run-cli-cmd");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
async function addModel(props) {
|
|
7
|
+
const { projectId, modelId } = props;
|
|
8
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
9
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
10
|
+
throw new Error('Application is not installed');
|
|
11
|
+
}
|
|
12
|
+
await (0, run_cli_cmd_1.runCliCmd)({
|
|
13
|
+
cmd: ['app', 'models', 'add', modelId],
|
|
14
|
+
cwd: appDir,
|
|
15
|
+
});
|
|
16
|
+
await (0, utils_1.buildApp)({ appDir });
|
|
17
|
+
}
|
|
18
|
+
exports.addModel = addModel;
|
|
19
|
+
async function removeModel(props) {
|
|
20
|
+
const { projectId, modelId } = props;
|
|
21
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
22
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
23
|
+
throw new Error('Application is not installed');
|
|
24
|
+
}
|
|
25
|
+
await (0, run_cli_cmd_1.runCliCmd)({
|
|
26
|
+
cmd: ['app', 'models', 'remove', modelId],
|
|
27
|
+
cwd: appDir,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
exports.removeModel = removeModel;
|
|
31
|
+
async function updateModels(props) {
|
|
32
|
+
const { projectId } = props;
|
|
33
|
+
const appDir = (0, utils_1.getAppDir)(projectId);
|
|
34
|
+
if (!(await (0, utils_1.isAppInstalled)({ appDir }))) {
|
|
35
|
+
throw new Error('Application is not installed');
|
|
36
|
+
}
|
|
37
|
+
await (0, run_cli_cmd_1.runCliCmd)({
|
|
38
|
+
cmd: ['app', 'models', 'update'],
|
|
39
|
+
cwd: appDir,
|
|
40
|
+
});
|
|
41
|
+
await (0, utils_1.buildApp)({ appDir });
|
|
42
|
+
}
|
|
43
|
+
exports.updateModels = updateModels;
|
|
44
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/application-control/models.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAChD,mCAA8D;AAEvD,KAAK,UAAU,QAAQ,CAAC,KAA6C;IAC1E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,IAAA,sBAAc,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,IAAA,uBAAS,EAAC;QACd,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;QACtC,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IACH,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAXD,4BAWC;AAEM,KAAK,UAAU,WAAW,CAAC,KAA6C;IAC7E,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,IAAA,sBAAc,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,IAAA,uBAAS,EAAC;QACd,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;QACzC,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;AACL,CAAC;AAVD,kCAUC;AAEM,KAAK,UAAU,YAAY,CAAC,KAA4B;IAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,IAAA,sBAAc,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,MAAM,IAAA,uBAAS,EAAC;QACd,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAChC,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IACH,MAAM,IAAA,gBAAQ,EAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAXD,oCAWC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const APP_ROOT: string;
|
|
2
|
+
export declare function getAppDir(projectId: string): string;
|
|
3
|
+
export declare function isAppInstalled(props: {
|
|
4
|
+
appDir: string;
|
|
5
|
+
}): Promise<boolean>;
|
|
6
|
+
export declare function setAppVersion(props: {
|
|
7
|
+
appDir: string;
|
|
8
|
+
version: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
export declare function getAppVersion(props: {
|
|
11
|
+
appDir: string;
|
|
12
|
+
}): Promise<any>;
|
|
13
|
+
export declare function buildApp(props: {
|
|
14
|
+
appDir: string;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,QAAQ,QAA8C,CAAC;AAIpE,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAOhF;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,iBAM7E;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,gBAK5D;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,iBAuBvD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildApp = exports.getAppVersion = exports.setAppVersion = exports.isAppInstalled = exports.getAppDir = exports.APP_ROOT = void 0;
|
|
4
|
+
const docker_compose_1 = require("docker-compose");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const fs = require("fs");
|
|
7
|
+
const js_spawner_1 = require("../util/spawner/js-spawner");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
const run_cli_cmd_1 = require("../util/run-cli-cmd");
|
|
10
|
+
exports.APP_ROOT = path.join(constants_1.DOT_ALWAYSAI_DIR, 'applications');
|
|
11
|
+
const RELEASE_FILENAME = 'alwaysai.release.json';
|
|
12
|
+
const DOCKER_COMPOSE_FILENAME = 'docker-compose.yaml';
|
|
13
|
+
function getAppDir(projectId) {
|
|
14
|
+
return path.join(exports.APP_ROOT, projectId);
|
|
15
|
+
}
|
|
16
|
+
exports.getAppDir = getAppDir;
|
|
17
|
+
async function isAppInstalled(props) {
|
|
18
|
+
const { appDir } = props;
|
|
19
|
+
// TODO: Could do more sophisticated check
|
|
20
|
+
if (fs.existsSync(appDir)) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
exports.isAppInstalled = isAppInstalled;
|
|
26
|
+
async function setAppVersion(props) {
|
|
27
|
+
const { appDir, version } = props;
|
|
28
|
+
// TODO: Switch to node-config
|
|
29
|
+
const versionPath = path.join(appDir, RELEASE_FILENAME);
|
|
30
|
+
const versionData = { version };
|
|
31
|
+
await (0, js_spawner_1.JsSpawner)().writeFile(versionPath, JSON.stringify(versionData, null, 2));
|
|
32
|
+
}
|
|
33
|
+
exports.setAppVersion = setAppVersion;
|
|
34
|
+
async function getAppVersion(props) {
|
|
35
|
+
const { appDir } = props;
|
|
36
|
+
const versionPath = path.join(appDir, RELEASE_FILENAME);
|
|
37
|
+
const releaseData = JSON.parse(await (0, js_spawner_1.JsSpawner)().readFile(versionPath));
|
|
38
|
+
return releaseData.version;
|
|
39
|
+
}
|
|
40
|
+
exports.getAppVersion = getAppVersion;
|
|
41
|
+
async function buildApp(props) {
|
|
42
|
+
const { appDir } = props;
|
|
43
|
+
await (0, run_cli_cmd_1.runCliCmd)({
|
|
44
|
+
cmd: ['app', 'configure', '--yes', '--protocol', 'docker:'],
|
|
45
|
+
cwd: appDir,
|
|
46
|
+
});
|
|
47
|
+
await (0, run_cli_cmd_1.runCliCmd)({ cmd: ['app', 'install', '--yes', '--clean', '--pull'], cwd: appDir });
|
|
48
|
+
// Build standalone image and docker-compose
|
|
49
|
+
if (!fs.existsSync(path.join(appDir, DOCKER_COMPOSE_FILENAME))) {
|
|
50
|
+
await (0, run_cli_cmd_1.runCliCmd)({
|
|
51
|
+
cmd: ['app', 'deploy', '--yes', '--generateDockerCompose'],
|
|
52
|
+
cwd: appDir,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
const buildOut = await docker_compose_1.default.buildAll({ cwd: appDir });
|
|
56
|
+
console.log(buildOut);
|
|
57
|
+
if (buildOut.exitCode !== 0) {
|
|
58
|
+
throw new Error(`Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.buildApp = buildApp;
|
|
62
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/application-control/utils.ts"],"names":[],"mappings":";;;AAAA,mDAAqC;AACrC,6BAA6B;AAC7B,yBAAyB;AAEzB,2DAAuD;AACvD,4CAAgD;AAChD,qDAAgD;AAEnC,QAAA,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,4BAAgB,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAEtD,SAAgB,SAAS,CAAC,SAAiB;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAQ,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,cAAc,CAAC,KAAyB;IAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,0CAA0C;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,wCAOC;AAEM,KAAK,UAAU,aAAa,CAAC,KAA0C;IAC5E,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAClC,8BAA8B;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,CAAC;IAChC,MAAM,IAAA,sBAAS,GAAE,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAND,sCAMC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAyB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,sBAAS,GAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,OAAO,WAAW,CAAC,OAAO,CAAC;AAC7B,CAAC;AALD,sCAKC;AAEM,KAAK,UAAU,QAAQ,CAAC,KAAyB;IACtD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,MAAM,IAAA,uBAAS,EAAC;QACd,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC;QAC3D,GAAG,EAAE,MAAM;KACZ,CAAC,CAAC;IACH,MAAM,IAAA,uBAAS,EAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAExF,4CAA4C;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,EAAE;QAC9D,MAAM,IAAA,uBAAS,EAAC;YACd,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,yBAAyB,CAAC;YAC1D,GAAG,EAAE,MAAM;SACZ,CAAC,CAAC;KACJ;IAED,MAAM,QAAQ,GAAG,MAAM,wBAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtB,IAAI,QAAQ,CAAC,QAAQ,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,GAAG,WAAW,QAAQ,CAAC,GAAG,EAAE,CAC7E,CAAC;KACH;AACH,CAAC;AAvBD,4BAuBC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const ALWAYSAI_CLI_EXECUTABLE_NAME = "aai-agent";
|
|
2
|
+
export declare const DOT_ALWAYSAI_DIR: string;
|
|
3
|
+
export declare const AAI_DIR: any;
|
|
4
|
+
export declare const DEVICE_TOKEN_FILE_NAME = "alwaysai.credentials.json";
|
|
5
|
+
export declare const DEVICE_CONFIG_FILE_NAME = "alwaysai.config.json";
|
|
6
|
+
export declare const DEVICE_TOKEN_DIR_LINUX: string;
|
|
7
|
+
export declare const DEVICE_CERT_AND_KEY_DIR_LINUX: string;
|
|
8
|
+
export declare const DEVICE_CERTIFICATE_FILE_NAME = "alwaysai.certificate.pem.crt";
|
|
9
|
+
export declare const DEVICE_PRIVATE_KEY_FILE_NAME = "alwaysai.private.pem.key";
|
|
10
|
+
export declare const DEVICE_PUBLIC_KEY_FILE_NAME = "alwaysai.public.pem.key";
|
|
11
|
+
export declare const DEVICE_ROOT_CERT_FILE_NAME = "alwaysai.root.pem";
|
|
12
|
+
export declare const SUPPORTED_JETPACK_VERSION = 4.4;
|
|
13
|
+
export declare const JETPACK_IMAGE_LINK = "https://developer.nvidia.com/jetson-nano-sd-card-image-44";
|
|
14
|
+
export declare const PLEASE_REPORT_THIS_ERROR_MESSAGE = "Please report this error message to support@alwaysai.co";
|
|
15
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,cAAc,CAAC;AACxD,eAAO,MAAM,gBAAgB,QAA+B,CAAC;AAC7D,eAAO,MAAM,OAAO,KAAuC,CAAC;AAE5D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAE9D,eAAO,MAAM,sBAAsB,QAAyC,CAAC;AAC7E,eAAO,MAAM,6BAA6B,QAGzC,CAAC;AAEF,eAAO,MAAM,4BAA4B,iCAAiC,CAAC;AAC3E,eAAO,MAAM,4BAA4B,6BAA6B,CAAC;AACvE,eAAO,MAAM,2BAA2B,4BAA4B,CAAC;AACrE,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAE9D,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAC7C,eAAO,MAAM,kBAAkB,8DAC8B,CAAC;AAE9D,eAAO,MAAM,gCAAgC,4DACc,CAAC"}
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PLEASE_REPORT_THIS_ERROR_MESSAGE = exports.JETPACK_IMAGE_LINK = exports.SUPPORTED_JETPACK_VERSION = exports.DEVICE_ROOT_CERT_FILE_NAME = exports.DEVICE_PUBLIC_KEY_FILE_NAME = exports.DEVICE_PRIVATE_KEY_FILE_NAME = exports.DEVICE_CERTIFICATE_FILE_NAME = exports.DEVICE_CERT_AND_KEY_DIR_LINUX = exports.DEVICE_TOKEN_DIR_LINUX = exports.DEVICE_CONFIG_FILE_NAME = exports.DEVICE_TOKEN_FILE_NAME = exports.AAI_DIR = exports.DOT_ALWAYSAI_DIR = exports.ALWAYSAI_CLI_EXECUTABLE_NAME = void 0;
|
|
4
|
+
const path_1 = require("path");
|
|
5
|
+
const os_1 = require("os");
|
|
6
|
+
const os = require('os');
|
|
7
|
+
const path = require('path');
|
|
8
|
+
exports.ALWAYSAI_CLI_EXECUTABLE_NAME = 'aai-agent';
|
|
9
|
+
exports.DOT_ALWAYSAI_DIR = (0, path_1.join)((0, os_1.homedir)(), '.alwaysai');
|
|
10
|
+
exports.AAI_DIR = path.join(os.homedir(), '.alwaysai');
|
|
11
|
+
exports.DEVICE_TOKEN_FILE_NAME = 'alwaysai.credentials.json';
|
|
12
|
+
exports.DEVICE_CONFIG_FILE_NAME = 'alwaysai.config.json';
|
|
13
|
+
exports.DEVICE_TOKEN_DIR_LINUX = path_1.posix.join('~', '.config', 'alwaysai');
|
|
14
|
+
exports.DEVICE_CERT_AND_KEY_DIR_LINUX = path_1.posix.join(exports.DEVICE_TOKEN_DIR_LINUX, 'certificates');
|
|
15
|
+
exports.DEVICE_CERTIFICATE_FILE_NAME = 'alwaysai.certificate.pem.crt';
|
|
16
|
+
exports.DEVICE_PRIVATE_KEY_FILE_NAME = 'alwaysai.private.pem.key';
|
|
17
|
+
exports.DEVICE_PUBLIC_KEY_FILE_NAME = 'alwaysai.public.pem.key';
|
|
18
|
+
exports.DEVICE_ROOT_CERT_FILE_NAME = 'alwaysai.root.pem';
|
|
19
|
+
exports.SUPPORTED_JETPACK_VERSION = 4.4;
|
|
20
|
+
exports.JETPACK_IMAGE_LINK = 'https://developer.nvidia.com/jetson-nano-sd-card-image-44';
|
|
21
|
+
exports.PLEASE_REPORT_THIS_ERROR_MESSAGE = 'Please report this error message to support@alwaysai.co';
|
|
22
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,+BAA4C;AAC5C,2BAA6B;AAC7B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEhB,QAAA,4BAA4B,GAAG,WAAW,CAAC;AAC3C,QAAA,gBAAgB,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,WAAW,CAAC,CAAC;AAChD,QAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAE/C,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,uBAAuB,GAAG,sBAAsB,CAAC;AAEjD,QAAA,sBAAsB,GAAG,YAAK,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChE,QAAA,6BAA6B,GAAG,YAAK,CAAC,IAAI,CACrD,8BAAsB,EACtB,cAAc,CACf,CAAC;AAEW,QAAA,4BAA4B,GAAG,8BAA8B,CAAC;AAC9D,QAAA,4BAA4B,GAAG,0BAA0B,CAAC;AAC1D,QAAA,2BAA2B,GAAG,yBAAyB,CAAC;AACxD,QAAA,0BAA0B,GAAG,mBAAmB,CAAC;AAEjD,QAAA,yBAAyB,GAAG,GAAG,CAAC;AAChC,QAAA,kBAAkB,GAC7B,2DAA2D,CAAC;AAEjD,QAAA,gCAAgC,GAC3C,yDAAyD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-control.d.ts","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlD;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAGnD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAGlD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getMemUtil = exports.getDiskUtil = exports.getCpuUtil = void 0;
|
|
4
|
+
const osu = require('node-os-utils');
|
|
5
|
+
async function getCpuUtil() {
|
|
6
|
+
const cpuUsage = await osu.cpu.usage();
|
|
7
|
+
return cpuUsage;
|
|
8
|
+
}
|
|
9
|
+
exports.getCpuUtil = getCpuUtil;
|
|
10
|
+
async function getDiskUtil() {
|
|
11
|
+
const driveInfo = await osu.drive.info();
|
|
12
|
+
return parseFloat(driveInfo.usedPercentage);
|
|
13
|
+
}
|
|
14
|
+
exports.getDiskUtil = getDiskUtil;
|
|
15
|
+
async function getMemUtil() {
|
|
16
|
+
const memInfo = await osu.mem.info();
|
|
17
|
+
return 100.0 - memInfo.freeMemPercentage;
|
|
18
|
+
}
|
|
19
|
+
exports.getMemUtil = getMemUtil;
|
|
20
|
+
//# sourceMappingURL=device-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-control.js","sourceRoot":"","sources":["../../src/device-control/device-control.ts"],"names":[],"mappings":";;;AAAA,MAAM,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE9B,KAAK,UAAU,UAAU;IAC9B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACvC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAHD,gCAGC;AAEM,KAAK,UAAU,WAAW;IAC/B,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAHD,kCAGC;AAEM,KAAK,UAAU,UAAU;IAC9B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC;AAC3C,CAAC;AAHD,gCAGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-cmd.d.ts","sourceRoot":"","sources":["../../src/docker/docker-cmd.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,mBAS5D"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runDockerLogin = void 0;
|
|
4
|
+
const js_spawner_1 = require("../util/spawner/js-spawner");
|
|
5
|
+
async function runDockerLogin(props) {
|
|
6
|
+
const { token } = props;
|
|
7
|
+
const spawner = (0, js_spawner_1.JsSpawner)();
|
|
8
|
+
const server = '994534263224.dkr.ecr.us-west-2.amazonaws.com';
|
|
9
|
+
const output = await spawner.run({
|
|
10
|
+
exe: 'docker',
|
|
11
|
+
args: ['login', '--username', 'AWS', '--password', token, server],
|
|
12
|
+
});
|
|
13
|
+
return output;
|
|
14
|
+
}
|
|
15
|
+
exports.runDockerLogin = runDockerLogin;
|
|
16
|
+
//# sourceMappingURL=docker-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-cmd.js","sourceRoot":"","sources":["../../src/docker/docker-cmd.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEhD,KAAK,UAAU,cAAc,CAAC,KAAwB;IAC3D,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,8CAA8C,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC;KAClE,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,wCASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-compose-cmd.d.ts","sourceRoot":"","sources":["../../src/docker/docker-compose-cmd.ts"],"names":[],"mappings":"AAEA,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,mBAS/E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runDockerComposeCmd = void 0;
|
|
4
|
+
const js_spawner_1 = require("../util/spawner/js-spawner");
|
|
5
|
+
async function runDockerComposeCmd(props) {
|
|
6
|
+
const { args, dir } = props;
|
|
7
|
+
const spawner = (0, js_spawner_1.JsSpawner)();
|
|
8
|
+
const output = await spawner.run({
|
|
9
|
+
exe: 'docker-compose',
|
|
10
|
+
args,
|
|
11
|
+
cwd: dir,
|
|
12
|
+
});
|
|
13
|
+
return output;
|
|
14
|
+
}
|
|
15
|
+
exports.runDockerComposeCmd = runDockerComposeCmd;
|
|
16
|
+
//# sourceMappingURL=docker-compose-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-compose-cmd.js","sourceRoot":"","sources":["../../src/docker/docker-compose-cmd.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEhD,KAAK,UAAU,mBAAmB,CAAC,KAAsC;IAC9E,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAA,sBAAS,GAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC/B,GAAG,EAAE,gBAAgB;QACrB,IAAI;QACJ,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AATD,kDASC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,oBAAoB,iBAAoD,CAAC;AACtF,eAAO,MAAM,oBAAoB,SAAiD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ALWAYSAI_SHOW_HIDDEN = exports.ALWAYSAI_OS_PLATFORM = void 0;
|
|
4
|
+
const os_1 = require("os");
|
|
5
|
+
exports.ALWAYSAI_OS_PLATFORM = parseOsPlatform(process.env.ALWAYSAI_OS_PLATFORM);
|
|
6
|
+
exports.ALWAYSAI_SHOW_HIDDEN = parseBoolean(process.env.ALWAYSAI_SHOW_HIDDEN);
|
|
7
|
+
function parseOsPlatform(str) {
|
|
8
|
+
switch (str) {
|
|
9
|
+
case 'win32':
|
|
10
|
+
case 'darwin':
|
|
11
|
+
case 'linux': {
|
|
12
|
+
return str;
|
|
13
|
+
}
|
|
14
|
+
default:
|
|
15
|
+
return (0, os_1.platform)();
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function parseBoolean(str) {
|
|
19
|
+
return str === '1';
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":";;;AAAA,2BAA8B;AAEjB,QAAA,oBAAoB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AACzE,QAAA,oBAAoB,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEnF,SAAS,eAAe,CAAC,GAAuB;IAC9C,QAAQ,GAAG,EAAE;QACX,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC,CAAC;YACZ,OAAO,GAAG,CAAC;SACZ;QACD;YACE,OAAO,IAAA,aAAQ,GAAE,CAAC;KACrB;AACH,CAAC;AAED,SAAS,YAAY,CAAC,GAAuB;IAC3C,OAAO,GAAG,KAAK,GAAG,CAAC;AACrB,CAAC"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
// This file is the entry point for when this package is run as a CLI. Though
|
|
4
|
+
// this file is not executable, the above "shebang" line is necessary as an
|
|
5
|
+
// indicator to npm that this file is a Node.js script, not a shell script e.g.
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
8
|
+
const root_1 = require("./root");
|
|
9
|
+
const web_interface_1 = require("./web/web-interface");
|
|
10
|
+
if (module === require.main) {
|
|
11
|
+
console.log('Starting alwaysAI Device Agent');
|
|
12
|
+
if (process.env.ALWAYSAI_DEVICE_AGENT_MODE === 'cli') {
|
|
13
|
+
(0, alwayscli_1.runCliAndExit)(root_1.root, {});
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
(0, web_interface_1.runWebInterface)();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAEA,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;;AAE/E,mDAAoD;AACpD,iCAA8B;AAC9B,uDAAsD;AAEtD,IAAI,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,KAAK,EAAE;QACpD,IAAA,yBAAa,EAAC,WAAI,EAAE,EAAE,CAAC,CAAC;KACzB;SAAM;QACL,IAAA,+BAAe,GAAE,CAAC;KACnB;CACF"}
|
package/lib/root.d.ts
ADDED