@alwaysai/device-agent 0.0.12 → 0.0.14
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 +11 -5
- package/lib/application-control/backup.js.map +1 -1
- package/lib/application-control/config.d.ts +12 -4
- package/lib/application-control/config.d.ts.map +1 -1
- package/lib/application-control/config.js +59 -16
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/index.d.ts +5 -5
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +4 -6
- package/lib/application-control/index.js.map +1 -1
- package/lib/application-control/install.d.ts +1 -1
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +58 -57
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts +7 -5
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +78 -57
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts +0 -6
- package/lib/application-control/status.d.ts.map +1 -1
- package/lib/application-control/status.js +21 -33
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts +3 -2
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +54 -34
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/app-install-status.d.ts +16 -0
- package/lib/cloud-connection/app-install-status.d.ts.map +1 -0
- package/lib/cloud-connection/app-install-status.js +53 -0
- package/lib/cloud-connection/app-install-status.js.map +1 -0
- package/lib/cloud-connection/bootstrap-provision.d.ts +2 -0
- package/lib/cloud-connection/bootstrap-provision.d.ts.map +1 -0
- package/lib/cloud-connection/bootstrap-provision.js +34 -0
- package/lib/cloud-connection/bootstrap-provision.js.map +1 -0
- package/lib/cloud-connection/cmd-status.d.ts +16 -0
- package/lib/cloud-connection/cmd-status.d.ts.map +1 -0
- package/lib/cloud-connection/cmd-status.js +49 -0
- package/lib/cloud-connection/cmd-status.js.map +1 -0
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +21 -34
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +211 -387
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/device-agent.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent.js +22 -26
- package/lib/cloud-connection/device-agent.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +34 -0
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -0
- package/lib/cloud-connection/live-updates-handler.js +167 -0
- package/lib/cloud-connection/live-updates-handler.js.map +1 -0
- package/lib/cloud-connection/messages.d.ts +14 -0
- package/lib/cloud-connection/messages.d.ts.map +1 -0
- package/lib/cloud-connection/messages.js +38 -0
- package/lib/cloud-connection/messages.js.map +1 -0
- package/lib/cloud-connection/passthrough-handler.d.ts +11 -0
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -0
- package/lib/cloud-connection/passthrough-handler.js +59 -0
- package/lib/cloud-connection/passthrough-handler.js.map +1 -0
- package/lib/cloud-connection/publisher.d.ts +15 -0
- package/lib/cloud-connection/publisher.d.ts.map +1 -0
- package/lib/cloud-connection/publisher.js +58 -0
- package/lib/cloud-connection/publisher.js.map +1 -0
- package/lib/cloud-connection/shadow-handler.d.ts +33 -0
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -0
- package/lib/cloud-connection/shadow-handler.js +108 -0
- package/lib/cloud-connection/shadow-handler.js.map +1 -0
- package/lib/cloud-connection/shadow-handler.test.d.ts +2 -0
- package/lib/cloud-connection/shadow-handler.test.d.ts.map +1 -0
- package/lib/cloud-connection/shadow-handler.test.js +321 -0
- package/lib/cloud-connection/shadow-handler.test.js.map +1 -0
- package/lib/cloud-connection/shadow.d.ts +16 -0
- package/lib/cloud-connection/shadow.d.ts.map +1 -0
- package/lib/cloud-connection/shadow.js +36 -0
- package/lib/cloud-connection/shadow.js.map +1 -0
- package/lib/device-control/device-control.d.ts.map +1 -1
- package/lib/device-control/device-control.js +1 -0
- package/lib/device-control/device-control.js.map +1 -1
- package/lib/docker/docker-cmd.js +1 -1
- package/lib/docker/docker-compose-cmd.d.ts.map +1 -1
- package/lib/docker/docker-compose-cmd.js +1 -1
- package/lib/docker/docker-compose-cmd.js.map +1 -1
- package/lib/endpoints.js +10 -10
- package/lib/endpoints.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/infrastructure/agent-config.d.ts +15 -58
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/infrastructure/agent-config.js +22 -15
- package/lib/infrastructure/agent-config.js.map +1 -1
- package/lib/infrastructure/agent-config.test.js +25 -23
- package/lib/infrastructure/agent-config.test.js.map +1 -1
- package/lib/infrastructure/system-id.d.ts +2 -0
- package/lib/infrastructure/system-id.d.ts.map +1 -0
- package/lib/infrastructure/system-id.js +21 -0
- package/lib/infrastructure/system-id.js.map +1 -0
- package/lib/infrastructure/tokens-and-device-cfg.d.ts +4 -0
- package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -0
- package/lib/infrastructure/tokens-and-device-cfg.js +27 -0
- package/lib/infrastructure/tokens-and-device-cfg.js.map +1 -0
- package/lib/infrastructure/urls.d.ts.map +1 -1
- package/lib/infrastructure/urls.js +3 -3
- package/lib/infrastructure/urls.js.map +1 -1
- package/lib/local-connection/rabbitmq-connection.d.ts +4 -0
- package/lib/local-connection/rabbitmq-connection.d.ts.map +1 -0
- package/lib/local-connection/rabbitmq-connection.js +58 -0
- package/lib/local-connection/rabbitmq-connection.js.map +1 -0
- package/lib/root.d.ts.map +1 -1
- package/lib/root.js +2 -7
- package/lib/root.js.map +1 -1
- package/lib/subcommands/app/app.d.ts +2 -1
- package/lib/subcommands/app/app.d.ts.map +1 -1
- package/lib/subcommands/app/app.js +112 -77
- package/lib/subcommands/app/app.js.map +1 -1
- package/lib/subcommands/app/index.js +2 -2
- package/lib/subcommands/device/clean.d.ts +2 -0
- package/lib/subcommands/device/clean.d.ts.map +1 -0
- package/lib/subcommands/device/clean.js +29 -0
- package/lib/subcommands/device/clean.js.map +1 -0
- package/lib/subcommands/device/device.d.ts +1 -1
- package/lib/subcommands/device/device.d.ts.map +1 -1
- package/lib/subcommands/device/device.js +44 -33
- package/lib/subcommands/device/device.js.map +1 -1
- package/lib/subcommands/device/index.d.ts.map +1 -1
- package/lib/subcommands/device/index.js +2 -1
- package/lib/subcommands/device/index.js.map +1 -1
- package/lib/subcommands/get-model-package.js +5 -5
- package/lib/subcommands/index.d.ts +0 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/index.js +1 -1
- package/lib/subcommands/login.d.ts +0 -1
- package/lib/subcommands/login.d.ts.map +1 -1
- package/lib/subcommands/login.js +6 -14
- package/lib/subcommands/login.js.map +1 -1
- package/lib/util/clean-certs.d.ts +2 -0
- package/lib/util/clean-certs.d.ts.map +1 -0
- package/lib/util/clean-certs.js +16 -0
- package/lib/util/clean-certs.js.map +1 -0
- package/lib/util/directories.d.ts +16 -15
- package/lib/util/directories.d.ts.map +1 -1
- package/lib/util/directories.js +45 -26
- package/lib/util/directories.js.map +1 -1
- package/lib/util/fetch-with-timeout.d.ts +4 -0
- package/lib/util/fetch-with-timeout.d.ts.map +1 -0
- package/lib/util/fetch-with-timeout.js +15 -0
- package/lib/util/fetch-with-timeout.js.map +1 -0
- package/lib/util/get-device-id.d.ts +1 -1
- package/lib/util/get-device-id.d.ts.map +1 -1
- package/lib/util/get-device-id.js +14 -19
- package/lib/util/get-device-id.js.map +1 -1
- package/lib/util/http-client.d.ts +1 -1
- package/lib/util/http-client.d.ts.map +1 -1
- package/lib/util/http-client.js +10 -8
- package/lib/util/http-client.js.map +1 -1
- package/lib/util/logger.d.ts.map +1 -1
- package/lib/util/logger.js +4 -5
- package/lib/util/logger.js.map +1 -1
- package/lib/util/require-logged-in-and-paid-plan.d.ts +2 -0
- package/lib/util/require-logged-in-and-paid-plan.d.ts.map +1 -0
- package/lib/util/require-logged-in-and-paid-plan.js +18 -0
- package/lib/util/require-logged-in-and-paid-plan.js.map +1 -0
- package/lib/util/run-in-dir.d.ts.map +1 -1
- package/lib/util/run-in-dir.js +1 -0
- package/lib/util/run-in-dir.js.map +1 -1
- package/lib/util/timer.d.ts +2 -0
- package/lib/util/timer.d.ts.map +1 -0
- package/lib/util/timer.js +6 -0
- package/lib/util/timer.js.map +1 -0
- package/package.json +32 -35
- package/readme.md +100 -89
- package/src/application-control/backup.ts +11 -6
- package/src/application-control/config.ts +75 -13
- package/src/application-control/environment-variables.ts +3 -3
- package/src/application-control/index.ts +18 -11
- package/src/application-control/install.ts +82 -78
- package/src/application-control/models.ts +104 -72
- package/src/application-control/status.ts +29 -40
- package/src/application-control/utils.ts +66 -38
- package/src/cloud-connection/app-install-status.ts +62 -0
- package/src/cloud-connection/bootstrap-provision.ts +40 -0
- package/src/cloud-connection/cmd-status.ts +52 -0
- package/src/cloud-connection/device-agent-cloud-connection.ts +302 -526
- package/src/cloud-connection/device-agent.ts +31 -38
- package/src/cloud-connection/live-updates-handler.ts +226 -0
- package/src/cloud-connection/messages.ts +39 -0
- package/src/cloud-connection/passthrough-handler.ts +67 -0
- package/src/cloud-connection/publisher.ts +86 -0
- package/src/cloud-connection/shadow-handler.test.ts +361 -0
- package/src/cloud-connection/shadow-handler.ts +175 -0
- package/src/cloud-connection/shadow.ts +50 -0
- package/src/device-control/device-control.ts +1 -0
- package/src/docker/docker-cmd.ts +1 -1
- package/src/docker/docker-compose-cmd.ts +5 -2
- package/src/endpoints.ts +9 -9
- package/src/environment.ts +11 -3
- package/src/infrastructure/agent-config.test.ts +33 -29
- package/src/infrastructure/agent-config.ts +57 -22
- package/src/infrastructure/system-id.ts +18 -0
- package/src/infrastructure/tokens-and-device-cfg.ts +34 -0
- package/src/infrastructure/urls.ts +4 -2
- package/src/local-connection/rabbitmq-connection.ts +53 -0
- package/src/root.ts +2 -8
- package/src/subcommands/app/app.ts +119 -83
- package/src/subcommands/app/index.ts +3 -3
- package/src/subcommands/device/clean.ts +26 -0
- package/src/subcommands/device/device.ts +67 -54
- package/src/subcommands/device/index.ts +2 -1
- package/src/subcommands/get-model-package.ts +5 -5
- package/src/subcommands/index.ts +1 -1
- package/src/subcommands/login.ts +6 -14
- package/src/util/clean-certs.ts +12 -0
- package/src/util/directories.ts +68 -52
- package/src/util/fetch-with-timeout.ts +18 -0
- package/src/util/get-device-id.ts +16 -18
- package/src/util/http-client.ts +18 -13
- package/src/util/logger.ts +6 -6
- package/src/util/require-logged-in-and-paid-plan.ts +16 -0
- package/src/util/run-in-dir.ts +2 -1
- package/src/util/timer.ts +1 -0
- package/lib/infrastructure/certificates-and-tokens.d.ts +0 -6
- package/lib/infrastructure/certificates-and-tokens.d.ts.map +0 -1
- package/lib/infrastructure/certificates-and-tokens.js +0 -43
- package/lib/infrastructure/certificates-and-tokens.js.map +0 -1
- package/src/infrastructure/certificates-and-tokens.ts +0 -53
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AppInstallStatusManager = exports.AppInstallStatus = void 0;
|
|
4
|
+
class AppInstallStatus {
|
|
5
|
+
constructor(appReleaseHash, status, message) {
|
|
6
|
+
this.appReleaseHash = appReleaseHash;
|
|
7
|
+
this.status = status;
|
|
8
|
+
this.message = message;
|
|
9
|
+
}
|
|
10
|
+
getAppReleaseHash() {
|
|
11
|
+
return this.appReleaseHash;
|
|
12
|
+
}
|
|
13
|
+
update(status, message) {
|
|
14
|
+
this.status = status;
|
|
15
|
+
this.message = message;
|
|
16
|
+
}
|
|
17
|
+
getStatusPacket() {
|
|
18
|
+
return {
|
|
19
|
+
status: this.status,
|
|
20
|
+
message: this.message,
|
|
21
|
+
appReleaseHash: this.appReleaseHash
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.AppInstallStatus = AppInstallStatus;
|
|
26
|
+
class AppInstallStatusManager {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.appList = [];
|
|
29
|
+
}
|
|
30
|
+
update(appReleaseHash, status, message) {
|
|
31
|
+
// Update status if existing
|
|
32
|
+
// TODO: Reimplement this as a map
|
|
33
|
+
for (const app of this.appList) {
|
|
34
|
+
if (app.getAppReleaseHash() === appReleaseHash) {
|
|
35
|
+
app.update(status, message);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// App was not found, so add to list
|
|
40
|
+
const appInstallStatus = new AppInstallStatus(appReleaseHash, status, message);
|
|
41
|
+
this.appList.push(appInstallStatus);
|
|
42
|
+
}
|
|
43
|
+
getStatusPacket(appReleaseHash) {
|
|
44
|
+
for (const app of this.appList) {
|
|
45
|
+
if (app.getAppReleaseHash() === appReleaseHash) {
|
|
46
|
+
return app.getStatusPacket();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`No status for ${appReleaseHash}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.AppInstallStatusManager = AppInstallStatusManager;
|
|
53
|
+
//# sourceMappingURL=app-install-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-install-status.js","sourceRoot":"","sources":["../../src/cloud-connection/app-install-status.ts"],"names":[],"mappings":";;;AAGA,MAAa,gBAAgB;IAK3B,YAAY,cAAc,EAAE,MAAM,EAAE,OAAQ;QAC1C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,MAAM,EAAE,OAAQ;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,eAAe;QACpB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;CACF;AA3BD,4CA2BC;AAED,MAAa,uBAAuB;IAApC;QACU,YAAO,GAAuB,EAAE,CAAC;IA4B3C,CAAC;IA1BQ,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,OAAQ;QAC5C,4BAA4B;QAC5B,kCAAkC;QAClC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,CAAC,iBAAiB,EAAE,KAAK,cAAc,EAAE;gBAC9C,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5B,OAAO;aACR;SACF;QACD,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAC3C,cAAc,EACd,MAAM,EACN,OAAO,CACR,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;IAEM,eAAe,CAAC,cAAc;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC9B,IAAI,GAAG,CAAC,iBAAiB,EAAE,KAAK,cAAc,EAAE;gBAC9C,OAAO,GAAG,CAAC,eAAe,EAAE,CAAC;aAC9B;SACF;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AA7BD,0DA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-provision.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,SA4BjC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bootstrapProvision = void 0;
|
|
4
|
+
const util_1 = require("alwaysai/lib/util");
|
|
5
|
+
const urls_1 = require("../infrastructure/urls");
|
|
6
|
+
const clean_certs_1 = require("../util/clean-certs");
|
|
7
|
+
const directories_1 = require("../util/directories");
|
|
8
|
+
const get_device_id_1 = require("../util/get-device-id");
|
|
9
|
+
const device_agent_1 = require("./device-agent");
|
|
10
|
+
function bootstrapProvision() {
|
|
11
|
+
setTimeout(clean_certs_1.rmBootstrapCertsAndClose, 60000);
|
|
12
|
+
const clientId = (0, get_device_id_1.getDeviceUuid)();
|
|
13
|
+
const bootstrapConfig = {
|
|
14
|
+
keyPath: (0, directories_1.BOOTSTRAP_DEVICE_PRIVATE_KEY_FILE_PATH)(),
|
|
15
|
+
certPath: (0, directories_1.BOOTSTRAP_DEVICE_CERTIFICATE_FILE_PATH)(),
|
|
16
|
+
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
|
|
17
|
+
clientId,
|
|
18
|
+
host: (0, urls_1.getIoTCoreEndpointUrl)()
|
|
19
|
+
};
|
|
20
|
+
const bootstrapAgent = new device_agent_1.BootstrapAgent(bootstrapConfig);
|
|
21
|
+
bootstrapAgent.subscribeToAllTopics();
|
|
22
|
+
bootstrapAgent.publishMessage('$aws/certificates/create/json', '');
|
|
23
|
+
bootstrapAgent.device.on('connect', () => {
|
|
24
|
+
util_1.logger.info('Your device is being provisioned');
|
|
25
|
+
});
|
|
26
|
+
bootstrapAgent.device.on('message', (topic, payload) => {
|
|
27
|
+
bootstrapAgent.handleAwsCertificateTopics(topic, payload);
|
|
28
|
+
});
|
|
29
|
+
bootstrapAgent.device.on('packetsend', (packet) => {
|
|
30
|
+
util_1.logger.debug(`Sending packet: ${JSON.stringify({ packet }, null, 2)}`);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
exports.bootstrapProvision = bootstrapProvision;
|
|
34
|
+
//# sourceMappingURL=bootstrap-provision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-provision.js","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,iDAA+D;AAC/D,qDAA+D;AAC/D,qDAI6B;AAC7B,yDAAsD;AACtD,iDAAgD;AAEhD,SAAgB,kBAAkB;IAChC,UAAU,CAAC,sCAAwB,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,IAAA,oDAAsC,GAAE;QACjD,QAAQ,EAAE,IAAA,oDAAsC,GAAE;QAClD,MAAM,EAAE,4CAA8B;QACtC,QAAQ;QACR,IAAI,EAAE,IAAA,4BAAqB,GAAE;KAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC,eAAe,CAAC,CAAC;IAC3D,cAAc,CAAC,oBAAoB,EAAE,CAAC;IAEtC,cAAc,CAAC,cAAc,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAEnE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACvC,aAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;QACrE,cAAc,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;QACrD,aAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,gDA4BC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare type CmdStatusType = 'idle' | 'in_progress';
|
|
2
|
+
export declare class CmdStatus {
|
|
3
|
+
private projectId;
|
|
4
|
+
private status;
|
|
5
|
+
constructor(projectId: string, status: CmdStatusType);
|
|
6
|
+
getProjectId(): string;
|
|
7
|
+
update(status: CmdStatusType): void;
|
|
8
|
+
getStatus(): CmdStatusType;
|
|
9
|
+
}
|
|
10
|
+
export declare class CmdStatusManager {
|
|
11
|
+
private apps;
|
|
12
|
+
update(projectId: string, status: CmdStatusType): void;
|
|
13
|
+
getAppCmdStatus(projectId: string): CmdStatusType;
|
|
14
|
+
anyCmdInProgress(): boolean;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cmd-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd-status.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAgB;gBAElB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAK7C,YAAY;IAIZ,MAAM,CAAC,MAAM,EAAE,aAAa;IAI5B,SAAS,IAAI,aAAa;CAGlC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA0C;IAE/C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAS/C,eAAe,CAAC,SAAS,EAAE,MAAM;IAOjC,gBAAgB;CAQxB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CmdStatusManager = exports.CmdStatus = void 0;
|
|
4
|
+
class CmdStatus {
|
|
5
|
+
constructor(projectId, status) {
|
|
6
|
+
this.projectId = projectId;
|
|
7
|
+
this.status = status;
|
|
8
|
+
}
|
|
9
|
+
getProjectId() {
|
|
10
|
+
return this.projectId;
|
|
11
|
+
}
|
|
12
|
+
update(status) {
|
|
13
|
+
this.status = status;
|
|
14
|
+
}
|
|
15
|
+
getStatus() {
|
|
16
|
+
return this.status;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.CmdStatus = CmdStatus;
|
|
20
|
+
class CmdStatusManager {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.apps = {};
|
|
23
|
+
}
|
|
24
|
+
update(projectId, status) {
|
|
25
|
+
if (projectId in this.apps) {
|
|
26
|
+
this.apps[projectId].update(status);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
const cmdStatus = new CmdStatus(projectId, status);
|
|
30
|
+
this.apps[projectId] = cmdStatus;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
getAppCmdStatus(projectId) {
|
|
34
|
+
if (projectId in this.apps) {
|
|
35
|
+
return this.apps[projectId].getStatus();
|
|
36
|
+
}
|
|
37
|
+
throw new Error(`No status for ${projectId}`);
|
|
38
|
+
}
|
|
39
|
+
anyCmdInProgress() {
|
|
40
|
+
for (const projectId in this.apps) {
|
|
41
|
+
if (this.apps[projectId].getStatus() === 'in_progress') {
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.CmdStatusManager = CmdStatusManager;
|
|
49
|
+
//# sourceMappingURL=cmd-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmd-status.js","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAIpB,YAAY,SAAiB,EAAE,MAAqB;QAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,MAAqB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AApBD,8BAoBC;AAED,MAAa,gBAAgB;IAA7B;QACU,SAAI,GAAuC,EAAE,CAAC;IA0BxD,CAAC;IAxBQ,MAAM,CAAC,SAAiB,EAAE,MAAqB;QACpD,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACrC;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;SAClC;IACH,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;SACzC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB;QACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,aAAa,EAAE;gBACtD,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3BD,4CA2BC"}
|
|
@@ -1,51 +1,38 @@
|
|
|
1
|
-
import { ClientMessage } from
|
|
1
|
+
import { ClientMessage } from '@alwaysai/device-agent-schemas';
|
|
2
|
+
import { ShadowTopics } from './shadow-handler';
|
|
3
|
+
import { Publisher } from './publisher';
|
|
4
|
+
import { CmdStatusType } from './cmd-status';
|
|
2
5
|
export declare class DeviceAgentCloudConnection {
|
|
6
|
+
private shadowHandler;
|
|
7
|
+
publisher: Publisher;
|
|
8
|
+
private cmdStatusMgr;
|
|
9
|
+
private liveUpdatesHandler;
|
|
10
|
+
private appInstallStatusMgr;
|
|
11
|
+
private device;
|
|
3
12
|
private clientId;
|
|
4
13
|
private host;
|
|
5
|
-
private appInstallStatus;
|
|
6
|
-
private liveUpdatesTimeout;
|
|
7
|
-
private liveUpdatesAlive;
|
|
8
|
-
private liveUpdatesSleepIntervals;
|
|
9
|
-
private appLogStreams;
|
|
10
|
-
private readonly shadowPrefix;
|
|
11
|
-
private readonly shadowTopics;
|
|
12
|
-
private readonly toCloudTopic;
|
|
13
|
-
private readonly toClientTopic;
|
|
14
14
|
private readonly toDeviceTopic;
|
|
15
|
-
|
|
16
|
-
private handleNamedShadowUpdate;
|
|
17
|
-
private startAppLogStream;
|
|
18
|
-
private initAppInstallStatus;
|
|
19
|
-
private updateAppInstallStatus;
|
|
20
|
-
private getAppInstallStatus;
|
|
21
|
-
private buildMessagePacket;
|
|
22
|
-
private getAppStateMessage;
|
|
23
|
-
private getDeviceStatsMessage;
|
|
24
|
-
private getAppInstallStatusMessage;
|
|
25
|
-
private startPublishingLiveUpdates;
|
|
26
|
-
private continuePublishing;
|
|
27
|
-
private getLiveUpdatesInterval;
|
|
28
|
-
private setLiveUpdates;
|
|
15
|
+
private newAppCfgQueue;
|
|
29
16
|
private handleAppStateControl;
|
|
30
17
|
private handleAppVersionControl;
|
|
31
18
|
private handleDeviceCommand;
|
|
32
19
|
private handleAgentCommand;
|
|
33
|
-
private restartLiveUpdatesTimeout;
|
|
34
|
-
private liveUpdatesBroker;
|
|
35
|
-
private publishReportedState;
|
|
36
20
|
private publishCloudRequest;
|
|
37
|
-
|
|
21
|
+
private subscribe;
|
|
22
|
+
private atomicApplicationUpdate;
|
|
23
|
+
private handleAppConfigUpdates;
|
|
38
24
|
constructor();
|
|
39
25
|
getClientId(): string;
|
|
40
|
-
|
|
41
|
-
|
|
26
|
+
getToDeviceTopic(): string;
|
|
27
|
+
getShadowTopics(): ShadowTopics;
|
|
28
|
+
getCmdStatus(projectId: string): CmdStatusType;
|
|
29
|
+
handleClientMessage({ topic, message }: {
|
|
42
30
|
topic: string;
|
|
43
31
|
message: ClientMessage;
|
|
44
32
|
}): Promise<void>;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}): Promise<void>;
|
|
33
|
+
handleMessage(topic: string, message: ClientMessage | any): Promise<void>;
|
|
34
|
+
setupHandlers(): Promise<void>;
|
|
35
|
+
stop(): void;
|
|
49
36
|
}
|
|
50
37
|
export declare function runDeviceAgentCloudInterface(): Promise<void>;
|
|
51
38
|
//# sourceMappingURL=device-agent-cloud-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAkC,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAoB,aAAa,EAAE,MAAM,cAAc,CAAC;AAI/D,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAgB;IAC9B,SAAS,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,kBAAkB;YAYZ,mBAAmB;IAIjC,OAAO,CAAC,SAAS;YAMH,uBAAuB;YAmDvB,sBAAsB;;IAqE7B,WAAW,IAAI,MAAM;IAIrB,gBAAgB;IAIhB,eAAe,IAAI,YAAY;IAI/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIxC,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB;IAuFY,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,GAAG;IAsBzD,aAAa;IAuCnB,IAAI;CAGZ;AAED,wBAAsB,4BAA4B,kBAsBjD"}
|