@alwaysai/device-agent 1.3.0 → 1.3.1
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/environment-variables.d.ts +1 -0
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js +22 -20
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/environment-variables.test.js +37 -2
- package/lib/application-control/environment-variables.test.js.map +1 -1
- package/lib/application-control/install.js +1 -1
- package/lib/application-control/install.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +2 -2
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +116 -99
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +30 -25
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.test.js +15 -0
- package/lib/cloud-connection/live-updates-handler.test.js.map +1 -1
- package/lib/cloud-connection/messages.d.ts +1 -3
- package/lib/cloud-connection/messages.d.ts.map +1 -1
- package/lib/cloud-connection/messages.js +1 -9
- package/lib/cloud-connection/messages.js.map +1 -1
- package/lib/cloud-connection/publisher.d.ts +1 -0
- package/lib/cloud-connection/publisher.d.ts.map +1 -1
- package/lib/cloud-connection/publisher.js +3 -0
- package/lib/cloud-connection/publisher.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +10 -3
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.test.js +79 -28
- package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.d.ts +26 -6
- package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
- package/lib/cloud-connection/transaction-manager.js +103 -22
- package/lib/cloud-connection/transaction-manager.js.map +1 -1
- package/lib/cloud-connection/transaction-manager.test.js +179 -13
- package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
- package/lib/subcommands/app/analytics.d.ts +10 -0
- package/lib/subcommands/app/analytics.d.ts.map +1 -0
- package/lib/subcommands/app/analytics.js +83 -0
- package/lib/subcommands/app/analytics.js.map +1 -0
- package/lib/subcommands/app/index.d.ts.map +1 -1
- package/lib/subcommands/app/index.js +3 -1
- package/lib/subcommands/app/index.js.map +1 -1
- package/lib/subcommands/app/models.d.ts +0 -5
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +11 -47
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/status.d.ts +1 -0
- package/lib/subcommands/app/status.d.ts.map +1 -1
- package/lib/subcommands/app/status.js +14 -3
- package/lib/subcommands/app/status.js.map +1 -1
- package/lib/subcommands/app/version.d.ts +2 -1
- package/lib/subcommands/app/version.d.ts.map +1 -1
- package/lib/subcommands/app/version.js +16 -3
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/util/parsing.d.ts +2 -0
- package/lib/util/parsing.d.ts.map +1 -0
- package/lib/util/parsing.js +17 -0
- package/lib/util/parsing.js.map +1 -0
- package/package.json +4 -6
- package/readme.md +146 -92
- package/src/application-control/environment-variables.test.ts +43 -3
- package/src/application-control/environment-variables.ts +29 -19
- package/src/application-control/install.ts +1 -1
- package/src/cloud-connection/device-agent-cloud-connection.ts +155 -141
- package/src/cloud-connection/live-updates-handler.test.ts +20 -0
- package/src/cloud-connection/live-updates-handler.ts +45 -52
- package/src/cloud-connection/messages.ts +1 -14
- package/src/cloud-connection/publisher.ts +4 -0
- package/src/cloud-connection/shadow-handler.test.ts +88 -28
- package/src/cloud-connection/shadow-handler.ts +13 -3
- package/src/cloud-connection/transaction-manager.test.ts +193 -18
- package/src/cloud-connection/transaction-manager.ts +174 -26
- package/src/subcommands/app/analytics.ts +99 -0
- package/src/subcommands/app/index.ts +4 -3
- package/src/subcommands/app/models.ts +13 -49
- package/src/subcommands/app/status.ts +20 -3
- package/src/subcommands/app/version.ts +19 -4
- package/src/util/parsing.ts +11 -0
- package/lib/cloud-connection/cmd-status.d.ts +0 -8
- package/lib/cloud-connection/cmd-status.d.ts.map +0 -1
- package/lib/cloud-connection/cmd-status.js +0 -62
- package/lib/cloud-connection/cmd-status.js.map +0 -1
- package/lib/cloud-connection/message-builder.d.ts +0 -7
- package/lib/cloud-connection/message-builder.d.ts.map +0 -1
- package/lib/cloud-connection/message-builder.js +0 -63
- package/lib/cloud-connection/message-builder.js.map +0 -1
- package/src/cloud-connection/cmd-status.ts +0 -71
- package/src/cloud-connection/message-builder.ts +0 -117
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runDeviceAgentCloudInterface = exports.DeviceAgentCloudConnection = void 0;
|
|
4
4
|
// eslint-disable-next-line
|
|
5
|
-
const awsIot = require(
|
|
5
|
+
const awsIot = require("aws-iot-device-sdk");
|
|
6
6
|
const urls_1 = require("../infrastructure/urls");
|
|
7
7
|
const fs_1 = require("fs");
|
|
8
8
|
const directories_1 = require("../util/directories");
|
|
@@ -15,17 +15,17 @@ const application_control_1 = require("../application-control");
|
|
|
15
15
|
const shadow_handler_1 = require("./shadow-handler");
|
|
16
16
|
const index_1 = require("../secure-tunneling/index");
|
|
17
17
|
const publisher_1 = require("./publisher");
|
|
18
|
-
const live_updates_handler_1 = require("./live-updates-handler");
|
|
19
18
|
const bootstrap_provision_1 = require("./bootstrap-provision");
|
|
20
|
-
const cmd_status_1 = require("./cmd-status");
|
|
21
19
|
const passthrough_handler_1 = require("./passthrough-handler");
|
|
22
20
|
const environment_1 = require("../environment");
|
|
23
|
-
const messages_1 = require("./messages");
|
|
24
21
|
const sleep_1 = require("../util/sleep");
|
|
25
22
|
const backup_1 = require("../application-control/backup");
|
|
26
23
|
const transaction_manager_1 = require("./transaction-manager");
|
|
27
|
-
const message_builder_1 = require("./message-builder");
|
|
28
24
|
const device_control_1 = require("../device-control/device-control");
|
|
25
|
+
const child_process_1 = require("child_process");
|
|
26
|
+
const util_1 = require("util");
|
|
27
|
+
const live_updates_handler_1 = require("./live-updates-handler");
|
|
28
|
+
const exec_promise = (0, util_1.promisify)(child_process_1.exec);
|
|
29
29
|
class DeviceAgentCloudConnection {
|
|
30
30
|
/*=================================================================
|
|
31
31
|
Public interface
|
|
@@ -34,6 +34,7 @@ class DeviceAgentCloudConnection {
|
|
|
34
34
|
this.device = awsIot.device;
|
|
35
35
|
this.clientId = (0, get_device_id_1.getDeviceUuid)();
|
|
36
36
|
this.host = (0, urls_1.getIoTCoreEndpointUrl)();
|
|
37
|
+
this.port = 8883;
|
|
37
38
|
this.toDeviceTopic = (0, device_agent_schemas_1.getToDeviceTopic)(this.clientId);
|
|
38
39
|
this.secureTunnelNotifyTopic = `$aws/things/${this.clientId}/tunnels/notify`;
|
|
39
40
|
// FIXME: Add support for multiple simultaneous project updates
|
|
@@ -63,7 +64,7 @@ class DeviceAgentCloudConnection {
|
|
|
63
64
|
appReleaseHash
|
|
64
65
|
}
|
|
65
66
|
};
|
|
66
|
-
const message =
|
|
67
|
+
const message = (0, device_agent_schemas_1.buildSignedUrlsRequestMessage)(this.clientId, signedUrlsRequestPayload, txId);
|
|
67
68
|
await this.publishCloudRequest(message);
|
|
68
69
|
return false;
|
|
69
70
|
}
|
|
@@ -121,7 +122,7 @@ class DeviceAgentCloudConnection {
|
|
|
121
122
|
models: updatedModels
|
|
122
123
|
}
|
|
123
124
|
};
|
|
124
|
-
const message =
|
|
125
|
+
const message = (0, device_agent_schemas_1.buildSignedUrlsRequestMessage)(this.clientId, modelsOnlyUrlsRequestPayload, txId);
|
|
125
126
|
this.publisher.publishToCloud(message);
|
|
126
127
|
this.appCfgUpdateQueue.push(update);
|
|
127
128
|
return false;
|
|
@@ -145,14 +146,13 @@ class DeviceAgentCloudConnection {
|
|
|
145
146
|
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
|
|
146
147
|
clientId: this.clientId,
|
|
147
148
|
host: this.host,
|
|
148
|
-
port:
|
|
149
|
+
port: this.port,
|
|
149
150
|
keepalive: 1 // time before re-connect attempt on dropped connection, default is 400 seconds
|
|
150
151
|
});
|
|
151
152
|
this.publisher = new publisher_1.Publisher(this.device, this.clientId);
|
|
152
153
|
this.shadowHandler = new shadow_handler_1.ShadowHandler(this.clientId, this.publisher);
|
|
153
|
-
this.cmdStatusMgr = new cmd_status_1.CmdStatusManager();
|
|
154
154
|
this.liveUpdatesHandler = new live_updates_handler_1.LiveUpdatesHandler(this.publisher, this.clientId);
|
|
155
|
-
this.txnMgr = new transaction_manager_1.TransactionManager();
|
|
155
|
+
this.txnMgr = new transaction_manager_1.TransactionManager(this.publisher, this.liveUpdatesHandler);
|
|
156
156
|
this.subscribe(this.toDeviceTopic);
|
|
157
157
|
this.subscribe(this.secureTunnelNotifyTopic);
|
|
158
158
|
this.subscribe(this.shadowHandler.shadowTopics.projects.getAccepted);
|
|
@@ -228,42 +228,6 @@ class DeviceAgentCloudConnection {
|
|
|
228
228
|
throw new Error(`Application update failed, rolled the application back: ${errorAppUpdate}`);
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
|
-
// eslint-disable-next-line
|
|
232
|
-
async atomicCmd(props) {
|
|
233
|
-
const { func, args, projectId, txId } = props;
|
|
234
|
-
try {
|
|
235
|
-
await this.cmdStatusMgr.start(projectId);
|
|
236
|
-
await this.liveUpdatesHandler.enableTransactionStatus({
|
|
237
|
-
txId
|
|
238
|
-
});
|
|
239
|
-
const completed = await func(...args);
|
|
240
|
-
if (completed) {
|
|
241
|
-
await this.cmdStatusMgr.stop(projectId);
|
|
242
|
-
await this.liveUpdatesHandler.disableTransactionStatus({
|
|
243
|
-
txId
|
|
244
|
-
});
|
|
245
|
-
const successStatusResponsePayload = await (0, messages_1.getStatusResponsePayload)(device_agent_schemas_1.keyMirrors.statusResponse.success, '');
|
|
246
|
-
// Send final status message
|
|
247
|
-
const message = await (0, message_builder_1.buildStatusResponseMessage)(successStatusResponsePayload, txId);
|
|
248
|
-
this.publisher.publishToClient(message);
|
|
249
|
-
}
|
|
250
|
-
return completed;
|
|
251
|
-
}
|
|
252
|
-
catch (e) {
|
|
253
|
-
logger_1.logger.error(`Failed to execute cmd for ${projectId}:\n${e.message}\n${e.stack}`);
|
|
254
|
-
const message = e.message;
|
|
255
|
-
// uninstall the failed app to put system back in good state
|
|
256
|
-
await this.cmdStatusMgr.stop(projectId);
|
|
257
|
-
await this.liveUpdatesHandler.disableTransactionStatus({
|
|
258
|
-
txId
|
|
259
|
-
});
|
|
260
|
-
const failureStatusResponsePayload = await (0, messages_1.getStatusResponsePayload)(device_agent_schemas_1.keyMirrors.statusResponse.failure, message);
|
|
261
|
-
// Send final status message
|
|
262
|
-
const failureStatusResponseMessage = await (0, message_builder_1.buildStatusResponseMessage)(failureStatusResponsePayload, txId);
|
|
263
|
-
this.publisher.publishToClient(failureStatusResponseMessage);
|
|
264
|
-
return true;
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
231
|
getClientId() {
|
|
268
232
|
return this.clientId;
|
|
269
233
|
}
|
|
@@ -274,7 +238,7 @@ class DeviceAgentCloudConnection {
|
|
|
274
238
|
return this.shadowHandler.shadowTopics;
|
|
275
239
|
}
|
|
276
240
|
isCmdInProgress(projectId) {
|
|
277
|
-
return this.
|
|
241
|
+
return this.txnMgr.isOngoingTransactionForProjectID(projectId);
|
|
278
242
|
}
|
|
279
243
|
async updateProjectShadow(projectId) {
|
|
280
244
|
await this.shadowHandler.updateProjectShadow(projectId);
|
|
@@ -287,76 +251,66 @@ class DeviceAgentCloudConnection {
|
|
|
287
251
|
return;
|
|
288
252
|
}
|
|
289
253
|
const txId = message.txId;
|
|
254
|
+
const { app_state_control, app_version_control, live_state_updates, app_install_response, models_install_response, status_response } = device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType;
|
|
290
255
|
switch (message.messageType) {
|
|
291
|
-
case
|
|
256
|
+
case app_state_control: {
|
|
292
257
|
// txId sent from cloud, just need to continue it
|
|
293
258
|
const payload = message.payload;
|
|
294
259
|
const projectId = payload.projectId;
|
|
295
260
|
try {
|
|
296
|
-
this.txnMgr.
|
|
297
|
-
|
|
298
|
-
func: this.handleAppStateControl,
|
|
299
|
-
args: [message.payload],
|
|
261
|
+
await this.txnMgr.runTransactionStep({
|
|
262
|
+
func: () => this.handleAppStateControl(message.payload),
|
|
300
263
|
projectId,
|
|
301
|
-
txId
|
|
264
|
+
txId,
|
|
265
|
+
start: true,
|
|
266
|
+
stepName: payload.baseCommand
|
|
302
267
|
});
|
|
303
|
-
if (completed) {
|
|
304
|
-
this.txnMgr.completeTransaction(txId);
|
|
305
|
-
}
|
|
306
268
|
}
|
|
307
269
|
catch (e) {
|
|
308
270
|
logger_1.logger.error(`Error processing application state control request: ${e}!`);
|
|
309
271
|
}
|
|
310
272
|
break;
|
|
311
273
|
}
|
|
312
|
-
case
|
|
274
|
+
case app_version_control: {
|
|
313
275
|
// txId sent from cloud, just need to continue it
|
|
314
276
|
const payload = message.payload;
|
|
315
277
|
const projectId = payload.projectId;
|
|
316
|
-
const appReleaseHash = payload.baseCommand === device_agent_schemas_1.keyMirrors.appVersionControl.install
|
|
317
|
-
? payload.appReleaseHash
|
|
318
|
-
: undefined;
|
|
319
278
|
try {
|
|
320
|
-
this.txnMgr.
|
|
321
|
-
|
|
322
|
-
func: this.handleAppVersionControl,
|
|
323
|
-
args: [payload, txId],
|
|
279
|
+
await this.txnMgr.runTransactionStep({
|
|
280
|
+
func: () => this.handleAppVersionControl(payload, txId),
|
|
324
281
|
projectId,
|
|
325
|
-
txId
|
|
282
|
+
txId,
|
|
283
|
+
start: true,
|
|
284
|
+
stepName: payload.baseCommand
|
|
326
285
|
});
|
|
327
|
-
if (completed) {
|
|
328
|
-
this.txnMgr.completeTransaction(txId);
|
|
329
|
-
}
|
|
330
286
|
}
|
|
331
287
|
catch (e) {
|
|
332
288
|
logger_1.logger.error(`Error processing application install request: ${e}!`);
|
|
333
289
|
}
|
|
334
290
|
break;
|
|
335
291
|
}
|
|
336
|
-
case
|
|
292
|
+
case live_state_updates: {
|
|
337
293
|
const payload = message.payload;
|
|
338
294
|
// TODO: Send response?
|
|
339
|
-
|
|
295
|
+
void this.liveUpdatesHandler.handleToggles(payload, txId);
|
|
340
296
|
break;
|
|
341
297
|
}
|
|
342
|
-
case
|
|
298
|
+
case app_install_response: {
|
|
343
299
|
const payload = message.payload;
|
|
344
|
-
const { projectId
|
|
300
|
+
const { projectId } = payload.appInstallResponse;
|
|
345
301
|
if (txId !== this.txnMgr.getTransactionFromProject(projectId)) {
|
|
346
302
|
throw new Error(`App install response received a message for a transaction ID ${txId} that is not currently underway (${this.txnMgr.getTransactionFromProject(projectId)})!`);
|
|
347
303
|
}
|
|
348
|
-
|
|
349
|
-
func: this.handleAppInstallCloudResponsePayload,
|
|
350
|
-
args: [payload],
|
|
304
|
+
await this.txnMgr.runTransactionStep({
|
|
305
|
+
func: () => this.handleAppInstallCloudResponsePayload(payload),
|
|
351
306
|
projectId,
|
|
352
|
-
txId
|
|
307
|
+
txId,
|
|
308
|
+
start: false,
|
|
309
|
+
stepName: message.messageType
|
|
353
310
|
});
|
|
354
|
-
if (completed) {
|
|
355
|
-
this.txnMgr.completeTransaction(txId);
|
|
356
|
-
}
|
|
357
311
|
break;
|
|
358
312
|
}
|
|
359
|
-
case
|
|
313
|
+
case models_install_response: {
|
|
360
314
|
// This message doesn't have appReleaseHash in it's payload, but
|
|
361
315
|
// atomicCmd should be able to read it from the installed app
|
|
362
316
|
const payload = message.payload;
|
|
@@ -364,28 +318,45 @@ class DeviceAgentCloudConnection {
|
|
|
364
318
|
if (txId !== this.txnMgr.getTransactionFromProject(projectId)) {
|
|
365
319
|
throw new Error(`Model install response received a message for a transaction ID ${txId} that is not currently underway (${this.txnMgr.getTransactionFromProject(projectId)})!`);
|
|
366
320
|
}
|
|
367
|
-
|
|
368
|
-
func: this.handleModelsInstallCloudResponsePayload,
|
|
369
|
-
args: [payload],
|
|
321
|
+
await this.txnMgr.runTransactionStep({
|
|
322
|
+
func: () => this.handleModelsInstallCloudResponsePayload(payload),
|
|
370
323
|
projectId,
|
|
371
|
-
txId
|
|
324
|
+
txId,
|
|
325
|
+
start: false,
|
|
326
|
+
stepName: message.messageType
|
|
372
327
|
});
|
|
373
|
-
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
330
|
+
case status_response: {
|
|
331
|
+
const { failure } = device_agent_schemas_1.keyMirrors.statusResponse;
|
|
332
|
+
if (message.payload.status === failure) {
|
|
374
333
|
this.txnMgr.completeTransaction(txId);
|
|
334
|
+
const failureStatusResponsePayload = {
|
|
335
|
+
status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
|
|
336
|
+
message: message.payload.message
|
|
337
|
+
};
|
|
338
|
+
// Send final status message
|
|
339
|
+
const failureStatusResponseMessage = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, failureStatusResponsePayload, txId);
|
|
340
|
+
this.publisher.publishToClient(failureStatusResponseMessage);
|
|
375
341
|
}
|
|
376
342
|
break;
|
|
377
343
|
}
|
|
378
344
|
case device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.device_action: {
|
|
379
345
|
try {
|
|
380
|
-
const successStatusResponsePayload =
|
|
381
|
-
|
|
346
|
+
const successStatusResponsePayload = {
|
|
347
|
+
status: device_agent_schemas_1.keyMirrors.statusResponse.success
|
|
348
|
+
};
|
|
349
|
+
const successStatusResponseMessage = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, successStatusResponsePayload, txId);
|
|
382
350
|
this.publisher.publishToClient(successStatusResponseMessage);
|
|
383
351
|
await this.handleDeviceAction(message.payload);
|
|
384
352
|
}
|
|
385
353
|
catch (e) {
|
|
386
354
|
logger_1.logger.error(`There was a problem performing device action '${message.payload.action}': ${e.message}`);
|
|
387
|
-
const failureStatusResponsePayload =
|
|
388
|
-
|
|
355
|
+
const failureStatusResponsePayload = {
|
|
356
|
+
status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
|
|
357
|
+
message: e.message
|
|
358
|
+
};
|
|
359
|
+
const failureStatusResponseMessage = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, failureStatusResponsePayload, txId);
|
|
389
360
|
this.publisher.publishToClient(failureStatusResponseMessage);
|
|
390
361
|
}
|
|
391
362
|
break;
|
|
@@ -398,7 +369,7 @@ class DeviceAgentCloudConnection {
|
|
|
398
369
|
logger_1.logger.debug(`Received message: ${JSON.stringify({ topic, message }, null, 2)}`);
|
|
399
370
|
switch (topic) {
|
|
400
371
|
case this.shadowHandler.shadowTopics.projects.getAccepted:
|
|
401
|
-
case this.shadowHandler.shadowTopics.projects.
|
|
372
|
+
case this.shadowHandler.shadowTopics.projects.updateAccepted: {
|
|
402
373
|
const shadowUpdates = await this.shadowHandler.handleShadowTopic({
|
|
403
374
|
topic,
|
|
404
375
|
payload: message.state,
|
|
@@ -409,16 +380,13 @@ class DeviceAgentCloudConnection {
|
|
|
409
380
|
const projectId = shadowUpdate.projectId;
|
|
410
381
|
const txId = shadowUpdate.txId;
|
|
411
382
|
try {
|
|
412
|
-
this.txnMgr.
|
|
413
|
-
|
|
414
|
-
func: this.handleAppConfigUpdate,
|
|
415
|
-
args: [shadowUpdate, txId],
|
|
383
|
+
await this.txnMgr.runTransactionStep({
|
|
384
|
+
func: () => this.handleAppConfigUpdate(shadowUpdate, txId),
|
|
416
385
|
projectId,
|
|
417
|
-
txId
|
|
386
|
+
txId,
|
|
387
|
+
start: true,
|
|
388
|
+
stepName: topic
|
|
418
389
|
});
|
|
419
|
-
if (completed) {
|
|
420
|
-
this.txnMgr.completeTransaction(txId);
|
|
421
|
-
}
|
|
422
390
|
}
|
|
423
391
|
catch (e) {
|
|
424
392
|
logger_1.logger.error(`Error handling shadow message: ${e.message}`);
|
|
@@ -428,7 +396,7 @@ class DeviceAgentCloudConnection {
|
|
|
428
396
|
break;
|
|
429
397
|
}
|
|
430
398
|
case this.shadowHandler.shadowTopics.projects.getRejected:
|
|
431
|
-
case this.shadowHandler.shadowTopics.projects.
|
|
399
|
+
case this.shadowHandler.shadowTopics.projects.updateDelta:
|
|
432
400
|
case this.shadowHandler.shadowTopics.projects.updateRejected:
|
|
433
401
|
// Not handling these for now
|
|
434
402
|
break;
|
|
@@ -474,8 +442,57 @@ class DeviceAgentCloudConnection {
|
|
|
474
442
|
});
|
|
475
443
|
this.device.on('offline', () => {
|
|
476
444
|
logger_1.logger.warn(`Device Agent is offline ${new Date().toLocaleString()}`);
|
|
445
|
+
void this.logConnectionInfo();
|
|
477
446
|
});
|
|
478
447
|
}
|
|
448
|
+
async logConnectionInfo() {
|
|
449
|
+
try {
|
|
450
|
+
/**
|
|
451
|
+
* We're using the 'netcat' or 'nc' command to test the connection to the IoT Core endpoint.
|
|
452
|
+
* This command doesn't always exit (see below), so
|
|
453
|
+
* we use timeout to break out of the prompt
|
|
454
|
+
* and catch the resulting error/parse the resulting stderr
|
|
455
|
+
*
|
|
456
|
+
* Sample command for current host and port:
|
|
457
|
+
* nc -zv -w 1 a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com 8883
|
|
458
|
+
*
|
|
459
|
+
* Sample output when port is not blocked and host is reachable:
|
|
460
|
+
* $ nc -zv -w 1 a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com 443
|
|
461
|
+
* Connection to a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com 443 port [tcp/https] succeeded!
|
|
462
|
+
*
|
|
463
|
+
*
|
|
464
|
+
* Sample output when port is blocked (will repeatedly try until ctrl-C out):
|
|
465
|
+
* $ nc -zv -w 1 a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com 8883
|
|
466
|
+
* nc: connect to a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com port 8883 (tcp) timed out: Operation now in progress
|
|
467
|
+
* nc: connect to a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com port 8883 (tcp) timed out: Operation now in progress
|
|
468
|
+
* nc: connect to a3tzi5g7sq5zsj-ats.iot.us-west-2.amazonaws.com port 8883 (tcp) timed out: Operation now in progress
|
|
469
|
+
* ^C
|
|
470
|
+
*
|
|
471
|
+
*
|
|
472
|
+
* Sample command/output when the port isn't enable on that host:
|
|
473
|
+
* $ nc -zv -w 1 localhost 8883
|
|
474
|
+
* nc: connect to localhost port 8883 (tcp) failed: Connection refused
|
|
475
|
+
*/
|
|
476
|
+
await exec_promise(`nc -zv -w 1 ${this.host} ${this.port}`, {
|
|
477
|
+
timeout: 2000
|
|
478
|
+
});
|
|
479
|
+
}
|
|
480
|
+
catch (err) {
|
|
481
|
+
const output = JSON.stringify(err['stderr']);
|
|
482
|
+
if (output.indexOf('not known') !== -1) {
|
|
483
|
+
logger_1.logger.warn('Iot Core endpoint appears to be unreachable, internet connection may be unstable or the host may be down.');
|
|
484
|
+
}
|
|
485
|
+
else if (output.indexOf('timed out') !== -1) {
|
|
486
|
+
logger_1.logger.warn(`Internet connection appears fine, however the endpoint was not reachable on the current connection port: ${this.port}\nPlease check if a firewall is in place.`);
|
|
487
|
+
}
|
|
488
|
+
else if (output.indexOf('refused') !== -1) {
|
|
489
|
+
logger_1.logger.warn(`The connection was refused, likely ${this.host} is not running a service on ${this.port}.`);
|
|
490
|
+
}
|
|
491
|
+
else {
|
|
492
|
+
logger_1.logger.warn(`Output from checking connection to ${this.host} on ${this.port}: ${output}`);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
479
496
|
async stop() {
|
|
480
497
|
// FIXME: This method is currently only used by the CLI, and shadow messages
|
|
481
498
|
// can be lost since we aren't waiting for responses so sleep for a short
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-agent-cloud-connection.js","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"device-agent-cloud-connection.js","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-updates-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"live-updates-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,6BAA6B,EAO9B,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASxC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,gBAAgB,CAKtB;IACF,OAAO,CAAC,yBAAyB,CAK/B;IAEF,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,mBAAmB,CAAqB;YAElC,iBAAiB;IAoC/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,yBAAyB;YAWnB,0BAA0B;gBAyB5B,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;IAQ3C,yBAAyB;IAIzB,sBAAsB;IAItB,qBAAqB;IAIf,uBAAuB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAuB/C,wBAAwB,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;IAShD,aAAa,CACxB,OAAO,EAAE,6BAA6B,EACtC,IAAI,EAAE,MAAM;CA+Cf"}
|
|
@@ -7,7 +7,6 @@ const logger_1 = require("../util/logger");
|
|
|
7
7
|
const sleep_1 = require("../util/sleep");
|
|
8
8
|
const messages_1 = require("./messages");
|
|
9
9
|
const environment_1 = require("../environment");
|
|
10
|
-
const message_builder_1 = require("./message-builder");
|
|
11
10
|
const LIVE_UPDATES_TIMEOUT = environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS
|
|
12
11
|
? parseInt(environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS)
|
|
13
12
|
: 60000;
|
|
@@ -34,7 +33,7 @@ class LiveUpdatesHandler {
|
|
|
34
33
|
this.clientId = clientId;
|
|
35
34
|
logger_1.logger.debug(`Toggle live updates timeout set to ${LIVE_UPDATES_TIMEOUT} ms`);
|
|
36
35
|
}
|
|
37
|
-
async startAppLogStream(projectId) {
|
|
36
|
+
async startAppLogStream(projectId, txId) {
|
|
38
37
|
logger_1.logger.info(`Starting log stream for ${projectId}`);
|
|
39
38
|
this.appLogStreams.add(projectId);
|
|
40
39
|
const readable = await (0, application_control_1.getAppLogs)({
|
|
@@ -54,7 +53,7 @@ class LiveUpdatesHandler {
|
|
|
54
53
|
projectId,
|
|
55
54
|
logChunk: logStr
|
|
56
55
|
};
|
|
57
|
-
const message =
|
|
56
|
+
const message = (0, device_agent_schemas_1.buildAppLogsMessage)(this.clientId, payload, txId);
|
|
58
57
|
this.publisher.publishToClient(message, logger_1.logger.silly);
|
|
59
58
|
});
|
|
60
59
|
readable.on('error', (error) => {
|
|
@@ -93,7 +92,7 @@ class LiveUpdatesHandler {
|
|
|
93
92
|
this.liveUpdatesAlive.device_stats = toggles.deviceStats;
|
|
94
93
|
}
|
|
95
94
|
if (toggles.appState !== undefined) {
|
|
96
|
-
this.liveUpdatesAlive.
|
|
95
|
+
this.liveUpdatesAlive.app_state = toggles.appState;
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
restartLiveUpdatesTimeout() {
|
|
@@ -106,24 +105,19 @@ class LiveUpdatesHandler {
|
|
|
106
105
|
this.appLogStreams.clear();
|
|
107
106
|
}, LIVE_UPDATES_TIMEOUT);
|
|
108
107
|
}
|
|
109
|
-
async startPublishingLiveUpdates(messageType,
|
|
108
|
+
async startPublishingLiveUpdates(messageType, getMessage, txId) {
|
|
110
109
|
logger_1.logger.info(`Turned on live updates for ${messageType}`);
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (!this.continuePublishing(messageType, txId)) {
|
|
115
|
-
logger_1.logger.info(`Turned off live updates for ${messageType}`);
|
|
116
|
-
break;
|
|
117
|
-
}
|
|
118
|
-
const payload = await payloadBuilderFunction(...args);
|
|
119
|
-
const message = await messageBuilderFunction(payload, txId);
|
|
110
|
+
try {
|
|
111
|
+
while (this.continuePublishing(messageType, txId)) {
|
|
112
|
+
const message = await getMessage();
|
|
120
113
|
this.publisher.publishToClient(message, logger_1.logger.silly);
|
|
114
|
+
await (0, sleep_1.default)(this.getLiveUpdatesInterval(messageType));
|
|
121
115
|
}
|
|
122
|
-
catch (e) {
|
|
123
|
-
logger_1.logger.error(`Error publishing live updates for ${messageType}: ${e.message}`);
|
|
124
|
-
}
|
|
125
|
-
await (0, sleep_1.default)(this.getLiveUpdatesInterval(messageType));
|
|
126
116
|
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
logger_1.logger.error(`Error publishing live updates for ${messageType}: ${e.message}`);
|
|
119
|
+
}
|
|
120
|
+
logger_1.logger.info(`Turned off live updates for ${messageType}`);
|
|
127
121
|
}
|
|
128
122
|
getDeviceStatsLiveUpdates() {
|
|
129
123
|
return this.liveUpdatesAlive.device_stats;
|
|
@@ -140,7 +134,12 @@ class LiveUpdatesHandler {
|
|
|
140
134
|
if (!this.transactionStatuses.has(txId)) {
|
|
141
135
|
this.transactionStatuses.add(txId);
|
|
142
136
|
// Don't wait for this call to finish since it loops until disabled
|
|
143
|
-
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.status_response,
|
|
137
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.status_response, async () => {
|
|
138
|
+
const payload = {
|
|
139
|
+
status: device_agent_schemas_1.keyMirrors.statusResponse.in_progress
|
|
140
|
+
};
|
|
141
|
+
return (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, payload, txId);
|
|
142
|
+
}, txId);
|
|
144
143
|
}
|
|
145
144
|
}
|
|
146
145
|
async disableTransactionStatus(props) {
|
|
@@ -153,27 +152,33 @@ class LiveUpdatesHandler {
|
|
|
153
152
|
async handleToggles(toggles, txId) {
|
|
154
153
|
const { deviceStats, appState, appLogs } = toggles;
|
|
155
154
|
this.restartLiveUpdatesTimeout();
|
|
156
|
-
const currentDeviceStats = this.getDeviceStatsLiveUpdates();
|
|
157
155
|
if (deviceStats !== undefined) {
|
|
156
|
+
const currentDeviceStats = this.getDeviceStatsLiveUpdates();
|
|
158
157
|
this.liveUpdatesAlive.device_stats = deviceStats;
|
|
159
158
|
if (deviceStats && currentDeviceStats !== true) {
|
|
160
159
|
// Don't wait for this call to finish since it loops until disabled
|
|
161
|
-
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.device_stats,
|
|
160
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.device_stats, async () => {
|
|
161
|
+
const payload = await (0, messages_1.getDeviceStatsPayload)();
|
|
162
|
+
return (0, device_agent_schemas_1.buildDeviceStatsMessage)(this.clientId, payload, txId);
|
|
163
|
+
}, txId);
|
|
162
164
|
}
|
|
163
165
|
}
|
|
164
|
-
const currentAppState = this.getAppStateLiveUpdates();
|
|
165
166
|
if (appState !== undefined) {
|
|
167
|
+
const currentAppState = this.getAppStateLiveUpdates();
|
|
166
168
|
this.liveUpdatesAlive.app_state = appState;
|
|
167
169
|
if (appState && currentAppState !== true) {
|
|
168
170
|
// Don't wait for this call to finish since it loops until disabled
|
|
169
|
-
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.app_state,
|
|
171
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.toClientMessageType.app_state, async () => {
|
|
172
|
+
const payload = await (0, messages_1.getAppStatePayload)();
|
|
173
|
+
return (0, device_agent_schemas_1.buildAppStateMessage)(this.clientId, payload, txId);
|
|
174
|
+
}, txId);
|
|
170
175
|
}
|
|
171
176
|
}
|
|
172
|
-
const currentAppLogs = this.getAppLogsLiveUpdates();
|
|
173
177
|
if (appLogs !== undefined) {
|
|
178
|
+
const currentAppLogs = this.getAppLogsLiveUpdates();
|
|
174
179
|
if (appLogs.toggle && currentAppLogs !== true) {
|
|
175
180
|
// Don't wait for this call to finish since it loops until disabled
|
|
176
|
-
void this.startAppLogStream(appLogs.projectId);
|
|
181
|
+
void this.startAppLogStream(appLogs.projectId, txId);
|
|
177
182
|
}
|
|
178
183
|
else {
|
|
179
184
|
this.appLogStreams.delete(appLogs.projectId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"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"}
|