@alwaysai/device-agent 0.0.13 → 0.0.15
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.js +3 -3
- package/lib/application-control/backup.js.map +1 -1
- package/lib/application-control/index.d.ts +4 -4
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +1 -4
- 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 +41 -54
- package/lib/application-control/install.js.map +1 -1
- package/lib/application-control/models.d.ts +0 -4
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +13 -22
- 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 +3 -19
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts +3 -0
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +50 -21
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/bootstrap-provision.d.ts +1 -1
- package/lib/cloud-connection/bootstrap-provision.d.ts.map +1 -1
- package/lib/cloud-connection/bootstrap-provision.js +9 -9
- package/lib/cloud-connection/bootstrap-provision.js.map +1 -1
- package/lib/cloud-connection/cmd-status.d.ts +8 -0
- package/lib/cloud-connection/cmd-status.d.ts.map +1 -0
- package/lib/cloud-connection/cmd-status.js +62 -0
- package/lib/cloud-connection/cmd-status.js.map +1 -0
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +10 -2
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +156 -66
- 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 +4 -3
- package/lib/cloud-connection/device-agent.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +10 -18
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +50 -50
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/messages.d.ts +3 -1
- package/lib/cloud-connection/messages.d.ts.map +1 -1
- package/lib/cloud-connection/messages.js +13 -1
- package/lib/cloud-connection/messages.js.map +1 -1
- 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 +1 -0
- package/lib/cloud-connection/publisher.d.ts.map +1 -1
- package/lib/cloud-connection/publisher.js +14 -0
- package/lib/cloud-connection/publisher.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.d.ts +2 -3
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +18 -4
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- 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/environment.d.ts +1 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +3 -2
- package/lib/environment.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +15 -48
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/infrastructure/agent-config.js.map +1 -1
- package/lib/infrastructure/agent-config.test.js +0 -6
- package/lib/infrastructure/agent-config.test.js.map +1 -1
- package/lib/infrastructure/system-id.js +2 -2
- package/lib/infrastructure/system-id.js.map +1 -1
- package/lib/infrastructure/tokens-and-device-cfg.d.ts.map +1 -1
- package/lib/infrastructure/tokens-and-device-cfg.js +5 -9
- package/lib/infrastructure/tokens-and-device-cfg.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/subcommands/app/app.d.ts +4 -3
- package/lib/subcommands/app/app.d.ts.map +1 -1
- package/lib/subcommands/app/app.js +78 -27
- package/lib/subcommands/app/app.js.map +1 -1
- package/lib/subcommands/app/index.js +2 -2
- package/lib/subcommands/device/clean.js +4 -4
- package/lib/subcommands/device/clean.js.map +1 -1
- 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 +9 -10
- package/lib/subcommands/device/device.js.map +1 -1
- package/lib/subcommands/index.d.ts +0 -1
- package/lib/subcommands/index.d.ts.map +1 -1
- package/lib/subcommands/login.d.ts +0 -1
- package/lib/subcommands/login.d.ts.map +1 -1
- package/lib/subcommands/login.js +1 -9
- package/lib/subcommands/login.js.map +1 -1
- package/lib/util/directories.d.ts +11 -12
- package/lib/util/directories.d.ts.map +1 -1
- package/lib/util/directories.js +24 -29
- 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/logger.js +1 -0
- 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/package.json +20 -32
- package/readme.md +100 -89
- package/src/application-control/backup.ts +3 -3
- package/src/application-control/index.ts +0 -6
- package/src/application-control/install.ts +53 -73
- package/src/application-control/models.ts +7 -19
- package/src/application-control/status.ts +3 -19
- package/src/application-control/utils.ts +61 -22
- package/src/cloud-connection/bootstrap-provision.ts +13 -10
- package/src/cloud-connection/cmd-status.ts +71 -0
- package/src/cloud-connection/device-agent-cloud-connection.ts +211 -102
- package/src/cloud-connection/device-agent.ts +7 -4
- package/src/cloud-connection/live-updates-handler.ts +79 -86
- package/src/cloud-connection/messages.ts +22 -1
- package/src/cloud-connection/passthrough-handler.ts +67 -0
- package/src/cloud-connection/publisher.ts +21 -0
- package/src/cloud-connection/shadow-handler.test.ts +361 -0
- package/src/cloud-connection/shadow-handler.ts +28 -7
- package/src/environment.ts +4 -1
- package/src/index.ts +2 -2
- package/src/infrastructure/agent-config.test.ts +0 -7
- package/src/infrastructure/agent-config.ts +24 -2
- package/src/infrastructure/system-id.ts +1 -1
- package/src/infrastructure/tokens-and-device-cfg.ts +8 -13
- package/src/local-connection/rabbitmq-connection.ts +53 -0
- package/src/subcommands/app/app.ts +82 -31
- package/src/subcommands/app/index.ts +4 -4
- package/src/subcommands/device/clean.ts +4 -4
- package/src/subcommands/device/device.ts +13 -13
- package/src/subcommands/login.ts +1 -9
- package/src/util/directories.ts +31 -29
- package/src/util/fetch-with-timeout.ts +18 -0
- package/src/util/logger.ts +2 -0
- package/src/util/require-logged-in-and-paid-plan.ts +16 -0
- package/lib/cloud-connection/app-install-status.d.ts +0 -16
- package/lib/cloud-connection/app-install-status.d.ts.map +0 -1
- package/lib/cloud-connection/app-install-status.js +0 -53
- package/lib/cloud-connection/app-install-status.js.map +0 -1
- package/src/cloud-connection/app-install-status.ts +0 -62
|
@@ -15,9 +15,14 @@ const shadow_handler_1 = require("./shadow-handler");
|
|
|
15
15
|
const publisher_1 = require("./publisher");
|
|
16
16
|
const live_updates_handler_1 = require("./live-updates-handler");
|
|
17
17
|
const bootstrap_provision_1 = require("./bootstrap-provision");
|
|
18
|
-
const
|
|
18
|
+
const cmd_status_1 = require("./cmd-status");
|
|
19
|
+
const passthrough_handler_1 = require("./passthrough-handler");
|
|
20
|
+
const environment_1 = require("../environment");
|
|
21
|
+
const messages_1 = require("./messages");
|
|
19
22
|
class DeviceAgentCloudConnection {
|
|
20
|
-
|
|
23
|
+
/*=================================================================
|
|
24
|
+
Public interface
|
|
25
|
+
=================================================================*/
|
|
21
26
|
constructor() {
|
|
22
27
|
this.device = awsIot.device;
|
|
23
28
|
this.clientId = (0, get_device_id_1.getDeviceUuid)();
|
|
@@ -29,8 +34,8 @@ class DeviceAgentCloudConnection {
|
|
|
29
34
|
// TODO
|
|
30
35
|
};
|
|
31
36
|
this.device = awsIot.device({
|
|
32
|
-
keyPath:
|
|
33
|
-
certPath:
|
|
37
|
+
keyPath: directories_1.DEVICE_PRIVATE_KEY_FILE_PATH,
|
|
38
|
+
certPath: directories_1.DEVICE_CERTIFICATE_FILE_PATH,
|
|
34
39
|
caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
|
|
35
40
|
clientId: this.clientId,
|
|
36
41
|
host: this.host,
|
|
@@ -39,38 +44,55 @@ class DeviceAgentCloudConnection {
|
|
|
39
44
|
});
|
|
40
45
|
this.publisher = new publisher_1.Publisher(this.device, this.clientId);
|
|
41
46
|
this.shadowHandler = new shadow_handler_1.ShadowHandler(this.clientId, this.publisher);
|
|
42
|
-
this.
|
|
43
|
-
this.liveUpdatesHandler = new live_updates_handler_1.LiveUpdatesHandler(this.publisher
|
|
47
|
+
this.cmdStatusMgr = new cmd_status_1.CmdStatusManager();
|
|
48
|
+
this.liveUpdatesHandler = new live_updates_handler_1.LiveUpdatesHandler(this.publisher);
|
|
44
49
|
this.subscribe(this.toDeviceTopic);
|
|
45
50
|
this.subscribe(this.shadowHandler.shadowTopics.projects.getAccepted);
|
|
46
51
|
this.subscribe(this.shadowHandler.shadowTopics.projects.updateDelta);
|
|
47
52
|
}
|
|
48
|
-
handleAppStateControl(payload) {
|
|
53
|
+
async handleAppStateControl(payload) {
|
|
49
54
|
const { baseCommand, projectId } = payload;
|
|
50
55
|
switch (baseCommand) {
|
|
51
56
|
case device_agent_schemas_1.keyMirrors.appStateControl.start:
|
|
52
|
-
(0, application_control_1.startApp)({ projectId });
|
|
57
|
+
await (0, application_control_1.startApp)({ projectId });
|
|
53
58
|
break;
|
|
54
59
|
case device_agent_schemas_1.keyMirrors.appStateControl.stop:
|
|
55
|
-
(0, application_control_1.stopApp)({ projectId });
|
|
60
|
+
await (0, application_control_1.stopApp)({ projectId });
|
|
56
61
|
break;
|
|
57
62
|
case device_agent_schemas_1.keyMirrors.appStateControl.restart:
|
|
58
|
-
(0, application_control_1.restartApp)({ projectId });
|
|
63
|
+
await (0, application_control_1.restartApp)({ projectId });
|
|
59
64
|
break;
|
|
60
65
|
}
|
|
61
66
|
}
|
|
62
|
-
handleAppVersionControl(payload) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
async handleAppVersionControl(payload) {
|
|
68
|
+
switch (payload.baseCommand) {
|
|
69
|
+
case device_agent_schemas_1.keyMirrors.appVersionControl.install: {
|
|
70
|
+
const { projectId, appReleaseHash } = payload;
|
|
71
|
+
await this.cmdStatusMgr.start(projectId);
|
|
72
|
+
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
73
|
+
projectId,
|
|
74
|
+
appReleaseHash
|
|
75
|
+
});
|
|
76
|
+
const signedUrlsRequest = { projectId, appReleaseHash };
|
|
77
|
+
await this.publishCloudRequest({
|
|
78
|
+
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
|
|
79
|
+
signedUrlsRequest
|
|
80
|
+
});
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
case device_agent_schemas_1.keyMirrors.appVersionControl.uninstall: {
|
|
84
|
+
const { projectId } = payload;
|
|
85
|
+
await this.atomicApplicationUninstall(projectId);
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
default:
|
|
89
|
+
logger_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
|
|
90
|
+
}
|
|
69
91
|
}
|
|
70
|
-
handleAgentCommand(message) {
|
|
92
|
+
async handleAgentCommand(message) {
|
|
71
93
|
switch (message.messageType) {
|
|
72
94
|
case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates:
|
|
73
|
-
this.liveUpdatesHandler.
|
|
95
|
+
await this.liveUpdatesHandler.handleToggles(message.liveUpdatesToggles);
|
|
74
96
|
break;
|
|
75
97
|
default:
|
|
76
98
|
logger_1.logger.error(`Invalid agent action message type from message '${message}'`);
|
|
@@ -83,40 +105,82 @@ class DeviceAgentCloudConnection {
|
|
|
83
105
|
logger_1.logger.info(`Subscribing to ${topic}`);
|
|
84
106
|
this.device.subscribe(topic);
|
|
85
107
|
}
|
|
108
|
+
async atomicApplicationUninstall(projectId) {
|
|
109
|
+
const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
110
|
+
projectId
|
|
111
|
+
});
|
|
112
|
+
await this.cmdStatusMgr.start(projectId);
|
|
113
|
+
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
114
|
+
projectId,
|
|
115
|
+
appReleaseHash
|
|
116
|
+
});
|
|
117
|
+
try {
|
|
118
|
+
await (0, application_control_1.uninstallApp)({ projectId });
|
|
119
|
+
this.shadowHandler.deleteProjectShadow(projectId);
|
|
120
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
121
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
122
|
+
projectId
|
|
123
|
+
});
|
|
124
|
+
// Send final status message
|
|
125
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
logger_1.logger.error(`Failed to uninstall ${projectId}: ${e}`);
|
|
129
|
+
const message = e.message;
|
|
130
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
131
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
132
|
+
projectId
|
|
133
|
+
});
|
|
134
|
+
// Send final status message
|
|
135
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
|
|
136
|
+
}
|
|
137
|
+
}
|
|
86
138
|
// eslint-disable-next-line
|
|
87
139
|
async atomicApplicationUpdate(func, args, projectId, appReleaseHash) {
|
|
88
|
-
this.
|
|
89
|
-
this.liveUpdatesHandler.
|
|
90
|
-
|
|
140
|
+
await this.cmdStatusMgr.start(projectId);
|
|
141
|
+
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
142
|
+
projectId,
|
|
143
|
+
appReleaseHash
|
|
91
144
|
});
|
|
92
145
|
// Install the app and models
|
|
93
146
|
try {
|
|
94
147
|
const out = await func(...args);
|
|
95
|
-
this.
|
|
96
|
-
this.liveUpdatesHandler.
|
|
97
|
-
|
|
148
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
149
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
150
|
+
projectId
|
|
98
151
|
});
|
|
152
|
+
// Send final status message
|
|
153
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
|
|
99
154
|
// update app config shadow for project
|
|
100
155
|
await this.shadowHandler.publishAppState(projectId);
|
|
101
156
|
return out;
|
|
102
157
|
}
|
|
103
158
|
catch (e) {
|
|
104
|
-
logger_1.logger.error(e);
|
|
159
|
+
logger_1.logger.error(`Failed to install ${projectId}: ${e}`);
|
|
105
160
|
const message = e.message;
|
|
106
161
|
// uninstall the failed app to put system back in good state
|
|
162
|
+
// TODO: Replace this with rollback
|
|
107
163
|
await (0, application_control_1.uninstallApp)({ projectId });
|
|
108
|
-
this.
|
|
109
|
-
this.
|
|
110
|
-
|
|
164
|
+
this.shadowHandler.deleteProjectShadow(projectId);
|
|
165
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
166
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
167
|
+
projectId
|
|
111
168
|
});
|
|
112
|
-
//
|
|
113
|
-
|
|
114
|
-
this.shadowHandler.deleteProjectShadow();
|
|
169
|
+
// Send final status message
|
|
170
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
|
|
115
171
|
}
|
|
116
172
|
}
|
|
117
|
-
async handleAppConfigUpdates(
|
|
118
|
-
for (const appConfigUpdate of
|
|
173
|
+
async handleAppConfigUpdates(appCfgUpdates) {
|
|
174
|
+
for (const appConfigUpdate of appCfgUpdates) {
|
|
119
175
|
const { projectId, newAppCfg, updatedModels } = appConfigUpdate;
|
|
176
|
+
const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
177
|
+
projectId
|
|
178
|
+
});
|
|
179
|
+
await this.cmdStatusMgr.start(projectId);
|
|
180
|
+
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
181
|
+
projectId,
|
|
182
|
+
appReleaseHash
|
|
183
|
+
});
|
|
120
184
|
if (updatedModels && Object.keys(updatedModels).length) {
|
|
121
185
|
// Publish request for model urls
|
|
122
186
|
this.newAppCfgQueue.push(newAppCfg);
|
|
@@ -148,19 +212,33 @@ class DeviceAgentCloudConnection {
|
|
|
148
212
|
getClientId() {
|
|
149
213
|
return this.clientId;
|
|
150
214
|
}
|
|
215
|
+
getToDeviceTopic() {
|
|
216
|
+
return this.toDeviceTopic;
|
|
217
|
+
}
|
|
218
|
+
getShadowTopics() {
|
|
219
|
+
return this.shadowHandler.shadowTopics;
|
|
220
|
+
}
|
|
221
|
+
isCmdInProgress(projectId) {
|
|
222
|
+
return this.cmdStatusMgr.isCmdInProgress(projectId);
|
|
223
|
+
}
|
|
151
224
|
async handleClientMessage({ topic, message }) {
|
|
225
|
+
const valid = (0, device_agent_schemas_1.validateClientMessage)(message);
|
|
226
|
+
if (!valid) {
|
|
227
|
+
logger_1.logger.error(`Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateClientMessage.errors }, null, 2)}`);
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
152
230
|
const payload = message.payload;
|
|
153
231
|
switch (payload.messageType) {
|
|
154
232
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_state_control: {
|
|
155
|
-
this.handleAppStateControl(payload.appStateControl);
|
|
233
|
+
await this.handleAppStateControl(payload.appStateControl);
|
|
156
234
|
break;
|
|
157
235
|
}
|
|
158
236
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_version_control: {
|
|
159
|
-
this.handleAppVersionControl(payload.appVersionControl);
|
|
237
|
+
await this.handleAppVersionControl(payload.appVersionControl);
|
|
160
238
|
break;
|
|
161
239
|
}
|
|
162
240
|
case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates: {
|
|
163
|
-
this.handleAgentCommand(payload);
|
|
241
|
+
await this.handleAgentCommand(payload);
|
|
164
242
|
break;
|
|
165
243
|
}
|
|
166
244
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_install_cloud_response: {
|
|
@@ -179,7 +257,8 @@ class DeviceAgentCloudConnection {
|
|
|
179
257
|
});
|
|
180
258
|
const newAppCfg = this.newAppCfgQueue.shift();
|
|
181
259
|
if (newAppCfg === undefined) {
|
|
182
|
-
|
|
260
|
+
logger_1.logger.error('Unknown error while updating models via application config! No config present for model update.');
|
|
261
|
+
return;
|
|
183
262
|
}
|
|
184
263
|
await this.atomicApplicationUpdate(application_control_1.updateModelsWithPresignedUrls, [
|
|
185
264
|
{
|
|
@@ -195,10 +274,31 @@ class DeviceAgentCloudConnection {
|
|
|
195
274
|
logger_1.logger.error(`Invalid client message: '${JSON.stringify({ topic, message }, null, 2)}'`);
|
|
196
275
|
}
|
|
197
276
|
}
|
|
277
|
+
async handleMessage(topic, message) {
|
|
278
|
+
logger_1.logger.debug(`Received message: ${JSON.stringify({ topic, message }, null, 2)}`);
|
|
279
|
+
switch (topic) {
|
|
280
|
+
case this.shadowHandler.shadowTopics.projects.getAccepted:
|
|
281
|
+
case this.shadowHandler.shadowTopics.projects.updateDelta: {
|
|
282
|
+
const appConfigUpdates = await this.shadowHandler.handleShadowTopic({
|
|
283
|
+
topic,
|
|
284
|
+
payload: message.state
|
|
285
|
+
});
|
|
286
|
+
await this.handleAppConfigUpdates(appConfigUpdates);
|
|
287
|
+
break;
|
|
288
|
+
}
|
|
289
|
+
case this.toDeviceTopic:
|
|
290
|
+
await this.handleClientMessage({
|
|
291
|
+
topic,
|
|
292
|
+
message
|
|
293
|
+
});
|
|
294
|
+
break;
|
|
295
|
+
default:
|
|
296
|
+
logger_1.logger.error(`Unexpected topic, ignoring! ${topic}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
198
299
|
async setupHandlers() {
|
|
199
300
|
this.device.on('connect', (connack) => {
|
|
200
301
|
logger_1.logger.info('Device Agent has connected to the cloud');
|
|
201
|
-
// Get shadow updates
|
|
202
302
|
this.shadowHandler.getShadowUpdates();
|
|
203
303
|
});
|
|
204
304
|
this.device.on('disconnect', () => {
|
|
@@ -207,33 +307,14 @@ class DeviceAgentCloudConnection {
|
|
|
207
307
|
this.device.on('reconnect', () => {
|
|
208
308
|
logger_1.logger.info(`Device Agent attempting to re-connect ${new Date().toLocaleString()}`);
|
|
209
309
|
});
|
|
310
|
+
this.device.on('error', function (error) {
|
|
311
|
+
const errorString = error.message.toString();
|
|
312
|
+
logger_1.logger.error(`${errorString}`);
|
|
313
|
+
});
|
|
210
314
|
this.device.on('message', async (topic, payload) => {
|
|
211
315
|
try {
|
|
212
316
|
const jsonPacket = JSON.parse(payload);
|
|
213
|
-
|
|
214
|
-
if (Object.prototype.hasOwnProperty.call(jsonPacket, 'state')) {
|
|
215
|
-
if (jsonPacket.clientToken === this.getClientId()) {
|
|
216
|
-
logger_1.logger.debug(`Ignoring message sent from self: ${JSON.stringify({ topic, jsonPacket }, null, 2)}`);
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
const appConfigUpdates = await this.shadowHandler.handleShadowTopic({
|
|
220
|
-
topic,
|
|
221
|
-
payload: jsonPacket.state
|
|
222
|
-
});
|
|
223
|
-
await this.handleAppConfigUpdates(appConfigUpdates);
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
const valid = (0, device_agent_schemas_1.validateClientMessage)(jsonPacket);
|
|
227
|
-
if (!valid) {
|
|
228
|
-
logger_1.logger.error(`Error validating message: ${JSON.stringify(device_agent_schemas_1.validateClientMessage.errors, null, 2)}`);
|
|
229
|
-
}
|
|
230
|
-
else {
|
|
231
|
-
this.handleClientMessage({
|
|
232
|
-
topic,
|
|
233
|
-
message: jsonPacket
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
}
|
|
317
|
+
await this.handleMessage(topic, jsonPacket);
|
|
237
318
|
}
|
|
238
319
|
catch (error) {
|
|
239
320
|
logger_1.logger.error(`Error parsing message: ${error}`);
|
|
@@ -243,16 +324,25 @@ class DeviceAgentCloudConnection {
|
|
|
243
324
|
logger_1.logger.warn(`Device Agent is offline ${new Date().toLocaleString()}`);
|
|
244
325
|
});
|
|
245
326
|
}
|
|
327
|
+
stop() {
|
|
328
|
+
this.device.end();
|
|
329
|
+
}
|
|
246
330
|
}
|
|
247
331
|
exports.DeviceAgentCloudConnection = DeviceAgentCloudConnection;
|
|
248
332
|
async function runDeviceAgentCloudInterface() {
|
|
249
333
|
// FIXME: Check for KeyPath as well
|
|
250
|
-
if ((0, fs_1.existsSync)(
|
|
334
|
+
if ((0, fs_1.existsSync)(directories_1.DEVICE_CERTIFICATE_FILE_PATH)) {
|
|
251
335
|
const deviceAgent = new DeviceAgentCloudConnection();
|
|
252
336
|
await deviceAgent.setupHandlers();
|
|
337
|
+
if (environment_1.ALWAYSAI_ANALYTICS_PASSTHROUGH === true) {
|
|
338
|
+
const publisher = deviceAgent.publisher;
|
|
339
|
+
const passthroughHandler = new passthrough_handler_1.PassthroughHandler(publisher);
|
|
340
|
+
await passthroughHandler.setup();
|
|
341
|
+
await (0, passthrough_handler_1.runChannel)(passthroughHandler);
|
|
342
|
+
}
|
|
253
343
|
}
|
|
254
|
-
else if ((0, fs_1.existsSync)((0, directories_1.
|
|
255
|
-
(0, bootstrap_provision_1.bootstrapProvision)();
|
|
344
|
+
else if ((0, fs_1.existsSync)((0, directories_1.BOOTSTRAP_PRIVATE_KEY_FILE_PATH)())) {
|
|
345
|
+
await (0, bootstrap_provision_1.bootstrapProvision)();
|
|
256
346
|
}
|
|
257
347
|
else if ((0, fs_1.existsSync)((0, directories_1.BOOTSTRAP_CERTIFICATES_DIR_PATH)())) {
|
|
258
348
|
throw new Error("Device has not been created using 'aai-agent device init' or there has been an issue with device initialization");
|
|
@@ -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":"device-agent.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent.ts"],"names":[],"mappings":"AAgBA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAYD,qBAAa,WAAW;gBACV,MAAM,EAAE,qBAAqB;IAIlC,UAAU,SAAgB;IAC1B,MAAM,MAAiB;IACvB,UAAU,wBAAwD;IAClE,QAAQ,SAAmB;IAE3B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED,qBAAa,cAAe,SAAQ,WAAW;IAChC,oBAAoB;IAepB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"device-agent.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent.ts"],"names":[],"mappings":"AAgBA,UAAU,qBAAqB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAYD,qBAAa,WAAW;gBACV,MAAM,EAAE,qBAAqB;IAIlC,UAAU,SAAgB;IAC1B,MAAM,MAAiB;IACvB,UAAU,wBAAwD;IAClE,QAAQ,SAAmB;IAE3B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAGrD;AAED,qBAAa,cAAe,SAAQ,WAAW;IAChC,oBAAoB;IAepB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG;CAoDpE"}
|
|
@@ -36,11 +36,12 @@ class BootstrapAgent extends DeviceAgent {
|
|
|
36
36
|
async handleAwsCertificateTopics(topic, payload) {
|
|
37
37
|
switch (topic) {
|
|
38
38
|
case '$aws/certificates/create/json/accepted': {
|
|
39
|
+
logger_1.logger.debug(`Received Certs: ${JSON.stringify(JSON.parse(payload), null, 2)}`);
|
|
39
40
|
const { certificateId, certificatePem, privateKey, certificateOwnershipToken } = JSON.parse(payload);
|
|
40
41
|
const certSpawner = (0, util_1.JsSpawner)({ path: constants_1.LOCAL_CERT_AND_KEY_DIR });
|
|
41
|
-
await certSpawner.writeFile(
|
|
42
|
-
await certSpawner.writeFile(
|
|
43
|
-
await certSpawner.writeFile(
|
|
42
|
+
await certSpawner.writeFile(directories_1.DEVICE_CERTIFICATE_FILE_NAME, certificatePem);
|
|
43
|
+
await certSpawner.writeFile(directories_1.DEVICE_PRIVATE_KEY_FILE_NAME, privateKey);
|
|
44
|
+
await certSpawner.writeFile(directories_1.DEVICE_ID_FILE_NAME, certificateId);
|
|
44
45
|
await certSpawner.writeFile(directories_1.CERTIFICATE_OWNERSHIP_TOKEN_FILE_NAME, certificateOwnershipToken);
|
|
45
46
|
const content = {
|
|
46
47
|
certificateOwnershipToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-agent.js","sourceRoot":"","sources":["../../src/cloud-connection/device-agent.ts"],"names":[],"mappings":";;;AAAA,2BAA2B;AAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,qDAK6B;AAC7B,yDAAsD;AACtD,sDAAgE;AAChE,4CAA8C;AAC9C,2CAAwC;AACxC,+CAA8D;AAC9D,2BAA2B;AAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAoBnC,MAAa,WAAW;IACtB,YAAY,MAA6B;QAIlC,eAAU,GAAG,YAAY,CAAC;QAC1B,WAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,eAAU,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,IAAA,2BAAqB,EAAC,IAAA,gBAAS,GAAE,CAAC,CAAC;QAClE,aAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;QANhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAOM,cAAc,CAAC,KAAa,EAAE,OAAe;QAClD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AAbD,kCAaC;AAED,MAAa,cAAe,SAAQ,WAAW;IACtC,KAAK,CAAC,oBAAoB;QAC/B,MAAM,4BAA4B,GAChC,wCAAwC,CAAC;QAC3C,MAAM,2BAA2B,GAC/B,4EAA4E,CAAC;QAE/E,MAAM,MAAM,GAAG,CAAC,4BAA4B,EAAE,2BAA2B,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAChC,MAAM,EACN,UAAU,GAAQ,EAAE,OAAyC;YAC3D,eAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,0BAA0B,CAAC,KAAa,EAAE,OAAY;QACjE,QAAQ,KAAK,EAAE;YACb,KAAK,wCAAwC,CAAC,CAAC;gBAC7C,MAAM,EACJ,aAAa,EACb,cAAc,EACd,UAAU,EACV,yBAAyB,EAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAExB,MAAM,WAAW,GAAG,IAAA,gBAAS,EAAC,EAAE,IAAI,EAAE,kCAAsB,EAAE,CAAC,CAAC;gBAEhE,MAAM,WAAW,CAAC,SAAS,CACzB,
|
|
1
|
+
{"version":3,"file":"device-agent.js","sourceRoot":"","sources":["../../src/cloud-connection/device-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LiveUpdatesToggles } from '@alwaysai/device-agent-schemas';
|
|
2
2
|
import { Publisher } from './publisher';
|
|
3
|
-
import { AgentMessageTypeValue } from '@alwaysai/device-agent-schemas/lib/constants';
|
|
4
|
-
import { AppInstallStatusManager } from './app-install-status';
|
|
5
3
|
export declare class LiveUpdatesHandler {
|
|
6
4
|
private publisher;
|
|
7
|
-
private appInstallStatusMgr;
|
|
8
5
|
private liveUpdatesTimeout;
|
|
9
6
|
private liveUpdatesAlive;
|
|
10
7
|
private liveUpdatesSleepIntervals;
|
|
11
8
|
private appLogStreams;
|
|
12
9
|
private appInstallStatuses;
|
|
13
|
-
constructor(publisher: Publisher, appInstallStatusMgr: AppInstallStatusManager);
|
|
14
10
|
private startAppLogStream;
|
|
15
|
-
private getAppInstallStatusMessage;
|
|
16
|
-
startPublishingLiveUpdates<T extends any[]>(messageType: AgentMessageTypeValue, getMessageData: (...args: T) => Promise<DeviceAgentMessagePayload>, args: T): Promise<void>;
|
|
17
11
|
private continuePublishing;
|
|
18
12
|
private getLiveUpdatesInterval;
|
|
19
13
|
private setLiveUpdates;
|
|
20
14
|
private restartLiveUpdatesTimeout;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
toggle: boolean;
|
|
27
|
-
};
|
|
28
|
-
appInstallStatus?: {
|
|
29
|
-
appReleaseHash: string;
|
|
30
|
-
toggle: boolean;
|
|
31
|
-
};
|
|
15
|
+
private startPublishingLiveUpdates;
|
|
16
|
+
constructor(publisher: Publisher);
|
|
17
|
+
enableAppInstallStatus(props: {
|
|
18
|
+
projectId: string;
|
|
19
|
+
appReleaseHash: string;
|
|
32
20
|
}): Promise<void>;
|
|
21
|
+
disableAppInstallStatus(props: {
|
|
22
|
+
projectId: string;
|
|
23
|
+
}): Promise<void>;
|
|
24
|
+
handleToggles(toggles: LiveUpdatesToggles): Promise<void>;
|
|
33
25
|
}
|
|
34
26
|
//# sourceMappingURL=live-updates-handler.d.ts.map
|
|
@@ -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,EAIL,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQxC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,gBAAgB,CAKtB;IACF,OAAO,CAAC,yBAAyB,CAK/B;IACF,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,kBAAkB,CAAqB;YAEjC,iBAAiB;IAqC/B,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,yBAAyB;YAYnB,0BAA0B;gBA8B5B,SAAS,EAAE,SAAS;IAInB,sBAAsB,CAAC,KAAK,EAAE;QACzC,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB;IAaY,uBAAuB,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IASpD,aAAa,CAAC,OAAO,EAAE,kBAAkB;CAoCvD"}
|
|
@@ -7,7 +7,10 @@ const logger_1 = require("../util/logger");
|
|
|
7
7
|
const sleep_1 = require("../util/sleep");
|
|
8
8
|
const messages_1 = require("./messages");
|
|
9
9
|
class LiveUpdatesHandler {
|
|
10
|
-
|
|
10
|
+
/*=================================================================
|
|
11
|
+
Public interface
|
|
12
|
+
=================================================================*/
|
|
13
|
+
constructor(publisher) {
|
|
11
14
|
this.liveUpdatesAlive = {
|
|
12
15
|
[device_agent_schemas_1.keyMirrors.agentMessageType.device_stats]: false,
|
|
13
16
|
[device_agent_schemas_1.keyMirrors.agentMessageType.app_state]: false,
|
|
@@ -22,17 +25,7 @@ class LiveUpdatesHandler {
|
|
|
22
25
|
};
|
|
23
26
|
this.appLogStreams = new Set();
|
|
24
27
|
this.appInstallStatuses = new Set();
|
|
25
|
-
// Use arrow function to allow `this` to be accessed
|
|
26
|
-
this.getAppInstallStatusMessage = async (appReleaseHash) => {
|
|
27
|
-
const appInstallStatus = this.appInstallStatusMgr.getStatusPacket(appReleaseHash);
|
|
28
|
-
const appInstallStatusMessage = {
|
|
29
|
-
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.app_install_status,
|
|
30
|
-
appInstallStatus
|
|
31
|
-
};
|
|
32
|
-
return appInstallStatusMessage;
|
|
33
|
-
};
|
|
34
28
|
this.publisher = publisher;
|
|
35
|
-
this.appInstallStatusMgr = appInstallStatusMgr;
|
|
36
29
|
}
|
|
37
30
|
async startAppLogStream(projectId) {
|
|
38
31
|
logger_1.logger.info(`Starting log stream for ${projectId}`);
|
|
@@ -66,33 +59,16 @@ class LiveUpdatesHandler {
|
|
|
66
59
|
logger_1.logger.info(`App logs finished piping for project ${projectId}`);
|
|
67
60
|
});
|
|
68
61
|
}
|
|
69
|
-
|
|
70
|
-
logger_1.logger.info(`Turned on live updates for ${messageType}`);
|
|
71
|
-
// eslint-disable-next-line no-constant-condition
|
|
72
|
-
while (true) {
|
|
73
|
-
try {
|
|
74
|
-
const message = await getMessageData(...args);
|
|
75
|
-
this.publisher.publishToClient(message);
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
logger_1.logger.error(`Error publishing live updates for ${messageType}: ${e.message}`);
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
if (!this.continuePublishing(messageType, ...args)) {
|
|
82
|
-
logger_1.logger.info(`Turned off live updates for ${messageType}`);
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
await (0, sleep_1.default)(this.getLiveUpdatesInterval(messageType));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
continuePublishing(flag, data) {
|
|
62
|
+
continuePublishing(flag, projectId) {
|
|
89
63
|
switch (flag) {
|
|
90
64
|
case device_agent_schemas_1.keyMirrors.agentMessageType.device_stats:
|
|
91
65
|
case device_agent_schemas_1.keyMirrors.agentMessageType.app_state:
|
|
92
66
|
return this.liveUpdatesAlive[flag];
|
|
93
67
|
case device_agent_schemas_1.keyMirrors.agentMessageType.app_install_status: {
|
|
94
|
-
|
|
95
|
-
|
|
68
|
+
if (!projectId) {
|
|
69
|
+
throw new Error(`Project ID not provided to continuePublishing!`);
|
|
70
|
+
}
|
|
71
|
+
return this.appInstallStatuses.has(projectId);
|
|
96
72
|
}
|
|
97
73
|
default:
|
|
98
74
|
logger_1.logger.error(`Unrecognized publishable flag ${flag}`);
|
|
@@ -126,41 +102,65 @@ class LiveUpdatesHandler {
|
|
|
126
102
|
// TODO: Make constant, not hard coded
|
|
127
103
|
}, 600000); // 10 min
|
|
128
104
|
}
|
|
129
|
-
async
|
|
105
|
+
async startPublishingLiveUpdates(messageType, getMessageData, args, projectId) {
|
|
106
|
+
logger_1.logger.info(`Turned on live updates for ${messageType}`);
|
|
107
|
+
// eslint-disable-next-line no-constant-condition
|
|
108
|
+
while (true) {
|
|
109
|
+
try {
|
|
110
|
+
const message = await getMessageData(...args);
|
|
111
|
+
this.publisher.publishToClient(message);
|
|
112
|
+
}
|
|
113
|
+
catch (e) {
|
|
114
|
+
logger_1.logger.error(`Error publishing live updates for ${messageType}: ${e.message}`);
|
|
115
|
+
break;
|
|
116
|
+
}
|
|
117
|
+
if (!this.continuePublishing(messageType, projectId)) {
|
|
118
|
+
logger_1.logger.info(`Turned off live updates for ${messageType}`);
|
|
119
|
+
break;
|
|
120
|
+
}
|
|
121
|
+
await (0, sleep_1.default)(this.getLiveUpdatesInterval(messageType));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
async enableAppInstallStatus(props) {
|
|
125
|
+
const { projectId, appReleaseHash } = props;
|
|
126
|
+
this.liveUpdatesAlive.app_install_status = true;
|
|
127
|
+
this.appInstallStatuses.add(projectId);
|
|
128
|
+
// Don't wait for this call to finish since it loops until disabled
|
|
129
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.app_install_status, messages_1.getAppInstallStatusMessage, [device_agent_schemas_1.keyMirrors.appInstallStatus.in_progress, '', appReleaseHash], projectId);
|
|
130
|
+
}
|
|
131
|
+
async disableAppInstallStatus(props) {
|
|
132
|
+
const { projectId } = props;
|
|
133
|
+
this.appInstallStatuses.delete(projectId);
|
|
134
|
+
if (this.appInstallStatuses.size === 0) {
|
|
135
|
+
this.liveUpdatesAlive.app_install_status = false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
async handleToggles(toggles) {
|
|
139
|
+
const { deviceStats, appState, appLogs } = toggles;
|
|
130
140
|
this.restartLiveUpdatesTimeout();
|
|
131
141
|
if (deviceStats !== undefined) {
|
|
132
142
|
this.liveUpdatesAlive.device_stats = deviceStats;
|
|
133
143
|
if (deviceStats) {
|
|
134
|
-
this
|
|
144
|
+
// Don't wait for this call to finish since it loops until disabled
|
|
145
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.device_stats, messages_1.getDeviceStatsMessage, []);
|
|
135
146
|
}
|
|
136
147
|
}
|
|
137
148
|
if (appState !== undefined) {
|
|
138
149
|
this.liveUpdatesAlive.app_state = appState;
|
|
139
150
|
if (appState) {
|
|
140
|
-
this
|
|
151
|
+
// Don't wait for this call to finish since it loops until disabled
|
|
152
|
+
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.app_state, messages_1.getAppStateMessage, []);
|
|
141
153
|
}
|
|
142
154
|
}
|
|
143
155
|
if (appLogs !== undefined) {
|
|
144
156
|
if (appLogs.toggle) {
|
|
145
|
-
this
|
|
157
|
+
// Don't wait for this call to finish since it loops until disabled
|
|
158
|
+
void this.startAppLogStream(appLogs.projectId);
|
|
146
159
|
}
|
|
147
160
|
else {
|
|
148
161
|
this.appLogStreams.delete(appLogs.projectId);
|
|
149
162
|
}
|
|
150
163
|
}
|
|
151
|
-
if (appInstallStatus !== undefined) {
|
|
152
|
-
if (appInstallStatus.toggle) {
|
|
153
|
-
this.liveUpdatesAlive.app_install_status = appInstallStatus.toggle;
|
|
154
|
-
this.appInstallStatuses.add(appInstallStatus.appReleaseHash);
|
|
155
|
-
this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.app_install_status, this.getAppInstallStatusMessage, [appInstallStatus.appReleaseHash]);
|
|
156
|
-
}
|
|
157
|
-
else {
|
|
158
|
-
this.appInstallStatuses.delete(appInstallStatus.appReleaseHash);
|
|
159
|
-
}
|
|
160
|
-
if (this.appInstallStatuses.size === 0) {
|
|
161
|
-
this.liveUpdatesAlive.app_install_status = false;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
exports.LiveUpdatesHandler = LiveUpdatesHandler;
|