@alwaysai/device-agent 2.0.2-0 → 2.1.0-0
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/config.js +1 -1
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/install.d.ts.map +1 -1
- package/lib/application-control/install.js +7 -3
- package/lib/application-control/install.js.map +1 -1
- package/lib/cloud-connection/base-message-handler.d.ts.map +1 -1
- package/lib/cloud-connection/base-message-handler.js +5 -4
- package/lib/cloud-connection/base-message-handler.js.map +1 -1
- package/lib/cloud-connection/bootstrap-agent.d.ts +16 -0
- package/lib/cloud-connection/bootstrap-agent.d.ts.map +1 -0
- package/lib/cloud-connection/{device-agent.js → bootstrap-agent.js} +45 -22
- package/lib/cloud-connection/bootstrap-agent.js.map +1 -0
- package/lib/cloud-connection/connection-manager.d.ts +20 -9
- package/lib/cloud-connection/connection-manager.d.ts.map +1 -1
- package/lib/cloud-connection/connection-manager.js +97 -68
- package/lib/cloud-connection/connection-manager.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +3 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +62 -50
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-message-handler.js +19 -18
- package/lib/cloud-connection/device-agent-message-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +11 -4
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/passthrough-handler.d.ts +3 -3
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
- package/lib/cloud-connection/passthrough-handler.js +105 -79
- package/lib/cloud-connection/passthrough-handler.js.map +1 -1
- package/lib/cloud-connection/publisher.d.ts +1 -1
- package/lib/cloud-connection/publisher.d.ts.map +1 -1
- package/lib/cloud-connection/publisher.js +22 -20
- package/lib/cloud-connection/publisher.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +3 -3
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow.d.ts.map +1 -1
- package/lib/cloud-connection/shadow.js +1 -1
- package/lib/cloud-connection/shadow.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
- package/lib/cloud-connection/transaction-manager.js +17 -7
- package/lib/cloud-connection/transaction-manager.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.test.js +52 -44
- package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
- package/lib/device-control/device-control.d.ts.map +1 -1
- package/lib/device-control/device-control.js +13 -9
- package/lib/device-control/device-control.js.map +1 -1
- package/lib/docker/docker-compose.d.ts.map +1 -1
- package/lib/docker/docker-compose.js +1 -1
- package/lib/docker/docker-compose.js.map +1 -1
- package/lib/environment.d.ts +3 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +12 -1
- package/lib/environment.js.map +1 -1
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/config-check-utility.js +2 -2
- package/lib/infrastructure/config-check-utility.js.map +1 -1
- package/lib/infrastructure/legacy-migration/legacy-migration.d.ts.map +1 -1
- package/lib/infrastructure/legacy-migration/legacy-migration.js +6 -10
- package/lib/infrastructure/legacy-migration/legacy-migration.js.map +1 -1
- package/lib/jobs/job-handler.d.ts +1 -1
- package/lib/jobs/job-handler.d.ts.map +1 -1
- package/lib/jobs/job-handler.js +4 -4
- package/lib/jobs/job-handler.js.map +1 -1
- package/lib/local-connection/rabbitmq-container.d.ts +6 -0
- package/lib/local-connection/rabbitmq-container.d.ts.map +1 -0
- package/lib/local-connection/rabbitmq-container.js +111 -0
- package/lib/local-connection/rabbitmq-container.js.map +1 -0
- package/lib/local-connection/rabbitmq-container.test.d.ts +2 -0
- package/lib/local-connection/rabbitmq-container.test.d.ts.map +1 -0
- package/lib/local-connection/rabbitmq-container.test.js +219 -0
- package/lib/local-connection/rabbitmq-container.test.js.map +1 -0
- package/lib/subcommands/app/analytics.d.ts.map +1 -1
- package/lib/subcommands/app/analytics.js +2 -3
- package/lib/subcommands/app/analytics.js.map +1 -1
- package/lib/subcommands/app/env-vars.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.js +4 -6
- package/lib/subcommands/app/env-vars.js.map +1 -1
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +2 -3
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/shadow.d.ts.map +1 -1
- package/lib/subcommands/app/shadow.js +4 -6
- package/lib/subcommands/app/shadow.js.map +1 -1
- package/lib/subcommands/app/version.d.ts.map +1 -1
- package/lib/subcommands/app/version.js +6 -9
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/subcommands/device/clean.d.ts.map +1 -1
- package/lib/subcommands/device/clean.js +15 -17
- package/lib/subcommands/device/clean.js.map +1 -1
- package/lib/subcommands/device/index.d.ts.map +1 -1
- package/lib/subcommands/device/index.js +3 -1
- package/lib/subcommands/device/index.js.map +1 -1
- package/lib/subcommands/device/local-connection.d.ts +2 -0
- package/lib/subcommands/device/local-connection.d.ts.map +1 -0
- package/lib/subcommands/device/local-connection.js +17 -0
- package/lib/subcommands/device/local-connection.js.map +1 -0
- package/lib/subcommands/index.d.ts +4 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/index.js +1 -3
- package/lib/subcommands/index.js.map +1 -1
- package/lib/util/check-for-updates.d.ts.map +1 -1
- package/lib/util/check-for-updates.js +2 -2
- package/lib/util/check-for-updates.js.map +1 -1
- package/lib/util/file.d.ts.map +1 -1
- package/lib/util/file.js +6 -1
- package/lib/util/file.js.map +1 -1
- package/lib/util/file.test.js +1 -1
- package/lib/util/file.test.js.map +1 -1
- package/lib/util/get-device-id.d.ts.map +1 -1
- package/lib/util/get-device-id.js +1 -1
- package/lib/util/get-device-id.js.map +1 -1
- package/package.json +3 -3
- package/readme.md +16 -4
- package/src/application-control/config.ts +1 -1
- package/src/application-control/install.ts +11 -5
- package/src/cloud-connection/base-message-handler.ts +10 -5
- package/src/cloud-connection/{device-agent.ts → bootstrap-agent.ts} +68 -35
- package/src/cloud-connection/connection-manager.ts +160 -82
- package/src/cloud-connection/device-agent-cloud-connection.ts +108 -98
- package/src/cloud-connection/device-agent-message-handler.ts +10 -7
- package/src/cloud-connection/live-updates-handler.ts +12 -5
- package/src/cloud-connection/passthrough-handler.ts +137 -92
- package/src/cloud-connection/publisher.ts +30 -28
- package/src/cloud-connection/shadow-handler.ts +3 -3
- package/src/cloud-connection/shadow.ts +3 -1
- package/src/cloud-connection/transaction-manager.test.ts +60 -41
- package/src/cloud-connection/transaction-manager.ts +26 -12
- package/src/device-control/device-control.ts +23 -13
- package/src/docker/docker-compose.ts +3 -1
- package/src/environment.ts +17 -0
- package/src/index.ts +19 -0
- package/src/infrastructure/config-check-utility.ts +2 -2
- package/src/infrastructure/legacy-migration/legacy-migration.ts +8 -13
- package/src/jobs/job-handler.ts +4 -4
- package/src/local-connection/rabbitmq-container.test.ts +255 -0
- package/src/local-connection/rabbitmq-container.ts +151 -0
- package/src/subcommands/app/analytics.ts +2 -3
- package/src/subcommands/app/env-vars.ts +4 -6
- package/src/subcommands/app/models.ts +2 -3
- package/src/subcommands/app/shadow.ts +4 -6
- package/src/subcommands/app/version.ts +7 -8
- package/src/subcommands/device/clean.ts +20 -19
- package/src/subcommands/device/index.ts +3 -1
- package/src/subcommands/device/local-connection.ts +16 -0
- package/src/subcommands/index.ts +1 -3
- package/src/util/check-for-updates.ts +4 -2
- package/src/util/file.test.ts +1 -1
- package/src/util/file.ts +7 -1
- package/src/util/get-device-id.ts +3 -1
- package/lib/cloud-connection/bootstrap-provision.d.ts +0 -2
- package/lib/cloud-connection/bootstrap-provision.d.ts.map +0 -1
- package/lib/cloud-connection/bootstrap-provision.js +0 -35
- package/lib/cloud-connection/bootstrap-provision.js.map +0 -1
- package/lib/cloud-connection/device-agent.d.ts +0 -21
- package/lib/cloud-connection/device-agent.d.ts.map +0 -1
- package/lib/cloud-connection/device-agent.js.map +0 -1
- package/lib/local-connection/rabbitmq-connection.d.ts +0 -7
- package/lib/local-connection/rabbitmq-connection.d.ts.map +0 -1
- package/lib/local-connection/rabbitmq-connection.js +0 -95
- package/lib/local-connection/rabbitmq-connection.js.map +0 -1
- package/lib/subcommands/rabbitmq-connection.d.ts +0 -2
- package/lib/subcommands/rabbitmq-connection.d.ts.map +0 -1
- package/lib/subcommands/rabbitmq-connection.js +0 -14
- package/lib/subcommands/rabbitmq-connection.js.map +0 -1
- package/lib/util/clean-certs.d.ts +0 -2
- package/lib/util/clean-certs.d.ts.map +0 -1
- package/lib/util/clean-certs.js +0 -17
- package/lib/util/clean-certs.js.map +0 -1
- package/src/cloud-connection/bootstrap-provision.ts +0 -43
- package/src/local-connection/rabbitmq-connection.ts +0 -124
- package/src/subcommands/rabbitmq-connection.ts +0 -11
- package/src/util/clean-certs.ts +0 -16
|
@@ -93,7 +93,7 @@ async function writeDockerCompose(props) {
|
|
|
93
93
|
await docker_compose_1.compose.config({ cwd: appDir, configAsString: composeOutput });
|
|
94
94
|
}
|
|
95
95
|
catch (e) {
|
|
96
|
-
logger_1.logger.error((0, util_1.stringifyError)(e));
|
|
96
|
+
logger_1.logger.error(`Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
97
97
|
}
|
|
98
98
|
await spawner.writeFile('docker-compose.yaml', composeOutput);
|
|
99
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/application-control/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AA6BrE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAGhE,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAQ9D;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGhB;AA0FD,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhB"}
|
|
@@ -20,6 +20,7 @@ const config_1 = require("./config");
|
|
|
20
20
|
const constants_2 = require("../local-connection/constants");
|
|
21
21
|
const paths_1 = require("alwaysai/lib/paths");
|
|
22
22
|
const file_1 = require("../util/file");
|
|
23
|
+
const environment_1 = require("../environment");
|
|
23
24
|
const environment_variables_1 = require("./environment-variables");
|
|
24
25
|
async function getInstalledApps() {
|
|
25
26
|
const apps = await (0, agent_config_1.AgentConfigFile)().getApps();
|
|
@@ -48,7 +49,7 @@ async function installApp(props) {
|
|
|
48
49
|
await (0, status_1.stopApp)({ projectId });
|
|
49
50
|
}
|
|
50
51
|
catch (e) {
|
|
51
|
-
logger_1.logger.error(`Could not stop the application. Old container might still be present after installation
|
|
52
|
+
logger_1.logger.error(`Could not stop the application. Old container might still be present after installation. Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
await (0, agent_config_1.AgentConfigFile)().setAppInstalling({
|
|
@@ -161,6 +162,7 @@ async function unPackApp(props) {
|
|
|
161
162
|
await spawner.rimraf(localDest);
|
|
162
163
|
}
|
|
163
164
|
async function checkValidProjectFiles({ appDir }) {
|
|
165
|
+
var _a;
|
|
164
166
|
if (!(0, project_1.ProjectJsonFile)(appDir).readIfExists()) {
|
|
165
167
|
throw new Error('Project JSON file does not exist!');
|
|
166
168
|
}
|
|
@@ -172,10 +174,12 @@ async function checkValidProjectFiles({ appDir }) {
|
|
|
172
174
|
if (!fs.existsSync(path.join(appDir, paths_1.DOCKERFILE))) {
|
|
173
175
|
throw new Error('No Dockerfile found for application!');
|
|
174
176
|
}
|
|
177
|
+
const targetHw = (_a = (0, environment_1.parseTargetHW)(environment_1.ALWAYSAI_TARGET_HW_OVERRIDE)) !== null && _a !== void 0 ? _a : (await (0, app_1.getTargetHardwareType)({}));
|
|
178
|
+
logger_1.logger.debug(`Target Hardware selected to: ${targetHw}`);
|
|
175
179
|
(0, app_1.TargetJsonFile)(appDir).write({
|
|
176
180
|
targetProtocol: 'docker:',
|
|
177
181
|
dockerImageId: constants_1.DOCKER_IMAGE_ID_INITIAL_VALUE,
|
|
178
|
-
targetHardware:
|
|
182
|
+
targetHardware: targetHw
|
|
179
183
|
});
|
|
180
184
|
}
|
|
181
185
|
async function uninstallApp(props) {
|
|
@@ -190,7 +194,7 @@ async function uninstallApp(props) {
|
|
|
190
194
|
await (0, status_1.stopApp)({ projectId });
|
|
191
195
|
}
|
|
192
196
|
catch (e) {
|
|
193
|
-
logger_1.logger.warn(`Failed to stop ${projectId}, may be left running
|
|
197
|
+
logger_1.logger.warn(`Failed to stop ${projectId}, may be left running... Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
194
198
|
}
|
|
195
199
|
await (0, agent_config_1.AgentConfigFile)().setAppUninstalled({ projectId });
|
|
196
200
|
// Delete application directory and backup
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yBAAyB;AACzB,6BAA6B;AAC7B,qDAA4D;AAC5D,4CAAuE;AACvE,mCAA8C;AAE9C,qCAAsC;AACtC,qCAA2D;AAC3D,iEAAiE;AACjE,uDAA4D;AAC5D,+
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-message-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/base-message-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-message-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/base-message-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,mBAAmB,EAAE,4BAA4B,CAAC;CACnD;AAED,8BAAsB,WAAW;IAC/B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACrC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAC/B,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IAC5D,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAC3C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;gBAG7C,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,aAAa,EACvB,SAAS,CAAC,EAAE,eAAe;cAYb,0BAA0B,CAAC,SAAS,EAAE,MAAM;cAY5C,uBAAuB,CAAC,CAAC,SAAS,MAAM,GAAG,EACzD,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,gBAAgB,CAAC,EAAE,OAAO,GACzB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;CAwD1B"}
|
|
@@ -6,6 +6,7 @@ const application_control_1 = require("../application-control");
|
|
|
6
6
|
const backup_1 = require("../application-control/backup");
|
|
7
7
|
const agent_config_1 = require("../infrastructure/agent-config");
|
|
8
8
|
const aai_error_1 = require("../util/aai-error");
|
|
9
|
+
const logger_1 = require("../util/logger");
|
|
9
10
|
class BaseHandler {
|
|
10
11
|
constructor(context, errorFn, successFn) {
|
|
11
12
|
this.clientId = context.clientId;
|
|
@@ -23,7 +24,7 @@ class BaseHandler {
|
|
|
23
24
|
this.shadowHandler.clearProjectShadow(projectId);
|
|
24
25
|
}
|
|
25
26
|
catch (e) {
|
|
26
|
-
|
|
27
|
+
logger_1.logger.error(`Failed to uninstall ${projectId}! Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
27
28
|
throw e;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
@@ -38,7 +39,7 @@ class BaseHandler {
|
|
|
38
39
|
await (0, backup_1.createAppBackup)({ projectId });
|
|
39
40
|
}
|
|
40
41
|
catch (e) {
|
|
41
|
-
|
|
42
|
+
logger_1.logger.error(`Could not create a backup for the project: ${projectId}! Error:\n${(0, util_1.stringifyError)(e)}`);
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
try {
|
|
@@ -48,13 +49,13 @@ class BaseHandler {
|
|
|
48
49
|
return out;
|
|
49
50
|
}
|
|
50
51
|
catch (errorAppUpdate) {
|
|
51
|
-
|
|
52
|
+
logger_1.logger.error(`Failed to update ${projectId}! Error:\n${(0, util_1.stringifyError)(errorAppUpdate)}`);
|
|
52
53
|
// If something goes wrong, first try to rollback
|
|
53
54
|
try {
|
|
54
55
|
await (0, application_control_1.rollbackApp)({ projectId });
|
|
55
56
|
}
|
|
56
57
|
catch (errorRollbackApp) {
|
|
57
|
-
|
|
58
|
+
logger_1.logger.error(`Application rollback failed for ${projectId}! Error:\n${(0, util_1.stringifyError)(errorRollbackApp)}`);
|
|
58
59
|
// and if that fails, uninstall the app as a last resort.
|
|
59
60
|
try {
|
|
60
61
|
await this.atomicApplicationUninstall(projectId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-message-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/base-message-handler.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base-message-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/base-message-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { MessageHandler } from './message-dispatcher';
|
|
2
|
+
export declare class BootstrapAgent implements MessageHandler {
|
|
3
|
+
private connectionManager;
|
|
4
|
+
private publisher;
|
|
5
|
+
private readonly clientId;
|
|
6
|
+
private readonly host;
|
|
7
|
+
private readonly port;
|
|
8
|
+
constructor();
|
|
9
|
+
hardwareId: () => Promise<string>;
|
|
10
|
+
deviceId: string;
|
|
11
|
+
deviceType: string;
|
|
12
|
+
publishMessage(topic: string, message: string): void;
|
|
13
|
+
handle(payload: any, topic: string): Promise<void>;
|
|
14
|
+
bootstrapProvision(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=bootstrap-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-agent.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-agent.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAsBtD,qBAAa,cAAe,YAAW,cAAc;IACnD,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;;IAoBtB,UAAU,wBAAwD;IAClE,QAAQ,SAAmB;IAC3B,UAAU,SAAgB;IAE1B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIvC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM;IA0DlC,kBAAkB;CA6BhC"}
|
|
@@ -1,39 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BootstrapAgent =
|
|
4
|
-
// eslint-disable-next-line
|
|
5
|
-
const awsIot = require('aws-iot-device-sdk');
|
|
3
|
+
exports.BootstrapAgent = void 0;
|
|
6
4
|
const app_1 = require("alwaysai/lib/core/app");
|
|
7
5
|
const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
8
6
|
const util_1 = require("alwaysai/lib/util");
|
|
9
7
|
const device_certificate_1 = require("../infrastructure/device-certificate");
|
|
10
8
|
const get_device_id_1 = require("../util/get-device-id");
|
|
11
9
|
const logger_1 = require("../util/logger");
|
|
10
|
+
const connection_manager_1 = require("./connection-manager");
|
|
11
|
+
const publisher_1 = require("./publisher");
|
|
12
|
+
const device_certificate_2 = require("../infrastructure/device-certificate");
|
|
13
|
+
const urls_1 = require("../infrastructure/urls");
|
|
14
|
+
``;
|
|
15
|
+
const directories_1 = require("../util/directories");
|
|
12
16
|
// eslint-disable-next-line
|
|
13
17
|
const process = require('process');
|
|
14
|
-
class
|
|
15
|
-
constructor(
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
+
class BootstrapAgent {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.clientId = (0, get_device_id_1.getDeviceUuid)();
|
|
21
|
+
this.host = (0, urls_1.getIoTCoreEndpointUrl)();
|
|
22
|
+
this.port = 8883;
|
|
18
23
|
this.hardwareId = async () => await (0, app_1.getTargetHardwareUuid)((0, util_1.JsSpawner)());
|
|
19
24
|
this.deviceId = (0, get_device_id_1.getDeviceUuid)();
|
|
20
|
-
this.
|
|
25
|
+
this.deviceType = 'aai-device';
|
|
26
|
+
// Initialize & setup the connection
|
|
27
|
+
const bootstrapAgentConfig = {
|
|
28
|
+
clientId: this.clientId,
|
|
29
|
+
host: this.host,
|
|
30
|
+
port: this.port,
|
|
31
|
+
keyPath: (0, device_certificate_2.getBootstrapPrivateKeyFilePath)(),
|
|
32
|
+
certPath: (0, device_certificate_2.getBootstrapCertificateFilePath)(),
|
|
33
|
+
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH
|
|
34
|
+
};
|
|
35
|
+
this.connectionManager = new connection_manager_1.ConnectionManager(bootstrapAgentConfig);
|
|
36
|
+
this.publisher = new publisher_1.Publisher(this.connectionManager, bootstrapAgentConfig.clientId);
|
|
21
37
|
}
|
|
22
38
|
publishMessage(topic, message) {
|
|
23
|
-
this.
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.DeviceAgent = DeviceAgent;
|
|
27
|
-
class BootstrapAgent extends DeviceAgent {
|
|
28
|
-
async subscribeToAllTopics() {
|
|
29
|
-
const AWS_CERTIFICATE_ACCEPT_TOPIC = '$aws/certificates/create/json/accepted';
|
|
30
|
-
const PROVISIONING_ACCEPTED_TOPIC = '$aws/provisioning-templates/FleetProvisionTemplate/provision/json/accepted';
|
|
31
|
-
const topics = [AWS_CERTIFICATE_ACCEPT_TOPIC, PROVISIONING_ACCEPTED_TOPIC];
|
|
32
|
-
const resp = this.device.subscribe(topics, function (err, granted) {
|
|
33
|
-
logger_1.logger.debug(`Bootstrap Agent: ${JSON.stringify(granted, null, 2)}`);
|
|
34
|
-
});
|
|
39
|
+
this.publisher.publish(topic, message);
|
|
35
40
|
}
|
|
36
|
-
async
|
|
41
|
+
async handle(payload, topic) {
|
|
37
42
|
switch (topic) {
|
|
38
43
|
case '$aws/certificates/create/json/accepted': {
|
|
39
44
|
logger_1.logger.debug(`Received Certs: ${JSON.stringify(JSON.parse(payload), null, 2)}`);
|
|
@@ -63,6 +68,24 @@ class BootstrapAgent extends DeviceAgent {
|
|
|
63
68
|
}
|
|
64
69
|
}
|
|
65
70
|
}
|
|
71
|
+
async bootstrapProvision() {
|
|
72
|
+
const rmBootstrapCertsAndClose = async () => {
|
|
73
|
+
const deviceCertificates = new infrastructure_1.LocalDeviceCertificates();
|
|
74
|
+
const spawner = (0, util_1.JsSpawner)();
|
|
75
|
+
await spawner.rimraf((0, device_certificate_1.getBootstrapCertificateDirectoryPath)());
|
|
76
|
+
await spawner.rimraf(deviceCertificates.getCertificateDirectoryPath());
|
|
77
|
+
logger_1.logger.error('Could not provision device. Try again.');
|
|
78
|
+
process.exit(1);
|
|
79
|
+
};
|
|
80
|
+
setTimeout(rmBootstrapCertsAndClose, 60000);
|
|
81
|
+
this.connectionManager.initConnectionHandlers(() => {
|
|
82
|
+
logger_1.logger.info('Your device is being provisioned');
|
|
83
|
+
});
|
|
84
|
+
await this.connectionManager.waitForConnection();
|
|
85
|
+
this.connectionManager.registerHandler('$aws/certificates/create/json/accepted', this);
|
|
86
|
+
this.connectionManager.registerHandler('$aws/provisioning-templates/FleetProvisionTemplate/provision/json/accepted', this);
|
|
87
|
+
this.publishMessage('$aws/certificates/create/json', '{}');
|
|
88
|
+
}
|
|
66
89
|
}
|
|
67
90
|
exports.BootstrapAgent = BootstrapAgent;
|
|
68
|
-
//# sourceMappingURL=
|
|
91
|
+
//# sourceMappingURL=bootstrap-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap-agent.js","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,31 @@
|
|
|
1
|
+
import { mqtt5 } from 'aws-iot-device-sdk-v2';
|
|
1
2
|
import { MessageDispatcher, MessageHandler } from './message-dispatcher';
|
|
3
|
+
export interface DeviceAgentConfigType {
|
|
4
|
+
clientId: string;
|
|
5
|
+
host: string;
|
|
6
|
+
port: number;
|
|
7
|
+
keyPath?: string;
|
|
8
|
+
certPath?: string;
|
|
9
|
+
caPath?: string;
|
|
10
|
+
}
|
|
2
11
|
export declare class ConnectionManager extends MessageDispatcher<any> {
|
|
3
12
|
private clientId;
|
|
4
13
|
private host;
|
|
5
14
|
private port;
|
|
6
|
-
private
|
|
15
|
+
private config;
|
|
16
|
+
private client;
|
|
7
17
|
private subscribedTopics;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
18
|
+
private connected;
|
|
19
|
+
readonly qos: mqtt5.QoS;
|
|
20
|
+
constructor(deviceAgentConfig: DeviceAgentConfigType);
|
|
21
|
+
getIoTDevice(): mqtt5.Mqtt5Client;
|
|
11
22
|
isConnected(): boolean;
|
|
12
23
|
registerHandler(topic: string, handler: MessageHandler): void;
|
|
13
|
-
disconnect(): void
|
|
14
|
-
subscribe(topic: string): void
|
|
15
|
-
unsubscribe(topic: string): void
|
|
16
|
-
|
|
17
|
-
|
|
24
|
+
disconnect(): Promise<void>;
|
|
25
|
+
subscribe(topic: string): Promise<void>;
|
|
26
|
+
unsubscribe(topic: string): Promise<void>;
|
|
27
|
+
initConnectionHandlers(connectCallback: () => void): void;
|
|
28
|
+
waitForConnection(timeoutMs?: number): Promise<void>;
|
|
18
29
|
private logConnectionInfo;
|
|
19
30
|
}
|
|
20
31
|
//# sourceMappingURL=connection-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/connection-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"connection-manager.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/connection-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAO,MAAM,uBAAuB,CAAC;AAUnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAMzE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB,CAAC,GAAG,CAAC;IAC3D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,SAAS,CAAS;IAC1B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;gBAEZ,iBAAiB,EAAE,qBAAqB;IAgC7C,YAAY;IAIZ,WAAW,IAAI,OAAO;IAItB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc;IAKhD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,sBAAsB,CAAC,eAAe,EAAE,MAAM,IAAI,GAAG,IAAI;IAkFzD,iBAAiB,CAAC,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;YA4B5C,iBAAiB;CAoDhC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConnectionManager = void 0;
|
|
4
|
-
const
|
|
4
|
+
const aws_iot_device_sdk_v2_1 = require("aws-iot-device-sdk-v2");
|
|
5
5
|
const infrastructure_1 = require("alwaysai/lib/infrastructure");
|
|
6
6
|
const directories_1 = require("../util/directories");
|
|
7
7
|
const util_1 = require("alwaysai/lib/util");
|
|
@@ -9,108 +9,137 @@ const logger_1 = require("../util/logger");
|
|
|
9
9
|
const util_2 = require("util");
|
|
10
10
|
const child_process_1 = require("child_process");
|
|
11
11
|
const message_dispatcher_1 = require("./message-dispatcher");
|
|
12
|
+
const events_1 = require("events");
|
|
12
13
|
const exec_promise = (0, util_2.promisify)(child_process_1.exec);
|
|
13
14
|
class ConnectionManager extends message_dispatcher_1.MessageDispatcher {
|
|
14
|
-
constructor(
|
|
15
|
+
constructor(deviceAgentConfig) {
|
|
15
16
|
super();
|
|
16
|
-
this.device = null;
|
|
17
17
|
this.subscribedTopics = new Set();
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
this.
|
|
18
|
+
this.connected = false;
|
|
19
|
+
// Use config values if provided, otherwise use defaults
|
|
20
|
+
this.clientId = deviceAgentConfig.clientId;
|
|
21
|
+
this.host = deviceAgentConfig.host;
|
|
22
|
+
this.port = deviceAgentConfig.port;
|
|
23
|
+
this.qos = aws_iot_device_sdk_v2_1.mqtt5.QoS.AtLeastOnce;
|
|
24
|
+
const certPath = deviceAgentConfig.certPath || infrastructure_1.DEVICE_CERTIFICATE_FILE_PATH;
|
|
25
|
+
const keyPath = deviceAgentConfig.keyPath || infrastructure_1.DEVICE_PRIVATE_KEY_FILE_PATH;
|
|
26
|
+
const caPath = deviceAgentConfig.caPath || directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH;
|
|
27
|
+
const builder = aws_iot_device_sdk_v2_1.iot.AwsIotMqtt5ClientConfigBuilder.newDirectMqttBuilderWithMtlsFromPath(this.host, certPath, keyPath);
|
|
28
|
+
builder.withConnectProperties({
|
|
29
|
+
clientId: this.clientId,
|
|
30
|
+
keepAliveIntervalSeconds: 10
|
|
31
|
+
});
|
|
32
|
+
builder.withCertificateAuthorityFromPath(undefined, caPath);
|
|
33
|
+
this.config = builder.build();
|
|
34
|
+
this.client = new aws_iot_device_sdk_v2_1.mqtt5.Mqtt5Client(this.config);
|
|
35
|
+
this.client.start();
|
|
21
36
|
}
|
|
22
37
|
getIoTDevice() {
|
|
23
|
-
return this.
|
|
24
|
-
}
|
|
25
|
-
connect(cb) {
|
|
26
|
-
try {
|
|
27
|
-
this.device = awsIot.device({
|
|
28
|
-
keyPath: infrastructure_1.DEVICE_PRIVATE_KEY_FILE_PATH,
|
|
29
|
-
certPath: infrastructure_1.DEVICE_CERTIFICATE_FILE_PATH,
|
|
30
|
-
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
|
|
31
|
-
clientId: this.clientId,
|
|
32
|
-
host: this.host,
|
|
33
|
-
port: this.port,
|
|
34
|
-
keepalive: 10 // time before re-connect attempt on dropped connection, default is 400 seconds
|
|
35
|
-
});
|
|
36
|
-
this.setupHandlers(cb);
|
|
37
|
-
}
|
|
38
|
-
catch (error) {
|
|
39
|
-
logger_1.logger.error(`Error connecting to cloud!\n${(0, util_1.stringifyError)(error)}`);
|
|
40
|
-
this.handleReconnection();
|
|
41
|
-
}
|
|
38
|
+
return this.client;
|
|
42
39
|
}
|
|
43
40
|
isConnected() {
|
|
44
|
-
return this.
|
|
41
|
+
return this.connected;
|
|
45
42
|
}
|
|
46
43
|
registerHandler(topic, handler) {
|
|
47
44
|
super.registerHandler(topic, handler);
|
|
48
|
-
this.subscribe(topic);
|
|
45
|
+
void this.subscribe(topic);
|
|
49
46
|
}
|
|
50
|
-
disconnect() {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
47
|
+
async disconnect() {
|
|
48
|
+
const stopped = (0, events_1.once)(this.client, aws_iot_device_sdk_v2_1.mqtt5.Mqtt5Client.STOPPED);
|
|
49
|
+
this.client.stop();
|
|
50
|
+
await stopped;
|
|
51
|
+
logger_1.logger.debug(`Device Agent has been disconnected from the AWS IoT Core.`);
|
|
55
52
|
}
|
|
56
|
-
subscribe(topic) {
|
|
57
|
-
if (!this.device) {
|
|
58
|
-
throw new Error('Must call connect() before subscribe()!');
|
|
59
|
-
}
|
|
53
|
+
async subscribe(topic) {
|
|
60
54
|
if (!this.subscribedTopics.has(topic)) {
|
|
61
|
-
this.
|
|
55
|
+
const suback = await this.client.subscribe({
|
|
56
|
+
subscriptions: [{ qos: aws_iot_device_sdk_v2_1.mqtt5.QoS.AtLeastOnce, topicFilter: topic }]
|
|
57
|
+
});
|
|
62
58
|
this.subscribedTopics.add(topic);
|
|
63
|
-
logger_1.logger.debug(`Subscribed to topic: ${topic}`);
|
|
59
|
+
logger_1.logger.debug(`Subscribed to topic: ${topic}, result: ${JSON.stringify(suback)}`);
|
|
64
60
|
}
|
|
65
61
|
}
|
|
66
|
-
unsubscribe(topic) {
|
|
67
|
-
if (!this.device) {
|
|
68
|
-
throw new Error('Must call connect() before unsubscribe()!');
|
|
69
|
-
}
|
|
62
|
+
async unsubscribe(topic) {
|
|
70
63
|
if (this.subscribedTopics.has(topic)) {
|
|
71
|
-
this.
|
|
64
|
+
const unsuback = await this.client.unsubscribe({
|
|
65
|
+
topicFilters: [topic]
|
|
66
|
+
});
|
|
67
|
+
logger_1.logger.debug(`Unsubscribed from topic: ${topic}, result: ${JSON.stringify(unsuback)}`);
|
|
72
68
|
this.subscribedTopics.delete(topic);
|
|
73
|
-
logger_1.logger.debug(`Unsubscribed from topic: ${topic}`);
|
|
74
69
|
}
|
|
75
70
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
setupHandlers(cb) {
|
|
83
|
-
this.device.on('connect', (connack) => {
|
|
71
|
+
initConnectionHandlers(connectCallback) {
|
|
72
|
+
this.client.on('attemptingConnect', () => {
|
|
73
|
+
logger_1.logger.debug(`Device Agent is attempting connection`);
|
|
74
|
+
});
|
|
75
|
+
this.client.on('connectionSuccess', (eventData) => {
|
|
84
76
|
logger_1.logger.info('Device Agent has connected to the cloud.');
|
|
85
|
-
|
|
77
|
+
logger_1.logger.debug(`Connack: ${JSON.stringify(eventData.connack)}`);
|
|
78
|
+
logger_1.logger.debug(`Settings: ${JSON.stringify(eventData.settings)}`);
|
|
79
|
+
this.connected = true;
|
|
80
|
+
connectCallback();
|
|
86
81
|
});
|
|
87
|
-
this.
|
|
82
|
+
this.client.on('disconnection', (eventData) => {
|
|
88
83
|
logger_1.logger.warn('Device Agent has been disconnected from the cloud');
|
|
84
|
+
logger_1.logger.warn(`Disconnection event: ${eventData.error.toString()}`);
|
|
85
|
+
if (eventData.disconnect !== undefined) {
|
|
86
|
+
logger_1.logger.debug('Disconnect packet: ' + JSON.stringify(eventData.disconnect));
|
|
87
|
+
}
|
|
88
|
+
this.connected = false;
|
|
89
89
|
});
|
|
90
|
-
this.
|
|
91
|
-
logger_1.logger.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
this.client.on('connectionFailure', (eventData) => {
|
|
91
|
+
logger_1.logger.error(`Error connecting to the AWS IoT Core! Disconnection event: ${eventData.error.toString()}`);
|
|
92
|
+
if (eventData.connack) {
|
|
93
|
+
logger_1.logger.debug('Disconnect packet: ' + JSON.stringify(eventData.connack));
|
|
94
|
+
}
|
|
95
|
+
this.connected = false;
|
|
95
96
|
});
|
|
96
|
-
this.
|
|
97
|
-
logger_1.logger.
|
|
97
|
+
this.client.on('error', (error) => {
|
|
98
|
+
logger_1.logger.error(`Error connecting to the AWS IoT Core! Error:\n${(0, util_1.stringifyError)(error)}`);
|
|
99
|
+
this.connected = false;
|
|
98
100
|
});
|
|
99
|
-
this.
|
|
100
|
-
logger_1.logger.warn(`Device Agent
|
|
101
|
+
this.client.on('stopped', () => {
|
|
102
|
+
logger_1.logger.warn(`Device Agent has stopped ${new Date().toLocaleString()}`);
|
|
101
103
|
void this.logConnectionInfo();
|
|
104
|
+
this.connected = false;
|
|
102
105
|
});
|
|
103
|
-
this.
|
|
104
|
-
|
|
106
|
+
this.client.on('messageReceived', (eventData) => {
|
|
107
|
+
const topic = eventData.message.topicName;
|
|
108
|
+
const payloadBuffer = eventData.message.payload;
|
|
105
109
|
try {
|
|
106
|
-
const
|
|
107
|
-
|
|
110
|
+
const payloadString = payloadBuffer
|
|
111
|
+
? Buffer.from(new Uint8Array(payloadBuffer)).toString('utf-8')
|
|
112
|
+
: null;
|
|
113
|
+
logger_1.logger.debug(`Message received on topic: ${topic}:\n${payloadString}`);
|
|
114
|
+
this.dispatch(eventData.message.topicName, payloadString);
|
|
108
115
|
}
|
|
109
116
|
catch (e) {
|
|
110
|
-
logger_1.logger.error(`Error parsing message
|
|
117
|
+
logger_1.logger.error(`Error parsing message on topic ${eventData.message.topicName}!:\n${(0, util_1.stringifyError)(e)}`);
|
|
111
118
|
}
|
|
112
119
|
});
|
|
113
120
|
}
|
|
121
|
+
waitForConnection(timeoutMs = 10000) {
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
if (this.connected) {
|
|
124
|
+
return resolve(); // already connected
|
|
125
|
+
}
|
|
126
|
+
const timeout = setTimeout(() => {
|
|
127
|
+
reject(new Error('Timed out waiting for MQTT connection'));
|
|
128
|
+
}, timeoutMs);
|
|
129
|
+
this.client.on('connectionSuccess', () => {
|
|
130
|
+
clearTimeout(timeout);
|
|
131
|
+
this.connected = true;
|
|
132
|
+
resolve();
|
|
133
|
+
});
|
|
134
|
+
this.client.on('disconnection', (event) => {
|
|
135
|
+
const errorString = event.error
|
|
136
|
+
? event.error.toString()
|
|
137
|
+
: 'Unknown reason';
|
|
138
|
+
logger_1.logger.warn(`Disconnected while waiting for connection: ${errorString}`);
|
|
139
|
+
reject(new Error(`Disconnected: ${errorString}`));
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
114
143
|
async logConnectionInfo() {
|
|
115
144
|
try {
|
|
116
145
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/cloud-connection/connection-manager.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"connection-manager.js","sourceRoot":"","sources":["../../src/cloud-connection/connection-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,9 @@ export declare class DeviceAgentCloudConnection {
|
|
|
15
15
|
getClientId(): string;
|
|
16
16
|
isCmdInProgress(projectId: string): boolean;
|
|
17
17
|
stop(): Promise<void>;
|
|
18
|
-
|
|
18
|
+
waitForConnection(): Promise<void>;
|
|
19
|
+
waitForCmd(projectId: string): Promise<void>;
|
|
20
|
+
sendCliCmd(topic: string, message: any): Promise<void>;
|
|
19
21
|
}
|
|
20
22
|
export declare function runDeviceAgentCloudInterface(): Promise<void>;
|
|
21
23
|
//# sourceMappingURL=device-agent-cloud-connection.d.ts.map
|