@alwaysai/device-agent 0.0.14 → 0.0.16

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 (85) hide show
  1. package/lib/application-control/install.d.ts.map +1 -1
  2. package/lib/application-control/install.js +1 -0
  3. package/lib/application-control/install.js.map +1 -1
  4. package/lib/application-control/status.d.ts.map +1 -1
  5. package/lib/application-control/status.js +8 -13
  6. package/lib/application-control/status.js.map +1 -1
  7. package/lib/cloud-connection/bootstrap-provision.d.ts +1 -1
  8. package/lib/cloud-connection/bootstrap-provision.d.ts.map +1 -1
  9. package/lib/cloud-connection/bootstrap-provision.js +9 -9
  10. package/lib/cloud-connection/bootstrap-provision.js.map +1 -1
  11. package/lib/cloud-connection/cmd-status.d.ts +3 -11
  12. package/lib/cloud-connection/cmd-status.d.ts.map +1 -1
  13. package/lib/cloud-connection/cmd-status.js +24 -11
  14. package/lib/cloud-connection/cmd-status.js.map +1 -1
  15. package/lib/cloud-connection/device-agent-cloud-connection.d.ts +2 -3
  16. package/lib/cloud-connection/device-agent-cloud-connection.d.ts.map +1 -1
  17. package/lib/cloud-connection/device-agent-cloud-connection.js +93 -43
  18. package/lib/cloud-connection/device-agent-cloud-connection.js.map +1 -1
  19. package/lib/cloud-connection/device-agent.d.ts.map +1 -1
  20. package/lib/cloud-connection/device-agent.js +4 -3
  21. package/lib/cloud-connection/device-agent.js.map +1 -1
  22. package/lib/cloud-connection/live-updates-handler.d.ts +10 -18
  23. package/lib/cloud-connection/live-updates-handler.d.ts.map +1 -1
  24. package/lib/cloud-connection/live-updates-handler.js +50 -50
  25. package/lib/cloud-connection/live-updates-handler.js.map +1 -1
  26. package/lib/cloud-connection/messages.d.ts +3 -1
  27. package/lib/cloud-connection/messages.d.ts.map +1 -1
  28. package/lib/cloud-connection/messages.js +13 -1
  29. package/lib/cloud-connection/messages.js.map +1 -1
  30. package/lib/cloud-connection/passthrough-handler.js +1 -1
  31. package/lib/cloud-connection/passthrough-handler.js.map +1 -1
  32. package/lib/cloud-connection/shadow-handler.d.ts.map +1 -1
  33. package/lib/cloud-connection/shadow-handler.js +11 -4
  34. package/lib/cloud-connection/shadow-handler.js.map +1 -1
  35. package/lib/cloud-connection/shadow-handler.test.js +3 -3
  36. package/lib/cloud-connection/shadow-handler.test.js.map +1 -1
  37. package/lib/environment.d.ts.map +1 -1
  38. package/lib/environment.js +1 -1
  39. package/lib/environment.js.map +1 -1
  40. package/lib/index.js +5 -3
  41. package/lib/index.js.map +1 -1
  42. package/lib/subcommands/app/app.d.ts +2 -2
  43. package/lib/subcommands/app/app.d.ts.map +1 -1
  44. package/lib/subcommands/app/app.js +28 -10
  45. package/lib/subcommands/app/app.js.map +1 -1
  46. package/lib/subcommands/app/index.js +2 -2
  47. package/lib/subcommands/device/device.d.ts.map +1 -1
  48. package/lib/subcommands/device/device.js +2 -1
  49. package/lib/subcommands/device/device.js.map +1 -1
  50. package/lib/util/directories.d.ts +11 -12
  51. package/lib/util/directories.d.ts.map +1 -1
  52. package/lib/util/directories.js +24 -29
  53. package/lib/util/directories.js.map +1 -1
  54. package/lib/util/logger.js +1 -0
  55. package/lib/util/logger.js.map +1 -1
  56. package/package.json +1 -1
  57. package/readme.md +3 -3
  58. package/src/application-control/install.ts +3 -1
  59. package/src/application-control/status.ts +10 -16
  60. package/src/cloud-connection/bootstrap-provision.ts +13 -10
  61. package/src/cloud-connection/cmd-status.ts +30 -11
  62. package/src/cloud-connection/device-agent-cloud-connection.ts +128 -66
  63. package/src/cloud-connection/device-agent.ts +7 -4
  64. package/src/cloud-connection/live-updates-handler.ts +79 -86
  65. package/src/cloud-connection/messages.ts +22 -1
  66. package/src/cloud-connection/passthrough-handler.ts +1 -1
  67. package/src/cloud-connection/shadow-handler.test.ts +3 -3
  68. package/src/cloud-connection/shadow-handler.ts +15 -11
  69. package/src/environment.ts +1 -1
  70. package/src/index.ts +6 -3
  71. package/src/subcommands/app/app.ts +27 -10
  72. package/src/subcommands/app/index.ts +4 -4
  73. package/src/subcommands/device/device.ts +5 -2
  74. package/src/util/directories.ts +31 -29
  75. package/src/util/logger.ts +2 -0
  76. package/lib/cloud-connection/app-install-status.d.ts +0 -16
  77. package/lib/cloud-connection/app-install-status.d.ts.map +0 -1
  78. package/lib/cloud-connection/app-install-status.js +0 -53
  79. package/lib/cloud-connection/app-install-status.js.map +0 -1
  80. package/lib/util/timer.d.ts +0 -2
  81. package/lib/util/timer.d.ts.map +0 -1
  82. package/lib/util/timer.js +0 -6
  83. package/lib/util/timer.js.map +0 -1
  84. package/src/cloud-connection/app-install-status.ts +0 -62
  85. package/src/util/timer.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAuBlE,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAQpE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDhB;AA+ED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAuBlE,aAAK,oBAAoB,GAAG;IAC1B,iBAAiB,EAAE;QACjB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,oBAAoB,EAAE;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL,CAAC;AAEF,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAQpE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,oBAAoB,CAAC;CACzC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0DhB;AA+ED,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBhB"}
@@ -70,6 +70,7 @@ async function installApp(props) {
70
70
  projectId,
71
71
  version: appReleaseHash
72
72
  });
73
+ await (0, status_1.startApp)({ projectId });
73
74
  logger_1.logger.info(`Completed installing ${projectId}:${appReleaseHash}`);
74
75
  }
75
76
  exports.installApp = installApp;
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/application-control/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":";AAKA,OAAO,EAEL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAIxC,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+E1B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAqBjC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBzE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":";AAKA,OAAO,EAEL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AAIxC,wBAAsB,YAAY,CAAC,KAAK,EAAE;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+E1B;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAqBjC;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBhB;AAED,wBAAsB,OAAO,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAI5E"}
@@ -104,8 +104,7 @@ async function startApp(props) {
104
104
  const result = await (0, docker_cmd_1.runDockerLogin)({ token: dockerLoginToken });
105
105
  logger_1.logger.debug(`docker login: ${result}`);
106
106
  }
107
- // TODO: Check if app is running
108
- // Start app
107
+ // Always call `docker-compose up` regardless of application state
109
108
  const upOut = await docker_compose_1.default.upAll({ cwd: appDir });
110
109
  logger_1.logger.debug(`docker-compose up: ${JSON.stringify(upOut, null, 2)}`);
111
110
  if (upOut.exitCode !== 0) {
@@ -118,18 +117,14 @@ async function stopApp(props) {
118
117
  const { projectId } = props;
119
118
  await (0, utils_1.requireAppInstalled)({ projectId });
120
119
  const appDir = (0, utils_1.getAppDir)(projectId);
121
- const appStatus = await getAppStatus({ projectId });
122
- const appIsRunning = appStatus.services.length &&
123
- appStatus.services[0].state !== device_agent_schemas_1.keyMirrors.appState.stopped;
124
- if (appIsRunning) {
125
- // Stop app
126
- const output = await docker_compose_1.default.down({ cwd: appDir });
127
- logger_1.logger.debug(`docker-compose down: ${JSON.stringify(output, null, 2)}`);
128
- if (output.exitCode !== 0) {
129
- throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
130
- }
131
- logger_1.logger.info(`Stopped ${projectId}`);
120
+ // Always call `docker-compose down` regardless of application state to ensure
121
+ // containers are cleaned up
122
+ const output = await docker_compose_1.default.down({ cwd: appDir });
123
+ logger_1.logger.debug(`docker-compose down: ${JSON.stringify(output, null, 2)}`);
124
+ if (output.exitCode !== 0) {
125
+ throw new Error(`Failed to stop application! stdout=${output.out} stderr=${output.err}`);
132
126
  }
127
+ logger_1.logger.info(`Stopped ${projectId}`);
133
128
  }
134
129
  exports.stopApp = stopApp;
135
130
  async function restartApp(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/application-control/status.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function bootstrapProvision(): void;
1
+ export declare function bootstrapProvision(): Promise<void>;
2
2
  //# sourceMappingURL=bootstrap-provision.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-provision.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,SA4BjC"}
1
+ {"version":3,"file":"bootstrap-provision.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,kBA+BvC"}
@@ -1,33 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bootstrapProvision = void 0;
4
- const util_1 = require("alwaysai/lib/util");
5
4
  const urls_1 = require("../infrastructure/urls");
6
5
  const clean_certs_1 = require("../util/clean-certs");
7
6
  const directories_1 = require("../util/directories");
8
7
  const get_device_id_1 = require("../util/get-device-id");
8
+ const logger_1 = require("../util/logger");
9
9
  const device_agent_1 = require("./device-agent");
10
- function bootstrapProvision() {
10
+ async function bootstrapProvision() {
11
11
  setTimeout(clean_certs_1.rmBootstrapCertsAndClose, 60000);
12
12
  const clientId = (0, get_device_id_1.getDeviceUuid)();
13
13
  const bootstrapConfig = {
14
- keyPath: (0, directories_1.BOOTSTRAP_DEVICE_PRIVATE_KEY_FILE_PATH)(),
15
- certPath: (0, directories_1.BOOTSTRAP_DEVICE_CERTIFICATE_FILE_PATH)(),
14
+ keyPath: (0, directories_1.BOOTSTRAP_PRIVATE_KEY_FILE_PATH)(),
15
+ certPath: (0, directories_1.BOOTSTRAP_CERTIFICATE_FILE_PATH)(),
16
16
  caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
17
17
  clientId,
18
18
  host: (0, urls_1.getIoTCoreEndpointUrl)()
19
19
  };
20
20
  const bootstrapAgent = new device_agent_1.BootstrapAgent(bootstrapConfig);
21
- bootstrapAgent.subscribeToAllTopics();
21
+ await bootstrapAgent.subscribeToAllTopics();
22
22
  bootstrapAgent.publishMessage('$aws/certificates/create/json', '');
23
23
  bootstrapAgent.device.on('connect', () => {
24
- util_1.logger.info('Your device is being provisioned');
24
+ logger_1.logger.info('Your device is being provisioned');
25
25
  });
26
- bootstrapAgent.device.on('message', (topic, payload) => {
27
- bootstrapAgent.handleAwsCertificateTopics(topic, payload);
26
+ bootstrapAgent.device.on('message', async (topic, payload) => {
27
+ await bootstrapAgent.handleAwsCertificateTopics(topic, payload);
28
28
  });
29
29
  bootstrapAgent.device.on('packetsend', (packet) => {
30
- util_1.logger.debug(`Sending packet: ${JSON.stringify({ packet }, null, 2)}`);
30
+ logger_1.logger.debug(`Sending packet: ${JSON.stringify({ packet }, null, 2)}`);
31
31
  });
32
32
  }
33
33
  exports.bootstrapProvision = bootstrapProvision;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-provision.js","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":";;;AAAA,4CAA2C;AAC3C,iDAA+D;AAC/D,qDAA+D;AAC/D,qDAI6B;AAC7B,yDAAsD;AACtD,iDAAgD;AAEhD,SAAgB,kBAAkB;IAChC,UAAU,CAAC,sCAAwB,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,IAAA,oDAAsC,GAAE;QACjD,QAAQ,EAAE,IAAA,oDAAsC,GAAE;QAClD,MAAM,EAAE,4CAA8B;QACtC,QAAQ;QACR,IAAI,EAAE,IAAA,4BAAqB,GAAE;KAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC,eAAe,CAAC,CAAC;IAC3D,cAAc,CAAC,oBAAoB,EAAE,CAAC;IAEtC,cAAc,CAAC,cAAc,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAEnE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACvC,aAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;QACrE,cAAc,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;QACrD,aAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AA5BD,gDA4BC"}
1
+ {"version":3,"file":"bootstrap-provision.js","sourceRoot":"","sources":["../../src/cloud-connection/bootstrap-provision.ts"],"names":[],"mappings":";;;AAAA,iDAA+D;AAC/D,qDAA+D;AAC/D,qDAI6B;AAC7B,yDAAsD;AACtD,2CAAwC;AACxC,iDAAgD;AAEzC,KAAK,UAAU,kBAAkB;IACtC,UAAU,CAAC,sCAAwB,EAAE,KAAK,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,MAAM,eAAe,GAAG;QACtB,OAAO,EAAE,IAAA,6CAA+B,GAAE;QAC1C,QAAQ,EAAE,IAAA,6CAA+B,GAAE;QAC3C,MAAM,EAAE,4CAA8B;QACtC,QAAQ;QACR,IAAI,EAAE,IAAA,4BAAqB,GAAE;KAC9B,CAAC;IAEF,MAAM,cAAc,GAAG,IAAI,6BAAc,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,cAAc,CAAC,oBAAoB,EAAE,CAAC;IAE5C,cAAc,CAAC,cAAc,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAEnE,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACvC,eAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,MAAM,CAAC,EAAE,CACtB,SAAS,EACT,KAAK,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;QACvC,MAAM,cAAc,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC,CACF,CAAC;IAEF,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;QACrD,eAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;AACL,CAAC;AA/BD,gDA+BC"}
@@ -1,16 +1,8 @@
1
- export declare type CmdStatusType = 'idle' | 'in_progress';
2
- export declare class CmdStatus {
3
- private projectId;
4
- private status;
5
- constructor(projectId: string, status: CmdStatusType);
6
- getProjectId(): string;
7
- update(status: CmdStatusType): void;
8
- getStatus(): CmdStatusType;
9
- }
10
1
  export declare class CmdStatusManager {
11
2
  private apps;
12
- update(projectId: string, status: CmdStatusType): void;
13
- getAppCmdStatus(projectId: string): CmdStatusType;
3
+ start(projectId: string): Promise<void>;
4
+ stop(projectId: string): Promise<void>;
5
+ isCmdInProgress(projectId: string): boolean;
14
6
  anyCmdInProgress(): boolean;
15
7
  }
16
8
  //# sourceMappingURL=cmd-status.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-status.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,GAAG,MAAM,GAAG,aAAa,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAgB;gBAElB,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAK7C,YAAY;IAIZ,MAAM,CAAC,MAAM,EAAE,aAAa;IAI5B,SAAS,IAAI,aAAa;CAGlC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA0C;IAE/C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAS/C,eAAe,CAAC,SAAS,EAAE,MAAM;IAOjC,gBAAgB;CAQxB"}
1
+ {"version":3,"file":"cmd-status.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":"AA0BA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,IAAI,CAA0C;IAEzC,KAAK,CAAC,SAAS,EAAE,MAAM;IAevB,IAAI,CAAC,SAAS,EAAE,MAAM;IAW5B,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAO3C,gBAAgB;CAQxB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CmdStatusManager = exports.CmdStatus = void 0;
3
+ exports.CmdStatusManager = void 0;
4
+ const logger_1 = require("../util/logger");
4
5
  class CmdStatus {
5
6
  constructor(projectId, status) {
6
7
  this.projectId = projectId;
@@ -16,25 +17,37 @@ class CmdStatus {
16
17
  return this.status;
17
18
  }
18
19
  }
19
- exports.CmdStatus = CmdStatus;
20
20
  class CmdStatusManager {
21
21
  constructor() {
22
22
  this.apps = {};
23
23
  }
24
- update(projectId, status) {
25
- if (projectId in this.apps) {
26
- this.apps[projectId].update(status);
24
+ async start(projectId) {
25
+ if (!(projectId in this.apps)) {
26
+ const cmdStatus = new CmdStatus(projectId, 'in_progress');
27
+ this.apps[projectId] = cmdStatus;
28
+ }
29
+ else if (this.apps[projectId].getStatus() !== 'in_progress') {
30
+ this.apps[projectId].update('in_progress');
27
31
  }
28
32
  else {
29
- const cmdStatus = new CmdStatus(projectId, status);
30
- this.apps[projectId] = cmdStatus;
33
+ logger_1.logger.debug(`Ignoring start for ${projectId} since it already has a command in progress`);
34
+ return;
35
+ }
36
+ logger_1.logger.debug(`Started command for ${projectId}`);
37
+ }
38
+ async stop(projectId) {
39
+ if (!(projectId in this.apps) ||
40
+ this.apps[projectId].getStatus() === 'idle') {
41
+ throw new Error(`No ongoing command to stop for ${projectId}`);
31
42
  }
43
+ this.apps[projectId].update('idle');
44
+ logger_1.logger.debug(`Stopped command for ${projectId}`);
32
45
  }
33
- getAppCmdStatus(projectId) {
34
- if (projectId in this.apps) {
35
- return this.apps[projectId].getStatus();
46
+ isCmdInProgress(projectId) {
47
+ if (!(projectId in this.apps)) {
48
+ return false;
36
49
  }
37
- throw new Error(`No status for ${projectId}`);
50
+ return this.apps[projectId].getStatus() === 'in_progress';
38
51
  }
39
52
  anyCmdInProgress() {
40
53
  for (const projectId in this.apps) {
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-status.js","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAIpB,YAAY,SAAiB,EAAE,MAAqB;QAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,MAAqB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AApBD,8BAoBC;AAED,MAAa,gBAAgB;IAA7B;QACU,SAAI,GAAuC,EAAE,CAAC;IA0BxD,CAAC;IAxBQ,MAAM,CAAC,SAAiB,EAAE,MAAqB;QACpD,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACrC;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;SAClC;IACH,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,IAAI,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;SACzC;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;IAEM,gBAAgB;QACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,aAAa,EAAE;gBACtD,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3BD,4CA2BC"}
1
+ {"version":3,"file":"cmd-status.js","sourceRoot":"","sources":["../../src/cloud-connection/cmd-status.ts"],"names":[],"mappings":";;;AAAA,2CAAwC;AAIxC,MAAM,SAAS;IAIb,YAAY,SAAiB,EAAE,MAAqB;QAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,MAAqB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED,MAAa,gBAAgB;IAA7B;QACU,SAAI,GAAuC,EAAE,CAAC;IA2CxD,CAAC;IAzCQ,KAAK,CAAC,KAAK,CAAC,SAAiB;QAClC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;SAClC;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,aAAa,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SAC5C;aAAM;YACL,eAAM,CAAC,KAAK,CACV,sBAAsB,SAAS,6CAA6C,CAC7E,CAAC;YACF,OAAO;SACR;QACD,eAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,SAAiB;QACjC,IACE,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,MAAM,EAC3C;YACA,MAAM,IAAI,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,eAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,aAAa,CAAC;IAC5D,CAAC;IAEM,gBAAgB;QACrB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,aAAa,EAAE;gBACtD,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA5CD,4CA4CC"}
@@ -1,13 +1,11 @@
1
1
  import { ClientMessage } from '@alwaysai/device-agent-schemas';
2
2
  import { ShadowTopics } from './shadow-handler';
3
3
  import { Publisher } from './publisher';
4
- import { CmdStatusType } from './cmd-status';
5
4
  export declare class DeviceAgentCloudConnection {
6
5
  private shadowHandler;
7
6
  publisher: Publisher;
8
7
  private cmdStatusMgr;
9
8
  private liveUpdatesHandler;
10
- private appInstallStatusMgr;
11
9
  private device;
12
10
  private clientId;
13
11
  private host;
@@ -19,13 +17,14 @@ export declare class DeviceAgentCloudConnection {
19
17
  private handleAgentCommand;
20
18
  private publishCloudRequest;
21
19
  private subscribe;
20
+ private atomicApplicationUninstall;
22
21
  private atomicApplicationUpdate;
23
22
  private handleAppConfigUpdates;
24
23
  constructor();
25
24
  getClientId(): string;
26
25
  getToDeviceTopic(): string;
27
26
  getShadowTopics(): ShadowTopics;
28
- getCmdStatus(projectId: string): CmdStatusType;
27
+ isCmdInProgress(projectId: string): boolean;
29
28
  handleClientMessage({ topic, message }: {
30
29
  topic: string;
31
30
  message: ClientMessage;
@@ -1 +1 @@
1
- {"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAkC,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAoB,aAAa,EAAE,MAAM,cAAc,CAAC;AAI/D,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAgB;IAC9B,SAAS,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,OAAO,CAAC,cAAc,CAAmB;IAEzC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,uBAAuB;IAuB/B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,kBAAkB;YAYZ,mBAAmB;IAIjC,OAAO,CAAC,SAAS;YAMH,uBAAuB;YAmDvB,sBAAsB;;IAqE7B,WAAW,IAAI,MAAM;IAIrB,gBAAgB;IAIhB,eAAe,IAAI,YAAY;IAI/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIxC,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB;IAuFY,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,GAAG;IAsBzD,aAAa;IAuCnB,IAAI;CAGZ;AAED,wBAAsB,4BAA4B,kBAsBjD"}
1
+ {"version":3,"file":"device-agent-cloud-connection.d.ts","sourceRoot":"","sources":["../../src/cloud-connection/device-agent-cloud-connection.ts"],"names":[],"mappings":"AAWA,OAAO,EAOL,aAAa,EAEd,MAAM,gCAAgC,CAAC;AAaxC,OAAO,EAAkC,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AASxC,qBAAa,0BAA0B;IACrC,OAAO,CAAC,aAAa,CAAgB;IAC9B,SAAS,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAiB;IAE/B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAE/D,OAAO,CAAC,cAAc,CAAmB;YAE3B,qBAAqB;YAerB,uBAAuB;IAiCrC,OAAO,CAAC,mBAAmB,CAEzB;YAEY,kBAAkB;YAYlB,mBAAmB;IAIjC,OAAO,CAAC,SAAS;YAKH,0BAA0B;YA4C1B,uBAAuB;YAuDvB,sBAAsB;;IA2E7B,WAAW,IAAI,MAAM;IAIrB,gBAAgB;IAIhB,eAAe,IAAI,YAAY;IAI/B,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIrC,mBAAmB,CAAC,EAC/B,KAAK,EACL,OAAO,EACR,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,aAAa,CAAC;KACxB;IAuFY,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,GAAG;IAyBzD,aAAa;IAoCnB,IAAI;CAGZ;AAED,wBAAsB,4BAA4B,kBAsBjD"}
@@ -15,12 +15,14 @@ const shadow_handler_1 = require("./shadow-handler");
15
15
  const publisher_1 = require("./publisher");
16
16
  const live_updates_handler_1 = require("./live-updates-handler");
17
17
  const bootstrap_provision_1 = require("./bootstrap-provision");
18
- const app_install_status_1 = require("./app-install-status");
19
18
  const cmd_status_1 = require("./cmd-status");
20
19
  const passthrough_handler_1 = require("./passthrough-handler");
21
20
  const environment_1 = require("../environment");
21
+ const messages_1 = require("./messages");
22
22
  class DeviceAgentCloudConnection {
23
- // Public Methods
23
+ /*=================================================================
24
+ Public interface
25
+ =================================================================*/
24
26
  constructor() {
25
27
  this.device = awsIot.device;
26
28
  this.clientId = (0, get_device_id_1.getDeviceUuid)();
@@ -32,8 +34,8 @@ class DeviceAgentCloudConnection {
32
34
  // TODO
33
35
  };
34
36
  this.device = awsIot.device({
35
- keyPath: (0, directories_1.getPrivateKeyFilePath)(),
36
- certPath: (0, directories_1.getCertificateFilePath)(),
37
+ keyPath: directories_1.DEVICE_PRIVATE_KEY_FILE_PATH,
38
+ certPath: directories_1.DEVICE_CERTIFICATE_FILE_PATH,
37
39
  caPath: directories_1.AWS_ROOT_CERTIFICATE_FILE_PATH,
38
40
  clientId: this.clientId,
39
41
  host: this.host,
@@ -43,46 +45,54 @@ class DeviceAgentCloudConnection {
43
45
  this.publisher = new publisher_1.Publisher(this.device, this.clientId);
44
46
  this.shadowHandler = new shadow_handler_1.ShadowHandler(this.clientId, this.publisher);
45
47
  this.cmdStatusMgr = new cmd_status_1.CmdStatusManager();
46
- this.appInstallStatusMgr = new app_install_status_1.AppInstallStatusManager();
47
- this.liveUpdatesHandler = new live_updates_handler_1.LiveUpdatesHandler(this.publisher, this.appInstallStatusMgr);
48
+ this.liveUpdatesHandler = new live_updates_handler_1.LiveUpdatesHandler(this.publisher);
48
49
  this.subscribe(this.toDeviceTopic);
49
50
  this.subscribe(this.shadowHandler.shadowTopics.projects.getAccepted);
50
51
  this.subscribe(this.shadowHandler.shadowTopics.projects.updateDelta);
51
52
  }
52
- handleAppStateControl(payload) {
53
+ async handleAppStateControl(payload) {
53
54
  const { baseCommand, projectId } = payload;
54
55
  switch (baseCommand) {
55
56
  case device_agent_schemas_1.keyMirrors.appStateControl.start:
56
- (0, application_control_1.startApp)({ projectId });
57
+ await (0, application_control_1.startApp)({ projectId });
57
58
  break;
58
59
  case device_agent_schemas_1.keyMirrors.appStateControl.stop:
59
- (0, application_control_1.stopApp)({ projectId });
60
+ await (0, application_control_1.stopApp)({ projectId });
60
61
  break;
61
62
  case device_agent_schemas_1.keyMirrors.appStateControl.restart:
62
- (0, application_control_1.restartApp)({ projectId });
63
+ await (0, application_control_1.restartApp)({ projectId });
63
64
  break;
64
65
  }
65
66
  }
66
- handleAppVersionControl(payload) {
67
+ async handleAppVersionControl(payload) {
67
68
  switch (payload.baseCommand) {
68
69
  case device_agent_schemas_1.keyMirrors.appVersionControl.install: {
69
70
  const { projectId, appReleaseHash } = payload;
70
- this.cmdStatusMgr.update(projectId, 'in_progress');
71
+ await this.cmdStatusMgr.start(projectId);
72
+ await this.liveUpdatesHandler.enableAppInstallStatus({
73
+ projectId,
74
+ appReleaseHash
75
+ });
71
76
  const signedUrlsRequest = { projectId, appReleaseHash };
72
- this.publishCloudRequest({
77
+ await this.publishCloudRequest({
73
78
  messageType: device_agent_schemas_1.keyMirrors.agentMessageType.signed_urls_request,
74
79
  signedUrlsRequest
75
80
  });
76
81
  break;
77
82
  }
83
+ case device_agent_schemas_1.keyMirrors.appVersionControl.uninstall: {
84
+ const { projectId } = payload;
85
+ await this.atomicApplicationUninstall(projectId);
86
+ break;
87
+ }
78
88
  default:
79
89
  logger_1.logger.warn(`Ignore App Version Control packet: ${JSON.stringify(payload, null, 2)}`);
80
90
  }
81
91
  }
82
- handleAgentCommand(message) {
92
+ async handleAgentCommand(message) {
83
93
  switch (message.messageType) {
84
94
  case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates:
85
- this.liveUpdatesHandler.update(message.liveUpdatesToggles);
95
+ await this.liveUpdatesHandler.handleToggles(message.liveUpdatesToggles);
86
96
  break;
87
97
  default:
88
98
  logger_1.logger.error(`Invalid agent action message type from message '${message}'`);
@@ -95,42 +105,82 @@ class DeviceAgentCloudConnection {
95
105
  logger_1.logger.info(`Subscribing to ${topic}`);
96
106
  this.device.subscribe(topic);
97
107
  }
108
+ async atomicApplicationUninstall(projectId) {
109
+ const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
110
+ projectId
111
+ });
112
+ await this.cmdStatusMgr.start(projectId);
113
+ await this.liveUpdatesHandler.enableAppInstallStatus({
114
+ projectId,
115
+ appReleaseHash
116
+ });
117
+ try {
118
+ await (0, application_control_1.uninstallApp)({ projectId });
119
+ this.shadowHandler.deleteProjectShadow(projectId);
120
+ await this.cmdStatusMgr.stop(projectId);
121
+ await this.liveUpdatesHandler.disableAppInstallStatus({
122
+ projectId
123
+ });
124
+ // Send final status message
125
+ this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
126
+ }
127
+ catch (e) {
128
+ logger_1.logger.error(`Failed to uninstall ${projectId}: ${e}`);
129
+ const message = e.message;
130
+ await this.cmdStatusMgr.stop(projectId);
131
+ await this.liveUpdatesHandler.disableAppInstallStatus({
132
+ projectId
133
+ });
134
+ // Send final status message
135
+ this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
136
+ }
137
+ }
98
138
  // eslint-disable-next-line
99
139
  async atomicApplicationUpdate(func, args, projectId, appReleaseHash) {
100
- this.appInstallStatusMgr.update(appReleaseHash, device_agent_schemas_1.keyMirrors.appInstallStatus.in_progress);
101
- this.liveUpdatesHandler.update({
102
- appInstallStatus: { toggle: true, appReleaseHash }
140
+ await this.cmdStatusMgr.start(projectId);
141
+ await this.liveUpdatesHandler.enableAppInstallStatus({
142
+ projectId,
143
+ appReleaseHash
103
144
  });
104
145
  // Install the app and models
105
146
  try {
106
147
  const out = await func(...args);
107
- this.appInstallStatusMgr.update(appReleaseHash, device_agent_schemas_1.keyMirrors.appInstallStatus.success);
108
- this.liveUpdatesHandler.update({
109
- appInstallStatus: { toggle: false, appReleaseHash }
148
+ await this.cmdStatusMgr.stop(projectId);
149
+ await this.liveUpdatesHandler.disableAppInstallStatus({
150
+ projectId
110
151
  });
111
- this.cmdStatusMgr.update(projectId, 'idle');
152
+ // Send final status message
153
+ this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.success, '', appReleaseHash));
112
154
  // update app config shadow for project
113
155
  await this.shadowHandler.publishAppState(projectId);
114
156
  return out;
115
157
  }
116
158
  catch (e) {
117
- logger_1.logger.error(e);
159
+ logger_1.logger.error(`Failed to install ${projectId}: ${e}`);
118
160
  const message = e.message;
119
161
  // uninstall the failed app to put system back in good state
162
+ // TODO: Replace this with rollback
120
163
  await (0, application_control_1.uninstallApp)({ projectId });
121
- this.appInstallStatusMgr.update(appReleaseHash, device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message);
122
- this.liveUpdatesHandler.update({
123
- appInstallStatus: { toggle: false, appReleaseHash }
124
- });
125
- this.cmdStatusMgr.update(projectId, 'idle');
126
- // delete shadow for project
127
164
  this.shadowHandler.deleteProjectShadow(projectId);
165
+ await this.cmdStatusMgr.stop(projectId);
166
+ await this.liveUpdatesHandler.disableAppInstallStatus({
167
+ projectId
168
+ });
169
+ // Send final status message
170
+ this.publisher.publishToClient(await (0, messages_1.getAppInstallStatusMessage)(device_agent_schemas_1.keyMirrors.appInstallStatus.failure, message, appReleaseHash));
128
171
  }
129
172
  }
130
- async handleAppConfigUpdates(appConfgUpdates) {
131
- for (const appConfigUpdate of appConfgUpdates) {
173
+ async handleAppConfigUpdates(appCfgUpdates) {
174
+ for (const appConfigUpdate of appCfgUpdates) {
132
175
  const { projectId, newAppCfg, updatedModels } = appConfigUpdate;
133
- this.cmdStatusMgr.update(projectId, 'in_progress');
176
+ const appReleaseHash = await (0, agent_config_1.AgentConfigFile)().getAppVersion({
177
+ projectId
178
+ });
179
+ await this.cmdStatusMgr.start(projectId);
180
+ await this.liveUpdatesHandler.enableAppInstallStatus({
181
+ projectId,
182
+ appReleaseHash
183
+ });
134
184
  if (updatedModels && Object.keys(updatedModels).length) {
135
185
  // Publish request for model urls
136
186
  this.newAppCfgQueue.push(newAppCfg);
@@ -168,8 +218,8 @@ class DeviceAgentCloudConnection {
168
218
  getShadowTopics() {
169
219
  return this.shadowHandler.shadowTopics;
170
220
  }
171
- getCmdStatus(projectId) {
172
- return this.cmdStatusMgr.getAppCmdStatus(projectId);
221
+ isCmdInProgress(projectId) {
222
+ return this.cmdStatusMgr.isCmdInProgress(projectId);
173
223
  }
174
224
  async handleClientMessage({ topic, message }) {
175
225
  const valid = (0, device_agent_schemas_1.validateClientMessage)(message);
@@ -180,15 +230,15 @@ class DeviceAgentCloudConnection {
180
230
  const payload = message.payload;
181
231
  switch (payload.messageType) {
182
232
  case device_agent_schemas_1.keyMirrors.clientMessageType.app_state_control: {
183
- this.handleAppStateControl(payload.appStateControl);
233
+ await this.handleAppStateControl(payload.appStateControl);
184
234
  break;
185
235
  }
186
236
  case device_agent_schemas_1.keyMirrors.clientMessageType.app_version_control: {
187
- this.handleAppVersionControl(payload.appVersionControl);
237
+ await this.handleAppVersionControl(payload.appVersionControl);
188
238
  break;
189
239
  }
190
240
  case device_agent_schemas_1.keyMirrors.clientMessageType.live_state_updates: {
191
- this.handleAgentCommand(payload);
241
+ await this.handleAgentCommand(payload);
192
242
  break;
193
243
  }
194
244
  case device_agent_schemas_1.keyMirrors.clientMessageType.app_install_cloud_response: {
@@ -225,6 +275,7 @@ class DeviceAgentCloudConnection {
225
275
  }
226
276
  }
227
277
  async handleMessage(topic, message) {
278
+ logger_1.logger.debug(`Received message: ${JSON.stringify({ topic, message }, null, 2)}`);
228
279
  switch (topic) {
229
280
  case this.shadowHandler.shadowTopics.projects.getAccepted:
230
281
  case this.shadowHandler.shadowTopics.projects.updateDelta: {
@@ -236,7 +287,7 @@ class DeviceAgentCloudConnection {
236
287
  break;
237
288
  }
238
289
  case this.toDeviceTopic:
239
- this.handleClientMessage({
290
+ await this.handleClientMessage({
240
291
  topic,
241
292
  message
242
293
  });
@@ -263,7 +314,6 @@ class DeviceAgentCloudConnection {
263
314
  this.device.on('message', async (topic, payload) => {
264
315
  try {
265
316
  const jsonPacket = JSON.parse(payload);
266
- logger_1.logger.debug(`Received message: ${JSON.stringify({ topic, jsonPacket }, null, 2)}`);
267
317
  await this.handleMessage(topic, jsonPacket);
268
318
  }
269
319
  catch (error) {
@@ -281,18 +331,18 @@ class DeviceAgentCloudConnection {
281
331
  exports.DeviceAgentCloudConnection = DeviceAgentCloudConnection;
282
332
  async function runDeviceAgentCloudInterface() {
283
333
  // FIXME: Check for KeyPath as well
284
- if ((0, fs_1.existsSync)((0, directories_1.getCertificateFilePath)())) {
334
+ if ((0, fs_1.existsSync)(directories_1.DEVICE_CERTIFICATE_FILE_PATH)) {
285
335
  const deviceAgent = new DeviceAgentCloudConnection();
286
336
  await deviceAgent.setupHandlers();
287
337
  if (environment_1.ALWAYSAI_ANALYTICS_PASSTHROUGH === true) {
288
338
  const publisher = deviceAgent.publisher;
289
339
  const passthroughHandler = new passthrough_handler_1.PassthroughHandler(publisher);
290
340
  await passthroughHandler.setup();
291
- (0, passthrough_handler_1.runChannel)(passthroughHandler);
341
+ await (0, passthrough_handler_1.runChannel)(passthroughHandler);
292
342
  }
293
343
  }
294
- else if ((0, fs_1.existsSync)((0, directories_1.BOOTSTRAP_DEVICE_PRIVATE_KEY_FILE_PATH)())) {
295
- (0, bootstrap_provision_1.bootstrapProvision)();
344
+ else if ((0, fs_1.existsSync)((0, directories_1.BOOTSTRAP_PRIVATE_KEY_FILE_PATH)())) {
345
+ await (0, bootstrap_provision_1.bootstrapProvision)();
296
346
  }
297
347
  else if ((0, fs_1.existsSync)((0, directories_1.BOOTSTRAP_CERTIFICATES_DIR_PATH)())) {
298
348
  throw new Error("Device has not been created using 'aai-agent device init' or there has been an issue with device initialization");