@alwaysai/device-agent 2.0.0 → 2.0.2-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/lib/application-control/environment-variables.d.ts +4 -0
  2. package/lib/application-control/environment-variables.d.ts.map +1 -1
  3. package/lib/application-control/environment-variables.js +17 -13
  4. package/lib/application-control/environment-variables.js.map +1 -1
  5. package/lib/application-control/install.d.ts +4 -1
  6. package/lib/application-control/install.d.ts.map +1 -1
  7. package/lib/application-control/install.js +16 -1
  8. package/lib/application-control/install.js.map +1 -1
  9. package/lib/application-control/utils.d.ts.map +1 -1
  10. package/lib/application-control/utils.js +13 -0
  11. package/lib/application-control/utils.js.map +1 -1
  12. package/lib/cloud-connection/base-message-handler.d.ts +27 -0
  13. package/lib/cloud-connection/base-message-handler.d.ts.map +1 -0
  14. package/lib/cloud-connection/base-message-handler.js +72 -0
  15. package/lib/cloud-connection/base-message-handler.js.map +1 -0
  16. package/lib/cloud-connection/connection-manager.d.ts +20 -0
  17. package/lib/cloud-connection/connection-manager.d.ts.map +1 -0
  18. package/lib/cloud-connection/connection-manager.js +164 -0
  19. package/lib/cloud-connection/connection-manager.js.map +1 -0
  20. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +7 -23
  21. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  22. package/lib/cloud-connection/device-agent-cloud-connection.js +49 -517
  23. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  24. package/lib/cloud-connection/device-agent-message-handler.d.ts +22 -0
  25. package/lib/cloud-connection/device-agent-message-handler.d.ts.map +1 -0
  26. package/lib/cloud-connection/device-agent-message-handler.js +357 -0
  27. package/lib/cloud-connection/device-agent-message-handler.js.map +1 -0
  28. package/lib/cloud-connection/live-updates-handler.d.ts +1 -0
  29. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  30. package/lib/cloud-connection/live-updates-handler.js +13 -10
  31. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  32. package/lib/cloud-connection/message-dispatcher.d.ts +10 -0
  33. package/lib/cloud-connection/message-dispatcher.d.ts.map +1 -0
  34. package/lib/cloud-connection/message-dispatcher.js +27 -0
  35. package/lib/cloud-connection/message-dispatcher.js.map +1 -0
  36. package/lib/cloud-connection/publisher.d.ts +3 -2
  37. package/lib/cloud-connection/publisher.d.ts.map +1 -1
  38. package/lib/cloud-connection/publisher.js +8 -4
  39. package/lib/cloud-connection/publisher.js.map +1 -1
  40. package/lib/cloud-connection/shadow-handler.d.ts +7 -0
  41. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  42. package/lib/cloud-connection/shadow-handler.js +77 -1
  43. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  44. package/lib/cloud-connection/shadow-handler.test.js +5 -2
  45. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  46. package/lib/cloud-connection/transaction-manager.d.ts +9 -4
  47. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  48. package/lib/cloud-connection/transaction-manager.js +22 -11
  49. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  50. package/lib/cloud-connection/transaction-manager.test.js +43 -14
  51. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  52. package/lib/jobs/job-handler.d.ts +23 -0
  53. package/lib/jobs/job-handler.d.ts.map +1 -0
  54. package/lib/jobs/job-handler.js +131 -0
  55. package/lib/jobs/job-handler.js.map +1 -0
  56. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts +8 -0
  57. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts.map +1 -0
  58. package/lib/secure-tunneling/secure-tunnel-message-handler.js +42 -0
  59. package/lib/secure-tunneling/secure-tunnel-message-handler.js.map +1 -0
  60. package/lib/subcommands/app/version.d.ts +2 -0
  61. package/lib/subcommands/app/version.d.ts.map +1 -1
  62. package/lib/subcommands/app/version.js +14 -2
  63. package/lib/subcommands/app/version.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/application-control/environment-variables.ts +31 -21
  66. package/src/application-control/install.ts +24 -3
  67. package/src/application-control/utils.ts +13 -0
  68. package/src/cloud-connection/base-message-handler.ts +118 -0
  69. package/src/cloud-connection/connection-manager.ts +196 -0
  70. package/src/cloud-connection/device-agent-cloud-connection.ts +104 -817
  71. package/src/cloud-connection/device-agent-message-handler.ts +642 -0
  72. package/src/cloud-connection/live-updates-handler.ts +26 -18
  73. package/src/cloud-connection/message-dispatcher.ts +33 -0
  74. package/src/cloud-connection/publisher.ts +28 -23
  75. package/src/cloud-connection/shadow-handler.test.ts +6 -2
  76. package/src/cloud-connection/shadow-handler.ts +129 -1
  77. package/src/cloud-connection/transaction-manager.test.ts +55 -24
  78. package/src/cloud-connection/transaction-manager.ts +42 -31
  79. package/src/jobs/job-handler.ts +146 -0
  80. package/src/secure-tunneling/secure-tunnel-message-handler.ts +56 -0
  81. package/src/subcommands/app/version.ts +20 -2
@@ -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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"}
@@ -0,0 +1,22 @@
1
+ import { ToDeviceAgentMessage, EnvVars } from '@alwaysai/device-agent-schemas';
2
+ import { MessageDispatcher, MessageHandler } from './message-dispatcher';
3
+ import { HandlerContext } from './base-message-handler';
4
+ import { ErrorFunction, SuccessFunction } from './transaction-manager';
5
+ import { AppConfig } from '@alwaysai/app-configuration-schemas';
6
+ export declare type AppContent = {
7
+ projectId: string;
8
+ appCfg?: AppConfig;
9
+ envVars?: EnvVars;
10
+ };
11
+ export declare type AppContentUpdate = {
12
+ appCfg?: string;
13
+ envVars?: string;
14
+ };
15
+ export declare class DeviceAgentMessageHandler extends MessageDispatcher<ToDeviceAgentMessage> implements MessageHandler<any> {
16
+ private readonly handlerContext;
17
+ private readonly errorFn?;
18
+ private readonly successFn?;
19
+ constructor(handlerContext: HandlerContext, errorFn?: ErrorFunction, successFn?: SuccessFunction);
20
+ handle(message: any, topic?: string): void;
21
+ }
22
+ //# sourceMappingURL=device-agent-message-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-agent-message-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAoBL,oBAAoB,EACpB,OAAO,EAER,MAAM,gCAAgC,CAAC;AAgBxC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAe,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EACL,SAAS,EAEV,MAAM,qCAAqC,CAAC;AAE7C,oBAAY,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,qBAAa,yBACX,SAAQ,iBAAiB,CAAC,oBAAoB,CAC9C,YAAW,cAAc,CAAC,GAAG,CAAC;IAE9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAkB;gBAG3C,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,aAAa,EACvB,SAAS,CAAC,EAAE,eAAe;IAsCtB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;CAwBlD"}
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceAgentMessageHandler = void 0;
4
+ const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
5
+ const util_1 = require("alwaysai/lib/util");
6
+ const application_control_1 = require("../application-control");
7
+ const device_control_1 = require("../device-control/device-control");
8
+ const message_dispatcher_1 = require("./message-dispatcher");
9
+ const messages_1 = require("./messages");
10
+ const base_message_handler_1 = require("./base-message-handler");
11
+ const app_configuration_schemas_1 = require("@alwaysai/app-configuration-schemas");
12
+ class DeviceAgentMessageHandler extends message_dispatcher_1.MessageDispatcher {
13
+ constructor(handlerContext, errorFn, successFn) {
14
+ super();
15
+ this.handlerContext = handlerContext;
16
+ this.errorFn = errorFn;
17
+ this.successFn = successFn;
18
+ const handlerMapping = {
19
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.app_state_control]: AppStateMessageHandler,
20
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.live_state_updates]: LiveStateUpdatesMessageHandler,
21
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.app_version_control]: AppVersionControlMessageHandler,
22
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.app_install_response]: AppInstallResponseMessageHandler,
23
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.models_install_response]: ModelsInstallResponseMessageHandler,
24
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.status_response]: StatusResponseMessageHandler,
25
+ [device_agent_schemas_1.keyMirrors.toDeviceAgentMessageType.device_action]: DeviceActionMessageHandler
26
+ };
27
+ Object.entries(handlerMapping).forEach(([keyMirror, HandlerClass]) => {
28
+ this.registerHandler(keyMirror, new HandlerClass(this.handlerContext, this.errorFn, this.successFn));
29
+ });
30
+ }
31
+ handle(message, topic) {
32
+ const valid = (0, device_agent_schemas_1.validateToDeviceAgentMessage)(message);
33
+ if (!valid) {
34
+ util_1.logger.error(`Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateToDeviceAgentMessage.errors }, null, 2)}`);
35
+ if (this.errorFn) {
36
+ this.errorFn('', `Error validating message: ${JSON.stringify({ topic, message, errors: device_agent_schemas_1.validateToDeviceAgentMessage.errors }, null, 2)}`);
37
+ }
38
+ return;
39
+ }
40
+ this.dispatch(message.messageType, message);
41
+ }
42
+ }
43
+ exports.DeviceAgentMessageHandler = DeviceAgentMessageHandler;
44
+ class AppStateMessageHandler extends base_message_handler_1.BaseHandler {
45
+ constructor() {
46
+ super(...arguments);
47
+ this.handleAppStateControl = async (payload) => {
48
+ const { baseCommand, projectId } = payload;
49
+ switch (baseCommand) {
50
+ case device_agent_schemas_1.keyMirrors.appStateControl.start:
51
+ await (0, application_control_1.startApp)({ projectId });
52
+ break;
53
+ case device_agent_schemas_1.keyMirrors.appStateControl.stop:
54
+ await (0, application_control_1.stopApp)({ projectId });
55
+ break;
56
+ case device_agent_schemas_1.keyMirrors.appStateControl.restart:
57
+ await (0, application_control_1.restartApp)({ projectId });
58
+ break;
59
+ }
60
+ return true;
61
+ };
62
+ }
63
+ async handle(message) {
64
+ const payload = message.payload;
65
+ const projectId = payload.projectId;
66
+ const txId = message.txId;
67
+ try {
68
+ await this.txnMgr.runTransactionStep({
69
+ func: () => this.handleAppStateControl(message.payload),
70
+ projectId,
71
+ txId,
72
+ start: true,
73
+ liveUpdatesPublishFn: async () => this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, { status: device_agent_schemas_1.keyMirrors.statusResponse.in_progress }, txId), util_1.logger.silly),
74
+ stepName: payload.baseCommand,
75
+ errorFn: this.errorFn,
76
+ successFn: this.successFn
77
+ });
78
+ }
79
+ catch (e) {
80
+ util_1.logger.error(`Error processing application state control request for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
81
+ }
82
+ }
83
+ }
84
+ class AppVersionControlMessageHandler extends base_message_handler_1.BaseHandler {
85
+ constructor() {
86
+ super(...arguments);
87
+ this.handleAppVersionControl = async (payload, txId) => {
88
+ switch (payload.baseCommand) {
89
+ case device_agent_schemas_1.keyMirrors.appVersionControl.install: {
90
+ const { projectId, appReleaseHash, appCfg, envVars } = payload;
91
+ const appContentUpdate = {
92
+ appCfg,
93
+ envVars
94
+ };
95
+ const appContent = await this.processAppContentUpdate(projectId, appContentUpdate);
96
+ if (appContent) {
97
+ this.txnMgr.setAppContentToTx(txId, appContent);
98
+ }
99
+ const signedUrlsRequestPayload = {
100
+ signedUrlsRequest: {
101
+ projectId,
102
+ appReleaseHash
103
+ }
104
+ };
105
+ const message = (0, device_agent_schemas_1.buildSignedUrlsRequestMessage)(this.clientId, signedUrlsRequestPayload, txId);
106
+ await this.publishCloudRequest(message);
107
+ return false;
108
+ }
109
+ case device_agent_schemas_1.keyMirrors.appVersionControl.uninstall: {
110
+ const { projectId } = payload;
111
+ await this.atomicApplicationUninstall(projectId);
112
+ return true;
113
+ }
114
+ default:
115
+ util_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
116
+ return true;
117
+ }
118
+ };
119
+ }
120
+ async handle(message) {
121
+ const payload = message.payload;
122
+ const projectId = payload.projectId;
123
+ const txId = message.txId;
124
+ try {
125
+ await this.txnMgr.runTransactionStep({
126
+ func: () => this.handleAppVersionControl(payload, txId),
127
+ projectId,
128
+ txId,
129
+ start: true,
130
+ liveUpdatesPublishFn: async () => this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, { status: device_agent_schemas_1.keyMirrors.statusResponse.in_progress }, txId), util_1.logger.silly),
131
+ stepName: payload.baseCommand,
132
+ errorFn: this.errorFn,
133
+ successFn: this.successFn
134
+ });
135
+ }
136
+ catch (e) {
137
+ util_1.logger.error(`Error processing application install request for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
138
+ }
139
+ }
140
+ async publishCloudRequest(message) {
141
+ this.publisher.publishToCloud(message);
142
+ }
143
+ async processAppContentUpdate(projectId, appContentUpdate) {
144
+ const appContent = { projectId };
145
+ // appCfg
146
+ if (!appContentUpdate.appCfg) {
147
+ util_1.logger.info(`No appCfgUpdate for ${projectId}`);
148
+ }
149
+ else {
150
+ // Handle errors and validation
151
+ try {
152
+ const appCfgUpdate = JSON.parse(appContentUpdate.appCfg);
153
+ if (!(0, app_configuration_schemas_1.validateAppConfig)(appCfgUpdate)) {
154
+ util_1.logger.error(`Received invalid app config for ${projectId}!\n${JSON.stringify(app_configuration_schemas_1.validateAppConfig.errors, null, 2)}`);
155
+ throw new Error(`Received invalid app config for ${projectId}!\n${JSON.stringify(app_configuration_schemas_1.validateAppConfig.errors, null, 2)}`);
156
+ }
157
+ else {
158
+ appContent.appCfg = appCfgUpdate;
159
+ }
160
+ }
161
+ catch (e) {
162
+ util_1.logger.error(`Could not parse the appConfig for transaction!\n${(0, util_1.stringifyError)(e)}`);
163
+ }
164
+ }
165
+ // envVars
166
+ if (!appContentUpdate.envVars) {
167
+ util_1.logger.info(`No envVars for ${projectId}`);
168
+ }
169
+ else {
170
+ try {
171
+ const envvarsUpdate = JSON.parse(appContentUpdate.envVars);
172
+ if (!(0, device_agent_schemas_1.validateEnvVarSchemaShadowUpdate)(envvarsUpdate)) {
173
+ util_1.logger.error(`Received invalid environment variables update for ${projectId}!\n${JSON.stringify(device_agent_schemas_1.validateEnvVarSchemaShadowUpdate.errors, null, 2)}`);
174
+ throw new Error(`Received invalid environment variables update for${projectId}!\n${JSON.stringify(device_agent_schemas_1.validateEnvVarSchemaShadowUpdate.errors, null, 2)}`);
175
+ }
176
+ else {
177
+ appContent.envVars = envvarsUpdate;
178
+ }
179
+ }
180
+ catch (e) {
181
+ // throw here
182
+ util_1.logger.error(`Could not parse the environment variables for transaction!\n${(0, util_1.stringifyError)(e)}`);
183
+ }
184
+ }
185
+ return appContent.appCfg || appContent.envVars ? appContent : null;
186
+ }
187
+ }
188
+ class LiveStateUpdatesMessageHandler extends base_message_handler_1.BaseHandler {
189
+ async handle(message) {
190
+ const { deviceStats, appState, appLogs } = message.payload;
191
+ const txId = message.txId;
192
+ if (deviceStats !== undefined) {
193
+ if (deviceStats) {
194
+ await this.liveUpdatesHandler.enable(device_agent_schemas_1.keyMirrors.toClientMessageType.device_stats, async () => this.publisher.publishToClient((0, device_agent_schemas_1.buildDeviceStatsMessage)(this.clientId, await (0, messages_1.getDeviceStatsPayload)(), txId), util_1.logger.silly));
195
+ }
196
+ else {
197
+ this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.device_stats);
198
+ }
199
+ }
200
+ if (appState !== undefined) {
201
+ if (appState) {
202
+ await this.liveUpdatesHandler.enable(device_agent_schemas_1.keyMirrors.toClientMessageType.app_state, async () => this.publisher.publishToClient((0, device_agent_schemas_1.buildAppStateMessage)(this.clientId, await (0, messages_1.getAppStatePayload)(), txId), util_1.logger.silly));
203
+ }
204
+ else {
205
+ this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.app_state);
206
+ }
207
+ }
208
+ if (appLogs !== undefined) {
209
+ if (appLogs.toggle) {
210
+ await this.liveUpdatesHandler.startStream(appLogs.projectId, async () => await (0, application_control_1.getAppLogs)({
211
+ projectId: appLogs.projectId,
212
+ args: ['--tail', '100', '--no-log-prefix']
213
+ }), async (logChunk) => this.publisher.publishToClient((0, device_agent_schemas_1.buildAppLogsMessage)(this.clientId, {
214
+ projectId: appLogs.projectId,
215
+ logChunk
216
+ }, txId), util_1.logger.silly));
217
+ }
218
+ else {
219
+ this.liveUpdatesHandler.stopStream(appLogs.projectId);
220
+ }
221
+ }
222
+ }
223
+ }
224
+ class AppInstallResponseMessageHandler extends base_message_handler_1.BaseHandler {
225
+ constructor() {
226
+ super(...arguments);
227
+ this.handleAppInstallCloudResponsePayload = async (payload, appContent) => {
228
+ const { projectId, appReleaseHash, appInstallPayload, modelsInstallPayload } = payload.appInstallResponse;
229
+ const signedUrlsPayload = {
230
+ appInstallPayload,
231
+ modelsInstallPayload
232
+ };
233
+ await this.atomicApplicationUpdate(async () => {
234
+ this.shadowHandler.clearProjectShadow(projectId);
235
+ await (0, application_control_1.installApp)({
236
+ projectId,
237
+ appReleaseHash,
238
+ signedUrlsPayload,
239
+ appCfg: appContent === null || appContent === void 0 ? void 0 : appContent.appCfg,
240
+ envVars: appContent === null || appContent === void 0 ? void 0 : appContent.envVars
241
+ });
242
+ }, projectId);
243
+ return true;
244
+ };
245
+ }
246
+ async handle(message) {
247
+ const payload = message.payload;
248
+ const txId = message.txId;
249
+ const { projectId } = payload.appInstallResponse;
250
+ const start = !this.txnMgr.isOngoingTransactionForProjectID(projectId);
251
+ if (!start && txId !== this.txnMgr.getTransactionFromProject(projectId)) {
252
+ throw new Error(`App install response received a message for a transaction ID ${txId} that is not currently underway (${this.txnMgr.getTransactionFromProject(projectId)})!`);
253
+ }
254
+ const appContent = this.txnMgr.getAppContentFromTxId(txId);
255
+ await this.txnMgr.runTransactionStep({
256
+ func: () => this.handleAppInstallCloudResponsePayload(payload, appContent),
257
+ projectId,
258
+ txId,
259
+ start,
260
+ stepName: message.messageType,
261
+ errorFn: this.errorFn,
262
+ successFn: this.successFn
263
+ });
264
+ }
265
+ }
266
+ class ModelsInstallResponseMessageHandler extends base_message_handler_1.BaseHandler {
267
+ constructor() {
268
+ super(...arguments);
269
+ this.handleModelsInstallCloudResponsePayload = async (payload, txId) => {
270
+ const projectId = payload.modelsInstallResponse.projectId;
271
+ const update = this.txnMgr.getAppCfgUpdateFromTxID(txId);
272
+ if (update === undefined) {
273
+ throw new Error('Unknown error while updating models via application config! No config present for model update.');
274
+ }
275
+ const { appCfgUpdate, envVarUpdate } = update;
276
+ if (appCfgUpdate) {
277
+ await this.atomicApplicationUpdate(async () => await (0, application_control_1.updateModelsWithPresignedUrls)({
278
+ projectId,
279
+ modelInstallPayloads: payload.modelsInstallResponse.newModels,
280
+ newAppCfg: appCfgUpdate.newAppCfg
281
+ }), projectId);
282
+ }
283
+ if (envVarUpdate) {
284
+ await this.atomicApplicationUpdate(async () => await this.shadowHandler.updateProjectEnvVars({
285
+ projectId,
286
+ envVars: envVarUpdate.envVars
287
+ }), projectId, true);
288
+ }
289
+ return true;
290
+ };
291
+ }
292
+ async handle(message) {
293
+ const payload = message.payload;
294
+ const txId = message.txId;
295
+ const { projectId } = payload.modelsInstallResponse;
296
+ if (txId !== this.txnMgr.getTransactionFromProject(projectId)) {
297
+ throw new Error(`Model install response received a message for a transaction ID ${txId} that is not currently underway (${this.txnMgr.getTransactionFromProject(projectId)})!`);
298
+ }
299
+ await this.txnMgr.runTransactionStep({
300
+ func: () => this.handleModelsInstallCloudResponsePayload(payload, txId),
301
+ projectId,
302
+ txId,
303
+ start: false,
304
+ stepName: message.messageType,
305
+ errorFn: this.errorFn,
306
+ successFn: this.successFn
307
+ });
308
+ }
309
+ }
310
+ class StatusResponseMessageHandler extends base_message_handler_1.BaseHandler {
311
+ async handle(message) {
312
+ const txId = message.txId;
313
+ const { failure } = device_agent_schemas_1.keyMirrors.statusResponse;
314
+ if (message.payload.status === failure) {
315
+ this.txnMgr.completeTransaction(txId);
316
+ const msg = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, {
317
+ status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
318
+ message: message.payload.message
319
+ }, txId);
320
+ this.publisher.publishToClient(msg);
321
+ }
322
+ }
323
+ }
324
+ class DeviceActionMessageHandler extends base_message_handler_1.BaseHandler {
325
+ async handle(message) {
326
+ const txId = message.txId;
327
+ try {
328
+ this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, {
329
+ status: device_agent_schemas_1.keyMirrors.statusResponse.in_progress
330
+ }, txId));
331
+ await this.handleDeviceAction(message.payload);
332
+ this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, {
333
+ status: device_agent_schemas_1.keyMirrors.statusResponse.success
334
+ }, txId));
335
+ }
336
+ catch (e) {
337
+ util_1.logger.error(`There was a problem performing device action '${message.payload.action}'!\n${(0, util_1.stringifyError)(e)}`);
338
+ this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, {
339
+ status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
340
+ message: e.message
341
+ }, txId));
342
+ }
343
+ }
344
+ async handleDeviceAction(payload) {
345
+ const { system_restart } = device_agent_schemas_1.keyMirrors.deviceAction;
346
+ switch (payload.action) {
347
+ case system_restart: {
348
+ await (0, device_control_1.reboot)();
349
+ break;
350
+ }
351
+ default: {
352
+ util_1.logger.info(`Unrecognized device action requested: '${payload.action}'.`);
353
+ }
354
+ }
355
+ }
356
+ }
357
+ //# sourceMappingURL=device-agent-message-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-agent-message-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-message-handler.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class LiveUpdatesHandler {
14
14
  startStream(projectId: string, streamGetter: () => Promise<NodeJS.ReadableStream | null>, publishingFn: (logChunk: string) => void): Promise<void>;
15
15
  stopStream(streamId: string): void;
16
16
  private getStreamWithRetry;
17
+ private safeSetInterval;
17
18
  private restartKillAllTimeout;
18
19
  private generateIntervalKey;
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"live-updates-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAU1E,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,aAAa,CAAqB;;IAQ7B,MAAM,CACjB,YAAY,EAAE,wBAAwB,EACtC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,eAAe;IA2BpB,OAAO,CACZ,YAAY,EAAE,wBAAwB,EACtC,aAAa,CAAC,EAAE,MAAM;IAOX,WAAW,CACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;IAoCnC,UAAU,CAAC,QAAQ,EAAE,MAAM;YAQpB,kBAAkB;IAqBhC,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,mBAAmB;CAM5B"}
1
+ {"version":3,"file":"live-updates-handler.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAU1E,eAAO,MAAM,oBAAoB,OAAO,CAAC;AAEzC,UAAU,eAAe;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,aAAa,CAAqB;;IAQ7B,MAAM,CACjB,YAAY,EAAE,wBAAwB,EACtC,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,eAAe;IAWpB,OAAO,CACZ,YAAY,EAAE,wBAAwB,EACtC,aAAa,CAAC,EAAE,MAAM;IAOX,WAAW,CACtB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,EACzD,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;IAoCnC,UAAU,CAAC,QAAQ,EAAE,MAAM;YAQpB,kBAAkB;IAsBhC,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,mBAAmB;CAM5B"}
@@ -18,17 +18,8 @@ class LiveUpdatesHandler {
18
18
  async enable(intervalType, publishingFn, transactionId, options) {
19
19
  this.restartKillAllTimeout();
20
20
  const key = this.generateIntervalKey(intervalType, transactionId);
21
- clearInterval(this.livingIntervals[key]);
22
- // initial publish
21
+ this.safeSetInterval(key, publishingFn, options);
23
22
  await publishingFn();
24
- this.livingIntervals[key] = setInterval(async () => {
25
- try {
26
- await publishingFn();
27
- }
28
- catch (e) {
29
- logger_1.logger.error(`Error getting live updates: ${JSON.stringify(e)}: intervalKey: ${key}. Continuing...`);
30
- }
31
- }, (options === null || options === void 0 ? void 0 : options.ms) ? options.ms : exports.DEFAULT_INTERVALS_MS);
32
23
  }
33
24
  disable(intervalType, transactionId) {
34
25
  const key = this.generateIntervalKey(intervalType, transactionId);
@@ -80,6 +71,18 @@ class LiveUpdatesHandler {
80
71
  // Case where logs were disabled prior to connecting
81
72
  return null;
82
73
  }
74
+ // do not await any functions in the setSafeInterval other than inside setInterval() as per EI-1694.
75
+ safeSetInterval(key, publishingFn, options) {
76
+ clearInterval(this.livingIntervals[key]);
77
+ this.livingIntervals[key] = setInterval(async () => {
78
+ try {
79
+ await publishingFn();
80
+ }
81
+ catch (e) {
82
+ logger_1.logger.error(`Error getting live updates: ${JSON.stringify(e)}: intervalKey: ${key}. Continuing...`);
83
+ }
84
+ }, (options === null || options === void 0 ? void 0 : options.ms) ? options.ms : exports.DEFAULT_INTERVALS_MS);
85
+ }
83
86
  restartKillAllTimeout() {
84
87
  clearTimeout(this.killAllTimeout);
85
88
  this.killAllTimeout = setTimeout(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-updates-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/live-updates-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface MessageHandler<T = any> {
2
+ handle(payload: T, topic?: string): void;
3
+ }
4
+ export declare class MessageDispatcher<T = any> {
5
+ private handlers;
6
+ registerHandler(topic: string, handler: MessageHandler): void;
7
+ dispatch(topic: string, payload: T): void;
8
+ private handleUnknownMessage;
9
+ }
10
+ //# sourceMappingURL=message-dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-dispatcher.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/message-dispatcher.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,qBAAa,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACpC,OAAO,CAAC,QAAQ,CAA6C;IAEtD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI;IAI7D,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAUhD,OAAO,CAAC,oBAAoB;CAS7B"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageDispatcher = void 0;
4
+ const logger_1 = require("../util/logger");
5
+ class MessageDispatcher {
6
+ constructor() {
7
+ this.handlers = new Map();
8
+ }
9
+ registerHandler(topic, handler) {
10
+ this.handlers.set(topic, handler);
11
+ }
12
+ dispatch(topic, payload) {
13
+ const handler = this.handlers.get(topic);
14
+ if (handler) {
15
+ handler.handle(payload, topic);
16
+ }
17
+ else {
18
+ this.handleUnknownMessage(topic, payload);
19
+ }
20
+ }
21
+ // Handle unknown or unregistered message topic
22
+ handleUnknownMessage(topic, payload) {
23
+ logger_1.logger.error(`No handler found for topic/type: ${topic} for message ${JSON.stringify(payload, null, 2)}`);
24
+ }
25
+ }
26
+ exports.MessageDispatcher = MessageDispatcher;
27
+ //# sourceMappingURL=message-dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-dispatcher.js","sourceRoot":"","sources":["../../src/cloud-connection/message-dispatcher.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAMxC,MAAa,iBAAiB;IAA9B;QACU,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;IAyB/D,CAAC;IAvBQ,eAAe,CAAC,KAAa,EAAE,OAAuB;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,OAAU;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAChC;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,+CAA+C;IACvC,oBAAoB,CAAC,KAAa,EAAE,OAAU;QACpD,eAAM,CAAC,KAAK,CACV,oCAAoC,KAAK,gBAAgB,IAAI,CAAC,SAAS,CACrE,OAAO,EACP,IAAI,EACJ,CAAC,CACF,EAAE,CACJ,CAAC;IACJ,CAAC;CACF;AA1BD,8CA0BC"}
@@ -1,11 +1,12 @@
1
1
  import { ToClientMessage, ToCloudMessage } from '@alwaysai/device-agent-schemas';
2
2
  import * as winston from 'winston';
3
+ import { ConnectionManager } from './connection-manager';
3
4
  export declare class Publisher {
4
- private client;
5
+ private connectionManager;
5
6
  private clientId;
6
7
  private readonly toClientTopic;
7
8
  private readonly toCloudTopic;
8
- constructor(client: any, clientId: string);
9
+ constructor(connectionManager: ConnectionManager, clientId: string);
9
10
  publish(topic: string, payload: string, customLogger?: winston.LeveledLogMethod): void;
10
11
  publishToCloudWithAck(payload: string, ackNackCallback: CallableFunction): void;
11
12
  publishDeviceAgentMessage(topic: string, message: ToClientMessage | ToCloudMessage, logger?: winston.LeveledLogMethod): void;
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/publisher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAEnC,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM;IAOlC,OAAO,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAO,CAAC,gBAA+B;IAoBhD,qBAAqB,CAC1B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,gBAAgB;IAkB5B,yBAAyB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,GAAG,cAAc,EACzC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAM5B,eAAe,CACpB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAK5B,cAAc,CACnB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAM5B,WAAW,IAAI,MAAM;CAG7B"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/publisher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,cAAc,EAGf,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,SAAS;IACpB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,iBAAiB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM;IAO3D,OAAO,CACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,OAAO,CAAC,gBAA+B;IAsBhD,qBAAqB,CAC1B,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,gBAAgB;IAoB5B,yBAAyB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,GAAG,cAAc,EACzC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAM5B,eAAe,CACpB,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAK5B,cAAc,CACnB,OAAO,EAAE,cAAc,EACvB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB;IAM5B,WAAW,IAAI,MAAM;CAG7B"}