@alwaysai/device-agent 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) 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 +21 -0
  17. package/lib/cloud-connection/connection-manager.d.ts.map +1 -0
  18. package/lib/cloud-connection/connection-manager.js +158 -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/shadow-handler.d.ts +6 -0
  37. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  38. package/lib/cloud-connection/shadow-handler.js +74 -1
  39. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  40. package/lib/cloud-connection/transaction-manager.d.ts +8 -1
  41. package/lib/cloud-connection/transaction-manager.d.ts.map +1 -1
  42. package/lib/cloud-connection/transaction-manager.js +21 -9
  43. package/lib/cloud-connection/transaction-manager.js.map +1 -1
  44. package/lib/cloud-connection/transaction-manager.test.js +43 -2
  45. package/lib/cloud-connection/transaction-manager.test.js.map +1 -1
  46. package/lib/jobs/job-handler.d.ts +23 -0
  47. package/lib/jobs/job-handler.d.ts.map +1 -0
  48. package/lib/jobs/job-handler.js +131 -0
  49. package/lib/jobs/job-handler.js.map +1 -0
  50. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts +8 -0
  51. package/lib/secure-tunneling/secure-tunnel-message-handler.d.ts.map +1 -0
  52. package/lib/secure-tunneling/secure-tunnel-message-handler.js +42 -0
  53. package/lib/secure-tunneling/secure-tunnel-message-handler.js.map +1 -0
  54. package/lib/subcommands/app/version.d.ts +2 -0
  55. package/lib/subcommands/app/version.d.ts.map +1 -1
  56. package/lib/subcommands/app/version.js +14 -2
  57. package/lib/subcommands/app/version.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/application-control/environment-variables.ts +31 -21
  60. package/src/application-control/install.ts +24 -3
  61. package/src/application-control/utils.ts +13 -0
  62. package/src/cloud-connection/base-message-handler.ts +118 -0
  63. package/src/cloud-connection/connection-manager.ts +187 -0
  64. package/src/cloud-connection/device-agent-cloud-connection.ts +109 -816
  65. package/src/cloud-connection/device-agent-message-handler.ts +642 -0
  66. package/src/cloud-connection/live-updates-handler.ts +26 -18
  67. package/src/cloud-connection/message-dispatcher.ts +33 -0
  68. package/src/cloud-connection/shadow-handler.ts +125 -1
  69. package/src/cloud-connection/transaction-manager.test.ts +65 -3
  70. package/src/cloud-connection/transaction-manager.ts +41 -27
  71. package/src/jobs/job-handler.ts +146 -0
  72. package/src/secure-tunneling/secure-tunnel-message-handler.ts +56 -0
  73. package/src/subcommands/app/version.ts +20 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ShadowHandler = void 0;
3
+ exports.ProjectShadowMessageHandler = exports.ShadowHandler = void 0;
4
4
  const app_configuration_schemas_1 = require("@alwaysai/app-configuration-schemas");
5
5
  const device_agent_schemas_1 = require("@alwaysai/device-agent-schemas");
6
6
  const shadow_schema_1 = require("@alwaysai/device-agent-schemas/lib/shadow-schema");
@@ -9,6 +9,8 @@ const application_control_1 = require("../application-control");
9
9
  const device_control_1 = require("../device-control/device-control");
10
10
  const logger_1 = require("../util/logger");
11
11
  const shadow_1 = require("./shadow");
12
+ const models_1 = require("../application-control/models");
13
+ const base_message_handler_1 = require("./base-message-handler");
12
14
  class ShadowHandler {
13
15
  constructor(clientId, publisher) {
14
16
  this.projectShadowTopics = [];
@@ -243,4 +245,75 @@ class ShadowHandler {
243
245
  }
244
246
  }
245
247
  exports.ShadowHandler = ShadowHandler;
248
+ class ProjectShadowMessageHandler extends base_message_handler_1.BaseHandler {
249
+ constructor() {
250
+ super(...arguments);
251
+ this.handleProjectShadowConfigUpdate = async (update, txId) => {
252
+ const { projectId, appCfgUpdate, envVarUpdate } = update;
253
+ if ((appCfgUpdate === null || appCfgUpdate === void 0 ? void 0 : appCfgUpdate.updatedModels) &&
254
+ Object.keys(appCfgUpdate.updatedModels).length) {
255
+ // When there are model updates request signed URLs and wait to apply config changes
256
+ const { updatedModels } = appCfgUpdate;
257
+ logger_1.logger.debug(`Requesting presigned urls from cloud for model versions: ${JSON.stringify(updatedModels)}`);
258
+ const modelsOnlyUrlsRequestPayload = {
259
+ modelsOnlyUrlsRequest: {
260
+ projectId,
261
+ models: updatedModels
262
+ }
263
+ };
264
+ const message = (0, device_agent_schemas_1.buildSignedUrlsRequestMessage)(this.clientId, modelsOnlyUrlsRequestPayload, txId);
265
+ this.publisher.publishToCloud(message);
266
+ this.txnMgr.setAppCfgUpdateToTx(txId, update);
267
+ return false;
268
+ }
269
+ if (appCfgUpdate) {
270
+ await this.atomicApplicationUpdate(async () => {
271
+ await (0, models_1.pruneModels)({
272
+ projectId,
273
+ appCfg: appCfgUpdate.newAppCfg
274
+ });
275
+ await (0, application_control_1.updateAppCfg)({
276
+ projectId,
277
+ newAppCfg: appCfgUpdate.newAppCfg
278
+ });
279
+ }, projectId);
280
+ }
281
+ if (envVarUpdate) {
282
+ await this.atomicApplicationUpdate(async () => await this.shadowHandler.updateProjectEnvVars({
283
+ projectId,
284
+ envVars: envVarUpdate.envVars
285
+ }), projectId, true);
286
+ }
287
+ return true;
288
+ };
289
+ }
290
+ async handle(message, topic) {
291
+ const shadowUpdates = await this.shadowHandler.handleProjectShadow({
292
+ topic,
293
+ payload: message,
294
+ clientToken: message.clientToken
295
+ });
296
+ if (shadowUpdates.length) {
297
+ const shadowUpdatePromises = [];
298
+ for (const shadowUpdate of shadowUpdates) {
299
+ const projectId = shadowUpdate.projectId;
300
+ const txId = shadowUpdate.txId;
301
+ shadowUpdatePromises.push(this.txnMgr
302
+ .runTransactionStep({
303
+ func: () => this.handleProjectShadowConfigUpdate(shadowUpdate, txId),
304
+ projectId,
305
+ txId,
306
+ start: true,
307
+ liveUpdatesPublishFn: async () => this.publisher.publishToClient((0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.clientId, { status: device_agent_schemas_1.keyMirrors.statusResponse.in_progress }, txId), logger_1.logger.silly),
308
+ stepName: topic
309
+ })
310
+ .catch((e) => {
311
+ logger_1.logger.error(`There was an issue updating project shadow config for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
312
+ }));
313
+ }
314
+ await Promise.all(shadowUpdatePromises);
315
+ }
316
+ }
317
+ }
318
+ exports.ProjectShadowMessageHandler = ProjectShadowMessageHandler;
246
319
  //# sourceMappingURL=shadow-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shadow-handler.js","sourceRoot":"","sources":["../../src/cloud-connection/shadow-handler.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,13 @@ import { ToClientStatusResponseMessage } from '@alwaysai/device-agent-schemas';
2
2
  import { LiveUpdatesHandler } from './live-updates-handler';
3
3
  import { Publisher } from './publisher';
4
4
  import { ShadowUpdate } from './shadow-handler';
5
+ import { AppContent } from './device-agent-message-handler';
6
+ export declare type ErrorFunction = (txid: string, message: string) => void;
7
+ export declare type SuccessFunction = (txId: string) => void;
5
8
  export declare class TransactionManager {
6
9
  private detailsByTx;
7
10
  private detailsByProject;
8
- private liveUpdatesHandler;
11
+ private readonly liveUpdatesHandler;
9
12
  private publisher;
10
13
  private startTransaction;
11
14
  private updateTransaction;
@@ -22,6 +25,8 @@ export declare class TransactionManager {
22
25
  start: boolean;
23
26
  liveUpdatesPublishFn?: () => Promise<void>;
24
27
  stepName?: string;
28
+ errorFn?: ErrorFunction;
29
+ successFn?: SuccessFunction;
25
30
  }): Promise<void>;
26
31
  getTransactionFromProject(projectId: string): string | undefined;
27
32
  isOngoingTransactionForProjectID(projectId: string): boolean;
@@ -29,7 +34,9 @@ export declare class TransactionManager {
29
34
  isAnyOngoingTransaction(): boolean;
30
35
  getProjectFromTransaction(txId: string): string | undefined;
31
36
  getAppCfgUpdateFromTxID(txId: string): ShadowUpdate | undefined;
37
+ getAppContentFromTxId(txId: string): AppContent | undefined;
32
38
  setAppCfgUpdateToTx(txId: string, appCfgUpdate: ShadowUpdate): void;
39
+ setAppContentToTx(txId: string, appContent: AppContent): void;
33
40
  completeTransaction(txId: string, messageToPublish?: ToClientStatusResponseMessage): void;
34
41
  }
35
42
  //# sourceMappingURL=transaction-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAG9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYhD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,SAAS,CAAY;YAEf,gBAAgB;IAoD9B,OAAO,CAAC,iBAAiB;gBAab,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB;IAOjE,MAAM;;;;MAIV;IAEU,kBAAkB,CAAC,KAAK,EAAE;QACrC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IA4CM,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhE,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5D,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,uBAAuB,IAAI,OAAO;IAIlC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI/D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAS5D,mBAAmB,CACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,6BAA6B,GAC/C,IAAI;CAwBR"}
1
+ {"version":3,"file":"transaction-manager.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAG9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAa5D,oBAAY,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEpE,oBAAY,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;AAErD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,WAAW,CAA0C;IAC7D,OAAO,CAAC,gBAAgB,CAA0C;IAClE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,SAAS,CAAY;YACf,gBAAgB;IAoD9B,OAAO,CAAC,iBAAiB;gBAab,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB;IAOjE,MAAM;;;;MAIV;IAEU,kBAAkB,CAAC,KAAK,EAAE;QACrC,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;QACf,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B;IAyCM,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKhE,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI5D,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI3C,uBAAuB,IAAI,OAAO;IAIlC,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK3D,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI/D,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI3D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY;IAS5D,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAUtD,mBAAmB,CACxB,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,6BAA6B,GAC/C,IAAI;CAoBR"}
@@ -54,7 +54,7 @@ class TransactionManager {
54
54
  logger_1.logger.info(`Updated transaction:\n${JSON.stringify(txDetails, null, 2)}`);
55
55
  }
56
56
  async runTransactionStep(props) {
57
- const { func, projectId, txId, start, liveUpdatesPublishFn, stepName } = props;
57
+ const { func, projectId, txId, start, liveUpdatesPublishFn, stepName, errorFn, successFn } = props;
58
58
  if (start) {
59
59
  await this.startTransaction(txId, projectId, liveUpdatesPublishFn, stepName);
60
60
  }
@@ -64,15 +64,18 @@ class TransactionManager {
64
64
  try {
65
65
  const completed = await func();
66
66
  if (completed) {
67
- this.completeTransaction(txId, (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.publisher.getClientId(), { status: device_agent_schemas_1.keyMirrors.statusResponse.success }, txId));
67
+ this.completeTransaction(txId);
68
+ if (successFn) {
69
+ successFn(txId);
70
+ }
68
71
  }
69
72
  }
70
73
  catch (e) {
71
74
  logger_1.logger.error(`Failed to execute cmd for ${projectId}!\n${(0, util_1.stringifyError)(e)}`);
72
- this.completeTransaction(txId, (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(this.publisher.getClientId(), {
73
- status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
74
- message: e.message
75
- }, txId));
75
+ this.completeTransaction(txId);
76
+ if (errorFn) {
77
+ errorFn(txId, e.message);
78
+ }
76
79
  }
77
80
  }
78
81
  getTransactionFromProject(projectId) {
@@ -96,6 +99,10 @@ class TransactionManager {
96
99
  var _a;
97
100
  return (_a = this.detailsByTx[txId]) === null || _a === void 0 ? void 0 : _a.appCfgUpdate;
98
101
  }
102
+ getAppContentFromTxId(txId) {
103
+ var _a;
104
+ return (_a = this.detailsByTx[txId]) === null || _a === void 0 ? void 0 : _a.appContent;
105
+ }
99
106
  setAppCfgUpdateToTx(txId, appCfgUpdate) {
100
107
  if (this.isOngoingTransaction(txId)) {
101
108
  this.detailsByTx[txId].appCfgUpdate = appCfgUpdate;
@@ -103,6 +110,14 @@ class TransactionManager {
103
110
  else
104
111
  throw new Error(`Could not set appCfgUpdate, the transaction ${txId} does not exist.`);
105
112
  }
113
+ setAppContentToTx(txId, appContent) {
114
+ if (this.isOngoingTransaction(txId)) {
115
+ logger_1.logger.debug(`${txId}: Setting AppContent:${JSON.stringify(appContent)}`);
116
+ this.detailsByTx[txId].appContent = appContent;
117
+ }
118
+ else
119
+ throw new Error(`Could not set appCfgUpdate, the transaction ${txId} does not exist.`);
120
+ }
106
121
  completeTransaction(txId, messageToPublish) {
107
122
  const txDetails = this.detailsByTx[txId];
108
123
  if (txDetails === undefined) {
@@ -113,9 +128,6 @@ class TransactionManager {
113
128
  delete this.detailsByTx[txId];
114
129
  delete this.detailsByProject[txDetails.projectId];
115
130
  this.liveUpdatesHandler.disable(device_agent_schemas_1.keyMirrors.toClientMessageType.status_response, txId);
116
- if (messageToPublish) {
117
- this.publisher.publishToClient(messageToPublish);
118
- }
119
131
  }
120
132
  }
121
133
  exports.TransactionManager = TransactionManager;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.ts"],"names":[],"mappings":"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"}
@@ -47,11 +47,16 @@ describe('Test Transaction Manager', () => {
47
47
  test('Start a new transaction which completes in one step', async () => {
48
48
  const txId = (0, device_agent_schemas_1.generateTxId)();
49
49
  const projectId = generateRandomProjectId();
50
+ const successFn = (txId) => {
51
+ const msg = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(clientId, { status: device_agent_schemas_1.keyMirrors.statusResponse.success }, txId);
52
+ publisher.publishToClient(msg);
53
+ };
50
54
  await txnMgr.runTransactionStep({
51
55
  func: func_complete,
52
56
  projectId,
53
57
  txId,
54
- start: true
58
+ start: true,
59
+ successFn
55
60
  });
56
61
  expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
57
62
  expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
@@ -182,6 +187,13 @@ describe('Test Transaction Manager', () => {
182
187
  test('Handle error in step function', async () => {
183
188
  const txId = (0, device_agent_schemas_1.generateTxId)();
184
189
  const projectId = generateRandomProjectId();
190
+ const errorFn = (txId, errorMsg) => {
191
+ const msg = (0, device_agent_schemas_1.buildToClientStatusResponseMessage)(clientId, {
192
+ status: device_agent_schemas_1.keyMirrors.statusResponse.failure,
193
+ message: errorMsg
194
+ }, txId);
195
+ publisher.publishToClient(msg);
196
+ };
185
197
  await txnMgr.runTransactionStep({
186
198
  func: jest.fn().mockImplementation(() => {
187
199
  throw new Error('Test error!');
@@ -189,7 +201,8 @@ describe('Test Transaction Manager', () => {
189
201
  projectId,
190
202
  txId,
191
203
  start: true,
192
- stepName: 'step1'
204
+ stepName: 'step1',
205
+ errorFn
193
206
  });
194
207
  expect(txnMgr.isOngoingTransaction(txId)).toBe(false);
195
208
  expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(false);
@@ -327,5 +340,33 @@ describe('Test Transaction Manager', () => {
327
340
  expect(txnMgr.isAnyOngoingTransaction()).toBe(false);
328
341
  expect(txnMgr.getAppCfgUpdateFromTxID(txId)).toEqual(undefined);
329
342
  });
343
+ test('store appContent', async () => {
344
+ const txId = (0, device_agent_schemas_1.generateTxId)();
345
+ const projectId = generateRandomProjectId();
346
+ const appCfg = {
347
+ models: {},
348
+ scripts: { start: 'python app.py' }
349
+ };
350
+ const envVars = { alwaysai: { TEST: '1' } };
351
+ const cfgUpdate = {
352
+ projectId: projectId,
353
+ appCfg: appCfg,
354
+ envVars: envVars
355
+ };
356
+ await txnMgr.runTransactionStep({
357
+ func: func_incomplete,
358
+ projectId,
359
+ txId,
360
+ start: true
361
+ });
362
+ expect(txnMgr.getAppContentFromTxId(txId)).toEqual(undefined);
363
+ txnMgr.setAppContentToTx(txId, cfgUpdate);
364
+ expect(txnMgr.getProjectFromTransaction(txId)).toEqual(projectId);
365
+ expect(txnMgr.getTransactionFromProject(projectId)).toEqual(txId);
366
+ expect(txnMgr.isOngoingTransaction(txId)).toBe(true);
367
+ expect(txnMgr.isOngoingTransactionForProjectID(projectId)).toBe(true);
368
+ expect(txnMgr.isAnyOngoingTransaction()).toBe(true);
369
+ expect(txnMgr.getAppContentFromTxId(txId)).toEqual(cfgUpdate);
370
+ });
330
371
  });
331
372
  //# sourceMappingURL=transaction-manager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-manager.test.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction-manager.test.js","sourceRoot":"","sources":["../../src/cloud-connection/transaction-manager.test.ts"],"names":[],"mappings":";;AAAA,yEAMwC;AACxC,+DAA2D;AAC3D,+BAAoC;AACpC,2CAAwC;AAMxC,MAAM,UAAU,GAAG;IACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG,aAAa,CAAC;AAE/B,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACjB,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;CACU,CAAC;AAE/B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,MAA0B,CAAC;IAC/B,IAAI,SAAoB,CAAC;IACzB,MAAM,aAAa,GAA2B,IAAI;SAC/C,EAAE,EAAE;SACJ,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,eAAe,GAA2B,IAAI;SACjD,EAAE,EAAE;SACJ,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAE5B,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG,IAAI,qBAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChD,MAAM,GAAG,IAAI,wCAAkB,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACnE,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,uBAAuB;QAC9B,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,IAAA,yDAAkC,EAC5C,QAAQ,EACR,EAAE,MAAM,EAAE,iCAAU,CAAC,cAAc,CAAC,OAAO,EAAE,EAC7C,IAAI,CACL,CAAC;YACF,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,SAAS;SACV,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,GAAkC,IAAI,CAAC,KAAK,CACnD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,aAAa;YACnB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,eAAe,GAAG,CAAC,CAAC;QAC1B,MAAM,eAAe,GAAQ,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;YACxC,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;YAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC3C;QACD,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;YAC9C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;SACxD;QACD,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI;gBACJ,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SAC5D;QACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,IAAI;YACF,MAAM,MAAM,CAAC,kBAAkB,CAAC;gBAC9B,IAAI,EAAE,eAAe;gBACrB,SAAS;gBACT,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,OAAO;aAClB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;SAChE;QACD,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAE5C,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,IAAA,yDAAkC,EAC5C,QAAQ,EACR;gBACE,MAAM,EAAE,iCAAU,CAAC,cAAc,CAAC,OAAO;gBACzC,OAAO,EAAE,QAAQ;aAClB,EACD,IAAI,CACL,CAAC;YACF,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;YACjB,OAAO;SACR,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,GAAG,GAAkC,IAAI,CAAC,KAAK,CACnD,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpC,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,iCAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/D,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,IAAI;YACF,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SAC5D;QAED,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAErE,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE5C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAErE,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAErE,MAAM,SAAS,GAAoB;YACjC,SAAS,EAAE;gBACT,OAAO,EAAE;oBACP,KAAK,EAAE,eAAe;iBACvB;gBACD,MAAM,EAAE,EAAE;aACX;SACF,CAAC;QAEF,MAAM,UAAU,GAAiB;YAC/B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,SAAS;SACxB,CAAC;QAEF,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE5C,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAE7C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QAErE,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEjC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,IAAI,GAAG,IAAA,mCAAY,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,uBAAuB,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAc;YACxB,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;SACpC,CAAC;QACF,MAAM,OAAO,GAAY,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACrD,MAAM,SAAS,GAAe;YAC5B,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,MAAM,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,EAAE,eAAe;YACrB,SAAS;YACT,IAAI;YACJ,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE9D,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE1C,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { MessageHandler } from '../cloud-connection/message-dispatcher';
2
+ import { BaseHandler, HandlerContext } from '../cloud-connection/base-message-handler';
3
+ export declare class JobHandler extends BaseHandler implements MessageHandler {
4
+ private readonly msgHandler;
5
+ constructor(handlerContext: HandlerContext);
6
+ private readonly state;
7
+ private jobId;
8
+ handle(message: any, topic: string): Promise<void>;
9
+ getJobTopic(): {
10
+ NOTIFY_NEXT: string;
11
+ START_NEXT: string;
12
+ START_NEXT_ACCEPTED: string;
13
+ UPDATE: string;
14
+ };
15
+ private notifyNext;
16
+ private startNextAccepted;
17
+ private processJobExecution;
18
+ private handleError;
19
+ private updateJobStatus;
20
+ private readonly handleJobSuccess;
21
+ private readonly handleJobError;
22
+ }
23
+ //# sourceMappingURL=job-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-handler.d.ts","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EACL,WAAW,EACX,cAAc,EACf,MAAM,0CAA0C,CAAC;AAkBlD,qBAAa,UAAW,SAAQ,WAAY,YAAW,cAAc;IACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;gBAE3C,cAAc,EAAE,cAAc;IAQ1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAChD,OAAO,CAAC,KAAK,CAAM;IAEN,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/D,WAAW;;;;;;YAUG,UAAU;IAOxB,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG7B;CACH"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobHandler = void 0;
4
+ const logger_1 = require("../util/logger");
5
+ const base_message_handler_1 = require("../cloud-connection/base-message-handler");
6
+ const device_agent_message_handler_1 = require("../cloud-connection/device-agent-message-handler");
7
+ class JobState {
8
+ // Singleton pattern
9
+ constructor() {
10
+ this.jobInProgress = false;
11
+ } // eslint-disable-line
12
+ static getInstance() {
13
+ if (!JobState.instance) {
14
+ JobState.instance = new JobState();
15
+ }
16
+ return JobState.instance;
17
+ }
18
+ }
19
+ class JobHandler extends base_message_handler_1.BaseHandler {
20
+ constructor(handlerContext) {
21
+ super(handlerContext);
22
+ this.state = JobState.getInstance();
23
+ this.jobId = '';
24
+ this.handleJobSuccess = (txId) => {
25
+ this.updateJobStatus('SUCCEEDED');
26
+ };
27
+ this.handleJobError = (_txId, msg) => {
28
+ logger_1.logger.error(`Unexpected error type: ${msg}`);
29
+ this.updateJobStatus('FAILED', `Unexpected error: ${msg}`);
30
+ };
31
+ this.msgHandler = new device_agent_message_handler_1.DeviceAgentMessageHandler(handlerContext, this.handleJobError, this.handleJobSuccess);
32
+ }
33
+ async handle(message, topic) {
34
+ const TOPICS = this.getJobTopic();
35
+ try {
36
+ switch (topic) {
37
+ case TOPICS.NOTIFY_NEXT:
38
+ await this.notifyNext(message);
39
+ break;
40
+ case TOPICS.START_NEXT_ACCEPTED:
41
+ this.startNextAccepted(message);
42
+ break;
43
+ default:
44
+ logger_1.logger.info(`No handler for topic: ${topic}`);
45
+ }
46
+ }
47
+ catch (error) {
48
+ logger_1.logger.error(`Error handling job for topic: ${topic}`, error);
49
+ }
50
+ }
51
+ getJobTopic() {
52
+ const TOPICS = {
53
+ NOTIFY_NEXT: `$aws/things/${this.clientId}/jobs/notify-next`,
54
+ START_NEXT: `$aws/things/${this.clientId}/jobs/start-next`,
55
+ START_NEXT_ACCEPTED: `$aws/things/${this.clientId}/jobs/start-next/accepted`,
56
+ UPDATE: `$aws/things/${this.clientId}/jobs/${this.jobId}/update`
57
+ };
58
+ return TOPICS;
59
+ }
60
+ async notifyNext(message) {
61
+ // Triggers when a job is completed and we need to notify the next job
62
+ logger_1.logger.info('Invoking NOTIFY_NEXT handler');
63
+ const TOPICS = this.getJobTopic();
64
+ this.publisher.publish(TOPICS.START_NEXT, JSON.stringify({}));
65
+ }
66
+ startNextAccepted(message) {
67
+ if (this.state.jobInProgress) {
68
+ logger_1.logger.info('Job already in progress');
69
+ return;
70
+ }
71
+ this.state.jobInProgress = true;
72
+ try {
73
+ if (message.execution) {
74
+ this.processJobExecution(message.execution);
75
+ }
76
+ else {
77
+ this.state.jobInProgress = false;
78
+ }
79
+ }
80
+ catch (error) {
81
+ this.handleError(error);
82
+ }
83
+ this.state.jobInProgress = false;
84
+ }
85
+ processJobExecution(execution) {
86
+ logger_1.logger.info('Job in progress...');
87
+ const { jobDocument, jobId } = execution;
88
+ this.jobId = jobId;
89
+ this.msgHandler.handle(jobDocument);
90
+ }
91
+ handleError(error) {
92
+ if (error instanceof Error) {
93
+ logger_1.logger.error(`Error starting next job`, error);
94
+ this.handleJobError('', error.message);
95
+ }
96
+ else {
97
+ let errorMessage;
98
+ if (typeof error === 'string') {
99
+ errorMessage = error;
100
+ }
101
+ else if (typeof error === 'object' && error !== null) {
102
+ try {
103
+ errorMessage = JSON.stringify(error);
104
+ }
105
+ catch (jsonError) {
106
+ errorMessage = 'Unknown error (failed to stringify)';
107
+ }
108
+ }
109
+ else {
110
+ errorMessage = 'Unknown error';
111
+ }
112
+ logger_1.logger.error(`Unexpected error: ${errorMessage}`);
113
+ this.handleJobError('', errorMessage);
114
+ }
115
+ }
116
+ updateJobStatus(status, message) {
117
+ const { UPDATE } = this.getJobTopic();
118
+ const payload = {
119
+ status,
120
+ statusDetails: {
121
+ message
122
+ }
123
+ };
124
+ this.publisher.publish(UPDATE, JSON.stringify(payload));
125
+ logger_1.logger.info(`Marked job ${this.jobId} as ${status}`);
126
+ // Reset the job state
127
+ this.state.jobInProgress = false;
128
+ }
129
+ }
130
+ exports.JobHandler = JobHandler;
131
+ //# sourceMappingURL=job-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"job-handler.js","sourceRoot":"","sources":["../../src/jobs/job-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { MessageHandler } from '../cloud-connection/message-dispatcher';
2
+ import { BaseHandler } from '../cloud-connection/base-message-handler';
3
+ export declare class SecureTunnelMessageHandler extends BaseHandler implements MessageHandler<any> {
4
+ getNotifyTopic(): string;
5
+ handle(message: any, topic: string): Promise<void>;
6
+ handleSecureTunnelMessage(payload: any): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=secure-tunnel-message-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secure-tunnel-message-handler.d.ts","sourceRoot":"","sources":["../../src/secure-tunneling/secure-tunnel-message-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE,qBAAa,0BACX,SAAQ,WACR,YAAW,cAAc,CAAC,GAAG,CAAC;IAEvB,cAAc,IAAI,MAAM;IAIlB,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBlD,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBpE"}