@alwaysai/device-agent 0.0.9 → 0.0.11-internal
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.map +1 -1
- package/lib/application-control/backup.js +4 -3
- package/lib/application-control/backup.js.map +1 -1
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +6 -5
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +3 -2
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts.map +1 -1
- package/lib/application-control/status.js +6 -5
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +3 -2
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +0 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +20 -21
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/environment.d.ts +1 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +2 -1
- package/lib/environment.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/certificates-and-tokens.d.ts.map +1 -1
- package/lib/infrastructure/certificates-and-tokens.js +3 -2
- package/lib/infrastructure/certificates-and-tokens.js.map +1 -1
- package/lib/subcommands/app/app.d.ts.map +1 -1
- package/lib/subcommands/app/app.js +6 -5
- package/lib/subcommands/app/app.js.map +1 -1
- package/lib/subcommands/device/device.d.ts.map +1 -1
- package/lib/subcommands/device/device.js +3 -2
- package/lib/subcommands/device/device.js.map +1 -1
- package/lib/subcommands/get-model-package.d.ts.map +1 -1
- package/lib/subcommands/get-model-package.js +2 -1
- package/lib/subcommands/get-model-package.js.map +1 -1
- package/lib/util/logger.d.ts +4 -0
- package/lib/util/logger.d.ts.map +1 -0
- package/lib/util/logger.js +25 -0
- package/lib/util/logger.js.map +1 -0
- package/package.json +3 -2
- package/src/application-control/backup.ts +4 -3
- package/src/application-control/install.ts +6 -5
- package/src/application-control/models.ts +4 -3
- package/src/application-control/status.ts +6 -5
- package/src/application-control/utils.ts +3 -2
- package/src/cloud-connection/device-agent-cloud-connection.ts +15 -12
- package/src/environment.ts +1 -0
- package/src/index.ts +2 -1
- package/src/infrastructure/certificates-and-tokens.ts +3 -2
- package/src/subcommands/app/app.ts +6 -5
- package/src/subcommands/device/device.ts +3 -2
- package/src/subcommands/get-model-package.ts +2 -1
- package/src/util/logger.ts +28 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificates-and-tokens.d.ts","sourceRoot":"","sources":["../../src/infrastructure/certificates-and-tokens.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,OAAO,EAAiC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"certificates-and-tokens.d.ts","sourceRoot":"","sources":["../../src/infrastructure/certificates-and-tokens.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,OAAO,EAAiC,MAAM,mBAAmB,CAAC;AAItF,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,mBAQ3D;AAGD,wBAAsB,wBAAwB,CAAC,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,iBA8C3E"}
|
|
@@ -7,6 +7,7 @@ const constants_1 = require("alwaysai/lib/constants");
|
|
|
7
7
|
const project_1 = require("alwaysai/lib/core/project");
|
|
8
8
|
const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
9
9
|
const util_1 = require("alwaysai/lib/util");
|
|
10
|
+
const logger_1 = require("../util/logger");
|
|
10
11
|
// NOTE: This is reimplemented from the CLI to work for local checks
|
|
11
12
|
async function getTargetHardwareUuid(spawner) {
|
|
12
13
|
if (await spawner.exists('/var/lib/dbus/machine-id')) {
|
|
@@ -52,7 +53,7 @@ async function writeCertificateAndToken(props) {
|
|
|
52
53
|
let iotKeys = device.iot_keys;
|
|
53
54
|
if (!iotKeys) {
|
|
54
55
|
// there are no certificates, we need to generate new ones
|
|
55
|
-
|
|
56
|
+
logger_1.logger.info('Generating new certificate');
|
|
56
57
|
const response = await (0, infrastructure_1.getDeviceCertificates)(device.uuid, device.mode);
|
|
57
58
|
iotKeys = response.iotKeys;
|
|
58
59
|
}
|
|
@@ -63,7 +64,7 @@ async function writeCertificateAndToken(props) {
|
|
|
63
64
|
privateKey: iotKeys.keyPair.PrivateKey,
|
|
64
65
|
rootCa: iotKeys.rootCA,
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
+
logger_1.logger.info('Updated tokens and certificate');
|
|
67
68
|
}
|
|
68
69
|
exports.writeCertificateAndToken = writeCertificateAndToken;
|
|
69
70
|
//# sourceMappingURL=certificates-and-tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificates-and-tokens.js","sourceRoot":"","sources":["../../src/infrastructure/certificates-and-tokens.ts"],"names":[],"mappings":";;;AAAA,2DAA0F;AAC1F,uDAA4E;AAC5E,sDAAmF;AACnF,uDAA0D;AAC1D,gEAKqC;AACrC,4CAAsF;
|
|
1
|
+
{"version":3,"file":"certificates-and-tokens.js","sourceRoot":"","sources":["../../src/infrastructure/certificates-and-tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/subcommands/app/app.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,eAAe,yKAQ1B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;4DAcjC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;4DAiBtC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;4DAuB5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;4DAc9B,CAAC;AAEH,eAAO,MAAM,eAAe;;;4DAgB1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;4DAiB5B,CAAC;AAEH,eAAO,MAAM,cAAc;;4DAazB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;4DAa5B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;4DAa9B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;4DAa7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;4DAc/B,CAAC;AAEH,eAAO,MAAM,eAAe;;;4DAiB1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;4DAiB7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;4DAiB/B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;4DAa9B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;4DAa5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;4DAsBxB,CAAC"}
|
|
@@ -11,6 +11,7 @@ exports.setEnvCLiLeaf = exports.getAllEnvsCLiLeaf = exports.updateModelsCliLeaf
|
|
|
11
11
|
const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
12
12
|
const application_control_1 = require("../../application-control");
|
|
13
13
|
const agent_config_1 = require("../../infrastructure/agent-config");
|
|
14
|
+
const logger_1 = require("../../util/logger");
|
|
14
15
|
exports.listAppsCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
15
16
|
name: 'list',
|
|
16
17
|
description: 'List all installed apps',
|
|
@@ -32,7 +33,7 @@ exports.listAppReleasesCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
32
33
|
async action(_, opts) {
|
|
33
34
|
const { project } = opts;
|
|
34
35
|
const releaseHistory = await (0, application_control_1.listAppReleases)({ projectId: project });
|
|
35
|
-
|
|
36
|
+
logger_1.logger.info(releaseHistory);
|
|
36
37
|
},
|
|
37
38
|
});
|
|
38
39
|
exports.listAppLatestReleaseCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
@@ -50,7 +51,7 @@ exports.listAppLatestReleaseCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
50
51
|
if (latestReleaseHash === undefined) {
|
|
51
52
|
throw new alwayscli_1.CliTerseError('This application has not been published yet');
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
+
logger_1.logger.info(latestReleaseHash);
|
|
54
55
|
},
|
|
55
56
|
});
|
|
56
57
|
exports.installAppCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
@@ -89,7 +90,7 @@ exports.getAppStatusCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
89
90
|
async action(_, opts) {
|
|
90
91
|
const { project } = opts;
|
|
91
92
|
const appStatus = await (0, application_control_1.getAppStatus)({ projectId: project });
|
|
92
|
-
|
|
93
|
+
logger_1.logger.info(appStatus);
|
|
93
94
|
},
|
|
94
95
|
});
|
|
95
96
|
exports.startAppCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
@@ -126,7 +127,7 @@ exports.getAppLogsCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
126
127
|
try {
|
|
127
128
|
for (var readable_1 = __asyncValues(readable), readable_1_1; readable_1_1 = await readable_1.next(), !readable_1_1.done;) {
|
|
128
129
|
const chunk = readable_1_1.value;
|
|
129
|
-
|
|
130
|
+
logger_1.logger.info(chunk);
|
|
130
131
|
}
|
|
131
132
|
}
|
|
132
133
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -288,7 +289,7 @@ exports.getAllEnvsCLiLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
288
289
|
},
|
|
289
290
|
async action(_, opts) {
|
|
290
291
|
const { project } = opts;
|
|
291
|
-
|
|
292
|
+
logger_1.logger.info(await (0, application_control_1.getAllEnvs)({ projectId: project }));
|
|
292
293
|
},
|
|
293
294
|
});
|
|
294
295
|
exports.setEnvCLiLeaf = (0, alwayscli_1.CliLeaf)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/subcommands/app/app.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mDAK6B;AAC7B,mEAkBmC;AACnC,oEAAoE;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/subcommands/app/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,WAAW;;;4DAqCtB,CAAC;AAEH,eAAO,MAAM,cAAc,yKAYzB,CAAC"}
|
|
@@ -8,6 +8,7 @@ const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
|
8
8
|
const util_1 = require("alwaysai/lib/util");
|
|
9
9
|
const device_control_1 = require("../../device-control/device-control");
|
|
10
10
|
const certificates_and_tokens_1 = require("../../infrastructure/certificates-and-tokens");
|
|
11
|
+
const logger_1 = require("../../util/logger");
|
|
11
12
|
exports.initCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
12
13
|
name: 'init',
|
|
13
14
|
description: 'Initialize device',
|
|
@@ -23,7 +24,7 @@ exports.initCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
23
24
|
},
|
|
24
25
|
async action(_, opts) {
|
|
25
26
|
const { name, description } = opts;
|
|
26
|
-
|
|
27
|
+
logger_1.logger.info('Initializing device');
|
|
27
28
|
await (0, user_1.checkUserIsLoggedInComponent)({ yes: true });
|
|
28
29
|
if (!(await (0, project_1.checkPaidPlan)())) {
|
|
29
30
|
throw new Error(`This action only supported for Enterprise alwaysAI accounts!`);
|
|
@@ -43,7 +44,7 @@ exports.initCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
43
44
|
};
|
|
44
45
|
const response = await (0, infrastructure_1.addDevice)(deviceToAdd, 'production');
|
|
45
46
|
await (0, certificates_and_tokens_1.writeCertificateAndToken)({ deviceUuid: response.deviceUUID });
|
|
46
|
-
|
|
47
|
+
logger_1.logger.info(`Initialized device as ${response.deviceUUID}`);
|
|
47
48
|
},
|
|
48
49
|
});
|
|
49
50
|
exports.getInfoCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAC9D,uDAA4E;AAC5E,uDAA0D;AAC1D,gEAAiF;AACjF,4CAA8C;AAC9C,wEAA0F;AAC1F,0FAGsD;
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../../src/subcommands/device/device.ts"],"names":[],"mappings":";;;AAAA,mDAA8D;AAC9D,uDAA4E;AAC5E,uDAA0D;AAC1D,gEAAiF;AACjF,4CAA8C;AAC9C,wEAA0F;AAC1F,0FAGsD;AACtD,8CAA2C;AAE9B,QAAA,WAAW,GAAG,IAAA,mBAAO,EAAC;IACjC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mBAAmB;IAChC,WAAW,EAAE;QACX,IAAI,EAAE,IAAA,0BAAc,EAAC;YACnB,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,WAAW,EAAE,IAAA,0BAAc,EAAC;YAC1B,WAAW,EAAE,oBAAoB;YACjC,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACD,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACnC,eAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnC,MAAM,IAAA,mCAA4B,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,MAAM,IAAA,uBAAa,GAAE,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACjF;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,wCAAuB,GAAE,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAA,gBAAS,GAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,IAAA,+CAAqB,EAAC,OAAO,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG;YAClB,KAAK,EAAE,QAAQ;YACf,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,WAAW,IAAI,EAAE;YAC9B,YAAY,EAAE,UAAU;YACxB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAA,0BAAS,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,IAAA,kDAAwB,EAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACpE,eAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,IAAA,mBAAO,EAAC;IACpC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,EAAE;IACf,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI;QAClB,MAAM,UAAU,GAAG;YACjB,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAAC,MAAM,IAAA,2BAAU,GAAE,CAAC,IAAI,CAAC;YACtD,CAAC,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,IAAA,4BAAW,GAAE,CAAC,IAAI,CAAC;YACxD,CAAC,oBAAoB,EAAE,GAAG,MAAM,CAAC,MAAM,IAAA,2BAAU,GAAE,CAAC,IAAI,CAAC;SAC1D,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-model-package.d.ts","sourceRoot":"","sources":["../../src/subcommands/get-model-package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-model-package.d.ts","sourceRoot":"","sources":["../../src/subcommands/get-model-package.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB;;;4DA0BjC,CAAC"}
|
|
@@ -5,6 +5,7 @@ const alwayscli_1 = require("@alwaysai/alwayscli");
|
|
|
5
5
|
const app_1 = require("alwaysai/lib/core/app");
|
|
6
6
|
const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
7
7
|
const util_1 = require("alwaysai/lib/util");
|
|
8
|
+
const logger_1 = require("../util/logger");
|
|
8
9
|
exports.getModelPackageCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
9
10
|
name: 'get-model-package',
|
|
10
11
|
description: 'Download and unpack a model package',
|
|
@@ -28,7 +29,7 @@ exports.getModelPackageCliLeaf = (0, alwayscli_1.CliLeaf)({
|
|
|
28
29
|
const spawner = (0, util_1.JsSpawner)({ path });
|
|
29
30
|
const version = opts.version || (await (0, infrastructure_1.CliRpcClient)().getModelVersion({ id })).version;
|
|
30
31
|
await (0, app_1.appInstallModel)(spawner, id, version);
|
|
31
|
-
|
|
32
|
+
logger_1.logger.info(`Completed downloading ${id} to ${path}`);
|
|
32
33
|
},
|
|
33
34
|
});
|
|
34
35
|
//# sourceMappingURL=get-model-package.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-model-package.js","sourceRoot":"","sources":["../../src/subcommands/get-model-package.ts"],"names":[],"mappings":";;;AAAA,mDAA8E;AAC9E,+CAAwD;AACxD,gEAA2D;AAC3D,4CAA8C;
|
|
1
|
+
{"version":3,"file":"get-model-package.js","sourceRoot":"","sources":["../../src/subcommands/get-model-package.ts"],"names":[],"mappings":";;;AAAA,mDAA8E;AAC9E,+CAAwD;AACxD,gEAA2D;AAC3D,4CAA8C;AAC9C,2CAAwC;AAE3B,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,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GACX,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAA,6BAAY,GAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,MAAM,IAAA,qBAAe,EAAC,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5C,eAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,2BAA2B,CAAC;AAgBnC,eAAO,MAAM,MAAM,gBAQjB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.logger = void 0;
|
|
4
|
+
const winston = require("winston");
|
|
5
|
+
require("winston-daily-rotate-file");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const constants_1 = require("alwaysai/lib/constants");
|
|
8
|
+
const environment_1 = require("../environment");
|
|
9
|
+
const LOG_LEVEL = environment_1.ALWAYSAI_LOG_LEVEL || 'info';
|
|
10
|
+
const transports = environment_1.ALWAYSAI_LOG_TO_CONSOLE
|
|
11
|
+
? [new winston.transports.Console({ level: LOG_LEVEL })]
|
|
12
|
+
: [
|
|
13
|
+
new winston.transports.DailyRotateFile({
|
|
14
|
+
filename: path.join(constants_1.AAI_DIR, 'agent-logs', 'agent-logs.txt'),
|
|
15
|
+
maxSize: '5m',
|
|
16
|
+
maxFiles: '2d',
|
|
17
|
+
}),
|
|
18
|
+
];
|
|
19
|
+
exports.logger = winston.createLogger({
|
|
20
|
+
level: LOG_LEVEL,
|
|
21
|
+
format: winston.format.combine(winston.format.errors({ stack: true }), winston.format.splat(), winston.format.simple()),
|
|
22
|
+
transports,
|
|
23
|
+
});
|
|
24
|
+
exports.logger.info(`Initialized logger with log level: ${LOG_LEVEL}`);
|
|
25
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,qCAAmC;AACnC,6BAA6B;AAC7B,sDAAiD;AACjD,gDAA6E;AAE7E,MAAM,SAAS,GAAG,gCAAkB,IAAI,MAAM,CAAC;AAC/C,MAAM,UAAU,GAAG,qCAAuB;IACxC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC;QACE,IAAI,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,mBAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC;YAC5D,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;AAEO,QAAA,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IACzC,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EACtC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EACtB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CACxB;IACD,UAAU;CACX,CAAC,CAAC;AAEH,cAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alwaysai/device-agent",
|
|
3
3
|
"description": "The alwaysAI Device Agent",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.11-internal",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@alwaysai/alwayscli": "0.3.1",
|
|
33
33
|
"@alwaysai/config-nodejs": "0.1.0",
|
|
34
|
-
"@alwaysai/device-agent-schemas": "1.1.
|
|
34
|
+
"@alwaysai/device-agent-schemas": "1.1.2",
|
|
35
35
|
"@carnesen/coded-error": "0.4.0",
|
|
36
36
|
"@types/mkdirp": "1.0.2",
|
|
37
37
|
"@types/pump": "1.1.1",
|
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"aws-iot-device-sdk": "2.2.12",
|
|
44
44
|
"docker-compose": "0.23.17",
|
|
45
45
|
"express": "4.17.3",
|
|
46
|
+
"lodash": "^4.17.21",
|
|
46
47
|
"mkdirp": "1.0.4",
|
|
47
48
|
"node-fetch": "2.6.1",
|
|
48
49
|
"node-os-utils": "1.3.6",
|
|
@@ -4,6 +4,7 @@ import { copyDir } from '../util/copy-dir';
|
|
|
4
4
|
import { buildApp, getAppDir } from './utils';
|
|
5
5
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
6
6
|
import { runInDir } from '../util/run-in-dir';
|
|
7
|
+
import { logger } from '../util/logger';
|
|
7
8
|
|
|
8
9
|
export const BACKUP_EXT = '.bak';
|
|
9
10
|
|
|
@@ -14,7 +15,7 @@ export async function createAppBackup(props: { projectId: string }) {
|
|
|
14
15
|
rimraf.sync(backupAppDir);
|
|
15
16
|
await copyDir({ srcPath: appDir, destPath: backupAppDir });
|
|
16
17
|
await AgentConfigFile().setAppBackup({ projectId });
|
|
17
|
-
|
|
18
|
+
logger.info(`Backed up app ${projectId} to ${backupAppDir}`);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export async function rollbackApp(props: { projectId: string }) {
|
|
@@ -23,7 +24,7 @@ export async function rollbackApp(props: { projectId: string }) {
|
|
|
23
24
|
if (!config) {
|
|
24
25
|
throw new Error(`Backup doesn't exist for ${projectId}`);
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
+
logger.info(`Rolling back app ${projectId} to ${config.version}`);
|
|
27
28
|
await AgentConfigFile().setAppInstalling({ projectId, version: config.version });
|
|
28
29
|
const appDir = getAppDir(projectId);
|
|
29
30
|
const backupAppDir = `${appDir}${BACKUP_EXT}`;
|
|
@@ -31,5 +32,5 @@ export async function rollbackApp(props: { projectId: string }) {
|
|
|
31
32
|
await copyDir({ srcPath: backupAppDir, destPath: appDir });
|
|
32
33
|
await buildApp({ appDir });
|
|
33
34
|
await AgentConfigFile().setAppInstalled({ projectId, version: config.version });
|
|
34
|
-
|
|
35
|
+
logger.info(`Rolled back app ${projectId} to ${config.version}`);
|
|
35
36
|
}
|
|
@@ -22,6 +22,7 @@ import { DOCKERFILE, DOCKER_IMAGE_ID_INITIAL_VALUE } from 'alwaysai/lib/constant
|
|
|
22
22
|
import { appReleasePullComponent } from 'alwaysai/lib/components/release';
|
|
23
23
|
import { runInDir } from '../util/run-in-dir';
|
|
24
24
|
import { installModelsWithPresignedURLs } from './models';
|
|
25
|
+
import { logger } from '../util/logger';
|
|
25
26
|
|
|
26
27
|
type SignedUrlPayloadType = {
|
|
27
28
|
appInstallPayload: {
|
|
@@ -57,7 +58,7 @@ export async function installApp(props: {
|
|
|
57
58
|
if (!(await AgentConfigFile().isAppReady({ projectId }))) {
|
|
58
59
|
throw new Error('Application already has installation in progress!');
|
|
59
60
|
}
|
|
60
|
-
|
|
61
|
+
logger.info('Application is already installed, updating');
|
|
61
62
|
await AgentConfigFile().setAppInstalling({ projectId, version: appReleaseHash });
|
|
62
63
|
await spawner.rimraf(appDir);
|
|
63
64
|
} else {
|
|
@@ -121,7 +122,7 @@ export async function installApp(props: {
|
|
|
121
122
|
|
|
122
123
|
await AgentConfigFile().setAppInstalled({ projectId, version: appReleaseHash });
|
|
123
124
|
|
|
124
|
-
|
|
125
|
+
logger.info(
|
|
125
126
|
`Installed app version ${appReleaseHash} from project ${projectId} to ${appDir}.`,
|
|
126
127
|
);
|
|
127
128
|
}
|
|
@@ -188,18 +189,18 @@ async function checkValidProjectFiles({ appDir }) {
|
|
|
188
189
|
export async function uninstallApp(props: { projectId: string }): Promise<void> {
|
|
189
190
|
const { projectId } = props;
|
|
190
191
|
if (!(await AgentConfigFile().isAppPresent({ projectId }))) {
|
|
191
|
-
|
|
192
|
+
logger.info(`Application ${projectId} not installed`);
|
|
192
193
|
return;
|
|
193
194
|
}
|
|
194
195
|
try {
|
|
195
196
|
await stopApp({ projectId });
|
|
196
197
|
} catch {
|
|
197
|
-
|
|
198
|
+
logger.info('Failed to stop app, may be left running...');
|
|
198
199
|
}
|
|
199
200
|
await AgentConfigFile().setAppUninstalled({ projectId });
|
|
200
201
|
// Delete application directory and backup
|
|
201
202
|
const appDir = getAppDir(projectId);
|
|
202
203
|
rimraf.sync(appDir);
|
|
203
204
|
rimraf.sync(`${appDir}${BACKUP_EXT}`);
|
|
204
|
-
|
|
205
|
+
logger.info('Uninstalled', projectId);
|
|
205
206
|
}
|
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
appModelsRemoveComponent,
|
|
7
7
|
appModelsUpdateComponent,
|
|
8
8
|
} from 'alwaysai/lib/components/app';
|
|
9
|
-
import { JsSpawner
|
|
9
|
+
import { JsSpawner } from 'alwaysai/lib/util';
|
|
10
|
+
import { logger } from '../util/logger';
|
|
10
11
|
import { existsSync, createReadStream } from 'fs';
|
|
11
12
|
import { join, dirname } from 'path';
|
|
12
13
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
@@ -183,9 +184,9 @@ export async function updateModelsWithPresignedUrls(
|
|
|
183
184
|
restartApp({ projectId: project });
|
|
184
185
|
}
|
|
185
186
|
|
|
186
|
-
|
|
187
|
+
logger.info(`Models installed for project ${project}`);
|
|
187
188
|
} catch (e) {
|
|
188
|
-
|
|
189
|
+
logger.error(e, 'Error updating app models from presigned URL, restoring models.');
|
|
189
190
|
await spawner.rimraf(tmpDir);
|
|
190
191
|
await spawner.rimraf(ogDir);
|
|
191
192
|
await copyDir({ srcPath: restoreDir, destPath: ogDir });
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
AppStateValue,
|
|
12
12
|
} from '@alwaysai/device-agent-schemas';
|
|
13
13
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
14
|
+
import { logger } from '../util/logger';
|
|
14
15
|
|
|
15
16
|
export async function listAppReleases(props: { projectId: string }) {
|
|
16
17
|
const { projectId } = props;
|
|
@@ -147,19 +148,19 @@ export async function startApp(props: {
|
|
|
147
148
|
const appDir = getAppDir(projectId);
|
|
148
149
|
if (dockerLoginToken !== undefined) {
|
|
149
150
|
const result = await runDockerLogin({ token: dockerLoginToken });
|
|
150
|
-
|
|
151
|
+
logger.info(result);
|
|
151
152
|
}
|
|
152
153
|
|
|
153
154
|
// TODO: Check if app is running
|
|
154
155
|
// Start app
|
|
155
156
|
const upOut = await compose.upAll({ cwd: appDir });
|
|
156
|
-
|
|
157
|
+
logger.info(upOut);
|
|
157
158
|
if (upOut.exitCode !== 0) {
|
|
158
159
|
throw new Error(
|
|
159
160
|
`Failed to start application! stdout=${upOut.out} stderr=${upOut.err}`,
|
|
160
161
|
);
|
|
161
162
|
}
|
|
162
|
-
|
|
163
|
+
logger.info('Started', projectId);
|
|
163
164
|
}
|
|
164
165
|
|
|
165
166
|
export async function stopApp(props: { projectId: string }): Promise<void> {
|
|
@@ -170,13 +171,13 @@ export async function stopApp(props: { projectId: string }): Promise<void> {
|
|
|
170
171
|
// TODO: Check if app is running
|
|
171
172
|
// Stop app
|
|
172
173
|
const output = await compose.down({ cwd: appDir });
|
|
173
|
-
|
|
174
|
+
logger.info(output);
|
|
174
175
|
if (output.exitCode !== 0) {
|
|
175
176
|
throw new Error(
|
|
176
177
|
`Failed to stop application! stdout=${output.out} stderr=${output.err}`,
|
|
177
178
|
);
|
|
178
179
|
}
|
|
179
|
-
|
|
180
|
+
logger.info('Stopped', projectId);
|
|
180
181
|
}
|
|
181
182
|
|
|
182
183
|
export async function restartApp(props: { projectId: string }): Promise<void> {
|
|
@@ -9,6 +9,7 @@ import { TargetJsonFile } from 'alwaysai/lib/core/app';
|
|
|
9
9
|
import { appDeployLinuxAndRemoteDevice } from 'alwaysai/lib/components/app';
|
|
10
10
|
import { runInDir } from '../util/run-in-dir';
|
|
11
11
|
import { JsSpawner } from 'alwaysai/lib/util';
|
|
12
|
+
import { logger } from '../util/logger';
|
|
12
13
|
|
|
13
14
|
export const APP_ROOT = path.join(AAI_DIR, 'applications');
|
|
14
15
|
|
|
@@ -52,7 +53,7 @@ export async function buildApp(props: { appDir: string }) {
|
|
|
52
53
|
);
|
|
53
54
|
|
|
54
55
|
const buildOut = await compose.buildAll({ cwd: appDir });
|
|
55
|
-
|
|
56
|
+
logger.info(buildOut);
|
|
56
57
|
if (buildOut.exitCode !== 0) {
|
|
57
58
|
throw new Error(
|
|
58
59
|
`Failed to build application! stdout=${buildOut.out} stderr=${buildOut.err}`,
|
|
@@ -64,7 +65,7 @@ export async function downloadPackageUsingPresignedUrl(props: {
|
|
|
64
65
|
localDest: string;
|
|
65
66
|
presignedUrl: string;
|
|
66
67
|
}): Promise<void> {
|
|
67
|
-
|
|
68
|
+
logger.info('downloading URL');
|
|
68
69
|
const { localDest, presignedUrl } = props;
|
|
69
70
|
const response = await nodeFetch(presignedUrl);
|
|
70
71
|
if (response.status !== 200) {
|
|
@@ -37,9 +37,13 @@ import {
|
|
|
37
37
|
DeviceAgentMessage,
|
|
38
38
|
ClientMessage,
|
|
39
39
|
AppDetailsPacket,
|
|
40
|
+
getClientTopic,
|
|
41
|
+
getCloudTopic,
|
|
42
|
+
getDeviceTopic,
|
|
40
43
|
} from '@alwaysai/device-agent-schemas';
|
|
41
44
|
import { getDeviceId } from '../util/get-device-id';
|
|
42
|
-
import { JsSpawner
|
|
45
|
+
import { JsSpawner } from 'alwaysai/lib/util';
|
|
46
|
+
import { logger } from '../util/logger';
|
|
43
47
|
import { getCpuUtil, getDiskUtil, getMemUtil } from '../device-control/device-control';
|
|
44
48
|
import { AgentConfigFile } from '../infrastructure/agent-config';
|
|
45
49
|
import { buildApp, getAppConfig, getAppDir } from '../application-control/utils';
|
|
@@ -63,7 +67,6 @@ export class DeviceAgentCloudConnection {
|
|
|
63
67
|
[keyMirrors.agentMessageType.app_install_status]: 5000,
|
|
64
68
|
};
|
|
65
69
|
private appLogStreams = new Set<string>();
|
|
66
|
-
private deviceType = 'aai-device';
|
|
67
70
|
private readonly shadowPrefix = `$aws/things/${this.clientId}/shadow/name/`;
|
|
68
71
|
private readonly shadowTopics = {
|
|
69
72
|
projects: {
|
|
@@ -71,9 +74,9 @@ export class DeviceAgentCloudConnection {
|
|
|
71
74
|
getAccepted: `${this.shadowPrefix}projects/get/accepted`,
|
|
72
75
|
},
|
|
73
76
|
};
|
|
74
|
-
private readonly toCloudTopic =
|
|
75
|
-
private readonly toClientTopic =
|
|
76
|
-
private readonly toDeviceTopic =
|
|
77
|
+
private readonly toCloudTopic = getCloudTopic(this.clientId);
|
|
78
|
+
private readonly toClientTopic = getClientTopic(this.clientId);
|
|
79
|
+
private readonly toDeviceTopic = getDeviceTopic(this.clientId);
|
|
77
80
|
|
|
78
81
|
// device shadow utils
|
|
79
82
|
|
|
@@ -480,7 +483,7 @@ export class DeviceAgentCloudConnection {
|
|
|
480
483
|
// update app config shadow for project
|
|
481
484
|
await this.publishReportedState(projectId);
|
|
482
485
|
} catch (e) {
|
|
483
|
-
|
|
486
|
+
logger.error(e);
|
|
484
487
|
const message: string = e.message;
|
|
485
488
|
|
|
486
489
|
// uninstall the failed app to put system back in good state
|
|
@@ -503,7 +506,7 @@ export class DeviceAgentCloudConnection {
|
|
|
503
506
|
|
|
504
507
|
await this.publishReportedState(projectId);
|
|
505
508
|
} catch (e) {
|
|
506
|
-
|
|
509
|
+
logger.error(e);
|
|
507
510
|
}
|
|
508
511
|
break;
|
|
509
512
|
}
|
|
@@ -523,7 +526,7 @@ export class DeviceAgentCloudConnection {
|
|
|
523
526
|
payload: JSON.stringify(message.delta),
|
|
524
527
|
});
|
|
525
528
|
} else {
|
|
526
|
-
|
|
529
|
+
logger.info(`No delta updates in shadow ${shadowName}`);
|
|
527
530
|
}
|
|
528
531
|
}
|
|
529
532
|
}
|
|
@@ -534,14 +537,14 @@ export function runDeviceAgentCloudInterface() {
|
|
|
534
537
|
|
|
535
538
|
deviceAgent.device.on('connect', function () {
|
|
536
539
|
deviceAgent.publishMessage('connection', deviceAgent.getClientId());
|
|
537
|
-
console.
|
|
540
|
+
console.info('Device Agent has connected to the cloud');
|
|
538
541
|
|
|
539
542
|
// Get shadow updates
|
|
540
543
|
deviceAgent.publishMessage(`${deviceAgent.getShadowPrefix()}projects/get`, '');
|
|
541
544
|
});
|
|
542
545
|
|
|
543
546
|
deviceAgent.device.on('disconnect', function () {
|
|
544
|
-
console.
|
|
547
|
+
console.info('Device Agent has been disconnected from the cloud');
|
|
545
548
|
});
|
|
546
549
|
|
|
547
550
|
deviceAgent.device.on('message', function (topic: string, payload: string) {
|
|
@@ -555,13 +558,13 @@ export function runDeviceAgentCloudInterface() {
|
|
|
555
558
|
} else {
|
|
556
559
|
const valid = validateClientMessage(jsonPacket);
|
|
557
560
|
if (!valid) {
|
|
558
|
-
|
|
561
|
+
logger.error(JSON.stringify(validateClientMessage.errors));
|
|
559
562
|
} else {
|
|
560
563
|
deviceAgent.handleClientMessage({ topic, message: jsonPacket });
|
|
561
564
|
}
|
|
562
565
|
}
|
|
563
566
|
} catch (error) {
|
|
564
|
-
|
|
567
|
+
logger.error(error);
|
|
565
568
|
}
|
|
566
569
|
});
|
|
567
570
|
}
|
package/src/environment.ts
CHANGED
|
@@ -4,6 +4,7 @@ export const ALWAYSAI_OS_PLATFORM = parseOsPlatform(process.env.ALWAYSAI_OS_PLAT
|
|
|
4
4
|
export const ALWAYSAI_SHOW_HIDDEN = parseBoolean(process.env.ALWAYSAI_SHOW_HIDDEN);
|
|
5
5
|
export const ALWAYSAI_DEVICE_AGENT_MODE = process.env.ALWAYSAI_DEVICE_AGENT_MODE;
|
|
6
6
|
export const ALWAYSAI_LOG_LEVEL = process.env.AAI_LOG_LEVEL;
|
|
7
|
+
export const ALWAYSAI_LOG_TO_CONSOLE = process.env.ALWAYSAI_LOG_TO_CONSOLE;
|
|
7
8
|
|
|
8
9
|
function parseOsPlatform(str: string | undefined): NodeJS.Platform {
|
|
9
10
|
switch (str) {
|
package/src/index.ts
CHANGED
|
@@ -10,9 +10,10 @@ import { root } from './root';
|
|
|
10
10
|
import { runDeviceAgentCloudInterface } from './cloud-connection/device-agent-cloud-connection';
|
|
11
11
|
import { AgentConfigFile } from './infrastructure/agent-config';
|
|
12
12
|
import { ALWAYSAI_DEVICE_AGENT_MODE } from './environment';
|
|
13
|
+
import { logger } from './util/logger';
|
|
13
14
|
|
|
14
15
|
if (module === require.main) {
|
|
15
|
-
|
|
16
|
+
logger.info('Starting alwaysAI Device Agent');
|
|
16
17
|
if (!AgentConfigFile().exists()) {
|
|
17
18
|
AgentConfigFile().initialize();
|
|
18
19
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
refreshDevice,
|
|
10
10
|
} from 'alwaysai/lib/infrastructure';
|
|
11
11
|
import { JsSpawner, Spawner, writeCertificate, writeTokens } from 'alwaysai/lib/util';
|
|
12
|
+
import { logger } from '../util/logger';
|
|
12
13
|
|
|
13
14
|
// NOTE: This is reimplemented from the CLI to work for local checks
|
|
14
15
|
export async function getTargetHardwareUuid(spawner: Spawner) {
|
|
@@ -56,7 +57,7 @@ export async function writeCertificateAndToken(props: { deviceUuid: string }) {
|
|
|
56
57
|
let iotKeys = device.iot_keys;
|
|
57
58
|
if (!iotKeys) {
|
|
58
59
|
// there are no certificates, we need to generate new ones
|
|
59
|
-
|
|
60
|
+
logger.info('Generating new certificate');
|
|
60
61
|
const response = await getDeviceCertificates(device.uuid, device.mode);
|
|
61
62
|
iotKeys = response.iotKeys;
|
|
62
63
|
}
|
|
@@ -67,5 +68,5 @@ export async function writeCertificateAndToken(props: { deviceUuid: string }) {
|
|
|
67
68
|
privateKey: iotKeys.keyPair.PrivateKey,
|
|
68
69
|
rootCa: iotKeys.rootCA,
|
|
69
70
|
});
|
|
70
|
-
|
|
71
|
+
logger.info('Updated tokens and certificate');
|
|
71
72
|
}
|