@alwaysai/device-agent 0.1.0 → 0.1.2
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.d.ts +0 -1
- package/lib/application-control/config.d.ts.map +1 -1
- package/lib/application-control/config.js +15 -29
- package/lib/application-control/config.js.map +1 -1
- package/lib/application-control/environment-variables.d.ts +7 -3
- package/lib/application-control/environment-variables.d.ts.map +1 -1
- package/lib/application-control/environment-variables.js +71 -35
- package/lib/application-control/environment-variables.js.map +1 -1
- package/lib/application-control/environment-variables.test.d.ts +2 -0
- package/lib/application-control/environment-variables.test.d.ts.map +1 -0
- package/lib/application-control/environment-variables.test.js +163 -0
- package/lib/application-control/environment-variables.test.js.map +1 -0
- package/lib/application-control/index.d.ts +3 -3
- package/lib/application-control/index.d.ts.map +1 -1
- package/lib/application-control/index.js +1 -3
- package/lib/application-control/index.js.map +1 -1
- package/lib/application-control/models.d.ts +0 -1
- package/lib/application-control/models.d.ts.map +1 -1
- package/lib/application-control/models.js +12 -26
- package/lib/application-control/models.js.map +1 -1
- package/lib/application-control/status.d.ts +3 -0
- package/lib/application-control/status.d.ts.map +1 -1
- package/lib/application-control/status.js +19 -1
- package/lib/application-control/status.js.map +1 -1
- package/lib/application-control/utils.d.ts.map +1 -1
- package/lib/application-control/utils.js +2 -2
- package/lib/application-control/utils.js.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts +6 -3
- package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
- package/lib/cloud-connection/device-agent-cloud-connection.js +205 -151
- package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.d.ts +3 -0
- package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
- package/lib/cloud-connection/live-updates-handler.js +23 -7
- package/lib/cloud-connection/live-updates-handler.js.map +1 -1
- package/lib/cloud-connection/live-updates-handler.test.d.ts +2 -0
- package/lib/cloud-connection/live-updates-handler.test.d.ts.map +1 -0
- package/lib/cloud-connection/live-updates-handler.test.js +57 -0
- package/lib/cloud-connection/live-updates-handler.test.js.map +1 -0
- package/lib/cloud-connection/passthrough-handler.d.ts.map +1 -1
- package/lib/cloud-connection/passthrough-handler.js +6 -3
- package/lib/cloud-connection/passthrough-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.d.ts +11 -3
- package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
- package/lib/cloud-connection/shadow-handler.js +22 -7
- package/lib/cloud-connection/shadow-handler.js.map +1 -1
- package/lib/cloud-connection/shadow-handler.test.js +313 -228
- package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
- package/lib/cloud-connection/shadow.js +1 -1
- package/lib/cloud-connection/shadow.js.map +1 -1
- package/lib/environment.d.ts +1 -0
- package/lib/environment.d.ts.map +1 -1
- package/lib/environment.js +2 -1
- package/lib/environment.js.map +1 -1
- package/lib/infrastructure/agent-config.d.ts +3 -1
- package/lib/infrastructure/agent-config.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.d.ts +1 -1
- package/lib/subcommands/app/env-vars.d.ts.map +1 -1
- package/lib/subcommands/app/env-vars.js +32 -5
- package/lib/subcommands/app/env-vars.js.map +1 -1
- package/lib/subcommands/app/index.d.ts.map +1 -1
- package/lib/subcommands/app/index.js +4 -1
- package/lib/subcommands/app/index.js.map +1 -1
- package/lib/subcommands/app/models.d.ts.map +1 -1
- package/lib/subcommands/app/models.js +6 -1
- package/lib/subcommands/app/models.js.map +1 -1
- package/lib/subcommands/app/shadow.d.ts +7 -0
- package/lib/subcommands/app/shadow.d.ts.map +1 -0
- package/lib/subcommands/app/shadow.js +48 -0
- package/lib/subcommands/app/shadow.js.map +1 -0
- package/lib/subcommands/app/version.js +2 -2
- package/lib/subcommands/app/version.js.map +1 -1
- package/lib/util/cloud-mode-ready.d.ts +2 -0
- package/lib/util/cloud-mode-ready.d.ts.map +1 -0
- package/lib/util/cloud-mode-ready.js +22 -0
- package/lib/util/cloud-mode-ready.js.map +1 -0
- package/package.json +1 -1
- package/readme.md +2 -2
- package/src/application-control/config.ts +30 -31
- package/src/application-control/environment-variables.test.ts +171 -0
- package/src/application-control/environment-variables.ts +102 -43
- package/src/application-control/index.ts +3 -9
- package/src/application-control/models.ts +14 -29
- package/src/application-control/status.ts +20 -0
- package/src/application-control/utils.ts +4 -2
- package/src/cloud-connection/device-agent-cloud-connection.ts +222 -153
- package/src/cloud-connection/live-updates-handler.test.ts +68 -0
- package/src/cloud-connection/live-updates-handler.ts +30 -7
- package/src/cloud-connection/passthrough-handler.ts +10 -3
- package/src/cloud-connection/shadow-handler.test.ts +329 -239
- package/src/cloud-connection/shadow-handler.ts +38 -12
- package/src/cloud-connection/shadow.ts +1 -1
- package/src/environment.ts +2 -0
- package/src/infrastructure/agent-config.ts +1 -1
- package/src/subcommands/app/env-vars.ts +38 -8
- package/src/subcommands/app/index.ts +4 -1
- package/src/subcommands/app/models.ts +10 -1
- package/src/subcommands/app/shadow.ts +48 -0
- package/src/subcommands/app/version.ts +2 -2
- package/src/util/cloud-mode-ready.ts +23 -0
|
@@ -9,6 +9,7 @@ const directories_1 = require("../util/directories");
|
|
|
9
9
|
const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
|
|
10
10
|
const get_device_id_1 = require("../util/get-device-id");
|
|
11
11
|
const logger_1 = require("../util/logger");
|
|
12
|
+
const cloud_mode_ready_1 = require("../util/cloud-mode-ready");
|
|
12
13
|
const agent_config_1 = require("../infrastructure/agent-config");
|
|
13
14
|
const application_control_1 = require("../application-control");
|
|
14
15
|
const shadow_handler_1 = require("./shadow-handler");
|
|
@@ -19,6 +20,7 @@ const cmd_status_1 = require("./cmd-status");
|
|
|
19
20
|
const passthrough_handler_1 = require("./passthrough-handler");
|
|
20
21
|
const environment_1 = require("../environment");
|
|
21
22
|
const messages_1 = require("./messages");
|
|
23
|
+
const sleep_1 = require("../util/sleep");
|
|
22
24
|
class DeviceAgentCloudConnection {
|
|
23
25
|
/*=================================================================
|
|
24
26
|
Public interface
|
|
@@ -29,9 +31,114 @@ class DeviceAgentCloudConnection {
|
|
|
29
31
|
this.host = (0, urls_1.getIoTCoreEndpointUrl)();
|
|
30
32
|
this.toDeviceTopic = (0, device_agent_schemas_1.getDeviceTopic)(this.clientId);
|
|
31
33
|
// FIXME: Add support for multiple simultaneous project updates
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
|
|
34
|
+
this.appCfgUpdateQueue = [];
|
|
35
|
+
this.handleAppStateControl = async (payload) => {
|
|
36
|
+
const { baseCommand, projectId } = payload;
|
|
37
|
+
switch (baseCommand) {
|
|
38
|
+
case device_agent_schemas_1.keyMirrors.appStateControl.start:
|
|
39
|
+
await (0, application_control_1.startApp)({ projectId });
|
|
40
|
+
break;
|
|
41
|
+
case device_agent_schemas_1.keyMirrors.appStateControl.stop:
|
|
42
|
+
await (0, application_control_1.stopApp)({ projectId });
|
|
43
|
+
break;
|
|
44
|
+
case device_agent_schemas_1.keyMirrors.appStateControl.restart:
|
|
45
|
+
await (0, application_control_1.restartApp)({ projectId });
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
return true;
|
|
49
|
+
};
|
|
50
|
+
this.handleAppVersionControl = async (payload) => {
|
|
51
|
+
switch (payload.baseCommand) {
|
|
52
|
+
case device_agent_schemas_1.keyMirrors.appVersionControl.install: {
|
|
53
|
+
const { projectId, appReleaseHash } = payload;
|
|
54
|
+
const signedUrlsRequest = { projectId, appReleaseHash };
|
|
55
|
+
await this.publishCloudRequest({
|
|
56
|
+
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
|
|
57
|
+
signedUrlsRequest
|
|
58
|
+
});
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
case device_agent_schemas_1.keyMirrors.appVersionControl.uninstall: {
|
|
62
|
+
const { projectId } = payload;
|
|
63
|
+
await this.atomicApplicationUninstall(projectId);
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
default:
|
|
67
|
+
logger_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
this.handleAgentCommand = async (message) => {
|
|
72
|
+
switch (message.messageType) {
|
|
73
|
+
case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates:
|
|
74
|
+
await this.liveUpdatesHandler.handleToggles(message.liveUpdatesToggles);
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
logger_1.logger.error(`Invalid agent action message type from message '${message}'`);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
this.handleAppInstallCloudResponse = async (payload) => {
|
|
81
|
+
const { projectId, appReleaseHash, appInstallPayload, modelsInstallPayload } = payload.appInstallCloudResponse;
|
|
82
|
+
const signedUrlsPayload = {
|
|
83
|
+
appInstallPayload,
|
|
84
|
+
modelsInstallPayload
|
|
85
|
+
};
|
|
86
|
+
await this.atomicApplicationUpdate(application_control_1.installApp, [{ projectId, appReleaseHash, signedUrlsPayload }], projectId);
|
|
87
|
+
return true;
|
|
88
|
+
};
|
|
89
|
+
this.handleModelsInstallCloudResponse = async (payload) => {
|
|
90
|
+
const update = this.appCfgUpdateQueue.shift();
|
|
91
|
+
if (update === undefined) {
|
|
92
|
+
throw new Error('Unknown error while updating models via application config! No config present for model update.');
|
|
93
|
+
}
|
|
94
|
+
const { appCfgUpdate, envVarUpdate } = update;
|
|
95
|
+
const projectId = payload.modelsInstallCloudResponse.projectId;
|
|
96
|
+
if (appCfgUpdate) {
|
|
97
|
+
await this.atomicApplicationUpdate(application_control_1.updateModelsWithPresignedUrls, [
|
|
98
|
+
{
|
|
99
|
+
projectId,
|
|
100
|
+
modelInstallPayloads: payload.modelsInstallCloudResponse.newModels,
|
|
101
|
+
newAppCfg: appCfgUpdate.newAppCfg
|
|
102
|
+
}
|
|
103
|
+
], projectId);
|
|
104
|
+
}
|
|
105
|
+
if (envVarUpdate) {
|
|
106
|
+
await this.atomicApplicationUpdate(application_control_1.setEnv, [{ projectId, envVars: envVarUpdate.envVars }], projectId);
|
|
107
|
+
}
|
|
108
|
+
return true;
|
|
109
|
+
};
|
|
110
|
+
this.handleAppConfigUpdates = async (updates) => {
|
|
111
|
+
for (const update of updates) {
|
|
112
|
+
const { projectId, appCfgUpdate, envVarUpdate } = update;
|
|
113
|
+
if (appCfgUpdate &&
|
|
114
|
+
appCfgUpdate.updatedModels &&
|
|
115
|
+
Object.keys(appCfgUpdate.updatedModels).length) {
|
|
116
|
+
// When there are model updates request signed URLs and wait to apply config changes
|
|
117
|
+
const { updatedModels } = appCfgUpdate;
|
|
118
|
+
logger_1.logger.debug(`Requesting presigned urls from cloud for model versions: ${JSON.stringify(updatedModels)}`);
|
|
119
|
+
this.publisher.publishToCloud({
|
|
120
|
+
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
|
|
121
|
+
modelsOnlyUrlsRequest: {
|
|
122
|
+
projectId,
|
|
123
|
+
models: updatedModels
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
this.appCfgUpdateQueue.push(update);
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
if (appCfgUpdate) {
|
|
130
|
+
await this.atomicApplicationUpdate(application_control_1.updateAppCfg, [
|
|
131
|
+
{
|
|
132
|
+
projectId,
|
|
133
|
+
newAppCfg: appCfgUpdate.newAppCfg
|
|
134
|
+
}
|
|
135
|
+
], projectId);
|
|
136
|
+
}
|
|
137
|
+
if (envVarUpdate) {
|
|
138
|
+
await this.atomicApplicationUpdate(application_control_1.setEnv, [{ projectId, envVars: envVarUpdate.envVars }], projectId);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return true;
|
|
35
142
|
};
|
|
36
143
|
this.device = awsIot.device({
|
|
37
144
|
keyPath: directories_1.DEVICE_PRIVATE_KEY_FILE_PATH,
|
|
@@ -53,54 +160,6 @@ class DeviceAgentCloudConnection {
|
|
|
53
160
|
this.subscribe(this.shadowHandler.shadowTopics.projects.updateAccepted);
|
|
54
161
|
this.subscribe(this.shadowHandler.shadowTopics.projects.updateRejected);
|
|
55
162
|
}
|
|
56
|
-
async handleAppStateControl(payload) {
|
|
57
|
-
const { baseCommand, projectId } = payload;
|
|
58
|
-
switch (baseCommand) {
|
|
59
|
-
case device_agent_schemas_1.keyMirrors.appStateControl.start:
|
|
60
|
-
await (0, application_control_1.startApp)({ projectId });
|
|
61
|
-
break;
|
|
62
|
-
case device_agent_schemas_1.keyMirrors.appStateControl.stop:
|
|
63
|
-
await (0, application_control_1.stopApp)({ projectId });
|
|
64
|
-
break;
|
|
65
|
-
case device_agent_schemas_1.keyMirrors.appStateControl.restart:
|
|
66
|
-
await (0, application_control_1.restartApp)({ projectId });
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
async handleAppVersionControl(payload) {
|
|
71
|
-
switch (payload.baseCommand) {
|
|
72
|
-
case device_agent_schemas_1.keyMirrors.appVersionControl.install: {
|
|
73
|
-
const { projectId, appReleaseHash } = payload;
|
|
74
|
-
await this.cmdStatusMgr.start(projectId);
|
|
75
|
-
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
76
|
-
projectId,
|
|
77
|
-
appReleaseHash
|
|
78
|
-
});
|
|
79
|
-
const signedUrlsRequest = { projectId, appReleaseHash };
|
|
80
|
-
await this.publishCloudRequest({
|
|
81
|
-
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
|
|
82
|
-
signedUrlsRequest
|
|
83
|
-
});
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
case device_agent_schemas_1.keyMirrors.appVersionControl.uninstall: {
|
|
87
|
-
const { projectId } = payload;
|
|
88
|
-
await this.atomicApplicationUninstall(projectId);
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
default:
|
|
92
|
-
logger_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
async handleAgentCommand(message) {
|
|
96
|
-
switch (message.messageType) {
|
|
97
|
-
case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates:
|
|
98
|
-
await this.liveUpdatesHandler.handleToggles(message.liveUpdatesToggles);
|
|
99
|
-
break;
|
|
100
|
-
default:
|
|
101
|
-
logger_1.logger.error(`Invalid agent action message type from message '${message}'`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
163
|
async publishCloudRequest(payload) {
|
|
105
164
|
this.publisher.publishToCloud(payload);
|
|
106
165
|
}
|
|
@@ -109,58 +168,24 @@ class DeviceAgentCloudConnection {
|
|
|
109
168
|
this.device.subscribe(topic);
|
|
110
169
|
}
|
|
111
170
|
async atomicApplicationUninstall(projectId) {
|
|
112
|
-
const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
113
|
-
projectId
|
|
114
|
-
});
|
|
115
|
-
await this.cmdStatusMgr.start(projectId);
|
|
116
|
-
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
117
|
-
projectId,
|
|
118
|
-
appReleaseHash
|
|
119
|
-
});
|
|
120
171
|
try {
|
|
121
172
|
await (0, application_control_1.uninstallApp)({ projectId });
|
|
122
173
|
this.shadowHandler.clearAppConfig(projectId);
|
|
123
|
-
await this.cmdStatusMgr.stop(projectId);
|
|
124
|
-
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
125
|
-
projectId
|
|
126
|
-
});
|
|
127
|
-
// Send final status message
|
|
128
|
-
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
|
|
129
174
|
}
|
|
130
175
|
catch (e) {
|
|
131
176
|
logger_1.logger.error(`Failed to uninstall ${projectId}: ${e.message}`);
|
|
132
|
-
|
|
133
|
-
await this.cmdStatusMgr.stop(projectId);
|
|
134
|
-
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
135
|
-
projectId
|
|
136
|
-
});
|
|
137
|
-
// Send final status message
|
|
138
|
-
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
|
|
177
|
+
throw e;
|
|
139
178
|
}
|
|
140
179
|
}
|
|
141
180
|
// eslint-disable-next-line
|
|
142
|
-
async atomicApplicationUpdate(func, args, projectId
|
|
143
|
-
await this.cmdStatusMgr.start(projectId);
|
|
144
|
-
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
145
|
-
projectId,
|
|
146
|
-
appReleaseHash
|
|
147
|
-
});
|
|
148
|
-
// Install the app and models
|
|
181
|
+
async atomicApplicationUpdate(func, args, projectId) {
|
|
149
182
|
try {
|
|
150
183
|
const out = await func(...args);
|
|
151
|
-
await this.
|
|
152
|
-
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
153
|
-
projectId
|
|
154
|
-
});
|
|
155
|
-
// Send final status message
|
|
156
|
-
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
|
|
157
|
-
// update app config shadow for project
|
|
158
|
-
await this.shadowHandler.publishAppConfig(projectId);
|
|
184
|
+
await this.shadowHandler.updateProjectShadow(projectId);
|
|
159
185
|
return out;
|
|
160
186
|
}
|
|
161
187
|
catch (e) {
|
|
162
|
-
logger_1.logger.error(`Failed to
|
|
163
|
-
const message = e.message;
|
|
188
|
+
logger_1.logger.error(`Failed to update ${projectId}:\n${e.message}\n${e.stack}`);
|
|
164
189
|
// uninstall the failed app to put system back in good state
|
|
165
190
|
// TODO: Replace this with rollback
|
|
166
191
|
try {
|
|
@@ -168,52 +193,52 @@ class DeviceAgentCloudConnection {
|
|
|
168
193
|
}
|
|
169
194
|
finally {
|
|
170
195
|
this.shadowHandler.clearAppConfig(projectId);
|
|
171
|
-
|
|
172
|
-
|
|
196
|
+
}
|
|
197
|
+
throw e;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// eslint-disable-next-line
|
|
201
|
+
async atomicCmd(props) {
|
|
202
|
+
const { func, args, projectId } = props;
|
|
203
|
+
let appReleaseHash = props.appReleaseHash;
|
|
204
|
+
if (appReleaseHash === undefined) {
|
|
205
|
+
try {
|
|
206
|
+
appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
173
207
|
projectId
|
|
174
208
|
});
|
|
175
|
-
|
|
176
|
-
|
|
209
|
+
}
|
|
210
|
+
catch (e) {
|
|
211
|
+
logger_1.logger.warn(`Unable to get app release hash for ${projectId}!`);
|
|
212
|
+
appReleaseHash = '';
|
|
177
213
|
}
|
|
178
214
|
}
|
|
179
|
-
|
|
180
|
-
async handleAppConfigUpdates(appCfgUpdates) {
|
|
181
|
-
for (const appConfigUpdate of appCfgUpdates) {
|
|
182
|
-
const { projectId, newAppCfg, updatedModels } = appConfigUpdate;
|
|
183
|
-
const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
184
|
-
projectId
|
|
185
|
-
});
|
|
215
|
+
try {
|
|
186
216
|
await this.cmdStatusMgr.start(projectId);
|
|
187
217
|
await this.liveUpdatesHandler.enableAppInstallStatus({
|
|
188
218
|
projectId,
|
|
189
219
|
appReleaseHash
|
|
190
220
|
});
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
this.
|
|
194
|
-
|
|
195
|
-
this.publisher.publishToCloud({
|
|
196
|
-
messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
|
|
197
|
-
modelsOnlyUrlsRequest: {
|
|
198
|
-
projectId,
|
|
199
|
-
models: updatedModels
|
|
200
|
-
}
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
else {
|
|
204
|
-
// FIXME: do we need to send this up to the cloud?
|
|
205
|
-
// should it be something other than appReleaseHash?
|
|
206
|
-
const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
|
|
221
|
+
const completed = await func(...args);
|
|
222
|
+
if (completed) {
|
|
223
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
224
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
207
225
|
projectId
|
|
208
226
|
});
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
projectId,
|
|
212
|
-
appReleaseHash,
|
|
213
|
-
newAppCfg
|
|
214
|
-
}
|
|
215
|
-
], projectId, appReleaseHash);
|
|
227
|
+
// Send final status message
|
|
228
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
|
|
216
229
|
}
|
|
230
|
+
return completed;
|
|
231
|
+
}
|
|
232
|
+
catch (e) {
|
|
233
|
+
logger_1.logger.error(`Failed to execute cmd for ${projectId}:\n${e.message}\n${e.stack}`);
|
|
234
|
+
const message = e.message;
|
|
235
|
+
// uninstall the failed app to put system back in good state
|
|
236
|
+
await this.cmdStatusMgr.stop(projectId);
|
|
237
|
+
await this.liveUpdatesHandler.disableAppInstallStatus({
|
|
238
|
+
projectId
|
|
239
|
+
});
|
|
240
|
+
// Send final status message
|
|
241
|
+
this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
|
|
217
242
|
}
|
|
218
243
|
}
|
|
219
244
|
getClientId() {
|
|
@@ -228,53 +253,65 @@ class DeviceAgentCloudConnection {
|
|
|
228
253
|
isCmdInProgress(projectId) {
|
|
229
254
|
return this.cmdStatusMgr.isCmdInProgress(projectId);
|
|
230
255
|
}
|
|
256
|
+
async updateProjectShadow(projectId) {
|
|
257
|
+
await this.shadowHandler.updateProjectShadow(projectId);
|
|
258
|
+
}
|
|
231
259
|
async handleClientMessage({ topic, message }) {
|
|
232
260
|
const valid = (0, device_agent_schemas_1.validateClientMessage)(message);
|
|
233
261
|
if (!valid) {
|
|
234
262
|
logger_1.logger.error(`Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateClientMessage.errors }, null, 2)}`);
|
|
263
|
+
// TODO: Send generic error response
|
|
235
264
|
return;
|
|
236
265
|
}
|
|
237
266
|
const payload = message.payload;
|
|
238
267
|
switch (payload.messageType) {
|
|
239
268
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_state_control: {
|
|
240
|
-
|
|
269
|
+
const projectId = payload.appStateControl.projectId;
|
|
270
|
+
await this.atomicCmd({
|
|
271
|
+
func: this.handleAppStateControl,
|
|
272
|
+
args: [payload.appStateControl],
|
|
273
|
+
projectId
|
|
274
|
+
});
|
|
241
275
|
break;
|
|
242
276
|
}
|
|
243
277
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_version_control: {
|
|
244
|
-
|
|
278
|
+
const projectId = payload.appVersionControl.projectId;
|
|
279
|
+
const appReleaseHash = payload.appVersionControl.baseCommand ===
|
|
280
|
+
device_agent_schemas_1.keyMirrors.appVersionControl.install
|
|
281
|
+
? payload.appVersionControl.appReleaseHash
|
|
282
|
+
: undefined;
|
|
283
|
+
await this.atomicCmd({
|
|
284
|
+
func: this.handleAppVersionControl,
|
|
285
|
+
args: [payload.appVersionControl],
|
|
286
|
+
projectId,
|
|
287
|
+
appReleaseHash
|
|
288
|
+
});
|
|
245
289
|
break;
|
|
246
290
|
}
|
|
247
291
|
case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates: {
|
|
292
|
+
// TODO: Send response?
|
|
248
293
|
await this.handleAgentCommand(payload);
|
|
249
294
|
break;
|
|
250
295
|
}
|
|
251
296
|
case device_agent_schemas_1.keyMirrors.clientMessageType.app_install_cloud_response: {
|
|
252
|
-
const { projectId, appReleaseHash
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
297
|
+
const { projectId, appReleaseHash } = payload.appInstallCloudResponse;
|
|
298
|
+
await this.atomicCmd({
|
|
299
|
+
func: this.handleAppInstallCloudResponse,
|
|
300
|
+
args: [payload],
|
|
301
|
+
projectId,
|
|
302
|
+
appReleaseHash
|
|
303
|
+
});
|
|
258
304
|
break;
|
|
259
305
|
}
|
|
260
306
|
case device_agent_schemas_1.keyMirrors.clientMessageType.models_install_cloud_response: {
|
|
261
|
-
|
|
262
|
-
|
|
307
|
+
// This message doesn't have appReleaseHash in it's payload, but
|
|
308
|
+
// atomicCmd should be able to read it from the installed app
|
|
309
|
+
const { projectId } = payload.modelsInstallCloudResponse;
|
|
310
|
+
await this.atomicCmd({
|
|
311
|
+
func: this.handleModelsInstallCloudResponse,
|
|
312
|
+
args: [payload],
|
|
263
313
|
projectId
|
|
264
314
|
});
|
|
265
|
-
const newAppCfg = this.newAppCfgQueue.shift();
|
|
266
|
-
if (newAppCfg === undefined) {
|
|
267
|
-
logger_1.logger.error('Unknown error while updating models via application config! No config present for model update.');
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
|
-
await this.atomicApplicationUpdate(application_control_1.updateModelsWithPresignedUrls, [
|
|
271
|
-
{
|
|
272
|
-
projectId,
|
|
273
|
-
modelInstallPayloads: newModels,
|
|
274
|
-
newAppCfg,
|
|
275
|
-
appReleaseHash
|
|
276
|
-
}
|
|
277
|
-
], projectId, appReleaseHash);
|
|
278
315
|
break;
|
|
279
316
|
}
|
|
280
317
|
default:
|
|
@@ -286,12 +323,26 @@ class DeviceAgentCloudConnection {
|
|
|
286
323
|
switch (topic) {
|
|
287
324
|
case this.shadowHandler.shadowTopics.projects.getAccepted:
|
|
288
325
|
case this.shadowHandler.shadowTopics.projects.updateDelta: {
|
|
289
|
-
const
|
|
326
|
+
const shadowUpdates = await this.shadowHandler.handleShadowTopic({
|
|
290
327
|
topic,
|
|
291
328
|
payload: message.state,
|
|
292
329
|
clientToken: message.clientToken
|
|
293
330
|
});
|
|
294
|
-
|
|
331
|
+
if (shadowUpdates.length) {
|
|
332
|
+
// FIXME: Take project ID of first shadow update. Most likely there will only be one update
|
|
333
|
+
// so this should be sufficient for now.
|
|
334
|
+
const projectId = shadowUpdates[0].projectId;
|
|
335
|
+
try {
|
|
336
|
+
await this.atomicCmd({
|
|
337
|
+
func: this.handleAppConfigUpdates,
|
|
338
|
+
args: [shadowUpdates],
|
|
339
|
+
projectId
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
catch (e) {
|
|
343
|
+
logger_1.logger.error(`Error handling shadow message: ${e.message}`);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
295
346
|
break;
|
|
296
347
|
}
|
|
297
348
|
case this.shadowHandler.shadowTopics.projects.getRejected:
|
|
@@ -337,14 +388,17 @@ class DeviceAgentCloudConnection {
|
|
|
337
388
|
logger_1.logger.warn(`Device Agent is offline ${new Date().toLocaleString()}`);
|
|
338
389
|
});
|
|
339
390
|
}
|
|
340
|
-
stop() {
|
|
391
|
+
async stop() {
|
|
392
|
+
// FIXME: This method is currently only used by the CLI, and shadow messages
|
|
393
|
+
// can be lost since we aren't waiting for responses so sleep for a short
|
|
394
|
+
// time to receive them
|
|
395
|
+
await (0, sleep_1.default)(1000);
|
|
341
396
|
this.device.end();
|
|
342
397
|
}
|
|
343
398
|
}
|
|
344
399
|
exports.DeviceAgentCloudConnection = DeviceAgentCloudConnection;
|
|
345
400
|
async function runDeviceAgentCloudInterface() {
|
|
346
|
-
|
|
347
|
-
if ((0, fs_1.existsSync)(directories_1.DEVICE_CERTIFICATE_FILE_PATH)) {
|
|
401
|
+
if ((0, cloud_mode_ready_1.cloudModeReady)()) {
|
|
348
402
|
const deviceAgent = new DeviceAgentCloudConnection();
|
|
349
403
|
await deviceAgent.setupHandlers();
|
|
350
404
|
if (environment_1.ALWAYSAI_ANALYTICS_PASSTHROUGH === true) {
|
|
@@ -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":";;;AAAA,2BAA2B;AAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,iDAA+D;AAC/D,2BAAgC;AAChC,qDAM6B;AAC7B,yEAUwC;AACxC,yDAAsD;AACtD,2CAAwC;AACxC,+DAA0D;AAC1D,iEAAiE;AACjE,gEASgC;AAChC,qDAA6E;AAC7E,2CAAwC;AACxC,iEAA4D;AAC5D,+DAA2D;AAC3D,6CAAgD;AAChD,+DAAuE;AACvE,gDAAgE;AAChE,yCAAwD;AAExD,yCAAkC;AAElC,MAAa,0BAA0B;IAqSrC;;uEAEmE;IAEnE;QApSQ,WAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEvB,aAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;QAC3B,SAAI,GAAG,IAAA,4BAAqB,GAAE,CAAC;QACtB,kBAAa,GAAG,IAAA,qCAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,+DAA+D;QACvD,sBAAiB,GAAmB,EAAE,CAAC;QAEvC,0BAAqB,GAAG,KAAK,EACnC,OAA8B,EACZ,EAAE;YACpB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC3C,QAAQ,WAAW,EAAE;gBACnB,KAAK,iCAAU,CAAC,eAAe,CAAC,KAAK;oBACnC,MAAM,IAAA,8BAAQ,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,iCAAU,CAAC,eAAe,CAAC,IAAI;oBAClC,MAAM,IAAA,6BAAO,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC7B,MAAM;gBACR,KAAK,iCAAU,CAAC,eAAe,CAAC,OAAO;oBACrC,MAAM,IAAA,gCAAU,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;oBAChC,MAAM;aACT;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,4BAAuB,GAAG,KAAK,EACrC,OAAgC,EACd,EAAE;YACpB,QAAQ,OAAO,CAAC,WAAW,EAAE;gBAC3B,KAAK,iCAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;oBACzC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;oBAE9C,MAAM,iBAAiB,GAAG,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;oBACxD,MAAM,IAAI,CAAC,mBAAmB,CAAC;wBAC7B,WAAW,EAAE,iCAAU,CAAC,gBAAgB,CAAC,mBAAmB;wBAC5D,iBAAiB;qBAClB,CAAC,CAAC;oBACH,OAAO,KAAK,CAAC;iBACd;gBACD,KAAK,iCAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;oBAC9B,MAAM,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;oBACjD,OAAO,IAAI,CAAC;iBACb;gBACD;oBACE,eAAM,CAAC,IAAI,CACT,sCAAsC,IAAI,CAAC,SAAS,CAClD,OAAO,EACP,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;oBACF,OAAO,IAAI,CAAC;aACf;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,KAAK,EAChC,OAAiC,EAClB,EAAE;YACjB,QAAQ,OAAO,CAAC,WAAW,EAAE;gBAC3B,KAAK,iCAAU,CAAC,iBAAiB,CAAC,kBAAkB;oBAClD,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;oBACxE,MAAM;gBACR;oBACE,eAAM,CAAC,KAAK,CACV,mDAAmD,OAAO,GAAG,CAC9D,CAAC;aACL;QACH,CAAC,CAAC;QAEM,kCAA6B,GAAG,KAAK,EAC3C,OAAuC,EACrB,EAAE;YACpB,MAAM,EACJ,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACrB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YACpC,MAAM,iBAAiB,GAAG;gBACxB,iBAAiB;gBACjB,oBAAoB;aACrB,CAAC;YACF,MAAM,IAAI,CAAC,uBAAuB,CAChC,gCAAU,EACV,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC,EAClD,SAAS,CACV,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEM,qCAAgC,GAAG,KAAK,EAC9C,OAA0C,EACxB,EAAE;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;aACH;YACD,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;YAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,SAAS,CAAC;YAC/D,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,uBAAuB,CAChC,mDAA6B,EAC7B;oBACE;wBACE,SAAS;wBACT,oBAAoB,EAAE,OAAO,CAAC,0BAA0B,CAAC,SAAS;wBAClE,SAAS,EAAE,YAAY,CAAC,SAAS;qBAClC;iBACF,EACD,SAAS,CACV,CAAC;aACH;YAED,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,uBAAuB,CAChC,4BAAM,EACN,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,EAC9C,SAAS,CACV,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QA4GM,2BAAsB,GAAG,KAAK,EACpC,OAAuB,EACL,EAAE;YACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;gBAEzD,IACE,YAAY;oBACZ,YAAY,CAAC,aAAa;oBAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,EAC9C;oBACA,oFAAoF;oBACpF,MAAM,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC;oBAEvC,eAAM,CAAC,KAAK,CACV,4DAA4D,IAAI,CAAC,SAAS,CACxE,aAAa,CACd,EAAE,CACJ,CAAC;oBACF,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;wBAC5B,WAAW,EAAE,iCAAU,CAAC,gBAAgB,CAAC,mBAAmB;wBAC5D,qBAAqB,EAAE;4BACrB,SAAS;4BACT,MAAM,EAAE,aAAa;yBACtB;qBACF,CAAC,CAAC;oBAEH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpC,OAAO,KAAK,CAAC;iBACd;gBAED,IAAI,YAAY,EAAE;oBAChB,MAAM,IAAI,CAAC,uBAAuB,CAChC,kCAAY,EACZ;wBACE;4BACE,SAAS;4BACT,SAAS,EAAE,YAAY,CAAC,SAAS;yBAClC;qBACF,EACD,SAAS,CACV,CAAC;iBACH;gBAED,IAAI,YAAY,EAAE;oBAChB,MAAM,IAAI,CAAC,uBAAuB,CAChC,4BAAM,EACN,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,EAC9C,SAAS,CACV,CAAC;iBACH;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAOA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,OAAO,EAAE,0CAA4B;YACrC,QAAQ,EAAE,0CAA4B;YACtC,MAAM,EAAE,4CAA8B;YACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,CAAC,CAAC,+EAA+E;SAC7F,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,IAAI,6BAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,yCAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC;IA1LO,KAAK,CAAC,mBAAmB,CAAC,OAAiC;QACjE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,eAAM,CAAC,IAAI,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,SAAiB;QACxD,IAAI;YACF,MAAM,IAAA,kCAAY,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;SAC9C;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/D,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAED,2BAA2B;IACnB,KAAK,CAAC,uBAAuB,CACnC,IAAuB,EACvB,IAAO,EACP,SAAiB;QAEjB,IAAI;YACF,MAAM,GAAG,GAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YACxD,OAAO,GAAG,CAAC;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAEzE,4DAA4D;YAC5D,mCAAmC;YACnC,IAAI;gBACF,MAAM,IAAA,kCAAY,EAAC,EAAE,SAAS,EAAE,CAAC,CAAC;aACnC;oBAAS;gBACR,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aAC9C;YACD,MAAM,CAAC,CAAC;SACT;IACH,CAAC;IAED,2BAA2B;IACnB,KAAK,CAAC,SAAS,CAAkB,KAKxC;QACC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QACxC,IAAI,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;QAC1C,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,IAAI;gBACF,cAAc,GAAG,MAAM,IAAA,8BAAe,GAAE,CAAC,aAAa,CAAC;oBACrD,SAAS;iBACV,CAAC,CAAC;aACJ;YAAC,OAAO,CAAC,EAAE;gBACV,eAAM,CAAC,IAAI,CAAC,sCAAsC,SAAS,GAAG,CAAC,CAAC;gBAChE,cAAc,GAAG,EAAE,CAAC;aACrB;SACF;QACD,IAAI;YACF,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;gBACnD,SAAS;gBACT,cAAc;aACf,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACtC,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;oBACpD,SAAS;iBACV,CAAC,CAAC;gBACH,4BAA4B;gBAC5B,IAAI,CAAC,SAAS,CAAC,eAAe,CAC5B,MAAM,IAAA,qCAA0B,EAC9B,iCAAU,CAAC,gBAAgB,CAAC,OAAO,EACnC,EAAE,EACF,cAAc,CACf,CACF,CAAC;aACH;YACD,OAAO,SAAS,CAAC;SAClB;QAAC,OAAO,CAAC,EAAE;YACV,eAAM,CAAC,KAAK,CACV,6BAA6B,SAAS,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,CACpE,CAAC;YACF,MAAM,OAAO,GAAW,CAAC,CAAC,OAAO,CAAC;YAElC,4DAA4D;YAC5D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;gBACpD,SAAS;aACV,CAAC,CAAC;YACH,4BAA4B;YAC5B,IAAI,CAAC,SAAS,CAAC,eAAe,CAC5B,MAAM,IAAA,qCAA0B,EAC9B,iCAAU,CAAC,gBAAgB,CAAC,OAAO,EACnC,OAAO,EACP,cAAc,CACf,CACF,CAAC;SACH;IACH,CAAC;IAoFM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;IACzC,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QAChD,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EAIR;QACC,MAAM,KAAK,GAAG,IAAA,4CAAqB,EAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE;YACV,eAAM,CAAC,KAAK,CACV,6BAA6B,IAAI,CAAC,SAAS,CACzC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4CAAqB,CAAC,MAAM,EAAE,EACxD,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;YACF,oCAAoC;YACpC,OAAO;SACR;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,QAAQ,OAAO,CAAC,WAAW,EAAE;YAC3B,KAAK,iCAAU,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;gBACnD,MAAM,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC;gBACpD,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,qBAAqB;oBAChC,IAAI,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC;oBAC/B,SAAS;iBACV,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,iCAAU,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;gBACrD,MAAM,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACtD,MAAM,cAAc,GAClB,OAAO,CAAC,iBAAiB,CAAC,WAAW;oBACrC,iCAAU,CAAC,iBAAiB,CAAC,OAAO;oBAClC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc;oBAC1C,CAAC,CAAC,SAAS,CAAC;gBAChB,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,uBAAuB;oBAClC,IAAI,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBACjC,SAAS;oBACT,cAAc;iBACf,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,iCAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;gBACpD,uBAAuB;gBACvB,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM;aACP;YACD,KAAK,iCAAU,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;gBAC5D,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC;gBACtE,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,6BAA6B;oBACxC,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,SAAS;oBACT,cAAc;iBACf,CAAC,CAAC;gBAEH,MAAM;aACP;YACD,KAAK,iCAAU,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;gBAC/D,gEAAgE;gBAChE,6DAA6D;gBAC7D,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC;gBACzD,MAAM,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,IAAI,CAAC,gCAAgC;oBAC3C,IAAI,EAAE,CAAC,OAAO,CAAC;oBACf,SAAS;iBACV,CAAC,CAAC;gBAEH,MAAM;aACP;YACD;gBACE,eAAM,CAAC,KAAK,CACV,4BAA4B,IAAI,CAAC,SAAS,CACxC,EAAE,KAAK,EAAE,OAAO,EAAE,EAClB,IAAI,EACJ,CAAC,CACF,GAAG,CACL,CAAC;SACL;IACH,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,OAA4B;QACpE,eAAM,CAAC,KAAK,CACV,qBAAqB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CACnE,CAAC;QACF,QAAQ,KAAK,EAAE;YACb,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1D,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;oBAC/D,KAAK;oBACL,OAAO,EAAE,OAAO,CAAC,KAAK;oBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;iBACjC,CAAC,CAAC;gBACH,IAAI,aAAa,CAAC,MAAM,EAAE;oBACxB,2FAA2F;oBAC3F,wCAAwC;oBACxC,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC7C,IAAI;wBACF,MAAM,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,IAAI,CAAC,sBAAsB;4BACjC,IAAI,EAAE,CAAC,aAAa,CAAC;4BACrB,SAAS;yBACV,CAAC,CAAC;qBACJ;oBAAC,OAAO,CAAC,EAAE;wBACV,eAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;qBAC7D;iBACF;gBACD,MAAM;aACP;YACD,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC1D,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC7D,KAAK,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc;gBAC1D,6BAA6B;gBAC7B,MAAM;YACR,KAAK,IAAI,CAAC,aAAa;gBACrB,MAAM,IAAI,CAAC,mBAAmB,CAAC;oBAC7B,KAAK;oBACL,OAAO;iBACR,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,eAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;IAEM,KAAK,CAAC,aAAa;QACxB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAY,EAAE,EAAE;YACzC,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YAEvD,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YAChC,eAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YAC/B,eAAM,CAAC,IAAI,CACT,yCAAyC,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CACvE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YACrC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC7C,eAAM,CAAC,KAAK,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;YACjE,IAAI;gBACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACV,eAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACrD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YAC7B,eAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,4EAA4E;QAC5E,yEAAyE;QACzE,uBAAuB;QACvB,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;CACF;AA/fD,gEA+fC;AAEM,KAAK,UAAU,4BAA4B;IAChD,IAAI,IAAA,iCAAc,GAAE,EAAE;QACpB,MAAM,WAAW,GAAG,IAAI,0BAA0B,EAAE,CAAC;QACrD,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,4CAA8B,KAAK,IAAI,EAAE;YAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,MAAM,kBAAkB,GAAG,IAAI,wCAAkB,CAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,kBAAkB,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,IAAA,gCAAU,EAAC,kBAAkB,CAAC,CAAC;SACtC;KACF;SAAM,IAAI,IAAA,eAAU,EAAC,IAAA,6CAA+B,GAAE,CAAC,EAAE;QACxD,MAAM,IAAA,wCAAkB,GAAE,CAAC;KAC5B;SAAM,IAAI,IAAA,eAAU,EAAC,IAAA,6CAA+B,GAAE,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;KACH;SAAM;QACL,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;KACH;AACH,CAAC;AArBD,oEAqBC"}
|
|
@@ -14,6 +14,9 @@ export declare class LiveUpdatesHandler {
|
|
|
14
14
|
private restartLiveUpdatesTimeout;
|
|
15
15
|
private startPublishingLiveUpdates;
|
|
16
16
|
constructor(publisher: Publisher);
|
|
17
|
+
getDeviceStatsLiveUpdates(): boolean;
|
|
18
|
+
getAppStateLiveUpdates(): boolean;
|
|
19
|
+
getAppLogsLiveUpdates(): boolean;
|
|
17
20
|
enableAppInstallStatus(props: {
|
|
18
21
|
projectId: string;
|
|
19
22
|
appReleaseHash: string;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAaxC,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;YAWnB,0BAA0B;gBA6B5B,SAAS,EAAE,SAAS;IAOzB,yBAAyB;IAIzB,sBAAsB;IAItB,qBAAqB;IAIf,sBAAsB,CAAC,KAAK,EAAE;QACzC,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB;IAeY,uBAAuB,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE;IASpD,aAAa,CAAC,OAAO,EAAE,kBAAkB;CAwCvD"}
|
|
@@ -6,6 +6,10 @@ const application_control_1 = require("../application-control");
|
|
|
6
6
|
const logger_1 = require("../util/logger");
|
|
7
7
|
const sleep_1 = require("../util/sleep");
|
|
8
8
|
const messages_1 = require("./messages");
|
|
9
|
+
const environment_1 = require("../environment");
|
|
10
|
+
const LIVE_UPDATES_TIMEOUT = environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS
|
|
11
|
+
? parseInt(environment_1.ALWAYSAI_LIVE_UPDATES_TIMEOUT_MS)
|
|
12
|
+
: 60000;
|
|
9
13
|
class LiveUpdatesHandler {
|
|
10
14
|
/*=================================================================
|
|
11
15
|
Public interface
|
|
@@ -26,6 +30,7 @@ class LiveUpdatesHandler {
|
|
|
26
30
|
this.appLogStreams = new Set();
|
|
27
31
|
this.appInstallStatuses = new Set();
|
|
28
32
|
this.publisher = publisher;
|
|
33
|
+
logger_1.logger.debug(`Toggle live updates timeout set to ${LIVE_UPDATES_TIMEOUT} ms`);
|
|
29
34
|
}
|
|
30
35
|
async startAppLogStream(projectId) {
|
|
31
36
|
logger_1.logger.info(`Starting log stream for ${projectId}`);
|
|
@@ -84,10 +89,10 @@ class LiveUpdatesHandler {
|
|
|
84
89
|
return -1;
|
|
85
90
|
}
|
|
86
91
|
setLiveUpdates(toggles) {
|
|
87
|
-
if (toggles.deviceStats) {
|
|
92
|
+
if (toggles.deviceStats !== undefined) {
|
|
88
93
|
this.liveUpdatesAlive.device_stats = toggles.deviceStats;
|
|
89
94
|
}
|
|
90
|
-
if (toggles.appState) {
|
|
95
|
+
if (toggles.appState !== undefined) {
|
|
91
96
|
this.liveUpdatesAlive.app_state = toggles.appState;
|
|
92
97
|
}
|
|
93
98
|
}
|
|
@@ -99,8 +104,7 @@ class LiveUpdatesHandler {
|
|
|
99
104
|
appState: false
|
|
100
105
|
});
|
|
101
106
|
this.appLogStreams.clear();
|
|
102
|
-
|
|
103
|
-
}, 600000); // 10 min
|
|
107
|
+
}, LIVE_UPDATES_TIMEOUT);
|
|
104
108
|
}
|
|
105
109
|
async startPublishingLiveUpdates(messageType, getMessageData, args, projectId) {
|
|
106
110
|
logger_1.logger.info(`Turned on live updates for ${messageType}`);
|
|
@@ -120,6 +124,15 @@ class LiveUpdatesHandler {
|
|
|
120
124
|
await (0, sleep_1.default)(this.getLiveUpdatesInterval(messageType));
|
|
121
125
|
}
|
|
122
126
|
}
|
|
127
|
+
getDeviceStatsLiveUpdates() {
|
|
128
|
+
return this.liveUpdatesAlive.device_stats;
|
|
129
|
+
}
|
|
130
|
+
getAppStateLiveUpdates() {
|
|
131
|
+
return this.liveUpdatesAlive.app_state;
|
|
132
|
+
}
|
|
133
|
+
getAppLogsLiveUpdates() {
|
|
134
|
+
return this.liveUpdatesAlive.app_logs;
|
|
135
|
+
}
|
|
123
136
|
async enableAppInstallStatus(props) {
|
|
124
137
|
const { projectId, appReleaseHash } = props;
|
|
125
138
|
this.liveUpdatesAlive.app_install_status = true;
|
|
@@ -139,22 +152,25 @@ class LiveUpdatesHandler {
|
|
|
139
152
|
async handleToggles(toggles) {
|
|
140
153
|
const { deviceStats, appState, appLogs } = toggles;
|
|
141
154
|
this.restartLiveUpdatesTimeout();
|
|
155
|
+
const currentDeviceStats = this.getDeviceStatsLiveUpdates();
|
|
142
156
|
if (deviceStats !== undefined) {
|
|
143
157
|
this.liveUpdatesAlive.device_stats = deviceStats;
|
|
144
|
-
if (deviceStats) {
|
|
158
|
+
if (deviceStats && currentDeviceStats !== true) {
|
|
145
159
|
// Don't wait for this call to finish since it loops until disabled
|
|
146
160
|
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.device_stats, messages_1.getDeviceStatsMessage, []);
|
|
147
161
|
}
|
|
148
162
|
}
|
|
163
|
+
const currentAppState = this.getAppStateLiveUpdates();
|
|
149
164
|
if (appState !== undefined) {
|
|
150
165
|
this.liveUpdatesAlive.app_state = appState;
|
|
151
|
-
if (appState) {
|
|
166
|
+
if (appState && currentAppState !== true) {
|
|
152
167
|
// Don't wait for this call to finish since it loops until disabled
|
|
153
168
|
void this.startPublishingLiveUpdates(device_agent_schemas_1.keyMirrors.agentMessageType.app_state, messages_1.getAppStateMessage, []);
|
|
154
169
|
}
|
|
155
170
|
}
|
|
171
|
+
const currentAppLogs = this.getAppLogsLiveUpdates();
|
|
156
172
|
if (appLogs !== undefined) {
|
|
157
|
-
if (appLogs.toggle) {
|
|
173
|
+
if (appLogs.toggle && currentAppLogs !== true) {
|
|
158
174
|
// Don't wait for this call to finish since it loops until disabled
|
|
159
175
|
void this.startAppLogStream(appLogs.projectId);
|
|
160
176
|
}
|