@alwaysai/device-agent 0.0.3 → 0.0.5
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/backup.d.ts +8 -0
- package/lib/application-control/backup.d.ts.map +1 -0
- package/lib/application-control/backup.js +34 -0
- package/lib/application-control/backup.js.map +1 -0
- package/lib/application-control/environment-variables.d.ts +9 -0
- package/lib/application-control/environment-variables.d.ts.map +1 -0
- package/lib/application-control/environment-variables.js +82 -0
- package/lib/application-control/environment-variables.js.map +1 -0
- package/lib/application-control/index.d.ts +9 -0
- package/lib/application-control/index.d.ts.map +1 -0
- package/lib/application-control/index.js +27 -0
- package/lib/application-control/index.js.map +1 -0
- package/lib/application-control/install.d.ts +16 -0
- package/lib/application-control/install.d.ts.map +1 -0
- package/lib/application-control/install.js +117 -0
- package/lib/application-control/install.js.map +1 -0
- package/lib/application-control/models.d.ts +8 -0
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +44 -11
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts +26 -0
- package/lib/application-control/status.d.ts.map +1 -0
- package/lib/application-control/status.js +138 -0
- package/lib/application-control/status.js.map +1 -0
- package/lib/application-control/types.d.ts +5 -0
- package/lib/application-control/types.d.ts.map +1 -0
- package/lib/{util/spawner → application-control}/types.js +0 -0
- package/lib/{util/spawner → application-control}/types.js.map +1 -1
- package/lib/application-control/utils.d.ts +2 -9
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +14 -29
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +16 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +239 -9
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/docker/docker-cmd.js +2 -2
- package/lib/docker/docker-cmd.js.map +1 -1
- package/lib/docker/docker-compose-cmd.js +2 -2
- package/lib/docker/docker-compose-cmd.js.map +1 -1
- package/lib/environment.d.ts +2 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +3 -1
- package/lib/environment.js.map +1 -1
- package/lib/index.js +10 -8
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +73 -0
- package/lib/infrastructure/agent-config.d.ts.map +1 -0
- package/lib/infrastructure/agent-config.js +186 -0
- package/lib/infrastructure/agent-config.js.map +1 -0
- package/lib/infrastructure/agent-config.test.d.ts +2 -0
- package/lib/infrastructure/agent-config.test.d.ts.map +1 -0
- package/lib/infrastructure/agent-config.test.js +135 -0
- package/lib/infrastructure/agent-config.test.js.map +1 -0
- package/lib/infrastructure/certificates-and-tokens.d.ts +6 -0
- package/lib/infrastructure/certificates-and-tokens.d.ts.map +1 -0
- package/lib/infrastructure/certificates-and-tokens.js +69 -0
- package/lib/infrastructure/certificates-and-tokens.js.map +1 -0
- package/lib/{util → infrastructure}/urls.d.ts +0 -0
- package/lib/infrastructure/urls.d.ts.map +1 -0
- package/lib/{util → infrastructure}/urls.js +3 -3
- package/lib/infrastructure/urls.js.map +1 -0
- package/lib/root.js +3 -3
- package/lib/root.js.map +1 -1
- package/lib/subcommands/app/app.d.ts +31 -14
- package/lib/subcommands/app/app.d.ts.map +1 -1
- package/lib/subcommands/app/app.js +117 -62
- package/lib/subcommands/app/app.js.map +1 -1
- package/lib/subcommands/app/index.d.ts.map +1 -1
- package/lib/subcommands/app/index.js +6 -1
- package/lib/subcommands/app/index.js.map +1 -1
- package/lib/subcommands/device/device.d.ts +6 -0
- package/lib/subcommands/device/device.d.ts.map +1 -0
- package/lib/subcommands/device/device.js +62 -0
- package/lib/subcommands/device/device.js.map +1 -0
- package/lib/subcommands/device/index.d.ts +2 -0
- package/lib/subcommands/device/index.d.ts.map +1 -0
- package/lib/subcommands/device/index.js +11 -0
- package/lib/subcommands/device/index.js.map +1 -0
- package/lib/subcommands/get-model-package.d.ts +5 -0
- package/lib/subcommands/get-model-package.d.ts.map +1 -0
- package/lib/subcommands/get-model-package.js +51 -0
- package/lib/subcommands/get-model-package.js.map +1 -0
- package/lib/subcommands/index.d.ts +8 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/index.js +6 -6
- package/lib/subcommands/index.js.map +1 -1
- package/lib/subcommands/login.d.ts +3 -2
- package/lib/subcommands/login.d.ts.map +1 -1
- package/lib/subcommands/login.js +11 -4
- package/lib/subcommands/login.js.map +1 -1
- package/lib/util/copy-dir.js +3 -3
- package/lib/util/copy-dir.js.map +1 -1
- package/lib/util/directories.d.ts +1 -1
- package/lib/util/directories.d.ts.map +1 -1
- package/lib/util/directories.js +9 -14
- package/lib/util/directories.js.map +1 -1
- package/lib/util/get-device-id.d.ts +2 -0
- package/lib/util/get-device-id.d.ts.map +1 -0
- package/lib/util/get-device-id.js +24 -0
- package/lib/util/get-device-id.js.map +1 -0
- package/package.json +19 -14
- package/readme.md +176 -72
- package/src/application-control/backup.ts +32 -0
- package/src/application-control/environment-variables.ts +81 -0
- package/src/application-control/index.ts +40 -0
- package/src/application-control/install.ts +126 -0
- package/src/application-control/models.ts +51 -11
- package/src/application-control/status.ts +156 -0
- package/src/application-control/types.ts +1 -0
- package/src/application-control/utils.ts +12 -27
- package/src/cloud-connection/device-agent-cloud-connection.ts +280 -13
- package/src/docker/docker-cmd.ts +1 -1
- package/src/docker/docker-compose-cmd.ts +1 -1
- package/src/environment.ts +2 -0
- package/src/index.ts +10 -7
- package/src/infrastructure/agent-config.test.ts +143 -0
- package/src/infrastructure/agent-config.ts +217 -0
- package/src/infrastructure/certificates-and-tokens.ts +71 -0
- package/src/{util → infrastructure}/urls.ts +1 -1
- package/src/root.ts +3 -3
- package/src/subcommands/app/app.ts +135 -62
- package/src/subcommands/app/index.ts +11 -1
- package/src/subcommands/device/device.ts +63 -0
- package/src/subcommands/device/index.ts +8 -0
- package/src/subcommands/get-model-package.ts +60 -0
- package/src/subcommands/index.ts +5 -5
- package/src/subcommands/login.ts +11 -4
- package/src/util/copy-dir.ts +1 -1
- package/src/util/directories.ts +12 -17
- package/src/util/get-device-id.ts +22 -0
- package/lib/application-control/application-control.d.ts +0 -46
- package/lib/application-control/application-control.d.ts.map +0 -1
- package/lib/application-control/application-control.js +0 -234
- package/lib/application-control/application-control.js.map +0 -1
- package/lib/constants.d.ts +0 -17
- package/lib/constants.d.ts.map +0 -1
- package/lib/constants.js +0 -24
- package/lib/constants.js.map +0 -1
- package/lib/subcommands/device-control.d.ts +0 -2
- package/lib/subcommands/device-control.d.ts.map +0 -1
- package/lib/subcommands/device-control.js +0 -19
- package/lib/subcommands/device-control.js.map +0 -1
- package/lib/subcommands/test-app.d.ts +0 -2
- package/lib/subcommands/test-app.d.ts.map +0 -1
- package/lib/subcommands/test-app.js +0 -29
- package/lib/subcommands/test-app.js.map +0 -1
- package/lib/util/spawner/gnu-spawner.d.ts +0 -9
- package/lib/util/spawner/gnu-spawner.d.ts.map +0 -1
- package/lib/util/spawner/gnu-spawner.js +0 -102
- package/lib/util/spawner/gnu-spawner.js.map +0 -1
- package/lib/util/spawner/js-spawner.d.ts +0 -5
- package/lib/util/spawner/js-spawner.d.ts.map +0 -1
- package/lib/util/spawner/js-spawner.js +0 -89
- package/lib/util/spawner/js-spawner.js.map +0 -1
- package/lib/util/spawner/types.d.ts +0 -28
- package/lib/util/spawner/types.d.ts.map +0 -1
- package/lib/util/spawner-base/index.d.ts +0 -17
- package/lib/util/spawner-base/index.d.ts.map +0 -1
- package/lib/util/spawner-base/index.js +0 -30
- package/lib/util/spawner-base/index.js.map +0 -1
- package/lib/util/spawner-base/run-foreground-sync.d.ts +0 -3
- package/lib/util/spawner-base/run-foreground-sync.d.ts.map +0 -1
- package/lib/util/spawner-base/run-foreground-sync.js +0 -18
- package/lib/util/spawner-base/run-foreground-sync.js.map +0 -1
- package/lib/util/spawner-base/run-foreground.d.ts +0 -3
- package/lib/util/spawner-base/run-foreground.d.ts.map +0 -1
- package/lib/util/spawner-base/run-foreground.js +0 -49
- package/lib/util/spawner-base/run-foreground.js.map +0 -1
- package/lib/util/spawner-base/run-streaming.d.ts +0 -4
- package/lib/util/spawner-base/run-streaming.d.ts.map +0 -1
- package/lib/util/spawner-base/run-streaming.js +0 -35
- package/lib/util/spawner-base/run-streaming.js.map +0 -1
- package/lib/util/spawner-base/run.d.ts +0 -4
- package/lib/util/spawner-base/run.d.ts.map +0 -1
- package/lib/util/spawner-base/run.js +0 -56
- package/lib/util/spawner-base/run.js.map +0 -1
- package/lib/util/urls.d.ts.map +0 -1
- package/lib/util/urls.js.map +0 -1
- package/lib/web/index.html +0 -229
- package/lib/web/static/Karla.css +0 -18
- package/lib/web/static/bootstrap-4.3.1.min.css +0 -7
- package/lib/web/static/bootstrap-4.3.1.min.js +0 -7
- package/lib/web/static/favicon.ico +0 -0
- package/lib/web/static/jquery-3.3.1.slim.min.js +0 -2
- package/lib/web/static/popper-1.14.7.min.js +0 -5
- package/lib/web/web-interface.d.ts +0 -2
- package/lib/web/web-interface.d.ts.map +0 -1
- package/lib/web/web-interface.js +0 -74
- package/lib/web/web-interface.js.map +0 -1
- package/src/application-control/application-control.ts +0 -273
- package/src/constants.ts +0 -32
- package/src/subcommands/device-control.ts +0 -16
- package/src/subcommands/test-app.ts +0 -30
- package/src/util/spawner/gnu-spawner.ts +0 -114
- package/src/util/spawner/js-spawner.ts +0 -110
- package/src/util/spawner/types.ts +0 -28
- package/src/util/spawner-base/index.ts +0 -28
- package/src/util/spawner-base/run-foreground-sync.ts +0 -16
- package/src/util/spawner-base/run-foreground.ts +0 -49
- package/src/util/spawner-base/run-streaming.ts +0 -40
- package/src/util/spawner-base/run.ts +0 -60
- package/src/web/index.html +0 -229
- package/src/web/static/Karla.css +0 -18
- package/src/web/static/bootstrap-4.3.1.min.css +0 -7
- package/src/web/static/bootstrap-4.3.1.min.js +0 -7
- package/src/web/static/favicon.ico +0 -0
- package/src/web/static/jquery-3.3.1.slim.min.js +0 -2
- package/src/web/static/popper-1.14.7.min.js +0 -5
- package/src/web/web-interface.ts +0 -89
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getModelPackageCliLeaf = void 0;
|
|
4
|
+
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
5
|
+
const user_1 = require("alwaysai/lib/components/user");
|
|
6
|
+
const model_1 = require("alwaysai/lib/core/model");
|
|
7
|
+
const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
8
|
+
const util_1 = require("alwaysai/lib/util");
|
|
9
|
+
const path_1 = require("path");
|
|
10
|
+
exports.getModelPackageCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
11
|
+
name: 'get-model-package',
|
|
12
|
+
description: 'Download and unpack a model package',
|
|
13
|
+
positionalInput: (0, alwayscli_1.CliStringInput)({
|
|
14
|
+
description: 'For example, "alwaysai/mobilenet_ssd"',
|
|
15
|
+
required: true,
|
|
16
|
+
placeholder: '<id>',
|
|
17
|
+
}),
|
|
18
|
+
namedInputs: {
|
|
19
|
+
version: (0, alwayscli_1.CliNumberInput)({
|
|
20
|
+
description: 'The version number of the model',
|
|
21
|
+
required: false,
|
|
22
|
+
}),
|
|
23
|
+
path: (0, alwayscli_1.CliStringInput)({
|
|
24
|
+
description: 'The output path to write model package to',
|
|
25
|
+
required: false,
|
|
26
|
+
}),
|
|
27
|
+
},
|
|
28
|
+
async action(id, opts) {
|
|
29
|
+
// NOTE: This code closely follows 'get-model-package.ts' in the CLI
|
|
30
|
+
const { publisher, name } = model_1.ModelId.parse(id);
|
|
31
|
+
const path = opts.path ? opts.path : process.cwd();
|
|
32
|
+
// untar will unpack model package contents to <name> so append publisher to path
|
|
33
|
+
const publisherPath = (0, path_1.join)(path, publisher);
|
|
34
|
+
const spawner = (0, util_1.JsSpawner)({ path: publisherPath });
|
|
35
|
+
if (await spawner.exists(name)) {
|
|
36
|
+
console.log(`Found existing version of ${id} at ${(0, path_1.join)(publisherPath, name)}, removing prior to download`);
|
|
37
|
+
spawner.rimraf(name);
|
|
38
|
+
}
|
|
39
|
+
console.log(`Downloading ${id} to ${path}`);
|
|
40
|
+
await (0, user_1.checkUserIsLoggedInComponent)({ yes: true });
|
|
41
|
+
const version = opts.version || (await (0, infrastructure_1.CliRpcClient)().getModelVersion({ id })).version;
|
|
42
|
+
if (!model_1.modelPackageCache.has(id, version)) {
|
|
43
|
+
await (0, model_1.downloadModelPackageToCache)(id, version);
|
|
44
|
+
}
|
|
45
|
+
const modelPackageStream = model_1.modelPackageCache.read(id, version);
|
|
46
|
+
await spawner.mkdirp();
|
|
47
|
+
await spawner.untar(modelPackageStream);
|
|
48
|
+
console.log(`Completed downloading ${id} to ${path}`);
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
//# sourceMappingURL=get-model-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-model-package.js","sourceRoot":"","sources":["../../src/subcommands/get-model-package.ts"],"names":[],"mappings":";;;AAAA,mDAA8E;AAC9E,uDAA4E;AAC5E,mDAIiC;AACjC,gEAA2D;AAC3D,4CAA8C;AAC9C,+BAA4B;AAEf,QAAA,sBAAsB,GAAG,IAAA,mBAAO,EAAC;IAC5C,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,qCAAqC;IAClD,eAAe,EAAE,IAAA,0BAAc,EAAC;QAC9B,WAAW,EAAE,uCAAuC;QACpD,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,MAAM;KACpB,CAAC;IACF,WAAW,EAAE;QACX,OAAO,EAAE,IAAA,0BAAc,EAAC;YACtB,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,IAAI,EAAE,IAAA,0BAAc,EAAC;YACnB,WAAW,EAAE,2CAA2C;YACxD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI;QACnB,oEAAoE;QACpE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,eAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnD,iFAAiF;QACjF,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAEnD,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,CAAC,GAAG,CACT,6BAA6B,EAAE,OAAO,IAAA,WAAI,EACxC,aAAa,EACb,IAAI,CACL,8BAA8B,CAChC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACtB;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QAC5C,MAAM,IAAA,mCAA4B,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAA,6BAAY,GAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,IAAI,CAAC,yBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;YACvC,MAAM,IAAA,mCAA2B,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;SAChD;QACD,MAAM,kBAAkB,GAAG,yBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
export declare const subcommands: (import("@alwaysai/alwayscli/lib/types").CliBranch | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<undefined, false>, {
|
|
1
|
+
export declare const subcommands: (import("@alwaysai/alwayscli/lib/types").CliBranch | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<undefined, false>, {
|
|
2
|
+
email: import("@alwaysai/alwayscli").CliInput<string, true>;
|
|
3
|
+
password: import("@alwaysai/alwayscli").CliInput<string, true>;
|
|
4
|
+
device: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
|
|
5
|
+
}, import("@alwaysai/alwayscli").CliInput<undefined, false>> | import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<string, true>, {
|
|
6
|
+
version: import("@alwaysai/alwayscli").CliInput<number | undefined, boolean>;
|
|
7
|
+
path: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
|
|
8
|
+
}, import("@alwaysai/alwayscli").CliInput<undefined, false>>)[];
|
|
2
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW;;;;;;;+DAKvB,CAAC"}
|
package/lib/subcommands/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.subcommands = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const app_1 = require("./app");
|
|
5
|
+
const device_1 = require("./device");
|
|
6
6
|
const login_1 = require("./login");
|
|
7
|
-
|
|
7
|
+
const get_model_package_1 = require("./get-model-package");
|
|
8
8
|
exports.subcommands = [
|
|
9
9
|
login_1.loginCliLeaf,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
app_1.appCliBranch,
|
|
11
|
+
device_1.deviceCliBranch,
|
|
12
|
+
get_model_package_1.getModelPackageCliLeaf,
|
|
13
13
|
];
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/subcommands/index.ts"],"names":[],"mappings":";;;AAAA,+BAAqC;AACrC,qCAA2C;AAC3C,mCAAuC;AACvC,2DAA6D;AAEhD,QAAA,WAAW,GAAG;IACzB,oBAAY;IACZ,kBAAY;IACZ,wBAAe;IACf,0CAAsB;CACvB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const loginCliLeaf: import("@alwaysai/alwayscli/lib/types").CliLeaf<import("@alwaysai/alwayscli").CliInput<undefined, false>, {
|
|
2
|
-
email: import("@alwaysai/alwayscli").CliInput<string
|
|
3
|
-
password: import("@alwaysai/alwayscli").CliInput<string
|
|
2
|
+
email: import("@alwaysai/alwayscli").CliInput<string, true>;
|
|
3
|
+
password: import("@alwaysai/alwayscli").CliInput<string, true>;
|
|
4
|
+
device: import("@alwaysai/alwayscli").CliInput<string | undefined, false>;
|
|
4
5
|
}, import("@alwaysai/alwayscli").CliInput<undefined, false>>;
|
|
5
6
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;4DA0BvB,CAAC"}
|
package/lib/subcommands/login.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.loginCliLeaf = void 0;
|
|
4
4
|
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
5
|
+
const certificates_and_tokens_1 = require("../infrastructure/certificates-and-tokens");
|
|
5
6
|
const run_cli_cmd_1 = require("../util/run-cli-cmd");
|
|
6
7
|
exports.loginCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
7
8
|
name: 'login',
|
|
@@ -9,19 +10,25 @@ exports.loginCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
9
10
|
namedInputs: {
|
|
10
11
|
email: (0, alwayscli_1.CliStringInput)({
|
|
11
12
|
description: 'alwaysAI email',
|
|
13
|
+
required: true,
|
|
12
14
|
}),
|
|
13
15
|
password: (0, alwayscli_1.CliStringInput)({
|
|
14
16
|
description: 'Account password',
|
|
17
|
+
required: true,
|
|
18
|
+
}),
|
|
19
|
+
device: (0, alwayscli_1.CliStringInput)({
|
|
20
|
+
description: 'The device UUID',
|
|
21
|
+
required: false,
|
|
15
22
|
}),
|
|
16
23
|
},
|
|
17
24
|
async action(_, opts) {
|
|
18
|
-
const { email, password } = opts;
|
|
19
|
-
if (!email || !password) {
|
|
20
|
-
throw new alwayscli_1.CliUsageError('--email and --password are required!');
|
|
21
|
-
}
|
|
25
|
+
const { email, password, device } = opts;
|
|
22
26
|
await (0, run_cli_cmd_1.runCliCmd)({
|
|
23
27
|
cmd: ['user', 'login', '--yes', '--email', email, '--password', password],
|
|
24
28
|
});
|
|
29
|
+
if (device) {
|
|
30
|
+
await (0, certificates_and_tokens_1.writeCertificateAndToken)({ deviceUuid: device });
|
|
31
|
+
}
|
|
25
32
|
},
|
|
26
33
|
});
|
|
27
34
|
//# sourceMappingURL=login.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":";;;AAAA,mDAA6E;AAC7E,qDAAgD;AAEnC,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE;QACX,KAAK,EAAE,IAAA,0BAAc,EAAC;YACpB,WAAW,EAAE,gBAAgB;
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/subcommands/login.ts"],"names":[],"mappings":";;;AAAA,mDAA6E;AAC7E,uFAAqF;AACrF,qDAAgD;AAEnC,QAAA,YAAY,GAAG,IAAA,mBAAO,EAAC;IAClC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE;QACX,KAAK,EAAE,IAAA,0BAAc,EAAC;YACpB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,IAAA,0BAAc,EAAC;YACvB,WAAW,EAAE,kBAAkB;YAC/B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,IAAA,0BAAc,EAAC;YACrB,WAAW,EAAE,iBAAiB;YAC9B,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,IAAA,uBAAS,EAAC;YACd,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC;SAC1E,CAAC,CAAC;QACH,IAAI,MAAM,EAAE;YACV,MAAM,IAAA,kDAAwB,EAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;CACF,CAAC,CAAC"}
|
package/lib/util/copy-dir.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.copyDir = void 0;
|
|
4
|
-
const
|
|
4
|
+
const util_1 = require("alwaysai/lib/util");
|
|
5
5
|
async function copyDir(props) {
|
|
6
6
|
const { srcPath, destPath } = props;
|
|
7
|
-
const src = (0,
|
|
7
|
+
const src = (0, util_1.JsSpawner)({ path: srcPath });
|
|
8
8
|
const allFileNames = await src.readdir();
|
|
9
|
-
const dest = (0,
|
|
9
|
+
const dest = (0, util_1.JsSpawner)({ path: destPath });
|
|
10
10
|
await dest.mkdirp();
|
|
11
11
|
await dest.untar(await src.tar(...allFileNames));
|
|
12
12
|
}
|
package/lib/util/copy-dir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-dir.js","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"copy-dir.js","sourceRoot":"","sources":["../../src/util/copy-dir.ts"],"names":[],"mappings":";;;AAAA,4CAA8C;AAEvC,KAAK,UAAU,OAAO,CAAC,KAA4C;IACxE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACpB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC;AAPD,0BAOC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function getCertAndKeyDir(): string;
|
|
2
1
|
export declare function getPrivateKeyFilePath(): string;
|
|
3
2
|
export declare function getCertificateFilePath(): string;
|
|
4
3
|
export declare function getRootCertificateFilePath(): string;
|
|
4
|
+
export declare function getCredentialsFilePath(): string;
|
|
5
5
|
//# sourceMappingURL=directories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directories.d.ts","sourceRoot":"","sources":["../../src/util/directories.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"directories.d.ts","sourceRoot":"","sources":["../../src/util/directories.ts"],"names":[],"mappings":"AAUA,wBAAgB,qBAAqB,WAEpC;AAED,wBAAgB,sBAAsB,WAErC;AAED,wBAAgB,0BAA0B,WAEzC;AAED,wBAAgB,sBAAsB,WAErC"}
|
package/lib/util/directories.js
CHANGED
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
3
|
+
exports.getCredentialsFilePath = exports.getRootCertificateFilePath = exports.getCertificateFilePath = exports.getPrivateKeyFilePath = void 0;
|
|
4
|
+
const constants_1 = require("alwaysai/lib/constants");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
-
const constants_1 = require("../constants");
|
|
7
|
-
const certAndKeyDir = getCertAndKeyDir();
|
|
8
|
-
function getCertAndKeyDir() {
|
|
9
|
-
if (os.type() === 'Darwin' || os.type() === 'Windows_NT') {
|
|
10
|
-
return constants_1.DEV_HOST_CERT_AND_KEY_DIR;
|
|
11
|
-
}
|
|
12
|
-
return constants_1.DEVICE_CERT_AND_KEY_DIR_LINUX;
|
|
13
|
-
}
|
|
14
|
-
exports.getCertAndKeyDir = getCertAndKeyDir;
|
|
15
6
|
function getPrivateKeyFilePath() {
|
|
16
|
-
return (0, path_1.join)(
|
|
7
|
+
return (0, path_1.join)(constants_1.LOCAL_CERT_AND_KEY_DIR, constants_1.DEVICE_PRIVATE_KEY_FILE_NAME);
|
|
17
8
|
}
|
|
18
9
|
exports.getPrivateKeyFilePath = getPrivateKeyFilePath;
|
|
19
10
|
function getCertificateFilePath() {
|
|
20
|
-
return (0, path_1.join)(
|
|
11
|
+
return (0, path_1.join)(constants_1.LOCAL_CERT_AND_KEY_DIR, constants_1.DEVICE_CERTIFICATE_FILE_NAME);
|
|
21
12
|
}
|
|
22
13
|
exports.getCertificateFilePath = getCertificateFilePath;
|
|
23
14
|
function getRootCertificateFilePath() {
|
|
24
|
-
return (0, path_1.join)(
|
|
15
|
+
return (0, path_1.join)(constants_1.LOCAL_CERT_AND_KEY_DIR, constants_1.DEVICE_ROOT_CERT_FILE_NAME);
|
|
25
16
|
}
|
|
26
17
|
exports.getRootCertificateFilePath = getRootCertificateFilePath;
|
|
18
|
+
function getCredentialsFilePath() {
|
|
19
|
+
return (0, path_1.join)(constants_1.LOCAL_AAI_CFG_DIR, constants_1.DEVICE_TOKEN_FILE_NAME);
|
|
20
|
+
}
|
|
21
|
+
exports.getCredentialsFilePath = getCredentialsFilePath;
|
|
27
22
|
//# sourceMappingURL=directories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directories.js","sourceRoot":"","sources":["../../src/util/directories.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"directories.js","sourceRoot":"","sources":["../../src/util/directories.ts"],"names":[],"mappings":";;;AAAA,sDAOgC;AAChC,+BAA4B;AAE5B,SAAgB,qBAAqB;IACnC,OAAO,IAAA,WAAI,EAAC,kCAAsB,EAAE,wCAA4B,CAAC,CAAC;AACpE,CAAC;AAFD,sDAEC;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAA,WAAI,EAAC,kCAAsB,EAAE,wCAA4B,CAAC,CAAC;AACpE,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B;IACxC,OAAO,IAAA,WAAI,EAAC,kCAAsB,EAAE,sCAA0B,CAAC,CAAC;AAClE,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB;IACpC,OAAO,IAAA,WAAI,EAAC,6BAAiB,EAAE,kCAAsB,CAAC,CAAC;AACzD,CAAC;AAFD,wDAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-device-id.d.ts","sourceRoot":"","sources":["../../src/util/get-device-id.ts"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,WAgB1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDeviceId = void 0;
|
|
4
|
+
const directories_1 = require("../util/directories");
|
|
5
|
+
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
6
|
+
const config_nodejs_1 = require("@alwaysai/config-nodejs");
|
|
7
|
+
const t = require("io-ts");
|
|
8
|
+
function getDeviceId() {
|
|
9
|
+
const path = (0, directories_1.getCredentialsFilePath)();
|
|
10
|
+
const codec = t.type({
|
|
11
|
+
deviceId: t.union([t.string, t.undefined]),
|
|
12
|
+
});
|
|
13
|
+
const credentialsJsonFile = (0, config_nodejs_1.ConfigFile)({
|
|
14
|
+
path,
|
|
15
|
+
codec,
|
|
16
|
+
});
|
|
17
|
+
const config = credentialsJsonFile.readIfExists();
|
|
18
|
+
if (!config || !config.deviceId) {
|
|
19
|
+
throw new alwayscli_1.CliTerseError('Invalid device credentials! Please ensure you are using the device agent on a valid device.');
|
|
20
|
+
}
|
|
21
|
+
return config.deviceId;
|
|
22
|
+
}
|
|
23
|
+
exports.getDeviceId = getDeviceId;
|
|
24
|
+
//# sourceMappingURL=get-device-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-device-id.js","sourceRoot":"","sources":["../../src/util/get-device-id.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAC7D,mDAAoD;AACpD,2DAAqD;AACrD,2BAA2B;AAE3B,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,IAAA,oCAAsB,GAAE,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;KAC3C,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,IAAA,0BAAU,EAAC;QACrC,IAAI;QACJ,KAAK;KACN,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,CAAC;IAClD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC/B,MAAM,IAAI,yBAAa,CACrB,6FAA6F,CAC9F,CAAC;KACH;IACD,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAhBD,kCAgBC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysai/device-agent",
|
|
3
3
|
"description": "The alwaysAI Device Agent",
|
|
4
|
-
"version": "0.0.
|
|
5
|
-
"main": "lib/
|
|
6
|
-
"types": "lib/
|
|
4
|
+
"version": "0.0.5",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public",
|
|
9
|
+
"tag": "next"
|
|
10
|
+
},
|
|
7
11
|
"bin": {
|
|
8
12
|
"aai-agent": "lib/index.js"
|
|
9
13
|
},
|
|
@@ -12,34 +16,35 @@
|
|
|
12
16
|
"node": ">=16.0.0"
|
|
13
17
|
},
|
|
14
18
|
"scripts": {
|
|
15
|
-
"build": "tsc --project tsconfig.build.json
|
|
19
|
+
"build": "tsc --project tsconfig.build.json",
|
|
16
20
|
"clean": "rimraf lib packages",
|
|
17
21
|
"build:clean": "npm run clean && npm run build",
|
|
18
22
|
"build:watch": "tsc --project . --watch",
|
|
19
23
|
"lint": "tslint --project tsconfig.build.json",
|
|
20
24
|
"lint:fix": "npm run lint -- --fix",
|
|
21
|
-
"test": "npm run
|
|
25
|
+
"test": "npm run test:unit",
|
|
22
26
|
"test:unit": "jest --coverage src",
|
|
23
27
|
"test:watch": "npm run test:unit -- --watch",
|
|
24
28
|
"preversion": "npm test && npm run build:clean",
|
|
25
29
|
"postversion": "npm publish"
|
|
26
30
|
},
|
|
27
31
|
"dependencies": {
|
|
28
|
-
"@alwaysai/alwayscli": "0.3.
|
|
29
|
-
"@alwaysai/config-nodejs": "0.0
|
|
32
|
+
"@alwaysai/alwayscli": "0.3.1",
|
|
33
|
+
"@alwaysai/config-nodejs": "0.1.0",
|
|
30
34
|
"@carnesen/coded-error": "0.4.0",
|
|
35
|
+
"@alwaysai/device-agent-schemas": "0.0.2",
|
|
31
36
|
"@types/mkdirp": "1.0.2",
|
|
32
37
|
"@types/pump": "1.1.1",
|
|
33
38
|
"@types/rimraf": "3.0.2",
|
|
34
39
|
"@types/signal-exit": "3.0.1",
|
|
35
40
|
"@types/tar": "6.1.1",
|
|
41
|
+
"ajv": "8.11.0",
|
|
42
|
+
"alwaysai": "1.8.0",
|
|
36
43
|
"aws-iot-device-sdk": "2.2.12",
|
|
37
|
-
"alwaysai": "1.5.1",
|
|
38
44
|
"docker-compose": "0.23.17",
|
|
39
45
|
"express": "4.17.3",
|
|
40
|
-
"fp-ts": "2.11.5",
|
|
41
|
-
"io-ts": "2.2.16",
|
|
42
46
|
"mkdirp": "1.0.4",
|
|
47
|
+
"node-fetch": "2.6.1",
|
|
43
48
|
"node-os-utils": "1.3.6",
|
|
44
49
|
"pump": "3.0.0",
|
|
45
50
|
"rimraf": "3.0.2",
|
|
@@ -48,17 +53,17 @@
|
|
|
48
53
|
"tar": "6.1.11",
|
|
49
54
|
"tree-kill": "1.2.2",
|
|
50
55
|
"winston": "3.3.3",
|
|
51
|
-
"winston-daily-rotate-file": "4.5.5"
|
|
56
|
+
"winston-daily-rotate-file": "4.5.5",
|
|
57
|
+
"yaml": "2.1.1"
|
|
52
58
|
},
|
|
53
59
|
"devDependencies": {
|
|
54
|
-
"@alwaysai/tsconfig": "0.0.
|
|
55
|
-
"@alwaysai/tslint-config": "0.0.
|
|
60
|
+
"@alwaysai/tsconfig": "0.0.1",
|
|
61
|
+
"@alwaysai/tslint-config": "0.0.4",
|
|
56
62
|
"@carnesen/run-and-catch": "0.4.3",
|
|
57
63
|
"@types/jest": "27.0.3",
|
|
58
64
|
"@types/node": "16.11.12",
|
|
59
65
|
"@types/sinon": "10.0.6",
|
|
60
66
|
"aws-sdk": "^2.1046.0",
|
|
61
|
-
"copyfiles": "^2.4.1",
|
|
62
67
|
"cp-cli": "2.0.0",
|
|
63
68
|
"get-stream": "6.0.1",
|
|
64
69
|
"jest": "27.4.3",
|